-
1.2 언어 모델이 챗GPT가 되기까지LLM/LLM을 활용한 실전 AI 애플리케이션 개발 2025. 1. 9. 22:36
목차
2017년의 획기적인 사건이였던 트랜스포머 아키텍처 공개
1.2.1 RNN 에서 트랜스포머 아키텍처로
텍스트는 단어가 연결된 문장 형태의 데이터 입니다.
작은 단위(단어)의 데이터가 연결되고,
그 길이가 다양한 데이터의 형태를 시퀀스 Sequence 라고 한다.
예로, 텍스트, 오디오, 시계열과 같은 데이터가 시퀀스 데이터라고 할 수 있다
트랜스포머가 개발되기 전에는 RNN 을 활용해서 텍스트를 생성했다
그림 1.12처럼 텍스트를 순차적으로 처리해서, 다음 단어를 예측한다
RNN의 특징 : 모델이 하나의 잠재 상태(hidden state)에 지금까지의 입력 텍스트의 맥락을 압축한다는 점이다.
첫 번째 입력은 '검은'이 모델을 통과했을 때는 잠재 상태에 '검은'의 정보가 쌓이고,
두 번째 입력인 '고양이가' 모델을 통과하면, 장재 상태에 '검은' + '고양이' 의 정보가 누적된다
이렇게 입력이 늘어나면서 텍스트의 맥락(context)가 압축된다
그림 1.13처럼 RNN 은 '검은 고양이가 밥을 먹고 물을' 을 순차적으로 한 단어씩 처리해서 하나의 잠재 상태로 만든다.
그 잠재 상태를 통해 RNN 은 다음 단어로 '마신다' 가 나온다고 예측한다.
RNN의 장단점
다음 단어를 예측할 때 지금까지 계산을 통해 만들어진 잠재 상태와 입력 단어만 있으면 되기 때문에 다음 단어를 빠르게 생성할 수 있다. 하지만 순차적으로 입력되는 단어를 하나의 잠재 상태에 압축하다 보니, 먼저 입력한 단어의 의미가 점차 희석되며, 입력이 길어지는 경우 의미를 충분히 담지 못하고 성능이 떨어진다는 문제가 있다
2017년 등장한 트랜스포머 아키텍처는 RNN의 순차적인 처리 방식을 버리고, 맥락을 모두 참조하는 어텐션(Attention)연산을 사용해 RNN 의 문제를 대부분 해결했다. 자세한 설명은 2장에서 한다
Attention 은 주목하다라는 뜻
모델이 입력 문장의 어떤 부분에 더 집중해야 할 지 결정하는 메커니즘더 나아가, 문장 내 모든 단어가 서로에게 얼마나 얼마나 관련이 있는지를 계산하여 각 단어의 중요도를 판단합니다.
트랜스포머 아키텍처는 맥락을 압축하지 않고 그래도 활용하기 때문에 성능을 높일 수 있지만, 맥락 데이터를 모두 저장하고 있어 메모리 사용량이 증가한다. 또 연산 시간도 증가한다
성능이 높아지는 대신, 무겁고, 비효율적인 연산을 사용하게 된 것이다.
트랜스포머 : 성능이 좋은 대신 무겁고, 병렬처리 가능, 연산량 많음 ( GPU 의 발전과 함께 발전 )
최근에는 뛰어난 성능과 효율성을 갖춘 아키텍처(맘바Mamba) 등이 공개되고 있음
1.2.2 GPT 시리즈로 보는 모델 크기와 성능의 관계
2024-04-09에 발매된 GPT4 의 파라미터 수는 밝히지 않았으나, 1 ~ 1.8조개에 이를 것으로 추정함
왜? 모델의 크기가 커지고 학습 데이터가 많을수록 모델의 성능이 높아질까?
언어 모델의 경우 학습 데이터와 결과가 모두 생성된 언어 다
따라서, 언어 모델이 학습하는 과정을 학습 데이터를 압축하는 과정으로 해석할 수 있다
오픈소스 LLM 인 메타Meta 의 라마 2 Llama2 모델을 예시로 보면, 그림 1.18과 같이 약 10TB의 텍스트로 학습해 최종적으로 140GB 크기의 모델이 된다.
학습데이터 대비 약 1.4% 정도의 작은 모델이, 학습 데이터가 갖고 있던 텍스트 생성의 패턴을 압축 했다고 볼 수 있다.
1.2.3 chatGPT 의 등장
2020년 GPT-3는 큰 반향을 일으키지 못했다.
그저 사용자의 말을 이어서 작성하는 능력밖에 없었기 때문이다.
그래서, OpenAI 는 사람의 피드백을 통해 언어 모델이 지시를 따르도록 훈련을 실행했다.
지도 미세 조정 Supervised fine-tuning 과
RLHF(Reinforcement Learning from Human Feedback)
을 통해, 그저 사용자가 한 말 다음에 이어질 말을 생성하는 것이 아니라, 요청을 해결할 수 있는 텍스트를 생성하게 되었다.
LLM 이 생성하는 답변을 사용자의 요청 의도에 맞추는 것을 정렬Alignment 이라고 한다.
답변에서 얻고자 하는 가치를 반영해 LLM을 학습해서, LLM이 사용장게 도움되고 가치를 전달할 수 있도록 하는 것이다
지도 미세 조정은 정렬을 위한 가장 핵심적인 학습 과정으로서, 언어 모델링으로 사전 학습한 언어 모델을 지시 데이터셋(instruction dataset)으로 추가 학습하는 것을 뜻한다
OpenAI는 수많은 데이터 작업자를 고용해 LLM이 받을 법한 질문과 그에 대한 답변을 작성하게 했고, 이 데이터를 활용해 지도 미세 조정을 수행했다. 그 결과 ChatGPT와 같이 사용자의 요청에 맞춰 응답하는 모델을 만들 수 있었다.
참고 : https://www.bbc.com/korean/articles/crg8m6pdrv6o
OpenAI에서는 두 가지 답변 중 사용자가 더 선호하는 답변을 선택한 데이터셋을 구축했는데, 이를 선호 데이터셋(Preference Dataset)이라고 한다. Prefered Dataset으로 답변을 평가하는 리워드 모델(Reward Model)을 만들고 LLM 이 점점 더 높은 점수를 받을 수 있도록 추가 학습하는데, 이 때 강화 학습(Reinforcement Learning)을 사용하기 때문에 이 기술을 일컬어 RLHF( Reinforcement Learning from Human Feedback) 라고 불렀다
Keyword
RNN(Recurrent Neural Network) : 순차적으로 입력되는 단어를 압축하여, 다음 단어를 맞출 때 사용
Transfer Learning : 하나의 문제를 해결하는 과정에서 얻은 지식과 정보를 다른 문제를 풀 때 사용
Attention : 입력 시퀀스 전체를 동시에 고려(맥락을 모두 참조), 병렬처리 가능
Transformer : Transfer Learning 을 사용하고, Attention 을 사용
GPT & ChatGPT
GPT : 사용자의 말을 이어서 작성 하는 능력만 뛰어남
ChatGPT : 사람의 요청을 해결 할 수 있는 텍스트를 생성함
Alignment : LLM 이 생성하는 답변을 사용자의 요청 의도에 맞추는 것
Supervised Fine-Tuning(지도미세조정) : 사전 훈련된 모델을 새로운 작업이나 데이터셋에 맞게 조정하는 과정
Preference Dataset : 두 가지 답변 중 사용자가 더 선호한 답변을 고를 수 있도록RLHF(Reinforcement Learning from Human Feedback) : 인간의 피드백을 활용하여 기계 학습 모델을 훈련하는 기술로 Supervised Fine-tuning 과 Prefered Dataset 을 통해 강화학습 함
책 출처 : https://ridibooks.com/books/3649000042
'LLM > LLM을 활용한 실전 AI 애플리케이션 개발' 카테고리의 다른 글
2.5 인코더 (0) 2025.01.10 2.3 어텐션 이해하기 (0) 2025.01.10 2장 LLM의 중추, 트랜스포머 아키텍처 살펴보기 (1) 2025.01.10 1장 LLM 지도 1.1 딥러닝과 언어모델 (2) 2025.01.03 책 - LLM을 활용한 실전 AI 애플리케이션 개발 (0) 2025.01.03