- 학습 목표 : 다음 강의 영상을 시청하고, 내용을 정리해 보자.
- URL : https://www.youtube.com/watch?v=3dEzMRL5VMk
<LLM 모델의 정의 (Large Language Models) : 대규모 언어를 다루는 모델>
답변)
- 방대한 양의 데이터로부터 언어와 유사한 텍스트를 이해하고 만들어내는 기술
- NLP Task를 사용
(1) 모든 인간의 언어, 기계어 등의 언어들을 처리하는 것이 랭귀지 모델이고 (Language Model = 언어 처리)
(2) 그 언어들을 처리할 때 방대한 양의 학습 데이터를 사용 or 많은 양의 리소스를 사용함 (LLM)
(3) 번역, 오타 수정, Q&A, 요약, 대화 생성 -> LLM의 task 중에서 이루어질 수 있는 것들.... ( LLM 모델의 활용)
<NLP와 LLM의 차이는?>
* LLM의 구조
LLM에서 어떤 모델을 학습 시, 주로 인터넷에서 있는 소스들을 많이 사용한다.
- 실제로 ChatGPT가 학습을 할 때 사용한 리소스들이 인터넷에 있는 문서들 대화들 다 끌어모아서 그 구조를 학습 (Knowledge Sources : 방대한 언어)
① Prompt + Query (질문 입력)
Prompt와 Query는 ChatGPT라고 한다면
LLM이 뭐냐고 질문했던 것처럼 그런 질문들에 입력하면
③ Relevant Information for Enhanced Context에서 최종적으로 LLM을 거쳐서
⑤ Generated Text Response 대답을 내놓게 된다.
<LLM의 언어 처리 과정>
* Transformer의 구조 : Input(질문), Output(대답 생성) 2개의 레이어로 구성되어 있음
* 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에서 한국어는 데이터가 적기 때문에 비주류에 속함)