Qwen2 模型介绍
本次开源的 Qwen2 模型包括 5 个尺寸,分别是 0.5B、1.5B、7B、72B、57B。其中 57B 属于 MoE 模型(激活参数 14B),其余为 Dense 模型。Qwen2 和 Qwen1.5 的模型结构基本一致,主要是模型预训练数据有所增加(大约在 7T 以上)。
各尺寸模型支持的最大上下文长度如下:
- Qwen2-0.5B、Qwen2-1.5B:32K
- Qwen2-57B-A14B MoE:64K
- Qwen2-7B、Qwen2-72B:128K
代码和数学能力显著提升。所有尺寸的模型都使用了 GQA,相比 Qwen1.5 系列仅部分使用 GQA,Qwen2 的 GQA 可以显著加速推理,降低显存占用。
模型规格
| 模型 | Qwen2-0.5B | Qwen2-1.5B | Qwen2-7B | Qwen2-57B-A14B | Qwen2-72B |
|---|---|---|---|---|---|
| 参数量 | 0.49B | 1.54B | 7.07B | 57.41B | 72.71B |
| 非 Embedding 参数量 | 0.35B | 1.31B | 5.98B | 56.32B | 70.21B |
| GQA | True | True | True | True | True |
| Tie Embedding | True | True | False | False | False |
| 上下文长度 | 32K | 32K | 128K | 64K | 128K |
模型效果
Qwen2 系列模型效果整体超过 Qwen1.5 系列,相对于其他同级别参数开源模型也很亮眼。Qwen2-72B-Instruct 在多项指标超过 Llama-3-70B-Instruct,特别是在中文领域大幅领先。代码和数学方面也都超过了 Llama-3-70B-Instruct。Qwen2-7B-Instruct 表现与同类模型相当。
除 Qwen2-72B 使用 Qianwen License(有使用范围限制)外,其余 4 个尺寸模型均采用 Apache 2.0 许可。
借助 Qwen-Agent 实现长文本理解
针对本地使用 Qwen2-0.5B、Qwen2-1.5B 这类上下文长度有限的模型时,通过 Qwen-Agent 框架,能够把处理的上下文扩展到 1M。整体采用的是代理式 RAG(Agentic RAG)思路,具体做法分为三步。
第一步 查询转换
将文本分成每块不超过 512 字的短块,保留最相关在 8k 上下文,采用查询转换的方法:
- 引导模型分离用户查询中的指令信息与非指令信息。例如,将用户查询转为
{"信息": ["自行车是什么时候发明的"], "指令": ["回答时用 2000 字", "尽量详尽", "用英文回复"]}。 - 从信息部分提取多语言关键词。例如,"自行车是什么时候发明的" 转为
{"关键词*英文": ["bicycles", "invented", "when"], "关键词*中文": ["自行车", "发明", "时间"]}。 - 利用 BM25 基于关键词的检索,找出最相关的块。
第二步 查询重写
在相关块与用户查询关键词重叠程度不足时,可能导致遗漏相关内容未被检索到,采用二次查询的方式:
- 对于每个 512 字块,让模型先评估其与用户查询的相关性。若认为不相关,则输出"无";若相关,则输出相关句子。
- 筛选出相关句子,将其用作搜索查询词,通过 BM25 检索出最相关的块(检索结果长度控制在 8k 上下文限制内)。


