Qwen2.5-1M 릴리스: 1M‑토큰 컨텍스트와 vLLM 기반 추론 프레임워크를 갖춘 오픈소스 7B 및 14B 모델

개요

Qwen은 최대 1백만 토큰 컨텍스트를 처리할 수 있는 두 개의 오픈소스 인스트럭션 튜닝 모델인 Qwen2.5‑7B‑Instruct‑1M과 Qwen2.5‑14B‑Instruct‑1M의 출시를 발표했으며, vLLM 기반의 완전 오픈소스 추론 프레임워크와 함께 제공되어 long‑context prefill을 가속화합니다.

모델 릴리스

이 릴리스는 두 개의 새로운 체크포인트를 제공합니다: Qwen2.5‑7B‑Instruct‑1M과 Qwen2.5‑14B‑Instruct‑1M. 이들은 1M‑토큰 컨텍스트 길이를 가진 최초로 공개된 Qwen 모델입니다.

장문 컨텍스트 성능

Qwen2.5‑1M 시리즈 모델은 Passkey Retrieval 작업에서 최대 1백만 토큰을 포함한 문서에서 숨겨진 정보를 정확히 검색하며, 7B 변형에서는 jedynie 미미한 오류만 관찰됩니다. RULER, LV‑Eval, LongbenchChat과 같은 더 복잡한 장문 컨텍스트 벤치마크에서는 64K 토큰을 초과하는 시퀀스에서 모델이 128K 버전보다 znacz하게 우수한 성능을 보입니다. Qwen2.5‑14B‑Instruct‑1M 모델은 Qwen2.5‑Turbo를 능가할 뿐만 아니라 여러 데이터셋에서 GPT‑4o‑mini를 지속적으로 앞지르며, 장문 작업에 대한 강력한 오픈소스 대안을 제공합니다.

단문 컨텍스트 성능

Qwen2.5‑7B‑Instruct‑1M과 Qwen2.5‑14B‑Instruct‑1M 모두 단문 작업 성능이 128K 버전과 유사하게 유지되어 장시퀀스 처리 추가로 기본 기능이 손상되지 않도록 보장합니다. GPT‑4o‑mini와 비교했을 때 Qwen2.5‑14B‑Instruct‑1M과 Qwen2.5‑Turbo는 단문 작업에서 유사한 성능을 달성하면서 컨텍스트 길이가 여덟 배 더 길이를 지원합니다.

핵심 기술

장문 컨텍스트 훈련

훈련은 점진적인 스케줄을 따릅니다: 4K‑토큰 체크포인트에서 시작하여 사전 훈련 중에 조정된 RoPE 베이스를 10,000에서 10,000,000으로 올려 컨텍스트 길이를 256K 토큰까지 증가시킵니다. 지도 미세 튜닝은 두 단계로 나뉩니다—먼저 32K 토큰까지의 짧은 인스트럭션에서, 그 다음 짧은 인스트럭션과 긴 인스트럭션의 혼합에서 256K 토큰까지—while reinforcement learning은 8K 토큰까지의 짧은 텍스트에서 수행됩니다. 결과적으로得到된 인스트럭션 튜닝 모델은 256K 토큰을 처리하며, Dual Chunk Attention (DCA)를 통한 길이 외삽으로 추가 훈련 없이これを 1M 토큰까지 확장합니다.

Dual Chunk Attention

DCA는 상대적 위치를 더 작은 값으로 재매핑하여 주의 메커니즘 동안 모델이 보지 못한 값을 방지하고, 더 작은 값에서 훈련된 모델이 큰 unseen 거리를 피하게 하여 RoPE 기반 성능 저하를 방지합니다. 제거 실험 결과, DCA를 적용하면 32K 토큰만으로 훈련된 모델조차도 1M 토큰에서 passkey retrieval 정확도가 거의 완벽에 가깝다는 것을 보여줍니다.

Sparse Attention

추론 프레임워크는 MInference 기반의 희소 어텐션 메커니즘을 통합하며 다음과 같은 개선 사항이 있습니다: 청크 사전 채우기(청크 크기 32,768 토큰)는 활성화 VRAM 사용량을 96.7% 줄입니다; DCA는 MInference와 결합되어 효율성과 정확성을 높입니다; 희소성‑정제 방법은 1M 토큰까지의 시퀀스에 대한 희소화 구성을 맞춤 설정하여 정확도 손실을 제한합니다; 추가 커널 및 파이프라인 최적화가 적용됩니다. 이러한 개선으로 모델 크기와 GPU 장치에 관계없이 1M 토큰 시퀀스의 사전 채우기 속도가 3.2배에서 6.7배 가속되며, 보고된 3배에서 7배 가속과 일치합니다.

Qwen2.5-1M 모델 로컬 배포

시스템 준비

최적의 성능을 위해 Ampere 또는 Hopper 아키텍처의 GPU를 사용하세요. 필요한 소프트웨어: CUDA 12.1 또는 12.3, Python 3.9–3.12. 1M‑토큰 처리에 필요한 VRAM: 7B 모델의 경우 최소 120 GB, 14B 모델의 경우 최소 320 GB 전체 (GPU 간 합산). VRAM이 낮으면 모델은 짧은 작업에만 제한됩니다.

종속성 설치

Clone the custom vLLM branch and install it:

git clone -b dev/dual-chunk-attn git@github.com:QwenLM/vllm.git
cd vllm
pip install -e . -v

OpenAI‑호환 API 서비스 실행

Start the service with a command such as:

vllm serve Qwen/Qwen2.5-7B-Instruct-1M \
  --tensor-parallel-size 4 \
  --max-model-len 1010000 \
  --enable-chunked-prefill --max-num-batched-tokens 131072 \
  --enforce-eager \
  --max-num-seqs 1

Parameter meanings: --tensor-parallel-size equals the number of GPUs (max 4 for 7B, max 8 for 14B); --max-model-len sets the maximum input length; --max-num-batched-tokens defines the chunk size for chunked prefill (recommended 131,072); --max-num-seqs limits concurrent sequences.

모델과 상호작용

Example using curl:

curl http://localhost:8000/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{
    "model": "Qwen/Qwen2.5-7B-Instruct-1M",
    "messages": [{"role": "user", "content": "Tell me something about large language models." }],
    "temperature": 0.7,
    "top_p": 0.8,
    "repetition_penalty": 1.05,
    "max_tokens": 512
  }'

Example using Python with the OpenAI client:

from openai import OpenAI

openai_api_key = "EMPTY"
openai_api_base = "http://localhost:8000/v1"

client = OpenAI(api_key=openai_api_key, base_url=openai_api_base)

prompt = ("There is an important info hidden inside a lot of irrelevant text. " +
          "Find it and memorize it. I will quiz you about the important information there.\n\n" +
          "The pass key is 28884. Remember it. 28884 is the pass key.\n" +
          "+
          "The grass is green. The sky is blue. The sun is yellow. Here we go. There and back again. " * 800 +
          "\nWhat is the pass key?
        )

chat_response = client.chat.completions.create(
    model="Qwen/Qwen2.5-7B-Instruct-1M",
    messages=[{"role": "user", "content": prompt}],
    temperature=0,
)
print("Chat response:" + chat_response.choices[0].message.content)

Other options include the Qwen‑Agent framework for PDF reading and specialized tasks.

앞으로의 계획

Qwen은 더 효율적인 훈련 방법, 모델 아키텍처, 추론 기술을 연구하여 자원이 제한된 환경에서도 배포 가능하도록 장기 컨텍스트 모델을 더욱 개선하고, 단문 및 장기 작업 모두에서 강력한 성능을 유지하려고 합니다.

Sources