거대언어모델(LLM)은 Pre-training을 통해 지식을 주입하게 된다. 방대한 텍스트 데이터를 통해 세상의 다양한 지식을 이해할 수 있다. 하지만 다음 단어를 예측하는 방식으로 학습하기 때문에 사용자의 명령을 이해하고 수행하는 능력은 부족하다.
Post-training은 원하는 작업이나 도메인에 맞게 적용하기 위해 추가적으로 학습을 시키는 과정이다. 명령을 인식하고 적절히 반응할 수 있도록 하기 위해 post-training 을 거친다.
일반적인 Post-training 방법은 지도 학습 미세 조정 (Supervised Fine-tuning, SFT)과 선호도 기반 학습 (Preference-based Learning)이 았다.
Supervised Fine-tuning : 모델에게 사용자의 입력(Prompt)과 그에 대응하는 적절한 응답(Response) 쌍을 학습시키는 과정. 사용자의 입력이 주어졌을 때 이에 대응하는 응답을 직접 생성하도록 학습한다. 예제 응답을 모방하도록 유도함으로써, 특정 문맥에서 적절한 응답을 생성하는 능력을 키우게 한다.
Preference-based Learning : SFT 이후 모델 성능을 더욱 개선하기 위한 방법으로 사용자가 선호하는 바람직한 응답을 더 잘 생성할 수 있도록 학습하는 과정. 여러 응답이 있을 때 좋은 응답을 강화하고 안 좋은 응답을 약화하는 방향으로 학습한다. 모델이 사용자의 기대와 일치하는 방향으로 학습함으로써 더 효율적이고 정확하게 사용자의 명령을 따르게 된다.
모델의 모든 파라미터를 업데이트 해서 특정 테스크에 특화된 데이터로 학습시키는 방식이다.
새로운 도메인이나 작업에 잘 적응할 수 있고, 도메인 특화에 효율적이다. 하지만, 계산 비용이 높고 시간과 자원이 많이 소모된다. 또한 catastrophic forgetting 현상으로 인해 사전에 학습한 지식을 잃을 수 있다.
비용이 제한적일 때 사용하기 좋은 방법니다. 모델 내의 일부 파라미터만 업데이트하는 기법이다.
여러 방법 중 하나는 Adapter layer 를 추가하고, 기존 아키텍쳐는 freeze 시키는 방식이다. 또한 Prefix Tuning (트렌스포머 레이어의 앞부분만 학습), LoRA (옵티마이저 상태를 작게 만들고 기존 가중치를 잘게 쪼개 우회할 수 있을 정도로 작게 만들어서 그 부분만 학습) 등이 있다.
계산 비용이 적어 제한된 자원으로도 학습할 수 있고, 추론 속도가 빠르며 파인 튜닝 과정이 빠르게 완료된다. 하지만 Full Fine-tuning 대비 테스크 적응성이 떨어지고 성능이 낮을 수 있다.
모델을 직접 학습시키지 않고, 입력 프롬프트를 컨텍스트로 제공하고 관련 테스크를 설명하는 예시를 보여주는 식으로 작동한다. 그 중 하나는 CoT (Chain-of-Though)로 프롬프트에서 단계별로 생각해보도록 지시하는 것이다.
모델을 직접 학습시키지 않기 때문에 파인 튜닝 과정이 필요하지 않다. 관련 테스크릐 예시 몇 개를 제공하거나 사고 과정을 유도하는 프롬프트만으로도 작동한다. 하지만 제한된 컨텍스트 길이로 인해 예시가 많아질수록 실제 테스크를 위한 공간이 줄어든다. 추론할 때 계산 비용이 발생할 수 있고 결과가 불안정할 수 있다.
큰 모델의 지식을 작은 모델로 전이시키는 방법이다. 큰 모델을 선생님(Teacher)으로, 작은 모델을 학생(Student)으로 지정해 선생님 모델의 지식을 학생 모델이 습득하게 만드는 방식.
태스크 특화된 적응성이 상대적으로 높고, 작은 모델을 사용하므로 배포 비용이 적게 든다. 하지만, Teacher 모델이 잘 가르쳤어도 Student 모델이 의도대로 이해했는지 확인하기 어렵다. 또한 성능과 효율성 사이에 트레이드 오프가 있다.
[Reference]