훈련 시점에 따라 훈련의 종류릉 사전 훈련/사후 훈련으로 구분함. 여기서는 사후 훈련 또는 그외에서 단계별로 적용할 수 있는 레시피들을 소개한다.

 

사전훈련이 언어 모델이 지식과 언어의 이해, 암ㅁ묵적인 추론 늘력을 가지는 거라면 사후 모델은 지시를 정확하게 수행하고, 인간이 어떤 작업을 선호하는지, 검증 가능한 보상으로 수학과 추론 작업에서 높은 성능을 달성해낼 수 있도록 한다

 

그래서 어떤 사후 훈련들이 있는가? 지시를 잘 수행하도록 만드는 SFT가 가장 먼저 있다. 지시와 응답쌍으로 데이터 셋을 구축해서 훈련을 하는 기법이다. 여기서는 더 나은 SFT 방법을 구축하기 위해 다양한 데이터 셋 수집, 데이터 중복 제거, 데이터 큐레이션등을 해서 데이터 처리 작업이 있고, 더 나은 답변 생성을 위해 도메인 특화 프롬프트 사용, Self consistency 기법으로의 샘플링, 페르소나를 활용한 응답 퀄리티 높히기, 데이터 자체의 수집을 증가시키는 합성 데이터 생성 방식 등을 이용함

 

SFT 이후 방식에는 인간의 선호도 방식의 학습 기법으로 DPO 를 사용한다. RLHF 방식, PPO 등 다양학게 있지만 아 방법리 구현성. 측면에서 탁월하기 때문, DPO 방식에서 특별히 중요했던 건 자신의 응답의 현주소를 알기 위해 On-policy 데이터를 포함하도록 했던 것임. 이것도 그리고 더나은 디이터를 생성하기 워해 도메인특화 프롬프트 같은 걸 사용함.

 

dpo 방식의 주요 단점은 추론 능력 향상 미미임. 보상 모델의 평가가 이 분야에서 약하가 때문. 그래서 나온 방식이 RLVR. 정확한 피드백을 줄 수 있도록 규칙을 만들고 성공한 것들맘 언어 모댈 훈련 데이터로 쓰는거임. 이 알고리즘은 이전 작은 언어 모델인 시절애는 효과가 약했는데 이건 그 시점애 필요란 학습이 달랐기 때문이라고 생각. 커리큘럼 학습을 생각해봐라. 모델의 발전사를 보면 언어와 지식을 배우고 지시 수행능력을 배우고 인간의 선호도 작업이 무엇인지 배우고 정확하게 처리히는 법을 배우고 있음. (이 다음이 무엇인지 모르겠지만 빠르게 차리, 최적화된 방법을 빠르게 생각해내는 것이 아닐까 싶음) 실제로 이 기법은 언어 모델의 크기가 클수롣 405B 이상의 모델에게 더 효과적이라고 함. 바라는 영역이 많을수록 언어 모델의 사이즈는 더 요구되는게 맞지 않너 싶음. (1비트로 할 수 있는 작업은 2개, 2비트는 4개 이런식으로 생각해보면 맞지않나) 그리고 chain of verification 도 rlvr 방법에 사용될만하지 않나 싶다

 

이 다음으로 추론 능력응 향상 시키는 방법으로 테스트 시점의 추론이 있음. 여러 방향으로 생각해보는게 분명 최종적인 답변에 긍정적인 영향을 줄 걳이다. 우리는 문제를 해결할 때 최소 3가지 솔루션을 생각해보지 않는가, 찰리 멍거 또한 3거지 긴 생각, 짧은 생각 극단적인 두 생각을 하고나면 보다 정확해진다고. 최종적으로 현시점에서 발견된 추론 능력은 사전학습시, 사후학습시, 테스트시점 추론시 많은 생각을 하도록 하는 방법이 있음. 테스트 시점 추론시 많은 생각을 하도록 하는 방법으로 간단하게 생각 토큰이 멈출 때 wait 를 줘서 더 많은 생각을 하도록 하는 방법임. 생각을 강제하는 방법을 유도하는 것.

 

이외에도 스스로 답변을 생성한 걸 검토하는 Self RAG, 문헌을 참고해서 답변하도록 하는. Open-scholar 와 같은 기법 모두 추론 향상에 도움을 준다고 함. 내 생각에 언어 모델의 성능을 생각할 때 인간 기준으로 생각하면 대체로 맞는 경형이 있음.

+ Recent posts