Some remarks on Large Language Models를 읽고 번역해 본 글입니다. 최대한 저자의 의미를 쉽게 옮기려 했으나, 제가 잘못 이해한 부분이 있다면 알려주시면 감사하겠습니다.
저자(Yoav Goldberg)는 현재 chatGPT를 필두로 한 Large Language Models(LLMs)를 보며 그 자신의 생각을 풀어 나가고 있다. 2014-2017년, 강연 중이던 저자는 ‘perfect language model은 인간의 지능과 같아야 한다’고 하며 computing power와 cost의 문제를 신경쓰지 않아도 된다면 무엇을 할 것이냐는 질문에 ‘LLM이 모든 것을 해결하지 못한다는 것을 증명하지 위해 LLM을 훈련시키겠다’고 했다. 그 기억을 떠올리며 2023년 현재의 LLM 모델을 바라보고 있다.
저자는 강연을 시작하며 간단한 게임을 했다. text의 일부를 가린 뒤 가장 적은 횟수로 hidden letter를 찾는 게임인데, 오늘날의 Language Modeling과 매우 흡사하다. 인간에게는 간단한 이 게임이 컴퓨터에겐 어렵지만, 이를 계속 학습시켜 오늘날의 기계번역에 이르렀다. 이 게임은 AI-Complete(인간과 동일한 정도의 지능을 가진 AI만 풀 수 있는 문제)문제이기 때문에, 인간처럼 주어진 text와 그 상황을 이해하고 상상하며 대답해야 한다. 말 그대로 인간의 경험과 생각(human-level)을 모방할 수 있어야 한다.
Transformer가 등장하기 시작했던 당시, 저자는 perfect language model(AI-Complete를 해결할 수 있는)은 단순히 LLM으로는 구축할 수 없다고 생각했다. 수백 ~ 수천 억의 parameter로 학습된 현재의LLM은 많은 것을 할 수 있지만, 모든 것을 할 수는 없다. 과거에 생각했던 Language Model과 현재의 Language Model 간의 차이가 있고 현재의 LM이 아직 해결할 수 없는 문제를 살펴 본다.
LM의 성능을 단순히 Language Modeling으로만 향상시킬 수는 없다. GPT-3, BLOOM ,OPT 등의 LLM은 책, SNS, 인터넷 등 real text data로 훈련되었다. 이것은 위의 게임과 유사하며 대부분의 사람들이 Language Modeling이라고 생각해 온 방식이다. 기존의 real text data로만 훈련된 전통적인 LLM에는 이론적 한계가 있다. 기존의 LLM은 text를 넘어선 의미를 이해할 수 없다. 기존의 LLM들에게 text는 단지 기호(form)에 불과하며, 이에 상응하는 의미(meaning)와 연결되지 않는다. 예를 들어, "사과"라는 단어(form)와 "주먹만 한 크기의 빨갛고 단 맛이 나는 과일"이라는 의미(meaning)를 고려하지 않는다.(본문에서는 ground하지 않는다고 한다). 그러나 chatGPT는 위의 LLM과 다른점이 있다.
Instruction tuning이란, data에 Insturction annotation을 추가하여 fine-tuning하는 방식을 말한다. 예를 들어, 주어진 text에 대해 "Please this sentence to Spanish"라는 Instruction을 붙이고 annotator가 실제로 번역하여 labeling을 한다. 이러한 과정을 번역, 요약과 같은 다수의 Instruction에 대해 진행한다. 단순히 다음 단어를 예측하도록 학습되는 Language Modeling은 중요하지만, annotation 작업으로 인해 text에 ground를 주입할 수 있다. “summarize, translate”과 같은 symbol(a.k.a. instruction)들이 일관되게 나타나며, 항상 text의 시작 부분에 위치한다. 이것은 “summarize”와 같은 instruction이 실제 인간이 요약한 것과 같은 요약을 생성하도록(”summarize”라는 instruction의 의도를 이해하도록) 학습한다. 이미 LLM에서 수집한 corpus에 이러한 instruction이 녹아있을 것이다. 하지만 저자는 직접적인 instruction(by annotation)을 통해 학습하는 것이 쉬울 것이라고 주장하고 있다. 또한 annotation을 진행하며 training data의 ground를 늘릴 수 있다(instruction에 대한 human의 생각이 녹아 있다). 또한 training data의 크기를 더 작게 만들 수 있다.
이러한 annotation이 잘 반영된 것이 바로 주석이 달린 code이다. 이러한 code는 human의 의도(meaning)와 그 의도에 상응하는 programming language(form)를 잘 포함하고 있다. 이러한 “form - meaning” pair에서는 단순히 “from alone”(기호만으로 학습하는 기존 LM)에 비해 더 많은 것을 배울 수 있다. “program - output” pair는 또한 더욱 강력한 ground를 생성하며, 기존 LM과는 더욱 더 차이가 벌어진다.
RLHF에서 두 사람의 대화는 “User”와 “AI”의 대화로 인식되며, “User”가 만드는 다양한 상황에 대해 “AI”가 어떻게 반응해야 하는지를 학습합니다. 이에 따라 대화의 방식과 이전 대화의 정보 추적을 학습 하는데, 기존 LM에서 이러한 학습은 매우 어렵습니다. 따라서 chatGPT는 대화에 강점을 가집니다.
Large language models are amazing. Language modeling is not enough, but "current language models" are actually more than language models, and they can do much more than we expected. This is still "not enough", though, if we care about "inclusive" language understanding, and also if we don't.