介绍 Qwen:全面的 LLM 与 LMM 框架
Qwen 是一个旨在实现人工通用智能(AGI)的项目,融合了大型语言模型(LLMs)和大型多模态模型(LMMs)。生态系统包括基础语言模型、针对聊天优化的版本(Qwen-Chat)、面向编码的领域模型(Code-Qwen)和数学的领域模型(Math-Qwen),以及面向视觉(Qwen-VL)和音频(Qwen-Audio)的多模态扩展。
基础模型架构与规模化
Qwen 是基于 Transformer 的语言模型,使用下一个 token 预测进行预训练。开发重点在于同时扩大模型规模和数据量,以确保稳定性和性能。
模型变体与规格
已开发的五个模型中有四个已开源,规格如下:
| 模型 | 发布日期 | 最大长度 | 系统提示增强 | 预训练 Token 数 | 最小 GPU 内存(Q-Lora 微调) | 最小 GPU 使用量(2048 Token Int4) | 工具使用 |
|---|---|---|---|---|---|---|---|
| Qwen-1.8B | 23.11.30 | 32K | ✓ | 2.2T | 5.8GB | 2.9GB | ✓ |
| Qwen-7B | 23.08.03 | 32K | ✐ | 2.4T | 11.5GB | 8.2GB | ✓ |
| Qwen-14B | 23.09.25 | 8K | ✐ | 3.0T | 18.7GB | 13.0GB | ✓ |
| Qwen-72B | 23.11.30 | 32K | ✓ | 2.2T | 61.4GB | 48.9GB | ✓ |
多语言能力与分词
Qwen 被设计为多语言模型,在英语和中文方面表现出强大的能力,并在西班牙语、法语和日语上也具备一定的熟练度。这得益于高效的分词器,在多语言之间提供高压缩率,优化信息的编码。
上下文长度与外推
大多数开源的 Qwen 模型支持 32K token 的上下文长度。这通过持续的更长上下文长度预训练以及提升 Rotary Positional Embeddings(RoPE)的基准值实现。通过 L-Eval 和 “Needle in a Haystack” 测试的评估,证实了模型处理长上下文窗口的能力。
在基准对比中,Qwen-72B-Chat(32K)取得了 62.30 的平均分,超过了 ChatGPT-3.5-16k(60.73),在多个类别中表现更佳,包括 TOEFL(86.24 对 78.43)和 QuALITY(77.22 对 61.38)。
对齐与后训练
Qwen 采用两阶段对齐流程,包括监督微调(SFT)和基于人类反馈的强化学习(RLHF)。
监督微调(SFT)
对齐从 SFT 开始,团队关注数据的多样性和复杂性,使用如 instag 和 tulu 2 等数据集。通过人工检查与自动评估相结合的方式保持质量。
基于人类反馈的强化学习(RLHF)
在 SFT 模型的基础上,Qwen 使用基于 PPO 的 RLHF。为了解决训练不稳定性,团队开发了一个可靠的奖励模型,该模型在大规模对比数据上进行预训练,并在高质量、精心标注的对比数据上进行微调。最终的 RLHF 模型相比仅使用 SFT 的模型展现出更高的创造力和更好的指令遵循能力。
工具使用与代理能力
Qwen 被设计为通过基于 ReAct 格式生成思考和行动来充当代理。这使得模型能够通过上下文学习理解指令和示例,从而使用在训练期间未见过的工具。
支持的框架
- Function Calling:直接执行特定函数。
- Code Interpreter:用于复杂的数据分析。
- Hugging Face Agent:与各种 AI 模型集成,提供多样化输出,例如图像生成。
AgentFabric
继承 GPTs 的概念,Qwen 推出了 AgentFabric,这是一套框架,用户可以通过简单的聊天式配置流程创建专用的 AI 代理。
Sources
- OriginalIntroducing Qwen