Spoken Language Processing

LLM - Large Language Models에 대해서 (OpenAI 특강) (1) 연구자들이 가져야 할 자세, 언어모델 구조 기초

햇농nongnong 2023. 9. 7. 15:06

이 글은 OpenAI의 정형원 박사님의 ChatGPT Large Language Model 강연을 정리한 글입니다.

 

 

 

먼저, 학자들이 갖춰야 할 자세에 대해 좋은 말씀을 해주셔서 정리해보았습니다.

Perspecive of "yet" 


  • This idea does not work --> This idea does not work yet
  • we are used to operating in an environment where underlying axioms do not change.
    • 과학 실험에서도 지금 안되는 것 3년 후 30년 후 안되는 것 알고 있을 때가 있다. --> underlying axioms
    • 언어모델에서도 이러한 axioms? = the most capable model now.
    • GPT4가 나왔을 때 이게 가장 capable model 이라 이 모델 위로 다양한 여러 실험들 발전, 하지만 더 진보된 모델이 나오면 다 outdated 되어버림
      • 따라서 need for constant unlearning
      • constantly unlearn the intuition based on such an invalidated idea.
      • AI에서 아주 많은 경험의 필드 사람들보다 새로 진입한 사람들의 새로운 아이디어로 실험한 것이 생각보다 좋은 결과를 가져온 경우가 많다. 이는 이 전에 안될거야 라고 생각했던 많은 경험의 필드 사람들에 비해, 새로운 사람들이 일단 도전해보고 되는 경우가 있기에, 어느정도 unlearn concept 을 갖춰야 함.

 

Going ahead of the scaling curve 


  • 내가 지금은 insufficient intelligence 때문에 잘 생각이 안나거나 reasoning 이 불가해도, 일단 둬라. 새로운 모델이 나오거나 새로운 적용가능한 것이 나왔을 때 emergent idea로 다시 할 수 있으니 failure 라고 declare 하지 마라. not yet!
    • Document experiments that failed because of insufficient "intelligence"
    • Do not declare failure yet and make it easy to rerun in the future.
    • As soon as the new model comes out, rerun them
    • Learn what works and what does not.
    • Update your intuition ion emergent abilities and scale.

scaling curve

 

How is the scaling actually done?


  • All LLMs so far use Transformer architecture.
  • a "functional" viewpoint on the Transformer

 

  • 트랜스포머 내부는 sequence-to-sequence mapping 계산이고, 다 matmul multiplications 들로 구성된다.
    • scaling 이 일어나는 때는 pretraining, 즉 inference가 아닌 training 과정 이니, 여기서는 학습 과정에 대해서 말함.

 

 

  • input, output 은 d-model(width), batch, length 로 길이가 서로 같음. 
    • 처음에 문장이 들어간 후 Tokenization을 통해 토큰화되면서 단어마다 숫자로 바뀜. 길이는 단어의 길이인 length.
    • 그 이후 word2vec과 같은 모델을 통해 워드임베딩으로 바뀌는 과정. 모델이 뱉어내는 벡터 사이즈에 따라 d_model, length 로 바뀜
    • 이제 진짜 major computation 이 일어나는 단계 : N Transformer layers
      • 여기도 사실 그냥 단지 sequence-to-sequence mapping 일뿐.
      • 하지만, 여기서는 everything is about "scale".
        • scaling needs to have as little assumptions as possible.
        • each sequence token wants to interact with other tokens. 근데 이 때 우리의 생각 넣지 않고, 그냥 모델이 알아서 하게 냅둠. 토큰들이 알아서 잘 interact 하도록.
          • 트랜스포머에서는 let them able to do the dot product. 자기들 토큰들끼리 서로 dot product 하게 냅두는 것이 전부. 이제 그러면서 모델이 어떤 토큰을 dot product 하면 좋은지 학습..
    • Loss function : 그냥 maximum likelihood on next token predictions.
      • 그냥 뒤에 어떤 token이 나올지 맞추는 문제로 maximum likelihood의 loss function이고, 이를 거치면 single number 가 나오고 이를 통해 backpropagation 하며 학습.

 

  • 실제로는 이런식으로 batch 로 진행됨. 나중에는 batch들끼리 평균내서 구하는 것. 똑같음.

 

 

 Reference

  • Large Language Models (in 2023) - Hyung Won Chung (OpenAI)