LLM (Large Language Model)이란?
- Transformer 아키텍처에 기반한 딥러닝 언어모델로 대규모 텍스트 corpus를 학습하여 자연어의 패턴이나 의미구조를 학습한다.
LLM의 발전
- Statistical Language Models
- Neural Language Models
- Pre-trained Language Models
- Large Language Models (LLMs)
1. Statistical Language Models
- Statistical Language Models는 텍스트를 단어의 연속으로 보고 단어들의 확률 곱으로 문장의 확률을 추정한다.
i.e. 대표적으로 Markov chain을 기반으로 한 n-gram 모델인데, 한 단어의 확률을 앞선 n-1개의 단어를 기반으로 계산한다. 이때 수집된 단어 및 n-gram 기반의 빈도를 기반으로 추정되며 이로 인해 관측되지 않은 단어 혹은 n-gram에 대해 확률이 0이 되는 데이터 sparsity문제가 생기게 된다.
-> n-gram모델은 언어의 다양성과 복잡성을 충분히 포착하지 못하는 한계가 있다.
2. Early Neural Language Models
- 단어를 저차원의 연속적인 임베딩 벡터로 매핑하고 앞의 단어들의 임베딩 벡터로 다음 단어를 예측함으로써 데이터 희소성 문제를 해결하고자 하였다. 임베딩 벡터는 의미적으로 유사한 단어들이 가까운 벡터 공간에 위치하도록 학습되며, 두 벡터 간의 거리 계산을 통해 의미적 유사성을 측정할 수 있다.
3. Pre-trained Language Models
- 초기 NLM과 달리 task-agnostic (작업 비의존적)이다. 이 일반성은 학습된 임베딩 공간 (hidden embedding space)도 확장된다. Pre-training과 fine-tuning을 하게 되고 RNN (Recurrent neural networks) 또는 transformers 기반의 언어 모델로 웹 규모의 라벨 없는 text corpus로 일반적인 language task들에 대해 pretrain하고 그 후에 소량의 라벨이 있는 task specific data들을 이용해 특정 task에 맞게 fine tuning하게 된다.
4. Large Language Models
- LLM은 주로 트랜스포머 기반의 신경망 언어모델을 의미하며 수십억에서 수천억개의 파라미터를 가지고 있다. 대표적으로 PaLM, LLaMA, GPT-4가 있고 대규모 텍스트 데이터로 pretrain 된 모델들이다. LLM은 단순히 모델 규모가 큰 것 뿐만 아니라 더 강력한 언어이해 및 생성능력을 보이며 소규모 모델에서는 나타나지 않는 emergent abilities를 갖는다는 점에서 차별화가 된다.
- In-context learning: 추가적인 훈련 없이 추론 단계에서 제공된 예시만을 사용하여 모델이 task를 빠르게 배우는 과정이다.
- Instruction following: 예시 없이 사용자의 instruction을 그대로 따라하고 주어진 지시사항에 맞춰 작업을 처리한다.
- Multi-step reasoning: LLM이 복잡한 문제를 해결하기 위해 여러 단계의 추론 과정을 거치는 능력이다. 한번의 답변으로 모든 것을 해결할 수 없고 문제를 작은 단위로 분해하여 순차적으로 해결한다. (Chain-of-Thought 프롬프트 활용)
또한 외부 지식 및 tool을 통해 확장할 수 있고, 강화학습을 통해 사용자 및 환경과의 상호작용을 통해 지속적으로 스스로 개선할 수 있다.(RLHF)
AI agent
- LLM을 확장하여 LLM을 AI agent로도 활용가능한데, AI agent란 환경을 인식하고 판단을 내리며 행동을 수행하는 인공지능 시스템을 의미한다.
reference - Large Language Models: A Survey