产品简介
悟道·天鹰(Aquila)语言大模型是首个具备中英双语知识、支持商用许可协议且满足国内数据合规需求的开源语言大模型。该项目托管于GitHub的FlagAI-Open/FlagAI仓库中,旨在为开发者提供快速、易用且可扩展的大规模模型工具包。Aquila系列模型在技术上继承了GPT-3、LLaMA等架构设计的优点,并通过替换高效底层算子、重新设计中英双语Tokenizer以及升级BMTrain并行训练方法,显著提升了训练效率。
核心功能与模型版本
Aquila系列模型包含多种针对不同任务优化的版本,满足多样化的应用需求:
- Aquila-7B/33B基础模型:分别拥有70亿和330亿参数,从0开始在中英文高质量语料上训练,中文语料占比约40%,确保原生中文知识积累。
- AquilaChat-7B/33B对话模型:基于基础模型进行监督微调(SFT)和强化学习,支持流畅文本对话及多语言生成任务,可通过特殊指令规范调用其他工具。
- AquilaCode代码模型:包括AquilaCode-multi和AquilaCode-py,基于高质量过滤且合规的代码数据训练,数据量约为其他开源代码模型的10%至40%,支持定制代码助手。
技术特色与优势
Aquila模型在技术实现上具有显著优势。其训练效率相比Magtron+DeepSpeed ZeRO-2提升近8倍。模型权重基于《智源Aquila系列模型许可协议》,源代码基于Apache 2.0协议,在满足许可限制的情况下可用于商业目的。此外,其中文语料来自智源多年积累的国内站源数据及权威机构支持的高质量文献,确保数据合规性。
使用流程与环境准备
开发者可通过以下步骤快速开始使用Aquila模型:
- 克隆仓库:在本地克隆FlagAI GitHub仓库并安装依赖。
- 选择模型目录:根据需求进入Aquila-pretrain(预训练)、Aquila-chat(对话)或Aquila-code(代码)目录。
- 配置环境:支持Ubuntu和Mac系统,需配置hostfile以指定GPU资源,单机多卡需设置slots参数。
- 执行任务:通过运行相应的Python脚本或Shell脚本进行模型推理、微调或预训练。
适用人群与场景
Aquila模型适用于以下人群和场景:
- NLP研究人员:用于研究中英双语大模型的架构优化与训练效率。
- 企业开发者:构建符合国内合规要求的智能客服、内容生成系统。
- 软件工程师:利用AquilaCode定制专属代码助手,提升开发效率。
- 多模态应用开发者:结合AltDiffusion等模型,实现文图生成及可控编辑功能。
使用建议与参数调整
在使用Aquila模型时,建议根据硬件资源调整关键参数以优化性能:
| 参数名 | 描述 |
|---|---|
| batch_size | 每次迭代训练的样本数,影响处理速度和内存占用。 |
| gradient_accumulation_steps | 梯度累积次数,适用于显存较小的情况。 |
| temperature | 控制生成文本的随机性,范围通常为0.5-1.5。 |
| top_k/top_p | 限制候选词选择范围,提高生成文本的质量和相关性。 |
| max_length | 生成文本的最大长度,Aquila系列最大支持2048个token。 |
常见问题
Aquila-7B基础模型适合直接用于对话吗?
Aquila-7B基础模型主要用于预训练任务,直接用于对话推理的效果不如经过监督微调的AquilaChat-7B对话模型。建议需要对话功能的用户直接使用AquilaChat系列模型。
如何降低模型推理时的显存占用?
可以使用BMInf进行低资源推理,默认情况下显存消耗可降至4.3GB。用户还可以通过设置memory_limit参数手动限制最大资源消耗,以适应不同的硬件环境。
Aquila模型的商用许可有哪些限制?
Aquila系列模型的源代码基于Apache 2.0协议,模型权重基于《智源Aquila系列模型许可协议》。使用者在满足许可协议中的限制条件下,可以将模型用于商业目的。具体限制条款需参考官方发布的许可协议文档。
