Some remarks on Large Language Models

Hyoeun·2023년 1월 5일
0

Some remarks on Large Language Models를 읽고 번역해 본 글입니다. 최대한 저자의 의미를 쉽게 옮기려 했으나, 제가 잘못 이해한 부분이 있다면 알려주시면 감사하겠습니다.

Intro

저자(Yoav Goldberg)는 현재 chatGPT를 필두로 한 Large Language Models(LLMs)를 보며 그 자신의 생각을 풀어 나가고 있다. 2014-2017년, 강연 중이던 저자는 ‘perfect language model은 인간의 지능과 같아야 한다’고 하며 computing power와 cost의 문제를 신경쓰지 않아도 된다면 무엇을 할 것이냐는 질문에 ‘LLM이 모든 것을 해결하지 못한다는 것을 증명하지 위해 LLM을 훈련시키겠다’고 했다. 그 기억을 떠올리며 2023년 현재의 LLM 모델을 바라보고 있다.

Perfect Language Modeling is AI-Complete

저자는 강연을 시작하며 간단한 게임을 했다. text의 일부를 가린 뒤 가장 적은 횟수로 hidden letter를 찾는 게임인데, 오늘날의 Language Modeling과 매우 흡사하다. 인간에게는 간단한 이 게임이 컴퓨터에겐 어렵지만, 이를 계속 학습시켜 오늘날의 기계번역에 이르렀다. 이 게임은 AI-Complete(인간과 동일한 정도의 지능을 가진 AI만 풀 수 있는 문제)문제이기 때문에, 인간처럼 주어진 text와 그 상황을 이해하고 상상하며 대답해야 한다. 말 그대로 인간의 경험과 생각(human-level)을 모방할 수 있어야 한다.

Building a large language model won't solve everything / anything

Transformer가 등장하기 시작했던 당시, 저자는 perfect language model(AI-Complete를 해결할 수 있는)은 단순히 LLM으로는 구축할 수 없다고 생각했다. 수백 ~ 수천 억의 parameter로 학습된 현재의LLM은 많은 것을 할 수 있지만, 모든 것을 할 수는 없다. 과거에 생각했던 Language Model과 현재의 Language Model 간의 차이가 있고 현재의 LM이 아직 해결할 수 없는 문제를 살펴 본다.

Natural vs Curated Lanagueg Modeling

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과 다른점이 있다.

1. Instruction tuning

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의 크기를 더 작게 만들 수 있다.

2. Code

이러한 annotation이 잘 반영된 것이 바로 주석이 달린 code이다. 이러한 code는 human의 의도(meaning)와 그 의도에 상응하는 programming language(form)를 잘 포함하고 있다. 이러한 “form - meaning” pair에서는 단순히 “from alone”(기호만으로 학습하는 기존 LM)에 비해 더 많은 것을 배울 수 있다. “program - output” pair는 또한 더욱 강력한 ground를 생성하며, 기존 LM과는 더욱 더 차이가 벌어진다.

3. RLHF (Reinforce Learning with Human Feedback)

RLHF에서 두 사람의 대화는 “User”와 “AI”의 대화로 인식되며, “User”가 만드는 다양한 상황에 대해 “AI”가 어떻게 반응해야 하는지를 학습합니다. 이에 따라 대화의 방식과 이전 대화의 정보 추적을 학습 하는데, 기존 LM에서 이러한 학습은 매우 어렵습니다. 따라서 chatGPT는 대화에 강점을 가집니다.

What's still missing?

  • 학습과 사용 cost가 너무 크다.
    • annotation된 일부만 학습시키며(Instruction tuning), 인간이 그 일을 처리하는 데에 비하면 미미하다. 이것은 경제적 문제이며 모델 자체의 성능과 관계가 없다
  • 편견, 고정관념
    • 인간은 모두 색안경을 끼고 있다. real-world task에 적용할 때 주의해야 하지만 이것이 invalid하거나 unuseful하지 않다.
  • 모델은 언어를 이해하지 못하고, 영원히 이해하지 못할 것이며, 인간처럼 이해할 수 없다.
    • So what? 그렇더라도 모델이 잘 할 수 있는 부분이 있으며 그것을 발전시켜야 한다.
    • 인간처럼 이해하지 않더라도 우리는 모델에게서 많은 것을 얻을 수 있다.
  • 모델은 자신이 이전에 봤던 data만 연결지을 수 있다.
    • 거대한 문법적, 어휘적 오류 속에서 의미 있는 것들을 연결 짓는 것 자체가 대단하다.
  • 이러한 것이 사회에 끼칠 영향을 모른다.
    • 모든 신기술/발견이 그렇다. 그저 연구할 수 있는 분야가 하나 늘어난 것뿐이다.
  • 모델은 지식의 기원을 cite하지 않는다.(The models don't cite their sources)
    • language model의 핵심과 관련이 없다. 인간 또한 진정으로 “cite their source”하지 않으며 지식을 단일 source로서 인식하지 않는다. 단순한 "사실"에서 핵심 지식을 분리해내는 방법과, 지식에서 지식을 끌어내는 방법(Knowledge of Knowledge)이 중요하다.

So what's missing / what are some real limitations?

  • multiple text를 연결 짓지 못한다.
    • training 중 model은 text를 하나의 independent piece로 인식한다. text내의 공통적인 패턴은 알 수 있지만, real world에서 일어나는 event와 어떻게 관련되는지는 알 수 없다.
    • 같은 event에 대해 다른 text로 훈련된다면 각 text가 동일한 event임을 알 수 없으며, 비슷하지만 다른 event와 구별할 수 없다.
    • 따라서 text를 읽는 것만으로는, 완전하고 일관된 세계관을 형성할 수 없다.
  • 시간에 대한 개념
    • model은 어떤 event가 야기할 다른 event를 생각할 수 없다. 시간에 대한 명시적인 언급외에는 실제로 시간을 고려하지 않는다. "Obama became president in 2009”와 같이 명시적으로 시간이 지정된 event간의 관계는 학습할 수 있지만, "Obama is the current president of the united state", "Obame is no longer the president”와 같이 분리된 text에서는 시간의 흐름을 알 수 없으며, 무엇이 진실인지도 모른다.
  • Knowledge of Knowledge
    • model은 자신이 무엇을 알고 있는지 알지 못한다. 단지 next token을 추측할 뿐이다. 이 추측이 진실인지, training data를 바탕으로 추론해 낸 건지 구분할 수 없지만 두 경우 다 확신을 가지고 대답한다. RLHF은 일부 답변에 대해 주의해야 한다는 인식을 학습시키고 주의해야 할 entity, topic 등에 대해 배웠을 수 있다. 이런 의미에서 약간의 knowledge of knowledge를 보여줄 수 있지만 답변을 생성한다면 알지 못하는 데에도 불구하고 진실인 마냥 대답한다.
  • Numbers and math
    • 단어를 기반으로 하기 때문에 숫자를 다룰 수 없다. 또한 다른 두 숫자의 관계에 대해 학습할 어떠한 방법도 가지고 있지 않다. 수학을 학습하는 명시적인 modeling 없이는 특별한 진보가 어렵다.
  • Rare events, high recall setups, high coverage setups
    • model은 일반적이고 있음직한 경우에 중점을 둔다. 따라서 드물게 일어나는 event에 대한 능력이 의심받는다.(저자는 그렇다고 믿는다)
  • Data hunger
    • LLM의 가장 큰 이슈. 대부분의 언어들이 training하기 적합한 형태로 변환이 불가능하기 때문에, 영어만큼의 성능이 보장되지 않으며 빈부격차가 심하다. Instruction tuning은 data가 덜 필요하지만 각 언어에 대한 annotaion은 거대한 작업이다. 영어로 작성된 Programming language 또한 성능 차이의 원인이 될 수 있다. 영어로 번역 후 재번역하는 과정은 매우 얕은 레벨에서만 유효하다. 언어, 지역마다 다른 문화, 규범, 역사적 사건, 중요한 장소 등을 영어는 고려하지 못한다.
  • Modularity
    • 단순한 "사실"에서 핵심 지식을 분리해내는 방법이 있다면 Data hunger, 편견과 고정관념을 통제할 수 있고 Knowledge of Knowledge를 간단히 얻을 수 있다. retrieval augmented language models이 좋은 방법일 수도 있고 아닐 수도 있다.

Conclusion

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.

0개의 댓글