[2309.16609] Qwen Technical Report
Qwen Technical Report
Large language models (LLMs) have revolutionized the field of artificial intelligence, enabling natural language processing tasks that were previously thought to be exclusive to humans. In this work, we introduce Qwen, the first installment of our large la
arxiv.org
1. INTRODUCTION
■ LLM은 방대한 knowledge를 신경망 내에 압축하는 능력으로 창의성과 전문성을 필요로 하는 tasks을 수행할 수 있으며, 단순한 language tasks을 넘어 다양한 분야(예: 자율 주행, 헬스케어, 금융 등) 외부의 systems, tools, models과 협력하는 generalist agent로서도 역할을 수행한다.
■ 그러나 뛰어난 성능에도 불구하고, 기존 LLM들은 종종 재현성(reproducibility), 제어 가능성(steerability), 그리고 접근성(accessibility) 부족이라는 한계로 비판받고 있다.
- 많은 고성능 LLM들이 closed-source거나 training data 및 과정이 불투명하여, 결과를 검증하거나 개선하기 어렵다.
- 그리고, 모델이 사용자 의도대로 행동하도록 제어하는 것이 여전히 어려우며, 모델을 직접 커스터마이징하거나 배포하기 어려운 경우가 많다.
■ Alibaba의 QWEN 시리즈는 이러한 문제들을 해결하기 위해 등장한 open-source models이다.
■ 이 모델 시리즈에는 기본적인 base pretrained language models, human alignment techniques (즉, supervised finetuning (SFT)), reinforcement learning with human feedback (RLHF) 등으로 finetuned된 chat models, 그리고 coding 및 math에 특화된 모델들이 포함되어 있다.
■ models에 대한 details은 다음과 같다.
- (1) base language models인 QWEN은 3T tokens의 다양한 분야를 아우르는 텍스트와 코드로 학습되었다.
- 이 모델들은 수많은 downstream tasks 전반에 걸쳐, 자신보다 훨씬 큰 모델들과 비교했을 때에도 더 우수한 성능을 보인다.
- (2) QWEN-CHAT 모델들은 task performing, chat, tool use, agent, safety 등과 관련된 정제된 데이터셋을 통해 finetuned되었다.
- SFT models과 human preference를 모방하는 reward model을 학습시키고, 이를 RLHF에 적용하여, 사람이 선호하는 responses을 생성할 수 있도록 만들었다.
- (3) CODE-QWEN은 coding에 대한 specialized models이다. 여기에는 CODE-QWEN-7B, CODE-QWEN-14B뿐만 아니라 chat models인 CODE-QWEN-14B-CHAT, CODE-QWEN-7B-CHAT도 포함된다.
- CODE-QWEN은 방대한 코드 데이터셋으로 pre-trained되었으며, code generation, debugging, interpretation과 관련된 대화를 처리할 수 있도록 추가로 fine-tuned되었다.
- (4) MATH-QWEN-CHAT은 mathematical problems을 처리하기 위해 설계된 specialized models이다.
- MATH-QWEN-7B-CHAT과 MATH-QWEN-14B-CHAT은 모두 동일한 크기의 open-sourced models을 능가하며, GSM8K와 MATH와 같은 math-related benchmark datasets에서 GPT-3.5에 필적하는 성능을 달성했다.
- (5) 이 외에도, visual 및 language instructions을 이해하는 QWEN-VL과 QWEN-VL-CHAT을 오픈 소스로 공개했다. multi-image conversations과 storytelling이 가능하다고 한다.

2. PRETRAINING
■ pretraining stage에서는 세상과 그 다양한 복잡성에 대한 포괄적인 이해를 얻기 위해 방대한 양의 데이터를 학습한다.
■ 여기에는 기본적인 언어 능력뿐만 아니라 arithmetic, coding, logical reasoning과 같은 advanced skills도 포함된다.
2.1 DATA
■ 데이터의 크기는 LLM을 개발하는 데 있어 중요한 요소임을 이전 연구들(Chinchilla, Llama-2)을 통해 입증되었다.
■ 효과적인 pretraining dataset을 만들기 위해서는 데이터가 다양하고 광범위한의 유형, 도메인, tasks을 포괄하도록 하는 것이 필수적이다.
■ QWEN의 dataset은 이러한 요구 사항을 충족하도록 설계되었으며, public web documents, encyclopedia, books, codes 등을 포함한다. 게다가 해당 데이터셋은 multilingual이며, 상당 부분이 English와 Chinese로 구성되어 있다.
■ pretraining data의 품질을 위해, 다음과 같은 data preprocessing을 적용했다.
■ public web data의 경우, HTML에서 text를 추출하고 language identification tools을 사용하여 어떤 language인지 확인하다.
■ 데이터의 다양성을 높이기 위해 정규화 후 exact-match deduplication과 MinHash 및 LSH 알고리즘을 사용한 fuzzy deduplication을 포함하는 deduplication techniques을 사용한다.
■ low-quality data를 걸러내기 위해, rule-based 방법과 machine-learning-based 방법을 조합하여 사용한다.
■ 구체적으로, 언어 모델, 텍스트 품질 채점 모델, 잠재적으로 불쾌하거나 부적절한 콘텐츠를 식별하는 모델을 포함한 여러 모델들을 사용하여 콘텐츠에 대한 점수를 매긴다. 또한, 다양한 출처의 텍스트를 수동으로 샘플링하고 검토하여 품질을 보장한다.
■ data quality를 더욱 높이기 위해, 특정 소스의 데이터를 선택적으로 up-sample하여 모델이 다양한 고품질 콘텐츠로 학습되도록 한다.
■ 최근 연구들에서, multi-task instructions으로 언어 모델을 pretraining하는 것이 zero-shot 및 few-shot 성능을 향상시킬 수 있음을 보여주었다.
■ 이에 저자들은 모델의 성능을 높이기 위해, high-quality의 instruction data를 pretraining 과정에 통합시켰다. 즉, pretraining stage에서부터 high-quality instruction data를 섞어서 모델을 학습시키는 것이다.
■ 그리고 벤치마크 평가 시 data contamination을 방지하기 위해 GPT-3와 유사한 접근 방식을 사용하여 test set에 존재하는 data와 13-gram이 겹치는 모든 instruction samples을 제거했다.
- cf) training에 사용했던 data가 벤치마크 데이터셋의 test set에 존재할 가능성이 있다. 이러한 문제를 데이터가 오염되었다고 하여 data contamination이라고 한다.
■ 이러한 과정을 거쳐 최종적으로, 3T tokens로 구성된 dataset을 구축했다.
2.2 TOKENIZATION
■ vocabulary의 설계는 training efficiency와 downstream task 성능에 상당한 영향을 미친다.
■ 저자들은 GPT-3.5 및 GPT-4를 따라 byte pair encoding (BPE)을 QWEN의 tokenization 방법으로 사용한다.
■ open-source fast BPE tokenizer인 OpenAI의 tiktoken과 cl100k_base vocabulary를 가져와 사용한다.
■ cl100k_base는 영어 위주이다. 그래서 저자들은 multilingual downstream tasks, 특히 중국어에서의 성능을 향상시키기 위해, 일반적으로 사용되는 한자 및 단어, 그리고 다른 언어의 단어들로 vocabulary를 증강했다.
■ 또한, Llama-2를 따라 숫자를 개별 자릿수로 분리했다. 이렇게 하여 최종 vocabulary의 크기는 약 152K이다.
■ 그 결과 압축률 측면(즉, 문장을 표현할 때 필요한 토큰 수) QWEN은 XLM-R, LLaMA, Baichuan, InternLM을 포함한 여러 다른 토크나이저들과 비교했을 때 전반적으로 더 높은 압축률을 달성한 것을 Fig 3에서 볼 수 있다.
- 예를 들어, “안녕하세요”라는 문장을 기존에는 5개의 토큰으로 처리한다고 가정하자. 압축률이 높아지면 동일한 문장을 표현하는 데 필요한 토큰 수가 줄어들기 때문에, 같은 “안녕하세요”를 5개가 아니라 1~2개의 토큰으로 처리할 수 있다.
■ 이는 QWEN이 더 적은 수의 토큰으로 더 많은 정보를 전달할 수 있음을 의미한다. 압축률이 높으면 모델이 한 번에 처리할 수 있는 문맥의 정보량이 늘어나고, 이는 추론 속도를 빠르게 하며, 결과적으로 서버 비용을 상당히 절감할 수 있다.

■ 단, 이렇게 vocabulary의 크기가 크면 pre-trained model의 downstream task 성능에 부정적인 영향을 미친다는 우려가 있으나, 예비 실험 결과 QWEN은 vocabulary 크기의 증가에도 불구하고 downstream 평가에서 성능 수준을 유지했다고 한다.
- vocabulary의 크기가 커지면, 그만큼 모델이 학습해야 할 embedding vector의 개수도 늘어난다.
- 그러나 training data의 양은 유한하다, 그러므로 특정 토큰(또는 단어)들이 training data에 충분히 등장하지 않는 경우, rare한 토큰들은 학습 기회 부족으로 인해 제대로 된 의미(즉, representation)를 갖지 못한 채, 덜 학습된 상태로 남게 될 수 있으며, 이는 곧 downstream task에서 모델 성능 저하로 이어질 수 있다.
2.3 ARCHITECTURE
■ QWEN은 LLaMA의 training approach를 채택했으며, 트랜스포머 아키텍처를 기반으로 한다. 단, 구성 요소에 대한 몇 가지 개선 사항을 적용했다. 트랜스포머 아키텍체에 대한 수정 사항은 다음과 같다.
Embedding and output projection
■ 예비 실험 결과에 근거하여, 메모리 비용을 감수하더라도 더 나은 성능을 달성하기 위해 input embedding과 output projection의 가중치를 묶는(tying) 대신, united embedding 방식을 선택했다.
Positional embedding
■ 위치 정보를 모델에 통합하기 위해 위치 인코딩 ROPE를 선택했다. 그리고 모델 성능을 우선시하고 더 높은 정확도를 달성하기 위해, 위치 정보 계산의 핵심인 inverse frequency matrix에는 BF16이나 FP16 대신 FP 32를 사용한다.
Bias
■ PaLM을 따라 대부분의 계층에서 bias를 제거했지만, RoPE + Bias = better length extrapolation
(https://spaces.ac.cn/archives/9577)을 따라, 모델의 extrapolation 능력(학습 때 보지 못한 더 긴 문맥을 처리하는 능력)을 향상시키기 위해 어텐션의 QKV(Query, Key, Value) 계층에는 bias를 추가했다.
Pre-Norm & RMSNorm
■ Pre-Norm은 현대 트랜스포머 모델에서 가장 널리 사용되는 방식이며, Post-Norm에 비해 학습 안정성을 향상시키는 것으로 알려져 있다.
■ 그리고 전통적인 Layer normalization 대신 RMSNorm을 사용한다. RMSNorm을 사용하여 LayerNorm과 동등한 성능을 내면서 효율성을 향상시켰다.
Activation function
■ Swish 와 GLU (Gated Linear Unit)의 조합은 SwiGLU를 activation function으로 사용한다.
■ 초기 실험에서 GLU 기반의 activation function들이 GeLU와 같은 다른 옵션들보다 성능이 더 우수했다고 한다.
■ 그리고 이전 연구들의 일반적인 관행(예: LLaMA)과 같이 feed-forward network (FFN)의 차원을 hidden size의 4배에서 hidden size의 \( \dfrac{8}{3} \)으로 줄였다.
2.4 TRAINING
■ QWEN을 학습시키기 위해, GPT-1 paper에 기술된 autoregressive language modeling의 표준 방식을 따른다: previous tokens이 제공하는 context를 기반으로 하나의 next token을 예측하도록 모델을 학습시키는 것
■ 2048의 context length로 모델을 학습시킨다.
■ batch를 구성하는 데이터들은, documents을 섞고 합친 다음 지정된 context length 2048에 맞춰 잘라낸 것들이다.
■ 계산 효율성을 높이고 메모리 사용량을 줄이기 위해, Flash Attention을 사용한다.
■ 그리고 pretraining 시, \( \beta_1 = 0.9, \beta_2 = 0.95, \epsilon = 10^{-8} \)의 AdamW optimizer를 사용한다.
■ 각 모델 크기별로 지정된 최대 학습률을 가진 cosine learning rate schedule을 사용하며, 각 모델 크기별로 지정된 최대 학습률에서 시작하여 점차 학습률을 줄여나간다. 최소 학습률은 최대 학습률의 10%로 설정했다.
■ 모든 모델은 학습 안정성을 위해 BFloat16 혼합 정밀도(mixed precision)로 학습시켰다.
2.5 CONTEXT LENGTH EXTENSION
■ 트랜스포머 모델의 어텐션 메커니즘은 context length에 있어 상당한 제약(quadratic complexity)을 가지고 있다. 이로 인해 context length가 길어질수록, 계산량과 메모리 비용 모두 급격하게 증가한다.
■ 저자들은 추론 시점에서의 context length를 확장하기 위해, 오직 추론 단계에서만 적용되는 간단한 훈련이 필요 없는(training-free) techniques을 구현하여 사용했다.
■ 사용한 핵심 테크닉 중 하나는 NTK-aware interpolation이다.
- https://www.reddit.com/r/LocalLLaMA/comments/14lz7j5/ntkaware_scaled_rope_allows_llama_models_to_have/
■ RoPE의 각 차원을 동일하게 스케일링하는 위치 보간법(position interpolation, PI)은 모든 차원을 균등하게 늘려 high-frequency information을 잃어버리는 단점이 존재하지만, NTK-aware interpolation은 RoPE의 기저(base)를 조정하는 training-free 방식으로 high-frequency information의 손실을 방지할 수 있다고 한다.
- 각 차원을 단순히 동일하게 스케일링하면 high-frequency information(매우 가까운 토큰 간의 관계(순서와 위치))이 보존되지 않는다.
- NTK-aware interpolation은 RoPE의 스케일이 아닌 base를 조작하여 high-frequency information는 보존하는 방식으로 context length를 확장시켜, 별도의 fine-tuning 없이도 long context를 모델이 읽었을 때 위치를 잘 구분할 수 있다.
■ 저자들은 더 나아가, chunk 단위로 스케일을 동적으로 조절하는 Dynamic NTK-aware interpolation을 구현하여 사용했다.
■ 이러한 techniques을 통해 계산 효율성이나 정확도를 저해하지 않으면서 트랜스포머 모델의 context length를 효과적으로 확장할 수 있었다고 한다.
■ 그리고 추가적으로, 두 가지 어텐션 메커니즘 LogN-Scaling과 Longformer의 window attention을 통합하여 사용했다.
■ contex length가 길어지면, 내적 결과인 어텐션 스코어의 값이 커질 수 있다. LogN-Scaling은 context length 대비 training length의 비율을 활용하여 내적을 rescale함으로써, context length가 늘어나더라도 어텐션 값의 엔트로피가 안정적으로 유지되도록 한다.
■ window attention은 어텐션을 제한된 context window로 한정하여, 모델이 너무 멀리 떨어져 있는 토큰에 주의를 기울이는 것을 방지한다.
■ 그리고 저자들은 실험을 통해, QWEN의 long-context modeling 능력이 layers마다 다르다는 것을 관찰했다. 구체적으로, 하위 계층이 상위 계층에 비해 context length 확장에 더 민감하게 반응했다고 한다.
■ 이러한 관찰을 토대로, 각 계층에 서로 다른 window size를 사용하여, 하위 계층에는 더 짧은 window를 사용해 국소적인 정보(예: 인접 단어 간의 관계)에 집중하게 하고, 상위 계층에는 더 긴 window를 사용하여 전역적인 정보(예: 문단 전체의 맥락)를 파악하게 하였다.
2.6 EXPERIMENTAL RESULTS
■ QWEN의 zero-shot 및 few-shot 능력을 평가하기 위해 LLaMA, LLAMA 2, MPT, Falcon, Baichuan2, ChatGLM2, InternLM, XVERSE, StableBeluga2를 포함한 open-source base models과 비교한다.
■ 이 평가에선 alignment를 거치지 않은 base language models의 성능에 초점을 맞추며, 7개의 벤치마크에서 수행된다: MMLU(5-shot), C-Eval(5-shot), GSM8K(8-shot), MATH(4-shot), HumanEval(0-shot), MBPP(0-shot), BBH(Big Bench Hard, 3-shot)

■ Table 2에서 세 가지 QWEN 모델이 모든 downstream tasks 전반에 걸쳐 우수한 성능을 달성한 것을 볼 수 있다.
- 베이스라인 모델들의 최고 점수는 해당 모델들의 공식 결과와 OpenCompass에서 수집했다고 한다.
■ 주목할 점은 QWEN-14B가 3가지 tasks에서 더 큰 모델인 Llama 2-70B의 성능을 능가한다는 것이다. QWEN-7B도 LLaMA2-13B를 능가하고 Baichuan2-13B와 필적한 결과를 달성했다.
■ 특히, 상대적으로 적은 파라미터 수를 가졌음에도 불구하고, QWEN-1.8B는 경쟁력 있는 성능을 달성했으며, 일부 경우에는 더 큰 모델을 능가하기도 한다.
■ 그리고 QWEN의 context length 확장의 효과를 평가하기 위해, arXiv 데이터셋에 대한 perplexity (PPL)을 측정하였다.

■ Table 3의 결과들은 NTK-aware interpolation, LogN-Scaling, layer-wise window assignment를 결합하여 얻은 것으로, 8192 tokens 이상의 context에서도 PPL이 안정적으로 유지되는 것을 볼 수 있다.
3. ALIGNMENT
■ 단순히 pretrained된 LLM들은 인간의 behavior와 aligned되어 있지 않지 않기 때문에, 대부분의 경우 AI assistants로 활용하기에 부적합하다.
■ 그러나 supervised finetuning (SFT) 및 reinforcement learning from human feedback (RLHF)과 같은 alignment techniques이 등장하면서, 해당 techniques을 사용했을 때 언어 모델이 자연스러운 대화에 참여하는 능력을 크게 향상시킬 수 있음을 보여주었다.
■ 이 섹션에서는 QWEN이 STF와 RLHF를 사용하여 어떻게 학습되었는지에 대한 details과 chat-based assistance의 맥락에서 그 성능을 보여준다.
3.1 SUPERVISED FINETUNING
■ human behavior에 대한 이해를 얻기 위한 첫 번째 단계는 SFT를 수행하는 것이다. 이는 queries과 responses이 모두 포함된 대화 스타일의 데이터에 대해 pretrained LLM을 finetuning하는 과정이다.
3.1.1 DATA
■ 저자들은 다양한 스타일의 conversations을 annotate함으로써, SFT datasets을 더 강화시켰다.
■ 구체적으로, InstructGPT paper에서 영감을 받은 저자들의 접근 방식은 기존의 SFT data에서 한 단계 더 나아가 human-style의 conversations을 annotating하여 모델의 helpfulness를 향상시키는 것을 목표로 한다. 이는 단순히 자연어로 된 questions, instructions, answers로 구성된 데이터를 포함하는 기존의 datasets과 다르다.
- 예를 들어, 단순히 "Q: 지구가 둥근가? A: 네." 식의 문답이 아니라, 실제 사람들이 나누는 자연스러운 대화 흐름을 학습시키고자 한 것이다.
■ 모델이 다양한 시나리오에 일반화할 수 있는 능력을 만들어주기 위해, 이러한 SFT datasets로 학습된 모델의 능력을 제한할 수 있는 프롬프트 템플릿 형식의 데이터는 제외시켰다.
- "이 질문의 답은: "와 같이 고정된 템플릿을 사용하는 data를 학습시키면, 모델이 특정 형식에 얽매일 수 있어 모델의 유연성(자연스러운 대화 흐름)을 해칠 수 있다. 이를 방지하고자 제외시킨 것이다.
■ 더 나아가 violence, bias, pornography와 같은 데이터를 annotating하여 언어 모델의 safety를 우선시했다.
■ data quality 외에도 training method, 특히 data format이 모델의 성능에 상당한 영향을 미치는 것을 발견하여, metadata (예: 역할)와 대화 내용을 모두 기술할 수 있는 OpenAI의 meta language인 ChatML-style format을 활용한다.
■ 이 형식은 모델이 system setup, user inputs, assistant outputs 등 다양한 유형의 정보를 효과적으로 구별할 수 있게 해준다. 이 방식을 활용함으로써, 복잡한 대화 데이터를 정확하게 처리하고 분석하는 모델의 능력을 향상시킬 수 있었다고 한다.
- 예를 들어, 단순히 "User: 안녕 Assistant: 반가워"라고 텍스트를 이어 붙이면, 모델은 어디까지가 user의 말이고 어디부터가 자신의 말인지 헷갈릴 수 있다.
- 실제로 Anthropic 등이 사용한 기존 방식은 "\n\nhuman:"이나 "\n\nassistant:"와 같은 자연어 문자를 구분자로 사용했다. 이 방식은 적용하기 쉽다는 장점이 있지만, 해당 문자가 실제 대화 내용(context)에 등장할 경우, 모델은 이를 "대화의 끝"으로 인식해야 할지 "단순한 문장"으로 인식해야 할지 혼동할 위험이 크다.
- 이러한 문제를 해결하기 위해 OpenAI가 제안한 ChatML format을 채택한 것이다.
- ChatML의 핵심은 pretraining data에는 등장하지 않는 special tokens(예: (<im_start>, <im_end>)을 사용하여 모델이 대화의 구조를 오인하지 않고 대화의 역할과 콘텐츠를 구별할 수 있게 한다.
- meta language로서 다음과 같이 서로 다른 정보 유형인 메타데이터(예: 역할)와 콘텐츠를 명확히 구분하여 기술할 수 있다.
# https://github.com/openai/openai-python/blob/e389823ba013a24b4c32ce38fa0bd87e6bccae94/chatml.md
<|im_start|>system ... <|im_end|>: 시스템 프롬프트 (모델의 페르소나 설정)
<|im_start|>user ... <|im_end|>: 사용자 발화
<|im_start|>assistant ... <|im_end|>: AI의 답변
- 이러한 구조적 포맷팅 덕분에 대화의 역할(role)을 인지시킬 수 있고, system과 user의 대화가 섞여 헷갈리게 하는 것을 방지할 수 있다.
3.1.2 TRAINING
■ SFT의 training task를 pretraining과 일관되게 next-token prediction을 사용한다. 단, system 및 user inputs에 대해서는 loss mask를 적용하여 해당 부분들에 대한 loss는 무시한다. 모델이 답변해야 할 부분에 대해서만 loss를 계산하여 학습시키는 것이다.
■ model training을 위해 \( \beta_1 = 0.9, \beta_2 = 0.95, \epsilon = 10^{-8} \)의 AdamW optimizer를 사용하며, sequence length 2048, batch size 128을 사용한다.
■ 모델은 총 4000 steps 동안 학습되며, 학습률은 처음 1430 steps 동안 점진적으로 증가하여 최대 \( 2 \times 10^{-6} \)까지 도달한다.
■ 과적합을 방지하기 위해, weight decay 0.1이 적용되고 dropout 0.1, gradient clipping 1.0을 사용한다.
3.2 REINFORCEMENT LEARNING FROM HUMAN FEEDBACK
■ 여러 연구들에서 SFT 자체도 효과적인 것으로 입증되었지만, supervision이기 때문에 단순히 정해진 답을 학습한 모델이다.
■ 그러므로 학습하지 않은 새로운 상황에 대처하거나(일반화), 창의적인 답을 내는 데는 한계가 있으며, training data의 style을 지나치게 학습한 경우 과적합되기 쉽다.
■ 이 문제를 해결하기 위해, 이전 연구들을 따라 STF model을 human preference와 일치시키는 RLHF를 사용한다.
■ 이 process는 reward model을 학습시키는 것과, policy training을 수행하기 위해 Proximal Policy Optimization (PPO)를 사용하는 것을 포함한다.
3.2.1 REWARD MODEL
■ 성공적인 reward model을 만들기 위해서는 LLM을 구축하는 것과 마찬가지로, 먼저 pretraining을 거친 후 finetuning을 하는 것이 중요하다.
■ preference model pretraining (PMP)라고도 알려진 이 pretraining process는 방대한 양의 comparison data로 구성된 dataset을 필요로 한다. 이 데이터셋은 하나의 query에 대한 두 개의 서로 다른 responses과 그에 상응하는 preferences로 구성된 sample pairs로 이루어져 있다.
■ 마찬가지로, fine-tuning 또한 이러한 유형의 comparison data에서 수행되지만, annotations이 존재하기 때문에 data의 quality가 더 높다.
■ 저자들은 fine-tuning phase 에서 QWEN 모델의 responses에 대한 human feedback을 기반으로 reward model을 학습시키기 위해, 다양하고 복잡한 프롬프트를 수집하고자 하였다.
■ 사용자 프롬프트의 다양성과 복잡성이 적절히 고려되도록 하기 위해, InsTag (Instruction Tagging) paper의 방법론을 사용한다.
- InsTag를 통해 각 Instruction에 디테일한 태그를 부여하여 해당 데이터가 어떤 의도를 가졌는지 확인할 수 있다.
- 다양성 측정: 약 6,600개의 태그(예: 코드 디버깅, 수학적 추론, 창의적 글쓰기 등)가 포함되어 있다. 이를 Instruction에 태그하여 얼마나 다양한 Instruction이 있는지
- 복잡도 측정: 하나의 Instruction에 포함된 태그의 개수로, 해당 Instruction이 얼마나 복잡한지(즉, 얼마나 수행하기 어려운지)
■ 그리고 동일한 question에 대해 폭넓은 response data를 확보하기 위해, 서로 다른 크기와 샘플링 전략을 가진 QWEN models을 사용한다. 다양한 responses을 활용하면 annotation 과정의 난이도를 낮출 수 있으며, reward model의 성능을 향상시키는 데 도움이 될 수 있기 때문이다.
- 좋은 response와 나쁜 response의 차이가 명확해야 annotator가 평가하기 쉽고, reward model도 잘 학습시킬 수 있다.
- 그리고 성능이 다른 모델들을 섞으면 자연스럽게 질적인 차이가 발생하므로 comparison pairs을 만들기 쉽다.
■ 이렇게 생성된 responses은 standard annotation guideline에 따라 annotators에게 평가되며, annotators의 점수를 기반으로 comparison pairs이 형성된다.
■ reward model에서 또 다른 중요한 포인트는, reward model을 동일한 크기의 pre-trained QWEN으로 초기화하기 위해 QWEN 모델에 pooling layer를 추가했다는 것이다.
■ QWEN은 기본적으로 next token을 예측하는 모델이다. 그러나 reward model은 문장 전체에 대한 scalar(즉, reward)를 매겨야 한다.
■ 그래서 저자들은 next token을 예측하는 모델을 scalar를 출력하는 모델로 바꾸기 위해 QWEN에 pooling layer를 추가했다. 이 pooling layer는 문장의 끝을 나타내는 specific end token을 기준으로 해당 문장의 reward 값을 추출하는 역할을 한다.
■ 모델을 학습시키기 위해 constant learning rate \( 3 \times 10^{-6} \)과 batch size 64, sequence length 2048로 설정했으며, 1 epoch으로 학습을 진행했다.
■ reward model의 평가 지표로 test dataset에 대한 accuracy를 사용했으며, 다양한 human preference benchmark datasets에 대해 PMP 및 reward model의 test pairwise에 대한 accuracy를 측정했다. (Table 4)

■ Table 4에서 QWEN Helpful-base와 QWEN Helpful-online은 자체 제작한 datasets이다.
■ QWEN Helpful-base의 responses은 RLHF 적용 전 QWEN이 생성한 responses이며, QWEN Helpful-online의 responses은 RLHF 적용 후 QWEN이 생성한 responses이다.
■ 결과를 보면, PMP model은 out-of-distribution data에 대해 높은 generalization capabilities을 가지며, reward model이 자체 제작한 QWEN reward datasets에서 상당한 성능 향상을 기록했다.
■ 이는 reward model이 QWEN 모델의 generation patterns과 preferences에 잘 fine-tuning되었음을 시사한다.
3.2.2 REINFORCEMENT LEARNING
■ 저자들은 policy model, value model, reference model, reward model 4가지 모델을 사용하는 PPO process에서, PPO의 학습이 불안정해지는 것을 막기 위해, PPO process를 시작하기 전에 policy model의 업데이트를 멈추고 오직 value model만 50 steps 동안 업데이트시켰다.
■ 그리고 PPO 중에 각 query에 대해 2개의 responses을 동시에 샘플링하는 전략을 사용한다. KL divergence coefficient를 0.04를 사용하고 running mean을 기반으로 reward를 normalization한다.
■ policy model과 value model은 각각 \( 1 \times 10^{-6} \)과 \( 5 \times 10^{-6} \)의 learning rate를, 그리고 학습 안정성을 높이기 위해 0.15의 clip 값을 가진 value loss clipping을 사용한다.
■ inference를 위해 policy의 top-p는 0.9로 설정했다. top-p가 1.0일 때보다 엔트로피는 약간 낮지만, reward를 더 빠르게 증가시켜, 결과적으로 비슷한 조건 하에서 일관되게 더 높은 reward를 받았다고 한다.
■ RLHF를 통해 모델을 alignment하면 human preference가 맞춰지지만, 이러한 alignment는 다양한 기준(예: safety, helpfulness, truthfulness 등)이 고려되기 때문에, LLM의 일반적인 성능(즉, LLM이 가지고 있던 knowledge(예: math, coding 등))이 떨어지는 "alignment tax" 현상이 발생할 수 있다.
■ 저자들은 alignment tax를 완화하기 위해 pretraining data의 그래디언트(pretrained gradient)를 PPO에 통합하였다.
■ PPO에서 계산되는 loss로 human preference도 가르치면서, 동시에 원래 학습했던 pretraining data에 대한 knowledge도 상기시키는 것이다. 단, 효과를 보려면 pretraining data의 양이 PPO data보다 월등히 많아야 한다.
■ 저자들이 실험한 결과, pretraining data의 양이 지나치게 많을 경우 reward model에 대한 alignment를 방해하고, 반대로 너무 적을 경우에는 alignment tax를 완화하는 효과가 미미했다고 한다.
3.3 AUTOMATIC AND HUMAN EVALUATION OF ALIGNED MODELS
■ aligned된 QWEN models의 성능을 확인하기 위해, MMLU, C-Eval, GSM8K, HumanEval, BBH를 포함한 벤치마크에서 다른 aligned models과 비교한다.
■ few-shot 외에도, 모델이 instructions을 얼마나 잘 따르는지 확인하기 위해 zero-shot setting에서 테스트한다. zero-shot setting의 프롬프트는 context 내에 previous examples 없이 오직 instruction과 question으로만 구성된다.

■ MMLU, C-Eval, GSM8K, HumanEval, BBH를 포함한 모든 데이터셋에서 QWEN-14B-Chat은 ChatGPT와 LLAMA 2-CHAT-70B를 제외한 모든 모델들을 능가하는 성능을 보인다.
■ 특히, 생성된 코드의 quality를 측정하는 HumanEval에서의 QWEN의 성능은 다른 open-source models보다 상당히 높다.
■ 게다가, QWEN의 성능은 LLaMA2, ChatGLM2, InternLM, Baichuan2와 같은 비슷한 크기의 open-source models보다 일관되게 더 좋은 성능을 보인다.
■ 이러한 결과에 대해 저자들은, 대규모의 human conversation dataset으로 모델을 fine-tuning하는 것을 포함한 자신들의 alignment 접근법이 모델의 이해력과 사람 같은 언어 생성 능력을 향상시키는 데 효과적이었기 때문이라고 주장한다.
■ 그러나 저자들은 이러한 전통적인 벤치마크 평가가 오늘날의 alignment techniques로 학습된 chat model의 성능과 잠재력을 정확하게 측정하는 데 한계가 있으므로 aligned models에 특별히 맞춤화된 새로운 평가 방법을 개발하는 것이 중요하다고 설명한다.
■ 저자들이 aligned model에 특화된 새로운 평가 방법론을 수립했는데, 이 방법의 최종 평가는 일단 human evaluation이다. 단, 단순한 human evaluation이 아니다.
■ 구체적으로 knowledge, languageunderstanding, creativewriting, coding, mathematics을 포함한 광범위한 주제를 다루는 300개의 instructions을 수집한 다음, 모델과 비교하기 위해 성능이 우수한 GPT-3.5와 GPT-4를 베이스라인으로 사용한다.
■ 각 instruction에 대해, 세 명의 annotators에게 helpfulness, informativeness, validity 및 기타 관련 요소들의 "종합 점수"를 기준으로 model responses의 순위를 매긴다.
■ 저자들은 이러한 평가 방법론을 통해, 다양한 도메인에 걸쳐 서로 다른 언어 모델들의 능력을 보다 포괄적이고 엄격하게 평가할 수 있다고 주장한다.

■ Fig 4는 GPT-3.5에 대한 비교 모델들의 승률을 나타낸 것으로 각 막대의 아래에서 위로 이어지는 세그먼트들이 각각 wins, ties, losses의 비율을 나타낸 것이다.
■ RLHF model이 SFT models을 상당한 차이로 압도했음을 볼 수 있다. 이는 RLHF가 human preference를 aligning하는 데 있어 효과적이며, RLHF를 사용할 경우 사람이 더 선호하는 response를 생성할 수 있음을 의미한다.
■ 전반적인 성능 측면에서, RLHF model이 SFT models을 능가하지만 GPT-4에 뒤처지는 것을 볼 수 있다.
3.4 TOOL USE, CODE INTERPRETER, AND AGENT
■ 다용도로 설계된 QWEN 모델들은 tool 및 planning skills을 활용하여 일상 업무를 도울 수 있는 능력을 가지고 있으므로, 다양한 tasks을 돕는 agent 또는 copilot의 역할을 할 수 있다. 이에 저자들은 다음과 같은 영역들에 대해 QWEN의 proficiency를 확인한다.
- (1) ReAct prompting을 통해 보지 못했던 tools을 활용하기 (Table 6)
- (2) math reasoning, data analysis 등을 강화하기 위해 파이썬 코드 인터프리터 사용하기 (Table 7, 8)
- (3) agent로서의 기능 (Table 9)
Using Tools via ReAct Prompting

■ 저자들은 ReAct Prompting(reasoning과 action을 번갈아 가며 수행하도록 유도)을 사용하여 plugins ,tools, functions, 또는 API를 호출하는 QWEN의 능력을 평가하기 위해 벤치마크를 생성했다.
■ 공정한 평가를 위해, QWEN의 training set에 포함되었던 plugins은 evaluation set에서 제외시켰다.
■ 자체 제작한 벤치마크는 5개의 후보 중 올바른 plugin을 선택하는 모델의 정확도뿐만 아니라, plugin에 전달된 파라미터의 타당성, false positive의 frequency를 평가한다.
■ 이 평가에서 false positive는 모델이 plugin을 사용할 필요가 없음에도 불구하고 query에 대한 response로 잘못 plugin을 호출한 경우로 정의된다.
■ Table 6의 결과는, 모델 크기가 커짐에 따라 사용 가능한 tools과 query의 관련성을 식별하는 데 있어 QWEN이 일관되게 높은 정확도를 달성함을 보여준다.
■ 단, 이 실험에 사용된 벤치마크가 주로 중국어에 초점을 맞추고 있다는 점을 고려하면, 비교 대상인 GPT-3.5나 GPT-4에는 완전히 적합하지 않을 수 있다.
Using Code Interpreter for Math Reasoning and Data Analysis


■ 파이썬 코드 인터프리터는 LLM agent의 능력을 확장시키는 도구로 여겨지고 있다.
■ 저자들은 QWEN이 mathematical reasoning 및 data analysis와 같은 다양한 도메인에서 성능을 향상시키기 위해 인터프리터의 잠재력을 완전히 활용할 수 있는지 확인하고자 하였다.
■ 마찬가지로 이 실험을 위해 맞춤화된 벤치마크를 개발하여 사용한다.
■ 자체 제작한 벤치마크에는 세 가지 categories이 있다: math problem-solving, data visualization, 그리고 file post-processing 및 web crawling과 같은 other general-purpose tasks
■ 여기서 visualization tasks는 두 가지 난이도가 있다.
- (1) easier level: advanced planning skills 없이도 single code snippet을 작성하고 실행하는 것만으로도 달성할 수 있는 쉬운 단계
- (2) more challenging level: strategic planning과 순차적인 방식의 multiple code snippets 실행(뒤에 나오는 코드가 이전 코드의 출력에 기반하여 작성되어야 함)을 요구하는 어려운 단계
- (2)의 경우, 예를 들어 agent는 plot을 생성하기 위한 추가 코드를 작성하고 실행하기 전에, 하나의 code snippet을 사용하여 CSV 파일의 구조를 먼저 검사해야 함
■ 평가 지표로는 생성된 코드의 실행 가능성(executability)과 정확성(correctness)을 사용한다. correctness 지표는, 예를 들어 math 문제의 경우 코드 실행 결과와 최종 response 모두에 문제에 대한 정답이 존재하는지 확인하여 accuracy를 측정한다.
■ data visualization의 경우, multimodal language model인 QWEN-VL을 활용하여 정확도를 평가한다.
■ QWEN-VL은 이미지와 짝지어진 텍스트 질문에 답할 수 있으며, 저자들은 코드로 생성된 이미지가 사용자의 요청을 충족하는지 확인하기 위해 이 모델을 사용했다.
■ executability 및 correctness에 대한 결과는 각각 Table 7, 8에 제시되어 있다.
■ 코드 특화 모델인 CODE LLAMA는 범용 모델인 Llama 2보다 우수한 성능을 보이는데, 이는 평가에 사용된 벤치마크가 코딩을 요구하기 때문에 당연하게 받아들 일 수 있는 결과이다.
■ 그러나 이 평가에서는 특정 task에 최적화된 모델이 반드시 범용 모델보다 성능이 더 우수해야 하는 것은 아니라고 주장한다. 그 이유는 이 벤치마크가 코딩을 넘어, 수학 문제를 방정식으로 추상화하는 능력, 언어로 명시된 제약 조건을 이해하는 능력, 그리고 ReAct와 같은 지정된 형식으로 응답하는 능력 등 다양한 skills을 포괄하고 있기 때문이다.
■ 이러한 점을 고려하면, QWEN-7B-CHAT과 QWEN-14B-CHAT은 범용 모델임에도 불구하고 비슷한 규모의 다른 모든 open-source models을 상당히 능가한 것이라고 주장한다.
■ Table 8을 보면, 14B 모델이 more challenging level을 요구하는 Visualization-Hard에서 GPT-4를 제외하고 다른 모델들을 모두 능가하는 것을 볼 수 있는데, 이는 QWEN-14B가 단순히 코딩만 잘하는 게 아니라, 데이터를 확인하고 계획을 세우는(planning) agent로서의 능력이 어느 정도 경쟁력 있음을 의미한다.
Serving as a Hugging Face Agent

■ Hugging Face agent로서 QWEN을 평가하기 위해, Hugging Face에서 제공하는 평가 벤치마크를 사용했다.
■ Table 9에서 QWEN은 open-source models과 비교하여 꽤 우수한 성능을 보이며, closed-source model인 GPT-4에 근소한 차이로 뒤처지는 것을 볼 수 있다.
4. CODE-QWEN: SPECIALIZED MODEL FOR CODING
■ domain-specific data에 대한 학습이 성능 향상에 매우 효과적이라는 점에 착안하여, coding에 특화된 모델을 개발했다.
■ 코드 데이터로 추가 학습된 언어 모델은 coding, debugging, interpretation 및 기타 작업에서 유용한 도구로 기능할 수 있다.
■ 저자들은 QWEN의 base language models을 기반으로 coding을 위한 domain-specific models을 만들었다. 여기에는 continued pretrained model인 CODE-QWEN과 supervised finetuned model인 CODE-QWEN-CHAT이 포함된다.
4.1 CODE PRETRAINING
■ 바닥부터 새로 만드는 것(여기서는 코드 데이터에만 전적으로 의존하여 pretraining을 통해 코딩 특화 모델을 만드는 것)은 다용도의 assistant로서 기능하는 능력에 상당한 손실을 가져올 수 있다.
- 코드만 학습한 모델은 코딩을 잘하지만 다른 task(예: 상식 추론)에서의 능력이 떨어진다.
■ 코드 데이터에 대한 pretraining에만 집중했던 이전 연구들과 달리, 텍스트와 코드 데이터의 조합으로 학습된 base models QWEN에서 시작하여 90B tokens의 코드 데이터를 continuing to pretrain하는 방식을 사용했다.
■ 코딩을 위해 특화된 모델은 섹션 3.4에서 언급된 tool usage, code interpretation과 같이 long context가 입력으로 들어오는 문제를 처리할 수 있어야 한다. 그래서 저자들은 최대 context length 8192로 모델들을 학습시켰다.
■ 섹션 2.4의 base model training과 유사하게, Flash Attention을 사용하고 \( \beta_1 = 0.9, \beta_2 = 0.95, \epsilon = 10^{-8} \)의 AdamW optimizer를 사용한다.
■ 그리고 CODE-QWEN-14B는 \( 6.0 \times 10^{-5} \), CODE-QWEN-7B는 \( 3.0 \times 10^{-5} \)의 learning rate를 사용한다. 또한, 3%의 warm up을 사용하지만 learning rate decay는 사용하지 않는다.
4.2 CODE SUPERVISED FINE-TUNING
■ 예비 실험에서 multi-stage SFT strategy가 다른 방법들에 비해 좋은 성능을 냈다고 한다. 그래서 코딩 특화 모델의 성능을 극대화하기 위해 multi-stage SFT strategy를 채택했다.
- multi-stage SFT strategy에 대한 구체적인 단계가 명시되지는 않았으나, 코드 생성, 코드 설명, 디버깅 등 서로 다른 성격의 coding tasks을 순차적 혹은 혼합하여 학습시키는 전략을 의미하는 것으로 보인다.
■ supervised fine-tuning stage에서, code foundation model인 CODE-QWEN-CHAT으로 초기화된 CODE-QWEN-CHAT 모델은 14B 및 7B 모델에 대해 각각 \( 2.0 \times 10^{-6} \)과 \( 1.0 \times 10^{-5} \)의 learning rate를 가진 AdamW optimizer에 의해 업데이트된다.
■ learning rate는 cosine learning rate schedule (3% warm-up steps)에 따라 peak 값까지 증가한 다음 일정하게 유지된다.
4.3 EVALUATION


■ CODE-QWEN models은 Table 10, 11에서 볼 수 있듯이 HumanEval, MBPP, 그리고 multi-lingual code generation benchmark인 HUMANEVALPACK에서 closed 및 open-source language models과 비교된다.
■ specialized model인 CODE-QWEN과 CODE-QWEN-CHAT이 OCTOGEEX, InstructCodeT5+, CodeGeeX2와 같은 비슷한 파라미터 수를 가진 모델들과 비교했을 때, 상당한 성능 우위가 있음을 확인할 수 있다. 그러나 GPT-4와 같은 SOTA methods에는 성능이 뒤처진다.
■ 다만 GPT-4와 같은 모델과의 성능 차이는, 모델 크기와 데이터 규모를 함께 확장할 경우 충분히 좁혀질 가능성이 있다.
■ 그리고 이러한 전통적인 벤치마크 평가로는 모델의 강점과 약점을 온전히 파악하기 불충분하다고 주장한다.
5. MATH-QWEN: SPECIALIZED MODEL FOR MATHEMATICS REASONING
■ QWEN pretrained language models을 기반으로 MATH-QWEN-CHAT이라는 수학 특화 모델 시리즈를 만들었다. 이 모델들은 arithmetic 및 mathematics 분야에서 탁월한 능력을 발휘하도록 설계되었다.
5.1 TRAINING
■ mathematics reasoning을 위해 augmented math instructional dataset에 대해 math SFT를 수행하여 chat model인 MATH-QWEN-CHAT을 만들었다.
■ 이때 math SFT data의 평균 길이가 짧아, 더 빠른 학습을 위해 1024의 sequence length를 사용했다.
■ math SFT dataset의 대부분의 user inputs은 시험 문제이다. 저자들은 모델이 input format을 예측하는 것은 쉽지만, 시험 문제의 특성상 입력 조건이나 숫자는 랜덤이다.
- 예를 들어, 문제가 \( 3x+5 =11 \)에서 \( x \)의 값을 구하는 것이라고 하자. 모델이 \( 3x \) 다음에 \( + 5 \)가 나올지 \( + 7 \)이 나올지 예측하는 것은 수학 실력과 무관하다.
■ 그래서 이런 것들을 예측하는 것은 모델에게 무의미하다고 판단하여, system 및 user의 inputs을 마스킹하여 loss를 계산하지 않았다. 또한, 예비 실험에서 이들을 마스킹하는 것이 수렴을 가속화했다고 한다.
■ peak learning rate \( 2 \times 10^{-5} \)로, training step 50,000으로 설정한 것을 제외하고는 SFT와 동일한 하이퍼파라미터를 가진 AdamW optimizer를 사용한다.
5.2 EVALUATION

■ GSM8K (Grade school math), MATH (Challenging competition math problems), Math401 (Arithmetic ability), Math23K (Chinese grade school math)의 test sets에서 모델을 평가한다.
■ MATH-QWEN-CHAT 모델들은 유사한 크기의 open-source math-specialized models(RFT, WizardMath, GAIRMath-Abel)에 비해 더 나은 math reasoning 및 arithmetic abilities을 보여준다.
■ closed-source models(ChatGPT, Minerva)과 비교했을 때 경쟁력 있는 성능을 보이며, arithmetic ability와 Chinese math problems에서는 더 나은 성능을 보인다.
'자연어처리 > LM' 카테고리의 다른 글
| Gemma: Open Models Based on Gemini Research and Technology (0) | 2025.12.25 |
|---|---|
| TinyLlama: An Open-Source Small Language Model (0) | 2025.12.24 |
| Textbooks Are All You Need II: phi-1.5 technical report (0) | 2025.12.17 |
| Pythia: A Suite for Analyzing Large Language Models Across Training and Scaling (0) | 2025.12.16 |
| Llama 2: Open Foundation and Fine-Tuned Chat Models (2) (0) | 2025.12.14 |