0. Abstract
언어를 이해하고 생성하기 위해서 여러 단계의 모델 구조들이 있었다. 파라미터 수를 늘리다 보니 기존 모델에서는 존재하지 않았던 능력들이 발현되는 것을 보고, LLM이라는 새로운 용어를 사용하기 시작했다. 해당 survey에서는 LLM의 4가지 중요한 측면, ① pre-training, ② adaptation tuning, ③ utilization, ④ capacity evaluation를 다룬다.
1. Introduction
Language Modeling은 크게 4가지 단계
통계 언어 모델 (SLM, Statistical language model) → 신경 언어 모델 (NLM, Neural language model)
→ 사전 훈련된 언어 모델 (PLM, Pre-trained language model) → 대형 언어 모델 (LLM, Large language model)
2. Overview
Emergent abilities : 소형 언어 모델에는 없지만 대형 모델에서 발생하는 능력
- In-context Learning : 주어진 예시들이나 사례들을 바탕으로 학습하는 능력, 스케일링된 GPT-3부터 가능
- 단계별 추론
LLM의 중요한 기술들
- Scaling
- Training
- Ability Eliciting (능력을 끌어내기 위해 instruction tuning이나 CoT와 같은 전략들 사용)
- Alignment tuning (helpful, honest, harmless한 인간에게 도움이 되게 align 시키기)
- Tools Manipulation (성능을 높이기 위해 외부 지식 활용)
3. Resources of LLMs
모델 : 공개적으로 사용 가능한 모델이 많이 있고, 그중에서 Meta AI에서 출시한 LLaMA 모델은 다양한 공개 벤치마크에서 우수한 성능을 보이는 인기 있는 공개 언어 모델. Variant도 많다.
Corpus : Training 데이터로 쓸 수 있는 공개 corpus도 많이 존재함. 크게 6개 그룹(Books, CommonCrawl, Reddit links, Wikipedia, Code, others)으로 분류 가능
라이브러리 : Transformers(Hugging Face), DeepSpeed(Microsoft), Megatron-LM(NVDIA)등등
4. Pre-Training
Data Source
General Text Data : 웹페이지 (품질이 낮은 데이터도 많아서 필터링 필요), 대화 텍스트 (LLM의 대화 능력 향상), Books (formal & long 텍스트를 생성하는데 도움이 됨)
Specialized Text Data : Multilingual, Scientific, Code
데이터 전처리
필터링 : 언어, 통계 기반, 키워드 기반
중복 제거 (De-duplication)
개인정보 보호 (Privacy Reduction)
Tokenization
모델 구조
- Encoder-Decoder = Vanilla Transformer
- Causal Decoder = 단방향 어텐션, 과거 토큰과 그 자체에만 어텐션 수행
- Prefix Decoder = 비인과 디코더, 접두사 토큰에는 양방향 어텐션 수행 후 생성된 토큰에 단방향 어텐션
- Normalization, Positional Embedding, Activation function, Attention에서 여러가지 선택지가 존재
- Decoding할 때, Greedy search, Beam search, 길이 페널티, Random Sampling 등의 전략이 있다
- Training 과정에서는 Optimizer, Scaling 등 다양한 설정 적용 가능
5. Post-Training of LLMs
사전 학습된 LLM을 1) Instruction Tuning과 2) Alignment Tuning으로 더 조정할 수 있다.
다양한 Task에 적용할 수 있고, 성능을 높일 수도 있다
Alignment를 위해서는 RLHF(Reinforcement Learning with Human Feedback), SFT(Supervised FineTuning)등이 가능하다.
Parameter-Efficient Finetuning : Adapter Tuning(작은 신경망 모듈을 통합), 접두사 튜닝(가상 토큰 임베딩의 역할), 프롬프트 튜닝,
Low-Rank Adaptation (LoRA) = downstream task에서 trainable한 parameter 수를 줄이기 위해 사용
Memory-efficient Model Adaptation(모델 Quantization) : 정밀도를 조금 줄여서 효율성을 높이는 것
6. Utilization
In-Context Learning = 작업에 대한 설명이나, demo, 작업 예제 등을 사용해서 성능을 높임
Chain-of-Though (CoT) = 중간 추론 단계를 통해 LLM의 추론 능력을 향상시키고 추론 경로를 보여줌
⇒ 복잡한 추론 작업에 도움이 됨
7. Capacity and Evaluation
LLM을 평가하는 작업 및 벤치마크에도 종류가 여러가지 있다. 다음은 모델들을 평가하는 기준과 각각의 major issue들이다.
Language, Code Synthesis - unreliable generation evaluation(변별력이 사라짐), underperforming specialized generation(특정 도메인에서는 약한 모습을 보임)
Knowledge Utilization - hallucination, knowledge recency(최신 지식이 부족할 수 있음)
Reasoning (Knowledge, Symbolic, Mathematical) - 추론의 불일치, 수치 계산
Advanced Abilitiy = Human Alignment, Interaction with External Environment, Tool Manipulation
8. Applications
Classic NLP Tasks, ex) Word/Sentence-level, Information Extraction, Text Generation
Information Retrieval (IR) : retrieve-then-rerank 파이프라인을 주로 활용. general한 task에 더 적합해서 long text나 추론 능력이 필요한 상황에는 적절하지 못할 수도 있다.
Recommendation Systems : domain generalization과 text generation으로 추천 시스템에서도 활용 가능
Multimodal LLM, KG-LLM(Knowledge Graphed), Evaluation 등등
Healthcare, Education, Law, Finance, Scientific Research와 같은 specific representative domain에서 활용 가능
9. Advanced Topics
Long Context Modeling, Agent, Analysis & Optimization for Training & Inference, Model Compression, Retrieval-Augmented Generation(RAG), Hallucination
10. Conclusion and Future Directions
LLM의 key concepts:
- 모델 구조
- Training
- Utilizaion
- Safety & Alignment
- Applications
링크 :
https://arxiv.org/abs/2303.18223