alt.freeweights.qwen / Qwen2.5-14B-Instruct-1M
From: Qwen <huggingface.co/Qwen>Newsgroups: alt.freeweights.qwenSubject:

Qwen2.5-14B-Instruct-1M

Date: 2026-11-15Commit: 620fad3Signed: 2DC28CC7B26A283B ✓

Text generation model with 14.8B parameters. Safetensors weights, 29.6 GB in all. Published by Qwen under Apache-2.0.

14.8B params29.6GBQwen2.5-14B-Instruct-1Msafetensorspermissive
FactsParams14.8BSize29.6 GBFormatssafetensorsTasktext generationLicenseApache-2.0From sourcepermissive
$ fw get Qwen/Qwen2.5-14B-Instruct-1M
# manifest sha256 1e588c152b7f… · 29.6 GB · 19 files
$ fw verify ./Qwen2.5-14B-Instruct-1M Qwen/Qwen2.5-14B-Instruct-1M
From sourceHosted (signed)Qwen/Qwen2.5-14B-Instruct-1MLast check: 2026-11-15 02:29 UTC

Get help: custom fine-tune or private deploy. We review your setup before we quote.

Fine-tune of Qwen2.5-14B.

Works with

Overview

Size
29.6 GB
Weights
29.5 GB (safetensors)
Parameters
14.8B
Formats
safetensors
Task
text generation
License
Apache-2.0 (permissive)
Files
19, each with a sha256
Publisher
Qwen
Added
2026-11-15
Section
alt.freeweights.qwen
Lineage

Original release from the publisher.

Base model: Qwen/Qwen2.5-14B

Where these bytes come from
Publisher at the pinned commit→You

Sources are tried in order. A file counts only when its size and sha256 match the manifest. Sources are checked when you ask for them, not on a timer.

Sources
BadgeHostLast checkResult
From sourcehuggingface.co2026-11-15 02:29 UTCpassed

Model card

From the publisher at commit 620fad3. Shown as plain text with links; images open at the publisher.

Qwen2.5-14B-Instruct-1M#

Chat

Introduction#

Qwen2.5-1M is the long-context version of the Qwen2.5 series models, supporting a context length of up to 1M tokens. Compared to the Qwen2.5 128K version, Qwen2.5-1M demonstrates significantly improved performance in handling long-context tasks while maintaining its capability in short tasks.

The model has the following features:

  • Type: Causal Language Models
  • Training Stage: Pretraining & Post-training
  • Architecture: transformers with RoPE, SwiGLU, RMSNorm, and Attention QKV bias
  • Number of Parameters: 14.7B
  • Number of Paramaters (Non-Embedding): 13.1B
  • Number of Layers: 48
  • Number of Attention Heads (GQA): 40 for Q and 8 for KV
  • Context Length: Full 1,010,000 tokens and generation 8192 tokens
    • We recommend deploying with our custom vLLM, which introduces sparse attention and length extrapolation methods to ensure efficiency and accuracy for long-context tasks. For specific guidance, refer to this section.
    • You can also use the previous framework that supports Qwen2.5 for inference, but accuracy degradation may occur for sequences exceeding 262,144 tokens.

For more details, please refer to our blog, GitHub, Technical Report, and Documentation.

Requirements#

The code of Qwen2.5 has been in the latest Hugging face transformers and we advise you to use the latest version of transformers.

With transformers<4.37.0, you will encounter the following error:

KeyError: 'qwen2'

Quickstart#

Here provides a code snippet with apply_chat_template to show you how to load the tokenizer and model and how to generate contents.

from transformers import AutoModelForCausalLM, AutoTokenizer

model_name = "Qwen/Qwen2.5-14B-Instruct-1M"

model = AutoModelForCausalLM.from_pretrained(
    model_name,
    torch_dtype="auto",
    device_map="auto"
)
tokenizer = AutoTokenizer.from_pretrained(model_name)

prompt = "Give me a short introduction to large language model."
messages = [
    {"role": "system", "content": "You are Qwen, created by Alibaba Cloud. You are a helpful assistant."},
    {"role": "user", "content": prompt}
]
text = tokenizer.apply_chat_template(
    messages,
    tokenize=False,
    add_generation_prompt=True
)
model_inputs = tokenizer([text], return_tensors="pt").to(model.device)

generated_ids = model.generate(
    **model_inputs,
    max_new_tokens=512
)
generated_ids = [
    output_ids[len(input_ids):] for input_ids, output_ids in zip(model_inputs.input_ids, generated_ids)
]

response = tokenizer.batch_decode(generated_ids, skip_special_tokens=True)[0]
Processing Ultra Long Texts#

To enhance processing accuracy and efficiency for long sequences, we have developed an advanced inference framework based on vLLM, incorporating sparse attention and length extrapolation. This approach significantly improves model generation performance for sequences exceeding 256K tokens and achieves a 3 to 7 times speedup for sequences up to 1M tokens.

Here we provide step-by-step instructions for deploying the Qwen2.5-1M models with our framework.

1. System Preparation#

To achieve the best performance, we recommend using GPUs with Ampere or Hopper architecture, which support optimized kernels.

Ensure your system meets the following requirements:

  • CUDA Version: 12.1 or 12.3
  • Python Version: >=3.9 and <=3.12

VRAM Requirements:

  • For processing 1 million-token sequences:
    • Qwen2.5-7B-Instruct-1M: At least 120GB VRAM (total across GPUs).
    • Qwen2.5-14B-Instruct-1M: At least 320GB VRAM (total across GPUs).

If your GPUs do not have sufficient VRAM, you can still use Qwen2.5-1M for shorter tasks.

2. Install Dependencies#

For now, you need to clone the vLLM repository from our custom branch and install it manually. We are working on getting our branch merged into the main vLLM project.

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

vLLM supports offline inference or launch an openai-like server.

Example of Offline Inference

from transformers import AutoTokenizer
from vllm import LLM, SamplingParams

# Initialize the tokenizer
tokenizer = AutoTokenizer.from_pretrained("Qwen/Qwen2.5-14B-Instruct-1M")

# Pass the default decoding hyperparameters of Qwen2.5-14B-Instruct
# max_tokens is for the maximum length for generation.
sampling_params = SamplingParams(temperature=0.7, top_p=0.8, repetition_penalty=1.05, max_tokens=512)

# Input the model name or path. See below for parameter explanation (after the example of openai-like server).
llm = LLM(model="Qwen/Qwen2.5-14B-Instruct-1M",
    tensor_parallel_size=4,
    max_model_len=1010000,
    enable_chunked_prefill=True,
    max_num_batched_tokens=131072,
    enforce_eager=True,
    # quantization="fp8", # Enabling FP8 quantization for model weights can reduce memory usage.
)

# Prepare your prompts
prompt = "Tell me something about large language models."
messages = [
    {"role": "system", "content": "You are Qwen, created by Alibaba Cloud. You are a helpful assistant."},
    {"role": "user", "content": prompt}
]
text = tokenizer.apply_chat_template(
    messages,
    tokenize=False,
    add_generation_prompt=True
)

# generate outputs
outputs = llm.generate([text], sampling_params)

# Print the outputs.
for output in outputs:
    prompt = output.prompt
    generated_text = output.outputs[0].text
    print(f"Prompt: {prompt!r}, Generated text: {generated_text!r}")

Example of Openai-like Server

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

# --quantization fp8  # Enabling FP8 quantization for model weights can reduce memory usage.

Then you can use curl or python to interact with the deployed model.

Parameter Explanations:

  • --tensor-parallel-size
    • Set to the number of GPUs you are using. Max 4 GPUs for the 7B model, and 8 GPUs for the 14B model.
  • --max-model-len
    • Defines the maximum input sequence length. Reduce this value if you encounter Out of Memory issues.
  • --max-num-batched-tokens
    • Sets the chunk size in Chunked Prefill. A smaller value reduces activation memory usage but may slow down inference.
    • Recommend 131072 for optimal performance.
  • --max-num-seqs
    • Limits concurrent sequences processed.

You can also refer to our Documentation for usage of vLLM.

Troubleshooting:#
  1. Encountering the error: "The model's max sequence length (xxxxx) is larger than the maximum number of tokens that can be stored in the KV cache." The VRAM reserved for the KV cache is insufficient. Consider reducing the max_model_len or increasing the tensor_parallel_size. Alternatively, you can reduce max_num_batched_tokens, although this may significantly slow down inference.
  2. Encountering the error: "torch.OutOfMemoryError: CUDA out of memory." The VRAM reserved for activation weights is insufficient. You can try setting gpu_memory_utilization to 0.85 or lower, but be aware that this might reduce the VRAM available for the KV cache.
  3. Encountering the error: "Input prompt (xxxxx tokens) + lookahead slots (0) is too long and exceeds the capacity of the block manager." The input is too lengthy. Consider using a shorter sequence or increasing the max_model_len.

Evaluation & Performance#

Detailed evaluation results are reported in this 📑 blog and our technical report.

Citation#

If you find our work helpful, feel free to give us a cite.

@misc{qwen2.5-1m,
    title = {Qwen2.5-1M: Deploy Your Own Qwen with Context Length up to 1M Tokens},
    url = {https://qwenlm.github.io/blog/qwen2.5-1m/},
    author = {Qwen Team},
    month = {January},
    year = {2025}
}

@article{qwen2.5,
      title={Qwen2.5-1M Technical Report}, 
      author={An Yang and Bowen Yu and Chengyuan Li and Dayiheng Liu and Fei Huang and Haoyan Huang and Jiandong Jiang and Jianhong Tu and Jianwei Zhang and Jingren Zhou and Junyang Lin and Kai Dang and Kexin Yang and Le Yu and Mei Li and Minmin Sun and Qin Zhu and Rui Men and Tao He and Weijia Xu and Wenbiao Yin and Wenyuan Yu and Xiafei Qiu and Xingzhang Ren and Xinlong Yang and Yong Li and Zhiying Xu and Zipeng Zhang},
      journal={arXiv preprint arXiv:2501.15383},
      year={2025}
}

Files

19 files · 29.6 GBWeights 29.5 GB (safetensors). Sizes and sha256 from the signed manifest.
Hide all 19 files with their sha256
FileSizesha256
.gitattributes1.52 KB11ad7efa24975ee4b0c3c3a38ed18737f0658a5f75a0a96787b576a78a023361
LICENSE11.3 KB832dd9e00a68dd83b3c3fb9f5588dad7dcf337a0db50f7d9483f310cd292e92e
README.md9.29 KB34d8c78517eb6345042cf65974c8d1f166dd8c6424a7bd8df0b09b955d4101ee
config.json827 B4d5b7a229eb3144cfe1e42f830d3a46d93f52a36171ed5d541dcf2f77704ff00
generation_config.json242 Bea35dfb6fc5051b01114f9b995820d55dab01ed33ee490f6378b442af82c09f9
merges.txt1.67 MB599bab54075088774b1733fde865d5bd747cbcc7a547c5bc12610e874e26f5e3
model-00001-of-00008.safetensors3.89 GB3d79fdf7f7675f063904011293255c8129c152ef7e81866a1030d1296dd90324
model-00002-of-00008.safetensors4.00 GB3e3df4d18bc194e09c52e0a1111a85ec4045ace55f1f58a505cfb3688f28a00e
model-00003-of-00008.safetensors4.00 GB20721d632a4cb07aa8b66c585ff9cb92ffa517e056e603d60686cd918461760a
model-00004-of-00008.safetensors4.00 GB38f7f961dced9a2fa403566758f43a5679f5a69becad878029e5a1b482165ff3
model-00005-of-00008.safetensors3.98 GB22450886733306584ecc146502e8c9541ddbf6628474a70f3b3d26c879adc1af
model-00006-of-00008.safetensors4.00 GB03e7f4e1ecdba1385210a6d51c5b75e8878348d47f5f34766710ff20328cc837
model-00007-of-00008.safetensors4.00 GB9aafbaab860ba050c95b9876156f8ec6c4e1dad658744d11ca6b784ed2e94d3c
model-00008-of-00008.safetensors1.70 GB6a976453176ee8965212c4798fa335f749578f56f864d10905f0963a38afa322
model.safetensors.index.json47.5 KB46627f7a9e851d9cede6a7a4c49999082148ced9c22d2b9cfaaa5ba8b65dc68f
sparse_attention_config.json118 KBb48fc884878480fd6948f493386ec78c36130c952ee7e6dcfb1b83428b2774ff
tokenizer.json7.03 MBc0382117ea329cdf097041132f6d735924b697924d6f6fc3945713e96ce87539
tokenizer_config.json7.23 KB26526103465e01638f5beee912faa5f863ddfb86fc15864012f785413991aa82
vocab.json2.78 MBca10d7e9fb3ed18575dd1e277a2579c16d108e32f27439684afa0e10b1440910
VersionsEach time the pinned upstream commit or file list changed in this repo. Newest first.
Upstream commitDateContents
620fad32de pinned now2026-11-15 02:29 UTC19 files · 29.6 GB

Use it

$ fw get Qwen/Qwen2.5-14B-Instruct-1M
# manifest sha256 1e588c152b7f… · 29.6 GB · 19 files
$ fw verify ./Qwen2.5-14B-Instruct-1M Qwen/Qwen2.5-14B-Instruct-1M
fw.pyChecks the signature and every sha256, tries each source in order, resumes.
$ python3 fw.py get https://freeweights.allternit.com/manifests/Qwen/Qwen2.5-14B-Instruct-1M.json --dir ./Qwen2.5-14B-Instruct-1M $ python3 fw.py verify ./Qwen2.5-14B-Instruct-1M ./Qwen__Qwen2.5-14B-Instruct-1M.json
hfThe Hugging Face CLI with one setting. Same repo id.
$ HF_ENDPOINT=https://freeweights.allternit.com hf download Qwen/Qwen2.5-14B-Instruct-1M --revision 620fad32de7bdd2293b3d99b39eba2fe63e97438 --local-dir ./Qwen2.5-14B-Instruct-1M
transformersLoad the weights in Python.
import os os.environ["HF_ENDPOINT"] = "https://freeweights.allternit.com" from transformers import AutoModelForCausalLM, AutoTokenizer tok = AutoTokenizer.from_pretrained("Qwen/Qwen2.5-14B-Instruct-1M", revision="620fad32de7bdd2293b3d99b39eba2fe63e97438") model = AutoModelForCausalLM.from_pretrained("Qwen/Qwen2.5-14B-Instruct-1M", revision="620fad32de7bdd2293b3d99b39eba2fe63e97438", device_map="auto")
vLLMServe an OpenAI-compatible API.
$ HF_ENDPOINT=https://freeweights.allternit.com vllm serve Qwen/Qwen2.5-14B-Instruct-1M --revision 620fad32de7bdd2293b3d99b39eba2fe63e97438

License

Name
Apache License 2.0
Id
Apache-2.0
Class
Permissive
Redistribution
yes
Listing
Hosted (signed)
Decided
License as declared by the publisher. No person read it. 2026-11-15
Text in
LICENSE
Text sha256
832dd9e00a68dd83b3c3fb9f5588dad7dcf337a0db50f7d9483f310cd292e92e
Terms gate
No extra terms beyond the license.

Read the license text

Licenses are checked against the license table. A custom license passes only after a person reads it.

Provenance

From: Qwen <huggingface.co/Qwen>Newsgroups: alt.freeweights.qwenSubject: Qwen2.5-14B-Instruct-1MDate: 2026-11-15Commit: 620fad3Signed: 2DC28CC7B26A283B ✓
Upstream
Qwen/Qwen2.5-14B-Instruct-1M
Pinned commit
620fad32de7bdd2293b3d99b39eba2fe63e97438
Manifest
Qwen2.5-14B-Instruct-1M.json · .minisig
Manifest sha256
1e588c152b7f7c3fd56b2f4b1be91d5505aa348df27cc9a0b352478f4cbec7a9
Signature
minisign, Ed25519, key 2DC28CC7B26A283B
Created
2026-11-15 02:29 UTC
Generator
freeweights-manifest/0.1.0
Takedowns
None.

How to verify

$ curl -O https://freeweights.allternit.com/manifests/Qwen/Qwen2.5-14B-Instruct-1M.json $ curl -O https://freeweights.allternit.com/manifests/Qwen/Qwen2.5-14B-Instruct-1M.json.minisig $ minisign -Vm Qwen2.5-14B-Instruct-1M.json -P RWQ7KGqyx4zCLXtUFOqvfv8L3g+8fpKJ1FsuxPyOYMF+4KufbUxKq1Oq $ shasum -a 256 <file> # compare with the Files tab

A manifest whose signature fails must be rejected. A file whose size or sha256 does not match must be discarded. Verify a download

Model tree

Parent

Qwen/Qwen2.5-14B · this model is a finetune of it

2 models in the catalog name this one as their parent.

Quantizations
2
Get it
Download
$ HF_ENDPOINT=https://freeweights.allternit.com hf download Qwen/Qwen2.5-14B-Instruct-1M
Open in Freeweights Studio

Pull, verify and run it in the Allternit app on Desktop, web or phone.

Signed manifest
minisign, key 2DC28CC7B26A283B. Qwen2.5-14B-Instruct-1M.json. Provenance. Takedown history: none.

Variants

2 quantized or adapter builds of Qwen2.5-14B-Instruct-1M. Each has its own license check and page.

From: BAAI <huggingface.co/BAAI>Subject: Aquila-VL-2B-llava-qwen
From: Perciqa <huggingface.co/Perciqa>Subject: Aurora-Code-1
From: BAAI <huggingface.co/BAAI>Subject: bge-reasoner-embed-qwen3-8b-0923
From: amazon <huggingface.co/amazon>Subject: BMOJOF-primed-HQwen3-8B-Instruct
From: nbeerbower <huggingface.co/nbeerbower>Subject: Bubba-Qwen3.6-27B-LoRA
From: bartowski <huggingface.co/bartowski>Subject: bytkim_Qwen3.8-27B-pi-GGUF