대규모 언어 모델을 만드는 방법
펌)대규모 언어 모델을 만드는 방법
0. 언어 모델의 신경망 구조를 선택하고 규모 정하기
언어 모델의 기본 구조는 모두 Transformer 구조에서 유래한다. 약간의 변화를 준 변형판들이 있지만 기본은 같다. Transformer 의 인코더 부분을 활용한 BERT (언어 이해)와 디코더 부분을 활용한 GPT (언어 생성)가 가장 대표적인 파생 모델이다. GPT 2 나 GPT 3 도 기본 구조는 동일하고 단순히 크기만 늘린 것들이다. (크기가 매우 중요하다)
1. 대규모의 일반적인 언어 데이터로 사전 학습
개인이나 작은 회사가 하기 힘든 단계이다. 구글처럼 거대한 컴퓨팅 자원을 가진 극소수의 회사들만이 이런 사전 학습을 할 수 있다. 데이터의 양도 엄청나고 학습 시간도 여러달이 걸릴 수 있다. 요즘은 이 단계까지 학습이 끝난 모델을 파운데이션 모델이라고 부르기 시작했다. 매우 적절한 용어라고 생각한다.
2. 특정 도메인의 언어 데이터로 미세 조정
파운데이션 모델을 특정한 도메인 이를테면 의료 분야의 텍스트로 추가적인 학습을 하는 단계이다. 파운데이션 모델은 이미 엄청난 양의 일반적인 언어 데이터로 충분히 학습을 했기 때문에 이 단계에선 아주 약간만 학습을 진행한다. 그래서 이 과정을 finetuning (미세 조정)이라고 한다.
3. 사람의 피드팩을 통한 강화학습
앞 단계까지 사용되는 학습 기법은 이른바 자기지도(Self Supervised) 학습으로 사람이 작업한 별도의 레이블링 데이터 없이 단순히 텍스트 데이터만으로 학습을 한다. 하지만 이런 방법으로는 부족한 점이 있기 때문에 이를 보완하기 위해서 언어모델의 출력에 사람이 직접 순위나 점수를 매기는 방식으로 진행되는 일종의 강화학습이다. 대표적으로 ChatGPT 가 이런 학습 과정을 거쳤다. 실제 학습은 아프리카 케냐에서 이루어졌다고 한다.
4. 프롬프트 사전 입력
사전 학습된 대규모 언어 모델은 신경망의 가중치 업데이트 없이도 이른바 In-Context Learning 이라는 창발적인 학습 능력을 가지고 있다. 이런 학습은 일종의 단기 기억으로 하나의 대화 세션 동안만 유지된다. 그래서 사용자가 대화의 첫문장을 입력하기 전에 사전에 준비한 긴 프롬프트를 미리 입력해 놓는다.
- 2번이나 4번 단계만으로도 매우 재밌는 비지니스들이 많이 탄생할 것으로 보입니다.
- 특히 4번 단계는 프롬프트 엔지니어링의 일종으로 엔지니어링이라는 용어와는 달리 인공지능에 대한 특별한 전문 기술 지식이 필요없이 그냥 사람에게 가르치듯이 프롬프트 문장을 작성하면 되기 때문에 해당 도메인의 인문학적 소양을 가진 이들에게 유리한 일이 될 수도 있습니다.