오늘은 Qwen 모델에 대해 공부를 하기 위해서 Qwen2 Technical Report를 읽고서 간단하게 요약하려고 한다. Qwen 모델에 대해 간단하게 알고 싶은 분들을 위해 작성한다.
Paper 링크
https://arxiv.org/pdf/2407.10671
Introduction
여기서는 0.5B, 1.5B, 7B, 72B, 57B-A14B(MoE) 총 5개의 파라미터가 각각 다른 모델에 대해 소개하고 있다. 모델은 각각 7T 토큰의 데이터셋으로 훈련이 되었다. 토크나이저, 모델 구조, 데이터셋, 실험 등에 대해 상세하게 서술하고 있으며 MoE 모델에 대해서 매우 자세하게 얘기하고 있다. 0.5B와 1.5B는 스마트폰, 이어폰과 스마트 안경에 적합하고 그 외의 모델은 GPU에 적합하다고 말하고 있다. 기본 모델과 Fine-tuned 모델에 대해서도 서술하고 있다.
Tokenzer & Model
Toeknzer
Tokenzier은 Byte-pair encoding(BPE) 방식을 채택하고 있다. 이를 통해 다국어를 지원할 수 있게 되었다고 한다.
- 151,643개의 ragular 토큰과 3개의 control 토큰을 갖고 있다.
Model
모델에서 사용하는 Dense Language Model과 Dense Langueage Model 4개를 혼합한 MoE 모델에 대해 설명하고 있다. Dense Model과 MoE 모델에서 사용되는 기술에 대해 설명하고 있다.
Qwen2 Dense Model
- Grouped Query Attention(GQA) : Multi-head Attention 기법보다 더욱 효율적인 방식이며 GQA 방식은 KV 캐시를 사용하여 최적화한다.
- Dual Chunk Attention with YARN : Qwen2의 context window를 확장하기 위해 사용했다.
Qwen2 MoE Model
- Expert Granularity : MoE 레이어가 여러 개의 Feed Forward Network(FFN)을 포함하고 있다. 각각의 FFN은 MoE 역할을 수행한다.
- Expert Routing : 모델에서 어떤 FFN(Expert) 활성화에 대한 메커니즘이다. 입력 데이터를 기반으로 적절한 전문가를 선택하여 작업을 처리하도록 하는 과정이다.
- Expert Initialization : 밀집 모델의 가중치를 활용하여 전문가들을 초기화하는 방식이다.
Training
이 부분에서는 각 Pre-training, Post-training에서 사용되는 방식과 데이터에 대해 설명하고 있다.
Pre-training
Data
Qwen, Qwen1.5에서 사용된 데이터에 대해 더 향상을 시킨 데이터로 진행을 했다. 양, 품질 그리고 다양성의 부분에서 더욱 향상되었다.
- Quality Enhancement : 모델과 휴리스틱 알고리즘을 이용해 저품질을 판단하여 필터링을 진행해 품질을 향상시켰다.
- Data Expansion : 이전 데이터셋에 비해 코드, 수학 그리고 다국어 데이터에 대해 품질과 양을 매우 늘렸다. 여기에는 약 30개의 언어가 포함되어 있다.(영어, 중국어, 스페인어, 프랑스어, 독일어, 노어, 한국어, 일본어, 태국어, 베트남어 등)
- Distribution improvement : 모델이 사람과 비슷하게 학습을 활 수 있도록 다양한 자료들을 가져왔다.
데이터양은 12T 토큰을 준비했지만 7T와 크게 성능에 대해 비슷하므로 양은 7T만큼 훈련을 진행했다. 하지만 0.5B 모델은 12T 양으로 훈련을 진행했다.
Training
Qwen2의 long-context capability를 향상하기 위해서 context 길이를 4,096에서 32,768개로 늘렸다. 또한 기본 RoPE를 10,000에서 1,000,000으로 바꾸었다. 학습 방식은 다음 토큰을 예측하는 방식으로 훈련을 진행했다.
Post-training
Data
Post-training data는 2가지 요소로 구성되어 있다.
- Demonstration data : $D = \{(x_i,y_i)\}$
- Preference data : $P = \{(x_i, y_i^+, y_i^-)\}$
여기서 $x_i$는 instruction, $y_i$는 satisfactory response, $y_i^+$ $y_i^-$는 각각 prefer choice와 그 반대를 의미한다. $D$는 SFT에 활용되며 $P$는 RLHF에 활용된다.
데이터 구성은 2가지 과정으로 구성되었다.
- collaborative data annotation : large-scale instruction corpora에서 ontology를 추출하여 다양한 데이터 구성한다. 사람이 직접 주석을 달아 목표 응답$y_i$과 그에 대한 긍정적/부정적 대응$y^+_i, y^-_i)을 확보
- automated data synthesis : 다양한 자동화된 전략을 사용해, 코드, 수학과 같은 여러 domain에서 annotation data를 확보함
Collaborative data annotation
- Automatic Ontology Extraction : Ontology 추출을 위해 InsTag, an open-set fine-grained tagger를 사용한다.
- Instruction Selection : 각 지시문은 태그가 주석으로 달린 상태에서 다양성, 의미적 풍부함, 복잡성 등을 기준으로 평가한다.
- Instruction Evoluation : 지시문 데이터셋의 풍부함을 위해 self-evolution stratgy가 적용된다.
- Human Annotation : 여러 반응이 생성되면 사람을 이용해 가장 선호되는 데이터를 선택한다.
Automated data synthesis
- Rejection Sampling : 수학 그리고 수학과 관련된 task를 위한 방법이다. LLM을 이용해 추론 과정을 출력하도록해서 답을 산출하도록 한다.
- Execution Feedback : 코딩 task를 위한 방법이다. LLM을 이용해 해답과 관련된 Test Case를 만들고 실행하여 평가하며 데이터를 만듭니다.
- Data Repurposing : 문학 task에 대한 방법이다. Open-Domain(Wikipedia)에서 문학 작품을 수집하고, LLM을 사용해 다양한 수준의 지시문을 개발한다.
- Constitutional Feedback : 미리 정의된 원칙을 기반으로 **대형 언어 모델(LLMs)**이 응답을 생성하도록 안내하는 과정을 의미합니다(Bai et al., 2022). 안전성 및 가치와 같은 지침을 따르게 하기 위해, 헌법 데이터셋이 구성
Training
Supervised Fine-Tuning(SFT)와 Reinforcement Learning From Human Feedback(RLHF)를 이용해 Post-Training을 진행했다.
Evaluation
실험은 매우 다양한 방면에서 진행되었다. base model, fine-tuned model에 대해서 다른 모델들과 함께 Benchmark를 진행했다. 실험 Table이 매우 많은 관계로 간단하게 가져와서 설명하려고 한다.
Base Model
각 테이블은 70B+, 7B+, <3B 이렇게 실험이 진행되었다. Phi-2는 2.78B 모델이다. 실험을 보게 되면 7B 이상 모델의 경우에는 모두 좋은 성능을 보였다. 하지만 <3B 모델의 경우 Phi-2는 추론 능력이 좋았지만, 그 외의 경우에는 Qwen2-1.5B 모델이 압도하는 모습을 볼 수 있다. 파라미터가 1B이상 적은 반면에 매우 좋은 성능을 보여주고 있다는 것이다.
Instruct Model
Open Benchmark
Instructed Model에서는 대체적으로 Qwen2 모델이 다른 모델과 Qwen1.5 모델을 압도하는 모습을 나타내고 있다.
이전 버전의 모델들과 비교했을 때도 매우 향상된 Mectric을 달성하고 있다.
Multilingual
여기서 각 언어 전문가를 통해 평가를 요청했다. 여기서는 1~5 점 사이로 점수를 매길 수 있으며 Claude가 가장 좋은 성능을 달성했으며 Qwen 모델도 충분히 좋은 성능을 달성했다.
Safety & Responsibility
다국어 안전성 평가를 통해 LLM이 다양한 언어에서 안전성에 대해 평가했다. 특히, 불법 행위, 사기, 포르노, 프라이버시와 관련된 주제에서 모델의 안전성을 테스트했다. Qwen2-72B-Instruct가 GPT-4 및 Mixtral-8x22B-Instruct보다 더 나은 성능을 보였지만. 그러나 특히 포르노와 같은 어려운 카테고리에서 모델이 더 안전하고 책임감 있게 개선될 여지가 있다고 판단한다.
Conclusion
Qwen2는 이전의 공개 가중치 모델들, 특히 그 전신인 Qwen1.5를 능가하며, 언어 이해, 생성, 다국어 능력, 코딩, 수학, 추론 등 다양한 벤치마크에서 독점 모델들과 경쟁력 있는 성능을 보여준다. 이번 업데이트에서는 특히 긴 문맥 처리, 다국어, 코딩, 수학 기능, 그리고 안전성 및 책임감에 중점을 두었다.
한국어의 능력도 괜찮은 걸로 보아서 사용하기에 괜찮지만 테스트 당시 언어 능력은 좋지만 지식은 좋지 않은 편이다.
'Paper > Model' 카테고리의 다른 글
[Paper Review] CURE: Context- and Uncertainty-Aware Mental Disorder Detection (1) | 2024.11.19 |
---|---|
[Model Review] Orion-14B: Open-Source Multilingual Large Language Models (1) | 2024.09.20 |