Paper Tasting
큰 언어모델의 능력을 작은 모델에 이식 시키는 효과적인 방법
value_creator
2024. 4. 1. 22:58
- Motive
- ChatGPT, Gemini, Claude 등 어마어마하게 많은 매개변수를 가진 고성능 언어모델은 우리에게 높은 품질의 대화 경험을 선사해 주지만, 그만큼 운영 비용은 비싸다. 자연스럽게 우리는 좀 더 크기가 작아 운영 비용이 저렴하지만 그에 못지 않은 성능을 가질 수 있는 모델을 원하게 되었고, 그 가능성을 보인 것이 Orca이다.
- Paper Title: [2023] Orca2: Teaching Small Language Models How to Reason
- Arxiv Address: https://arxiv.org/abs/2311.11045
- 주요 내용 및 평가
- 이 논문은 13B 이하의 작은 모델로 좋은 품질의 챗봇 서비스를 제공하고자 한다면 반드시 참고해야 할 논문이다. 특히 ChatGPT, Gemini, Claude와 같은 고성능 LLM을 지렛대 삼아 작은 모델들을 학습시키는 방식이 비용 효율적인 만큼, 이를 잘 활용할 수 있는 방법을 이 논문으로부터 배울 수 있다.
- 제안된 학습 방법의 성능을 매우 놀랄만하다. 13B모델임에도 불구하고 전체적인 성능은 ChatGPT에 매우 근접하고 다른 70B 모델보다 뛰어나다.
- 이 논문이 제안한 방법을 간단히 표현하면, 다양한 추론 과정을 LLM이 생성하도록 하여 학습데이터를 수집하여 이 데이터로 작은 모델을 학습하되, "추론 과정"을 지시한 instruction을 제거하고 학습하자는 것이다. "추론 과정"에 대한 지시를 제거함으로써 작은 모델은 사용자의 질의에 따라 어떤 추론 과정을 생성하며 답을 찾을지를 학습하게 된다. 이를 통해 작은 모델의 능력을 더욱 일반화 시켜 끌어올린다.
- 큰 모델의 능력을 작은 모델로 이식하는 것은 distillation이라고 하여 계산량을 줄이고 일반화 성능을 부수적으로 얻기 위해 흔히 사용하는 접근 방법이다. 그렇다면 사용자의 질의에 대한 대답만 학습하면 되지 왜 추론과정까지 학습하는지 의문이 들 것이다. 그러나 그런 방식으로는 겉으로 흉내는 낼 수 있지만 지식 처리가 필요하거나 추론이 필요한 task에서는 성능 개선이 제한적이며, 종종 그럴싸한 오답을 내기도 한다. 즉, 추론 과정을 배워야 좀 더 일반화된 생성능력을 갖춘다고 이해할 수 있다.
- 추론 과정을 학습해야 하는 이유를 비유적으로 이해하자면, 문제의 답이 아니라 문제의 풀이 과정을 가르쳐주는 것이 더 효과적인 공부방법인 것과 같다고 할 수 있다. 단계적인 풀이 과정을 배워야 변형된 문제도 잘 풀 수 있는 것과 같다.
- 기타 참고 사항
- GPT-4를 사용해서 학습데이터를 생성하더라도 추론 전략에 대해서는 system instruction에 기재해 주어야 한다. 문제마다 효과적인 추론 전략이 다르기 때문이다. 또한 GPT-4는 추론 전략없이 바로 정답을 이야기할 수 있는 만큼, 큰 모델의 추론 전략이 작은 모델에는 적합하지 않을 수 있다. 따라서, 다양한 추론전략으로 생성한 데이터로 학습시켜주면 주어진 문제에 대해 작은 모델에 좀 더 적합한 추론 방법을 적용할 수 있다.
- Progressive Learning이라는 일종의 Curriculum Learning을 Orca 학습 과정에 적용했음을 눈여겨볼 필요가 있다. 모든 데이터를 한번에 다 털어 넣고 학습한 것이 아니라, FLAN-v2라는 일반적인 학습데이터(1913 task 커버)로 먼저 1 epoch학습하고, GPT-4 대비 추론 능력이 낮은 ChatGPT에 의해 생성된 5백만개의 데이터로 3 epoch 학습을 하고, 마지막으로 GPT-4에 의해 생성된 1백만개의 데이터로 4 epoch학습을 하도록 하여 점진적으로 고차원적인 추론능력을 가지도록 학습하였다.
- 어디까지나 모델 크기가 작으므로 필요한 지식이 context에 제공되어 있거나 좁은 domain에서의 성능 개선에 Orca2의 방식을 사용해야 효과가 있을 것이다.
- 멀티턴 대화 성능을 평가할 때 이 논문에서도 GPT-4를 심판으로 채용하여 1~10점으로 점수를 매겨달라고 하였다.
- Orca2가 ChatGPT, GPT-4를 제외한 다른 모델 대비하여 Hallucination이 더 적은 것으로 나타났다. 주목할 점은 assistant가 지켜야 할 점을 기술한 "Cautious system instruction"을 추가할 때가 그렇지 않은 경우보다 Hallucination이 높게 나타났다는 사실이다. 이 경우 context에서 information을 extrapolate하는 모습을 보였다고 한다.
- 멀티턴 대화 성능은 다른 채팅 모델보다 떨어지는데, 학습 과정에 멀티턴 대화가 없었으니 멀티턴 대화 성능이 낮은 것은 당연하다. 멀티턴 대화 성능 개선에 Orca2방식을 적용하는 것은 future work이라고 하고 있다.