2023 到 2024 年,中国大模型厂商在开源领域异军突起。阿里云的 Qwen(通义千问)和上海人工智能实验室的 InternLM(书生),从模型性能到工具链生态,都在国际开源社区获得了广泛认可。它们不只是 LLaMA 的中文微调版本,而是拥有独立架构设计和训练方法的完整模型体系。
本文要点
- Qwen 系列的架构设计与训练策略
- Qwen 2.5 的全面升级与性能突破
- InternLM 2 的技术创新与 200K 长上下文
- 两者与国际模型的基准对比
- 中国开源 LLM 生态的整体格局
一、Qwen(通义千问)
1.1 系列演进
阿里云从 2023 年 8 月开始发布 Qwen 系列,逐步覆盖从 0.5B 到 72B 的完整规模线:
| 模型 | 发布时间 | 参数量 | 词表大小 | 关键特点 |
|---|---|---|---|---|
| Qwen-1.8B | 2023.08 | 1.8B | 151936 | 首个开源版本 |
| Qwen-7B | 2023.08 | 7B | 151936 | 对标 LLaMA 7B |
| Qwen-14B | 2023.09 | 14B | 151936 | 7B 到 72B 的中间规模 |
| Qwen-72B | 2024.01 | 72B | 151936 | 旗舰模型,对标 LLaMA 70B |
| Qwen 1.5 系列 | 2024.06 | 0.5B-110B | 151936 | 全面升级,对齐优化 |
| Qwen 2 系列 | 2024.07 | 0.5B-72B | 151936 | GQA + 更长上下文 |
| Qwen 2.5 系列 | 2024.09 | 0.5B-72B | 152064 | 代码/数学专项强化 |
Qwen 1.5 是一个重要的转折点。之前的 Qwen 模型在 Chat 对齐上表现不稳定,Qwen 1.5 通过更精细的 SFT 和 RLHF 流程大幅改善了对话质量。110B 版本的推出也让 Qwen 在开源模型中拥有了最大的参数规模。
1.2 架构设计
Qwen 2/2.5 的架构吸收了 LLaMA 和 Mistral 的成功经验,同时做了针对性优化:
# Qwen 2 7B 架构参数qwen2_7b_config = { "vocab_size": 151936, # 大词表,覆盖多语言 "hidden_size": 3584, # 隐藏维度 "intermediate_size": 18944, # FFN 中间维度(约 5.3x) "num_hidden_layers": 28, # Transformer 层数 "num_attention_heads": 28, # 查询头数 "num_key_value_heads": 4, # GQA 的 KV 头数 "max_position_embeddings": 131072, # 128K 上下文 "rope_theta": 1000000.0, # RoPE 基频 "activation": "SwiGLU", # 激活函数 "norm": "RMSNorm", # 归一化方式 "tie_embeddings": False, # 输入输出 embedding 不共享}几个关键设计选择:
大词表(151936):比 LLaMA 2 的 32000 大了近 5 倍。大词表让中文、日文、韩文等语言的编码效率更高,平均每个中文词只需要 1.5-2 个 token,而 LLaMA 需要 3-4 个。这意味着同样的中文文本,Qwen 只需要一半的 token 就能表示。
GQA(4 个 KV 头):28 个查询头共享 4 个 KV 头,推理时的 KV Cache 内存占用减少到原来的 1/7。这对长上下文推理至关重要。
高 RoPE 基频(1M):远高于 LLaMA 的 10000。高基频让模型在长序列上的位置区分度更好,支持自然外推到 128K。
1.3 训练数据与策略
Qwen 的训练数据构成体现了一个中文优先但多语言兼顾的策略:
# Qwen 2.5 训练数据组成(推测)training_data = { "中文网页与书籍": "约 25%", "英文网页与书籍": "约 30%", "代码": "约 20%(GitHub + 编程教材)", "数学与科学": "约 10%(arXiv + 数学教材)", "其他语言": "约 10%", "多模态对齐数据": "约 5%",}
total_training_tokens = "~18T tokens(Qwen 2.5 推测)"Qwen 2.5 在数据上的核心改进是代码和数学数据的比例大幅提升。这直接反映在 CodeQwen1.5 和 Qwen2.5-Math 的性能上。
1.4 Qwen 2.5 的突破
Qwen 2.5 是 2024 年下半年最重要的开源模型之一,在多个维度实现了重大升级:
代码能力:Qwen2.5-Coder-7B 在 LiveCodeBench 上达到 42.7%,超过了 GPT-4 的 41.2%。这是开源代码模型首次在这个基准上超越 GPT-4。
数学能力:Qwen2.5-Math-72B 在 MATH 基准上达到 83.1%,超过了 Claude 3.5 Sonnet 的 78.3%。
长上下文:Qwen2.5-Turbo 支持 1M token 上下文,与 Gemini 1.5 Pro 同级别。
| 基准 | Qwen 2.5 72B | LLaMA 3.1 70B | GPT-4o |
|---|---|---|---|
| MMLU | 86.8% | 82.0% | 88.7% |
| MMLU-Pro | 71.6% | 63.5% | 72.6% |
| GSM8K | 95.4% | 93.0% | 95.8% |
| MATH | 83.1% | 68.4% | 76.6% |
| HumanEval | 78.9% | 81.7% | 90.2% |
| LiveCodeBench | 45.2% | 38.1% | 41.2% |
Qwen 2.5 72B 在数学推理(MATH)上大幅领先 LLaMA 3.1 70B,甚至超过了 GPT-4o。但在代码生成(HumanEval)上仍有差距,这和训练数据的侧重点有关。
1.5 多模态模型
Qwen-VL 是 Qwen 的多模态扩展:
| 模型 | 参数量 | 视觉编码器 | 特点 |
|---|---|---|---|
| Qwen-VL | 9.6B | ViT-bigG | 图文理解、定位 |
| Qwen-VL-Plus | - | - | API 服务,高分辨率 |
| Qwen-VL-Max | - | - | 最强多模态能力 |
| Qwen2-VL | 2B/7B/72B | ViT | 动态分辨率、视频理解 |
Qwen2-VL 引入了动态分辨率支持:图像不再被缩放到固定尺寸,而是按原始分辨率编码。这避免了信息丢失,特别适合文档理解、图表分析等需要细粒度视觉信息的任务。
二、InternLM(书生)
2.1 系列演进
InternLM 由上海人工智能实验室开发,强调工具链的完整性和实用性:
| 模型 | 发布时间 | 参数量 | 上下文长度 | 关键特点 |
|---|---|---|---|---|
| InternLM-7B | 2023.07 | 7B | 8K | 首个开源版本 |
| InternLM-20B | 2023.12 | 20B | 16K | 填补 7B-70B 间的规模空白 |
| InternLM2 | 2024.01 | 7B/20B | 200K | 全面升级 |
| InternLM2.5 | 2024.07 | 7B/20B | 200K+ | 工具调用优化 |
2.2 架构设计
InternLM 2 在架构上做了几项针对性创新:
# InternLM 2 7B 架构参数internlm2_7b_config = { "vocab_size": 103168, # 中英文优化词表 "hidden_size": 4096, # 隐藏维度 "intermediate_size": 11008, # FFN 中间维度 "num_hidden_layers": 32, # Transformer 层数 "num_attention_heads": 32, # 查询头数 "num_key_value_heads": 8, # GQA 的 KV 头数 "max_position_embeddings": 262144, # 256K 位置编码 "rope_theta": 500000.0, # 高基频 RoPE "activation": "SwiGLU", # 激活函数}InternLM 2 的词表大小(103168)比 Qwen 小但比 LLaMA 大,这是在编码效率和模型参数之间的折中。256K 的位置编码上限让它能原生支持 200K 上下文。
2.3 200K 长上下文
InternLM 2 是最早在开源模型中支持 200K 上下文的模型之一。实现长上下文涉及训练和推理两端的优化:
训练端:采用渐进式上下文扩展训练。先用 4K 上下文预训练基础能力,再逐步扩展到 32K、128K、200K。每个阶段只训练少量步数,让模型逐步适应更长的位置编码。
推理端:使用 RoPE 动态缩放和 Flash Attention 2 加速注意力计算。200K 上下文的 KV Cache 约占 32GB 内存(7B 模型、BF16),需要高性能 GPU 才能运行。
# InternLM 2 长上下文推理配置inference_config = { "max_length": 200000, "flash_attention": True, # 必须开启 "kv_cache_dtype": "fp8", # 压缩 KV Cache "chunk_prefill": True, # 分块预填充 "rope_scaling": { "type": "dynamic", # 动态 RoPE 缩放 "factor": 2.0, }}2.4 工具调用能力
InternLM 2.5 特别强调了工具调用(Function Calling)能力,这是 Agent 开发的核心需求:
# InternLM 2.5 工具调用示例tools = [ { "name": "search_web", "description": "搜索互联网获取最新信息", "parameters": { "query": {"type": "string", "description": "搜索关键词"} } }, { "name": "run_python", "description": "执行 Python 代码", "parameters": { "code": {"type": "string", "description": "Python 代码"} } }]
# InternLM 2.5 会自动判断何时调用工具response = model.chat("今天上海天气怎么样?", tools=tools)# 输出: <tool_call: search_web({"query": "上海今天天气"})>InternLM 2.5 在 Berkeley Function Calling Leaderboard 上达到了 90.2% 的准确率,接近 GPT-4o 的 92.0%,超过了 LLaMA 3.1 70B 的 84.5%。
2.5 开源工具链
InternLM 项目的独特价值在于提供了一整套开源工具链,覆盖从训练到评测的完整流程:
- OpenCompass:目前最完善的开源 LLM 评测框架,支持 200+ 评测基准,被国内外广泛使用
- Lagent:轻量级 Agent 框架,支持 ReAct、Plan-and-Solve 等推理模式
- LMDeploy:高效推理部署框架,支持 Tensor Parallel、量化、KV Cache 优化
- XTuner:支持 LoRA、QLoRA 等参数高效微调方法
OpenCompass 的意义特别重大。在它出现之前,开源模型缺乏统一的评测标准,不同论文的数字难以直接对比。OpenCompass 让模型对比变得透明和可复现。
三、技术对比
3.1 Qwen vs InternLM
| 维度 | Qwen | InternLM |
|---|---|---|
| 开发者 | 阿里巴巴 | 上海 AI Lab |
| 最大开源规模 | 72B (110B 待开源) | 20B |
| 词表大小 | 151936 | 103168 |
| GQA KV 头数 | 4 | 8 |
| 最大上下文 | 1M (Turbo) | 200K+ |
| 多模态 | Qwen2-VL | InternLM-XComposer2 |
| 工具链 | 魔搭社区 | OpenCompass/Lagent/LMDeploy |
| 代码专项 | CodeQwen1.5 | - |
| 数学专项 | Qwen2.5-Math | InternLM-Math |
两者的定位有明显差异。Qwen 追求极致的模型性能,在代码和数学上投入了大量资源做专项优化。InternLM 更注重工具链的完整性,让开发者从训练到部署再到评测都能用开源方案。
3.2 与国际模型对比
| 基准 | Qwen 2.5 72B | InternLM2.5 20B | LLaMA 3.1 70B | Mistral Large |
|---|---|---|---|---|
| MMLU | 86.8% | 76.8% | 82.0% | 80.4% |
| MATH | 83.1% | 58.1% | 68.4% | 52.0% |
| HumanEval | 78.9% | 71.3% | 81.7% | 76.5% |
| MT-Bench | 9.1 | 8.2 | 8.5 | 8.4 |
| IFEval | 83.8% | 79.5% | 80.4% | - |
Qwen 2.5 72B 在 MMLU 和 MATH 上的表现已经超越了同等规模的 LLaMA 3.1 70B,这是中国开源模型首次在综合能力上超越 Meta 的旗舰开源模型。
InternLM2.5 20B 的参数量只有 Qwen 72B 的 1/3.6,但 MMLU 仍达到了 76.8%。按参数效率算,InternLM 的表现很出色。
四、中国开源 LLM 生态
4.1 主要参与者
2023-2024 年中国开源 LLM 的主要贡献者:
| 模型 | 厂商 | 参数规模 | 核心优势 |
|---|---|---|---|
| Qwen | 阿里云 | 0.5B-110B | 代码/数学最强,多语言 |
| InternLM | 上海 AI Lab | 7B-20B | 工具链完善,Agent 优化 |
| Yi | 01.AI (零一万物) | 6B-34B | 长上下文,200K |
| GLM-4 | 智谱 AI | 9B | 中英双语,All-to-All 注意力 |
| Baichuan 2 | 百川智能 | 7B-13B | 商业友好许可 |
| DeepSeek | 深度求索 | 7B-67B | MoE 架构,代码强 |
4.2 开源贡献的价值
中国开源 LLM 的贡献不只是多了一个模型选择,而是从多个维度丰富了开源生态:
评测标准化:OpenCompass 让模型对比变得可复现,推动了整个行业从「自报成绩」走向「统一评测」。
中文优化:大词表设计让中文编码效率提升 2-3 倍,降低了中文场景的推理成本。
工具链补全:从训练框架到部署工具到评测系统,形成了完整的中文 AI 开发工具栈。
五、关键创新总结
5.1 Qwen 的核心贡献
- 大词表设计:151936 词表在中文和多语言场景下显著提升编码效率
- 代码模型 SOTA:CodeQwen1.5 和 Qwen2.5-Coder 在代码基准上超越 GPT-4
- 数学推理突破:Qwen2.5-Math 在 MATH 上达到 83.1%,开源最强
- 百万 token 上下文:Qwen2.5-Turbo 支持 1M 上下文
5.2 InternLM 的核心贡献
- 工具链完善:OpenCompass + Lagent + LMDeploy + XTuner 全覆盖
- 工具调用能力:在 Berkeley FC Leaderboard 上接近 GPT-4o
- 长上下文:最早支持 200K 上下文的开源模型之一
- 评测基础设施:OpenCompass 成为行业事实标准
六、实战部署
6.1 Qwen 推理部署
Qwen 系列支持多种推理后端,开发者可以根据硬件条件灵活选择:
# 使用 transformers 加载 Qwen 2.5from transformers import AutoModelForCausalLM, AutoTokenizer
model_name = "Qwen/Qwen2.5-7B-Instruct"tokenizer = AutoTokenizer.from_pretrained(model_name)model = AutoModelForCausalLM.from_pretrained( model_name, torch_dtype="auto", device_map="auto", attn_implementation="flash_attention_2", # 推荐 Flash Attention 2)
messages = [ {"role": "system", "content": "你是一个有帮助的助手。"}, {"role": "user", "content": "用 Python 实现快速排序"},]text = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)inputs = tokenizer(text, return_tensors="pt").to(model.device)outputs = model.generate(**inputs, max_new_tokens=512)print(tokenizer.decode(outputs[0], skip_special_tokens=True))硬件需求参考:
| 模型 | FP16 显存 | INT4 显存 | 推荐显卡 |
|---|---|---|---|
| Qwen2.5-7B | ~14 GB | ~5 GB | RTX 4080 |
| Qwen2.5-14B | ~28 GB | ~8 GB | RTX 4090 |
| Qwen2.5-32B | ~64 GB | ~18 GB | A100 80G |
| Qwen2.5-72B | ~144 GB | ~38 GB | 2x A100 80G |
6.2 InternLM 推理部署
InternLM 推荐使用 LMDeploy 进行高效推理:
# 使用 LMDeploy 部署 InternLM 2.5# pip install lmdeploy
from lmdeploy import pipeline, PytorchEngineConfig
# 配置推理引擎engine_config = PytorchEngineConfig( model_name="internlm/internlm2_5-7b-chat", tp=1, # Tensor Parallel session_len=32768, # 会话长度 cache_max_entry_count=0.8, # KV Cache 占比)
pipe = pipeline("internlm/internlm2_5-7b-chat", backend_config=engine_config)response = pipe(["请解释什么是强化学习"])print(response[0].text)LMDeploy 的 TurboMind 引擎针对长上下文做了特别优化,通过分页注意力(Paged Attention)和前缀缓存(Prefix Caching)将 200K 上下文的推理延迟降低了 40%。
常见问题 FAQ
Q1:Qwen 和 InternLM 应该怎么选?
需要中文代码生成和数学推理选 Qwen。需要 Agent 开发和工具调用选 InternLM。如果需要完整工具链来训练和部署自己的模型,InternLM 的生态更完善。
Q2:Qwen 2.5 72B 和 LLaMA 3.1 70B 谁更强?
综合来看 Qwen 2.5 72B 在 MMLU(86.8% vs 82.0%)和 MATH(83.1% vs 68.4%)上大幅领先,代码能力(HumanEval)上 LLaMA 3.1 略强(81.7% vs 78.9%)。中文场景 Qwen 有明显优势。
Q3:这些模型的中文能力真的比 LLaMA 好吗?
是的,主要体现在两方面:一是大词表让中文编码更高效,同样文本消耗更少 token;二是训练数据中中文比例更高,模型对中文语义和文化背景的理解更准确。
Q4:InternLM 的工具链真的好用吗?
OpenCompass 已经被广泛采用,Lagent 和 LMDeploy 在各自领域也有不错的口碑。工具链的成熟度是中国开源项目中最好的之一。
小结
Qwen 和 InternLM 代表了中国开源 LLM 的两条路线:一条追求模型性能的极致(Qwen),一条追求工具链的完整性(InternLM)。两者都在国际开源社区获得了认可,Qwen 在多个基准上超越了 LLaMA 3.1,InternLM 的 OpenCompass 成为行业评测标准。
核心认识:中国开源 LLM 的价值不只是「又一个模型选择」,而是从模型、工具、评测三个层面丰富了整个开源生态。大词表设计、中文优化、工具链补全,这些贡献的影响远超单个模型的性能数字。
参考资料
- Qwen2 Technical Report — Qwen 2 论文(Alibaba, 2024)
- Qwen2.5-Coder Technical Report — Qwen 2.5 代码模型(Alibaba, 2024)
- InternLM2 Technical Report — InternLM 2 论文(Shanghai AI Lab, 2024)
- Qwen GitHub — Qwen 开源仓库
- InternLM GitHub — InternLM 开源仓库
- OpenCompass — 评测框架
支持与分享
如果这篇文章对你有帮助,欢迎支持作者或分享给更多人
部分信息可能已经过时






