최근(2023.10)에 나온 논문들을 읽어보고 간단히 정리했습니다.
혹시 부족하거나 잘못된 내용이 있다면 댓글 부탁드립니다 🙇♂️
<Attention> GQA: Training Generalized Multi-Query Transformer Models from Multi-Head Checkpoints (2023.05)
[Google Research]
Multi-head Attention(MHA)만큼의 품질이 보장되고, Multi-query Attention(MQA)만큼의 속도를 낼 수 있는 Group-query Attention(GQA)를 제안
- 기존 Transformer 아키텍쳐에서 사용되는 Multi-head Attention의 경우 메모리 사용량이 지나치게 많이 요구되어 이를 적용하기가 점점 더 어려워지는 추세였음
- 이 문제를 해결하기 위해 하나의 통일된 Key & Value head를 갖는 multi-query attention 방식이 제안됨
- 그러나 점점 더 큰 사이즈의 모델이 등장함에 따라 head의 개수도 늘어나게 되고 결국 이 방식을 적용하기 어려워짐
- 두 방식의 절충이 되는 GQA를 제안하는데, 이는 미리 설정한 Group 개수만큼 Key & Value head를 갖는 방식이라고 이해할 수 있음
- MHA를 GQA로 바꾸기 위해서는 두 단계를 거쳐야 함
- converting checkpoint: MHA의 각 head에 저장되어 있는 값들을 하나의 head로 옮겨야 함. 이 check point가 Mean Pool을 통과.
- additional pre-training: 모델이 새로운 아키텍쳐에 적응할 수 있도록 추가적인 사전 학습을 진행. 이때 기존 대비 몇 퍼센트를 사전 학습하는지를 α로 설정함. 0.05가 가장 좋다고 실험을 통해서 확인.(uptraining이라고 표현)
- T5.1.1. 아키텍쳐, 체크포인트를 사용. 요약 데이터셋(벤치마크)에 대해 성능 평가
- 관련 키워드: Flash Attention, Quantization, Layer-sparse cross-attention, Speculative sampling, Uptraining procedure
출처 : https://arxiv.org/abs/2305.13245
<LLM> Large Language Models can Learn Rules (2023.10)
[Google DeepMind]
- LLM이 reasoning을 위한 library를 학습하는 프레임워크 Hypotheses-to-Theories(HtT)를 제안
- induction stage: training example에 대한 rule을 생성하고 이를 검증
- deduction stage: LLM은 학습된 rule library를 이용하도록 prompted
- LLM이 학습을 통해 갖추고 있는 능력만을 활용한다면, 학습 동안에 자주 접하지 못했거나 어려운 문제에 대해서는 당연히 hallucination을 일으킬 수밖에 없다고 지적
- HtT는 reasoning 태스크에서 rule library를 자동적으로 유도해내고 실제 정답을 기반으로 filtering & 이를 기반으로 deduction하는 방식을 뜻함
- log-linear scaling law를 관측
- Inductive Reasoning: facts로부터 일반화된 규칙을 이끌어 내는 추론 방식. 귀납법.
- Deductive Reasoning: 이미 알려진 facts로부터 새로운 fact를 이끌어 내는 추론 방식. 연역법. CoT가 여기에 해당.
- XML Tagging
- Inductive Reasoning 단계에서 생성된 지식들을 각 단계(계층)별로 tagging
- library 전체가 Deductive Reasoning 단계의 입력으로 주어질 때, 어떤 XML tag에 해당하는 텍스트를 retrieval할지 결정하게 됨
- GPT-3.5 turbo, GPT-4 두 모델에 대해 HtT 방식을 적용하여 실험해봄
- zero-shot chain-of-thought(0-shot CoT), few-shot chain-of-thought(5-shot CoT), few-shot least-to-most(5-shot LtM)
- induction stage on 2,000 training examples
- deduction stage에서 learned rule library를 system message에 덧붙임
- Numerical Reasoning, Relational Reasoning 태스크에 대해 검증
- 베이스 모델의 능력에 의해 실험 결과가 크게 달라진다는 한계점. 또한 context 길이가 제한되어 있다는 점도 한계.
출처 : https://arxiv.org/abs/2310.07064
<Prompt> LLMLingua: Compressing Prompts for Accelerated Inference of Large Language Models (2023.10)
[Microsoft Corporation]
coarse-to-fine 프롬프트 압축 기법, LLMLingua를 제안.
약간의 performance 손실이 있지만 SoTA급 성능에 가까우면서도 최대 20배에 달하는 압축률을 보여줌
LLMLingua는 세 개의 모듈로 구성됨
1) Budget Controller
- compression ratio를 결정
- instructions, questions에는 답변을 생성하기 위한 핵심적인 정보가 담겨 있으므로 낮은 압축률
- demonstrations은 여러 문장일 경우 그 정보가 이미 충분하기 때문에 높은 압축률
- 토큰 수준의 dropout은 너무 세밀하여 오히려 핵심 정보를 잃을 수 있기 때문에 문장 수준으로 dropout을 적용
2) Iterative Token-level Prompt Compression
- prompt'를 여러 segment로 나누고 small LM을 통해 각 segment별 PPL을 획득
- 각 segment에서 획득한 compressed prompt는 subsequent segment로 concatenated
3) Distribution Alignment
- 기존에는 target LLM과 small LM 간의 discrepency가 성능 저하의 핵심 원인이었음
- 따라서 LLM이 생성한 텍스트를 타겟으로 두어 loss를 계산하고 이를 최소화하는 방식으로 최적화를 진행
Dataset & Benchmark
- Exact Match: GSM8K, BBH
- BLEU, ROUGE, BERTScore: ShareGPT, Arxiv-March23
Models
- GPT-3.5-Turbo-0301, Claude-v1.3
- Alpaca-7B, GPT2-Alpaca
출처 : https://arxiv.org/abs/2310.05736
<LLM> LLeMA: An Open Language Model For Mathematics (2023.10)
[Eleuther AI]
- 수학에 특화된 LLM, LLeMA
- Code LLaMA를 Proof-Pile-2에 대해 추가 pre-training
- 7B, 34B 모델 공개
- Contributions
- 수학과 관련된 11B 토큰의 코드 데이터셋 AlgebraicStack 공개
- 수학에 특화된 7B, 34B 모델 공개
- LLeMA는 수학 문제를 풀기 위해 Python Interpreter와 같은 computational tools를 사용할 수 있음
- 학습 데이터와 코드를 open source로 공개
- Data
- Code: 17개 언어로 작성된 11B 토큰 소스코드 데이터셋
- Web data: OpenWebMath
- Scientific papers: RedPajama의 subset ArXiv
- General natural language and code data: Pile 데이터셋
- Evaluation
- model: Code LLaMA, bfloat16 mixed precision, 7B model for 200B tokens / 34B model for 50B tokens
- CoT Mathematical Problem Solving: Math, GSM8K, OCWCourses, MMLU-STEM, SAT
- 수학 관련 데이터셋을 수집 및 정제(filtering)하고 거대 언어모델에 적절히 튜닝한 것 말고는 눈에 띄는 성과가 없어보임.
성능적인 측면에서는 벤치마크 결과가 뛰어나지만 눈에 띄는 차별점을 인지하기 쉽지 않음
출처 : https://arxiv.org/abs/2310.10631
<LLM> ToRA: A Tool-Integrated Rasoning Agent for Mathematical Problem Solving (2023.09)
[Microsoft]
- 자연어 추론 과정에 외부 툴 사용을 포함시켜 어려운 수학 문제를 풀 수 있도록 함.
(여기서 외부 툴이란 관련 라이브러리 등을 뜻함)
- 수학 관련 데이터셋에 대해 tool-use trajectories를 정제하고 imitation learning을 수행.
- LLaMA-2 모델을 Rationale-based + Program-based 방식으로 학습시켜 GPT-4 수준의 수학적 추론 능력을 갖추게 됨
- ToRA는 Imitation Leraning과 Output Space Shaping 두 단계로 구성됨
- Imitation Learning
- GPT-4와 같은 LLM을 사용하여 Tool-integrated Reasoning trajectories(ToRA-Corpus)를 생성
- 이 corpus를 사용하여 model M을 fine-tune
- Output Space Shaping
- 모델 M으로부터 다양한 tool-use trajectories를 sampling
- valid한 것은 그대로 유지하고, invalid한 것은 teacher model M'로 교정
- valid한 것과 교정된 것을 합쳐 모델 M을 재학습
- Imitation Learning
- 데이터셋
- interactive tool-use annotation의 부재가 문제라고 판단
- 따라서 GSM8k, MATH의 학습 데이터셋으로부터 고품질 trajectories를 합성
- 모델
- LLaMA-2, CodeLLaMA를 사용
- DeepSpeed, Flash-Attention 적용
- greedy decoding
- GPT-4, ChatGPT, PaLM-2, Claude-2 등과 비교
- 관련 키워드
- Mathematical Reasoning, Tool-Augmented Language Models, Knowledge Distillation(KD)