본문 바로가기

IT/Summary

생성형 AI는 무엇인가? LLM의 기본 개념과 원리

 

 

 

<LLM 모델의 정의 (Large Language Models)  : 대규모 언어를 다루는 모델>

LLM 모델이 무엇인지에 대한 ChatGPT의 답변

답변)

- 방대한 양의 데이터로부터 언어와 유사한 텍스트를 이해하고 만들어내는 기술

- NLP Task를 사용

 

(1) 모든 인간의 언어, 기계어 등의 언어들을 처리하는 것이 랭귀지 모델이고 (Language Model = 언어 처리)

(2) 그 언어들을 처리할 때 방대한 양의 학습 데이터를 사용 or 많은 양의 리소스를 사용함 (LLM)

(3) 번역, 오타 수정, Q&A, 요약, 대화 생성 -> LLM의 task 중에서 이루어질 수 있는 것들.... ( LLM 모델의 활용)

 

 

 

<NLP와 LLM의 차이는?>

LLM은 NLP의 한 분야이자, 매우 큰 dataset을 사용함!

 

 

 

* LLM의 구조

 

LLM에서 어떤 모델을 학습 시, 주로 인터넷에서 있는 소스들을 많이 사용한다.

 

- 실제로 ChatGPT가 학습을 할 때 사용한 리소스들이 인터넷에 있는 문서들 대화들 다 끌어모아서 그 구조를 학습 (Knowledge Sources : 방대한 언어)

 

① Prompt + Query (질문 입력)

Prompt와  Query는 ChatGPT라고 한다면 

 

LLM이 뭐냐고 질문했던 것처럼 그런 질문들에 입력하면

③ Relevant Information for Enhanced Context에서 최종적으로 LLM을 거쳐서

⑤ Generated Text Response  대답을 내놓게 된다.

 

 

 

<LLM의 언어 처리 과정>

Transformer 구조

* Transformer의 구조 : Input(질문), Output(대답 생성) 2개의 레이어로 구성되어 있음

 

Self-Attention

* Self-Attention

기본적인 딥러닝 모델(예 : 이미지 분류 or 글씨가 어떤 글자인지를 분류)은 데이터 자체의 특징만 뽑아냄

 

but 언어의 경우는 시간에 따라서 인과 관계가 있음.

- 언어마다 가진 특수함, 

(예 : 한국어 : 주어 다음에 목적어 다음에 동사가 오소, 영어 : 주어 동사 목적어 순으로 어순이라는 것이 있음)

- 문장 사이의 관계를 보는 것(각 언어들의 관계성), 

- 문장 내에서 단어와 단어 사이의 연관 관계(상관관계) 를 보는 것

☞  Self-Attention

 

Self-Attention 그림에서 it이 가리키는 것이 animal

it과 animal의 연관성이 높다고 하고 animal이라는 걸 분석할 때

자기 문장에 있는 다른 단어인 it에 조금 더 가중치를 두는 것

☞ 이런식으로 어떻게 하면 조금 더 자연스럽게 말을 할 수 있는지를 컴퓨터가 학습을 하게 되는 것

(자연스럽게 언어를 학습)

 

- 인터넷상의 모든 데이터를 포함

- 논문 같은 전문적인 것부터 일반적인 인터넷 댓글처럼 문법이 틀릴 수도 있는 or 어순이 안 맞을 수 있는 데이터까지 포함

 

결국에는 언어에 대한 구조를 배울 뿐만 아니라 널리 알려진 지식까지도 다 알아서 습득을 할 수 있음

그리고 지식들을 습득을 할 때 Word Embedding이라는 것을 사용하게 됨

 

* Word Embedding 이란?

단어를 컴퓨터와 소통을 위해 숫자로 변환. 이때 연관성이 높은 단어를 그룹화

- Self-Attention을 활용한 언어 모델을 사용하면 비슷한 것들은 비슷한 숫자로 매핑이 됨

Country-Captital 그림에서 수도와 국가가 짝 지어져있는데

이것들을 하나의 숫자로 할당을 한다고 생각을 할 때

같은 국가와 도시의 묶음들은 같은 숫자로 비슷한 거리에 있는 숫자들로 묶인다. -> Word Embedding의 원리

 

어떤 특정한 태스크 (예 : 손글씨 분류 or 예측)를 목적으로 학습을 하는 것이 아니라 

언어 모델 자체를 학습하는 것 -> 일반화되어 있음

 

고차원의 특정한 문제 해결을 위해 LLM을 파인튜닝(나의 데이터로 조금 더 학습을 시킴)

(예 : 분류 문제 or 내가 어떤 텍스트를 넣었을 때, 이 텍스트가 부정적인 or 긍정적인 감정을 담고 있는지에 대한 문제를 풀고 싶을 때)

 

LLM 자체가 이런 파인튜닝을 할 수 있도록 잘 설계가 되어 있음

(ChatGPT 같은 경우도 GPT3, GPT4라는 사전 학습 모델에서 맞춤형으로 발전이 된 것)

 

 

 

<LLM에서 해결해야 할 문제>

 

(1) 인터넷에 있는 방대한 양의 자료를 가져와서 학습 -> 혐오, 증오 발언 등에 노출 위험 

가짜 뉴스 생성 or 갈등을 유발할 수 있는 문제를 해결해야 함.

지금 LLM 모델에서 사람들이 연구하고 있는 분야들 중에 하나이다.

 

(2) GPT 포함해서 굉장히 큰 모델이기 때문에 유지 비용(전기세 多)이 많이 듬, 리소스 관리도 풀어야 할 숙제

 

(3) 비주류 언어에 대한 개발

인터넷에는 영어, 스페인어 같은 건 많고, 한국어의 경우는 비교적 적음

ChatGPT에도 한국어를 입력하면 생성하는 속도가 좀 느림(LLM에서 한국어는 데이터가 적기 때문에 비주류에 속함)