mobile wallpaper 1mobile wallpaper 2mobile wallpaper 3mobile wallpaper 4
3106 字
9 分钟
Qwen/InternLM:中国开源大模型
2025-06-21

2023 到 2024 年,中国大模型厂商在开源领域异军突起。阿里云的 Qwen(通义千问)和上海人工智能实验室的 InternLM(书生),从模型性能到工具链生态,都在国际开源社区获得了广泛认可。它们不只是 LLaMA 的中文微调版本,而是拥有独立架构设计和训练方法的完整模型体系。

本文要点#

  • Qwen 系列的架构设计与训练策略
  • Qwen 2.5 的全面升级与性能突破
  • InternLM 2 的技术创新与 200K 长上下文
  • 两者与国际模型的基准对比
  • 中国开源 LLM 生态的整体格局

一、Qwen(通义千问)#

1.1 系列演进#

阿里云从 2023 年 8 月开始发布 Qwen 系列,逐步覆盖从 0.5B 到 72B 的完整规模线:

模型发布时间参数量词表大小关键特点
Qwen-1.8B2023.081.8B151936首个开源版本
Qwen-7B2023.087B151936对标 LLaMA 7B
Qwen-14B2023.0914B1519367B 到 72B 的中间规模
Qwen-72B2024.0172B151936旗舰模型,对标 LLaMA 70B
Qwen 1.5 系列2024.060.5B-110B151936全面升级,对齐优化
Qwen 2 系列2024.070.5B-72B151936GQA + 更长上下文
Qwen 2.5 系列2024.090.5B-72B152064代码/数学专项强化

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 72BLLaMA 3.1 70BGPT-4o
MMLU86.8%82.0%88.7%
MMLU-Pro71.6%63.5%72.6%
GSM8K95.4%93.0%95.8%
MATH83.1%68.4%76.6%
HumanEval78.9%81.7%90.2%
LiveCodeBench45.2%38.1%41.2%

Qwen 2.5 72B 在数学推理(MATH)上大幅领先 LLaMA 3.1 70B,甚至超过了 GPT-4o。但在代码生成(HumanEval)上仍有差距,这和训练数据的侧重点有关。

1.5 多模态模型#

Qwen-VL 是 Qwen 的多模态扩展:

模型参数量视觉编码器特点
Qwen-VL9.6BViT-bigG图文理解、定位
Qwen-VL-Plus--API 服务,高分辨率
Qwen-VL-Max--最强多模态能力
Qwen2-VL2B/7B/72BViT动态分辨率、视频理解

Qwen2-VL 引入了动态分辨率支持:图像不再被缩放到固定尺寸,而是按原始分辨率编码。这避免了信息丢失,特别适合文档理解、图表分析等需要细粒度视觉信息的任务。

二、InternLM(书生)#

2.1 系列演进#

InternLM 由上海人工智能实验室开发,强调工具链的完整性和实用性:

模型发布时间参数量上下文长度关键特点
InternLM-7B2023.077B8K首个开源版本
InternLM-20B2023.1220B16K填补 7B-70B 间的规模空白
InternLM22024.017B/20B200K全面升级
InternLM2.52024.077B/20B200K+工具调用优化

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 项目的独特价值在于提供了一整套开源工具链,覆盖从训练到评测的完整流程:

flowchart TB subgraph InternLM 开源生态 A["InternLM 基础模型"] --> B["InternLM-Math<br>数学推理"] A --> C["InternLM-XComposer<br>多模态理解"] A --> D["InternLM2.5<br>工具调用优化"] end subgraph 工具链 E["OpenCompass<br>模型评测框架"] F["Lagent<br>Agent 开发框架"] G["LMDeploy<br>推理部署框架"] H["XTuner<br>微调框架"] end A --> E A --> F A --> G A --> H
  • OpenCompass:目前最完善的开源 LLM 评测框架,支持 200+ 评测基准,被国内外广泛使用
  • Lagent:轻量级 Agent 框架,支持 ReAct、Plan-and-Solve 等推理模式
  • LMDeploy:高效推理部署框架,支持 Tensor Parallel、量化、KV Cache 优化
  • XTuner:支持 LoRA、QLoRA 等参数高效微调方法

OpenCompass 的意义特别重大。在它出现之前,开源模型缺乏统一的评测标准,不同论文的数字难以直接对比。OpenCompass 让模型对比变得透明和可复现。

三、技术对比#

3.1 Qwen vs InternLM#

维度QwenInternLM
开发者阿里巴巴上海 AI Lab
最大开源规模72B (110B 待开源)20B
词表大小151936103168
GQA KV 头数48
最大上下文1M (Turbo)200K+
多模态Qwen2-VLInternLM-XComposer2
工具链魔搭社区OpenCompass/Lagent/LMDeploy
代码专项CodeQwen1.5-
数学专项Qwen2.5-MathInternLM-Math

两者的定位有明显差异。Qwen 追求极致的模型性能,在代码和数学上投入了大量资源做专项优化。InternLM 更注重工具链的完整性,让开发者从训练到部署再到评测都能用开源方案。

3.2 与国际模型对比#

基准Qwen 2.5 72BInternLM2.5 20BLLaMA 3.1 70BMistral Large
MMLU86.8%76.8%82.0%80.4%
MATH83.1%58.1%68.4%52.0%
HumanEval78.9%71.3%81.7%76.5%
MT-Bench9.18.28.58.4
IFEval83.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 Lab7B-20B工具链完善,Agent 优化
Yi01.AI (零一万物)6B-34B长上下文,200K
GLM-4智谱 AI9B中英双语,All-to-All 注意力
Baichuan 2百川智能7B-13B商业友好许可
DeepSeek深度求索7B-67BMoE 架构,代码强

4.2 开源贡献的价值#

中国开源 LLM 的贡献不只是多了一个模型选择,而是从多个维度丰富了开源生态:

flowchart TB subgraph 模型层 A["Qwen 72B<br>中文最强开源模型"] B["InternLM-XComposer<br>多模态开源"] C["Yi-34B<br>长上下文开源"] end subgraph 工具层 D["OpenCompass<br>统一评测标准"] E["Lagent<br>Agent 开发框架"] F["LMDeploy<br>高效推理部署"] end subgraph 社区层 G["魔搭社区<br>模型托管平台"] H["ModelScope<br>中文 HuggingFace"] end A --> D B --> E C --> G

评测标准化:OpenCompass 让模型对比变得可复现,推动了整个行业从「自报成绩」走向「统一评测」。

中文优化:大词表设计让中文编码效率提升 2-3 倍,降低了中文场景的推理成本。

工具链补全:从训练框架到部署工具到评测系统,形成了完整的中文 AI 开发工具栈。

五、关键创新总结#

5.1 Qwen 的核心贡献#

  1. 大词表设计:151936 词表在中文和多语言场景下显著提升编码效率
  2. 代码模型 SOTA:CodeQwen1.5 和 Qwen2.5-Coder 在代码基准上超越 GPT-4
  3. 数学推理突破:Qwen2.5-Math 在 MATH 上达到 83.1%,开源最强
  4. 百万 token 上下文:Qwen2.5-Turbo 支持 1M 上下文

5.2 InternLM 的核心贡献#

  1. 工具链完善:OpenCompass + Lagent + LMDeploy + XTuner 全覆盖
  2. 工具调用能力:在 Berkeley FC Leaderboard 上接近 GPT-4o
  3. 长上下文:最早支持 200K 上下文的开源模型之一
  4. 评测基础设施:OpenCompass 成为行业事实标准

六、实战部署#

6.1 Qwen 推理部署#

Qwen 系列支持多种推理后端,开发者可以根据硬件条件灵活选择:

# 使用 transformers 加载 Qwen 2.5
from 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 GBRTX 4080
Qwen2.5-14B~28 GB~8 GBRTX 4090
Qwen2.5-32B~64 GB~18 GBA100 80G
Qwen2.5-72B~144 GB~38 GB2x 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 的价值不只是「又一个模型选择」,而是从模型、工具、评测三个层面丰富了整个开源生态。大词表设计、中文优化、工具链补全,这些贡献的影响远超单个模型的性能数字。


参考资料#

支持与分享

如果这篇文章对你有帮助,欢迎支持作者或分享给更多人

Qwen/InternLM:中国开源大模型
https://blog.souloss.com/posts/machine-learning/llm-paper-history/qwen-and-internlm-open-source-models/
作者
Souloss
发布于
2025-06-21
许可协议
CC BY-NC-SA 4.0

部分信息可能已经过时