Qwen2.5 Technical Report

jihyelee·2025년 1월 7일
0

up-to-date-ai

목록 보기
13/13

Qwen2.5 Technical Report (report link)

Qwen 2.5 개요

  • Open-weight (공개) 모델
    • 7개 사이즈의 dense model
      • 0.5B, 1.5B, 3B, 7B, 14B, 32B, 72B
    • 다양한 precision
      • bfloat16의 원본 모델
      • 다양한 precision의 양자화(quantized) 모델
  • Proprietary (독점, 미공개) 모델
    • Mixture-of-Experts 모델
    • Qwen2.5-Turbo, Qwen2.5-Plus
  • 특화 모델
    • Qwen2.5-Math, Qwen2.5-Coder, QwQ, 멀티모달 모델
  • 사전학습, 사후학습 데이터 개선
    • 사전학습 시 18조 (18trillion) 개의 토큰 사용
      • 지식, 수학, 코딩에 중점
    • 사후학습 시 백만 (1 million) 개의 예시 사용
  • 개선된 사용성
    • 생성 길이 8k 토큰으로 증가
      • Qwen2.5-Turbo의 경우 백만 토큰 context length 지원
    • 구조화된 인풋, 아웃풋 지원 개선 (e.g. 표, json)
    • 도구 사용 개선

모델 아키텍처 및 토크나이저

아키텍처

  • Open-weight 모델 (dense)
    • Grouped Query Attention
      • 효율적인 KV 캐시 사용을 위함
    • SwiGLU activation
    • Rotary Positional Embeddings
    • QKV bias, RMSNorm
      • 안정적인 학습을 위함
    • 관련한 배경지식은 해당 링크에서도 다룬 바 있음
  • Mixture-of-Experts 모델
    • 일반적인 feed-forward network(FFN)를 특별한 MoE 레이어로 대체
      • 각 레이어는 여러 개의 FFN 전문가와 top-K 전문가에게 토큰을 보내는(dispatch) 라우팅 메커니즘으로 구성됨
      • fine-grained expert segmentation과 shared experts routing 활용

토크나이저

  • byte-level byte-pair encoding 활용한 Qwen 토크나이저 활용

사전학습 (pre-training)

사전학습 데이터

  • 데이터 필터링
    • Qwen2-Instruct 모델을 데이터 품질 필터로 활용
  • 수학 및 코딩 데이터
    • Qwen2.5-Math, Qwen2.5-Coder의 학습 데이터들을 Qwen2.5 모델 학습에도 활용
  • 가상 데이터
    • Qwen2-72B-Instruct, Qwen2-Math-72B-Instruct를 활용해 고품질의 가상 데이터 생성
    • Qwen 내부적으로 확보한 일반적인 보상 모델과 특화된 Qwen2-Math-RM-72B 모델을 활용해 데이터 필터링
  • 데이터 혼합
    • Qwen2-Instruct 모델을 활용해 다른 도메인을 분류
    • 데이터 양이 많은 이커머스, 소셜 미디어, 엔터테인먼트 분야 데이터 다운샘플링
    • 데이터 양이 부족한 기술, 과학, 학계 연구 분야 데이터 업샘플링

하이퍼 파라미터를 위한 Scaling Law

  • 배치 사이즈, 학습률(learning rate) 등 주요한 학습 파라미터들을 결정할 때 스케일링 법칙 활용
  • 사전학습 데이터셋 크기 D, 모델 사이즈 N이 달라짐에 따라 최적의 학습률, 배치사이즈가 어떻게 달라지는지 분석

긴 문맥(long-context) 사전학습

  • 두 단계의 사전학습 진행
    • 처음에는 4,096 토큰 컨텍스트 길이 학습
    • 두 번째는 32,768 토큰 컨텍스트 길이 학습 (Qwen2.5-Turbo 제외)
    • RoPE의 base frequency를 10,000에서 1,000,000로 증가 (ABF 활용)
  • Qwen2.5 Turbo의 경우 4번에 걸쳐 점진적으로 컨텍스트 길이 확장
    • 32,768 -> 65,536 -> 131,072 -> 262,144 토큰
    • RoPE base frequency 10,000,000
    • 학습 시 40% 문장은 최대 길이로, 나머지 60%는 더 짧은 문장들로 구성
  • 추론 시 더 긴 문장을 처리하도록 2가지 전략 도입
    • YARN, Dual Chunk Attention
    • Qwen2.5-Turbo가 최대 백만 토큰, 다른 모델들은 최대 131,072 토큰 처리 가능

사후학습 (post-training)

지도 파인튜닝 (Supervised Fine-tuning)

  • 고품질의 지도 파인튜닝 데이터셋 확장
    • 총 백만 개가 넘는 SFT 데이터셋 확보
    • 이전 모델의 한계 보완
  • 긴 문장 생성
    • 아웃풋 컨텍스트 길이를 8,192 토큰까지 확장
    • 긴 응답 데이터셋 생성
      • 사전학습 코퍼스에서 긴 텍스트 데이터를 위한 쿼리를 생성 (back-translation 활용)
      • 아웃풋 길이 제한을 부여
      • Qwen2를 활용해 저품질 데이터를 필터링
  • 수학
    • Qwen2.5-Math의 chain-of-thought 데이터 도입
    • rejection sampling, reward modeling, annotated answers 등 활용
  • 코딩
    • Qwen2.5-Coder의 instruction tuning 데이터 도입
    • 여러 개의 언어 특화 에이전트 활용해 데이터 생성
    • 코드 관련된 QnA 웹사이트로부터 새로운 예시를 합성하거나, GitHub에서 알고리즘 코드 스니펫을 모아 데이터셋을 확장
    • 자동화된 단위 테스트 등을 통해 데이터 품질 검수
  • 지시사항 준수 (instruction following)
    • LLM이 지시사항과 이에 상응하는 검증 코드, 교차 검증을 위한 통합적 단위 테스트 생성
    • 실행 피드백 기반의 rejection sampling을 통해 데이터 선정
  • 구조화 데이터 이해
    • 테이블 QnA, 사실 검증, 오류 수정, 구조적 이해 등 전통적인 태스크 및 구조화/반구조화 데이터를 포함한 복잡한 태스크를 위한 데이터셋 개발
    • 모델의 응답에 추론 체인을 포함
  • 논리적 추론
    • 다양한 도메인을 포함하는 7만 개의 새로운 쿼리
      • 다지선다, 참/거짓, 개방형 질문 등
    • 연역, 귀납, 유추, 인과, 통계적 추론 등 다양한 추론 방식 활용
  • 언어 간 전환 (cross-lingual transfer)
    • 자원이 풍부한 (high-resource) 언어의 지시사항을 번역 모델을 활용해 자원이 부족한 언어로 번역
    • 지시사항에 상응하는 후보 답변 생성
    • 원래 응답과 다국어 응답 사이의 의미적 유사성이 잘 align되었는지를 평가
  • 강건한 시스템 지시사항
    • 사후 학습 시 시스템 프롬프트의 다양성을 개선하기 위해 수백 개의 시스템 프롬프트 생성
  • 응답 필터링
    • critic model, 멀티 에이전트 평가 시스템 등 자동화된 평가 시스템 활용

오프라인 강화학습

  • 일반적인 정답이 있으나 보상 모델이 평가하기 어려운 태스크에 초점
    • e.g. 수학, 코딩, 지시사항 준수, 논리적 추론
  • 품질 기준을 통과하면 긍정적 예시, 그렇지 않으면 부정적 예시로 취급해 DPO (Direct Preference Optimization) 학습
    • SFT 모델을 활용해 새로운 쿼리 셋에 대한 응답을 리샘플링하고, 실행 피드백과 정답 매칭과 같은 전략을 품질 기준 파이프라인에 활용
  • 약 15만 개 학습 데이터 확보

온라인 강화학습

  • 윤리적, 사용자 중심적 기준에 부합하는지 여부에 초점
  • 진실한가 (Truthfulness)
    • 사실적으로 정답인지
    • 제공된 문맥과 지시사항을 잘 반영하는지
  • 도움이 되는가 (Helpfulness)
    • 사용자에게 유용한지
    • 사용자의 쿼리에 대해 관련이 있고, 교육적이며, 긍정적인 내용을 제공하는지
  • 간결한가 (Conciseness)
    • 불필요한 내용 없이 초점에 맞게 응답하는지
  • 관련성이 높은가 (Relevance)
    • 사용자의 질문, 대화 기록, 어시스턴트의 문맥 등과 직접적으로 관련이 있는지
  • 해를 끼치는가 (Harmlessness)
    • 불법이거나, 도덕적으로 문제가 있거나, 해로운 행동을 유발하는 내용을 제외하고 있는지
  • 편견은 없는가 (Debiasing)
    • 성별, 인종, 국가, 정치 등 편견으로부터 자유로운지
  • 오픈소스 데이터 및 내부적으로 확보한 쿼리에 대해 Qwen 모델들로 응답 생성
    • 여러 체크포인트, 여러 학습 단계 (SFT, DPO, RL)의 모델 사용
    • temperature도 다양하게 활용
  • 사람과 자동화 방식을 활용해 선호 데이터셋 생성
    • DPO 학습 시 사용되었던 데이터들도 함께 사용
  • Group Relative Policy Optimization (GRPO)로 학습

긴 문맥 파인튜닝 (Long Context Fine-tuning)

  • Qwen2.5-Turbo 문맥 확장을 위해 더욱 긴 SFT 데이터셋 도입
    • 첫 번째 단계에서는 최대 32,768 토큰을 갖는 짧은 지시사항 활용
    • 두 번째 단계에서는 짧은 지시사항, 긴 지시사항 모두 활용
  • RL 단계에서는 짧은 지시사항만을 활용
    • 긴 문맥에 대해서 RL 학습은 연산 비용이 높음
    • 긴 문맥의 태스크에 대해 적절한 보상 시그널을 제공하는 보상 모델의 부재

평가

  • 평가 태스크, 베이스라인 모델들이 굉장히 많아서 궁금한 부분이 있다면 논문을 참고하기를 추천
    • 사전학습 모델에 대해서는 일반, 수학 및 과학, 코딩, 다국어에 대해 성능 측정
    • Instruction 튜닝 모델에 대해서는 아래에 대해 성능 측정
      • 벤치마크 데이터셋 (일반, 수학 및 과학, 코딩, 지시사항 준수, 사람 선호 일치(align) 여부 등)
      • 내부 데이터셋 (지식 이해, 문장 생성, 코딩 (영어, 중국어))
    • 보상 모델에 대해서도 평가 진행
    • 긴 문맥 능력에 대해서도 평가 진행
  • 몇 가지 강조하는 내용만 요약하자면,
    • Qwen2.5-72B-Instruct 모델이 Llama-3-405B-Instruct 모델과 유사한 성능 (5배 작음에도)
    • Qwen2.5-Turbo, Qwen2.5-Plus는 각각 GPT-4o-mini, GPT-4o와 상응하는 성능 보임
    • Qwen2는 물론 비슷한 크기의 다른 Open-weight 모델 대비 우수한 성능
profile
Graduate student at Seoul National University, majoring in Artificial Intelligence (NLP). Currently AI Researcher and Engineer at LG CNS AI Lab

0개의 댓글

관련 채용 정보