--- license: other --- ![Aquila_logo](./log.jpeg) # 悟道·天鹰(Aquila) 悟道·天鹰(Aquila) 语言大模型是首个具备中英双语知识、支持商用许可协议、国内数据合规需求的开源语言大模型。 - 🌟 **支持开源商用许可**。Aquila系列模型的源代码基于 [Apache 2.0 协议](https://www.apache.org/licenses/LICENSE-2.0),模型权重基于[《智源Aquila系列模型许可协议》](https://huggingface.co/BAAI/AquilaCode-multi/blob/main/BAAI%20Aquila%20Model%20License%20Agreement.pdf),使用者在满足许可限制的情况下,可用于商业目的。 - ✍️ **具备中英文知识**。Aquila系列模型在中英文高质量语料基础上从 0 开始训练,中文语料约占 40%,保证模型在预训练阶段就开始积累原生的中文世界知识,而非翻译而来的知识。 - 👮‍♀️**符合国内数据合规需求**。Aquila系列模型的中文语料来自智源多年积累的中文数据集,包括来自1万多个站源的中文互联网数据(其中99%以上为国内站源),以及获得国内权威机构支持的高质量中文文献数据、中文书籍数据等。我们仍在持续积累高质量、多样化的数据集,并源源不断加入Aquila基础模型后续训练中。 - 🎯**持续迭代,持续开源开放**。我们将不断完善训练数据、优化训练方法、提升模型性能,在更优秀的基础模型基座上,培育枝繁叶茂的“模型树”,持续开源开放更新的版本。 悟道 · 天鹰 Aquila 模型的更多细节将在官方技术报告中呈现。请关注官方渠道更新。包括 [FlagAI GitHub仓库](https://github.com/FlagAI-Open/FlagAI/),[FlagAI 知乎账号](https://www.zhihu.com/people/95-22-20-18)、[FlagAI 官方技术交流群](https://github.com/FlagAI-Open/FlagAI/blob/master/wechat-qrcode.jpg)、智源研究院微信公众号、智源社区微信公众号。 | 模型 | 模型类型 | 简介 | 状态 | 训练所用显卡 | | :---------------- | :------- | :-- | :-- | :-- | | Aquila-7B | 基础模型,70亿参数 | **Aquila 基础模型**在技术上继承了 GPT-3、LLaMA 等的架构设计优点,替换了一批更高效的底层算子实现、重新设计实现了中英双语的 tokenizer,升级了 BMTrain 并行训练方法,实现了比 Magtron+DeepSpeed ZeRO-2 将近8倍的训练效率。 | 已发布 | Nvidia-A100 | | Aquila-33B |基础模型,330亿参数 | 同上 | **敬请期待** | Nvidia-A100 | | AquilaChat-7B |SFT model,基于 Aquila-7B 进行微调和强化学习 | **AquilaChat 对话模型**支持流畅的文本对话及多种语言类生成任务,通过定义可扩展的特殊指令规范,实现 AquilaChat对其它模型和工具的调用,且易于扩展。

例如,调用智源开源的 **[AltDiffusion](https://github.com/FlagAI-Open/FlagAI/tree/master/examples/AltDiffusion-m18) 多语言文图生成模型**,实现了流畅的文图生成能力。配合智源 **InstructFace 多步可控文生图模型**,轻松实现对人脸图像的多步可控编辑。 | 已发布 | Nvidia-A100 | | AquilaChat-33B |SFT model,基于 Aquila-33B 进行微调和强化学习 | 同上 | **敬请期待** | Nvidia-A100 | | AquilaCode-multi | 基础模型,“文本-代码”生成模型,基于 Aquila-7B继续预训练 | AquilaCode 使用经过高质量过滤且有合规开源许可的代码数据进行训练,数据量约为其他开源代码生成模型的 10~40%。通过参考官方提供的操作指南,开发者可以利用 AquilaCode 模型来定制自己的代码助手。 | 已发布 | Nvidia-A100 | | AquilaCode-py |基础模型,“文本-代码”生成模型,基于 Aquila-7B继续预训练。 | AquilaCode 使用经过高质量过滤且有合规开源许可的代码数据进行训练,数据量约为其他开源代码生成模型的 10~40%。通过参考官方提供的操作指南,开发者可以利用 AquilaCode 模型定制自己的代码助手。 | 已发布 | Nvidia-A100 | 悟道·天鹰Aquila系列模型将持续开源更优版本。 - 2023/07/24 :开源 v0.9 - AquilaCode-mutil-01 md5: e202e5b82db773ea369fe843fef1c34c - AquilaCode-mutil-02 md5: 3923b2b020e2af71755b11248076437f - AquilaCode-Python-01 md5: e202e5b82db773ea369fe843fef1c34c - AquilaCode-Python-02 md5: 3923b2b020e2af71755b11248076437f Aquila-7B v0.8 在 FlagEval 大模型评测中( “客观”)相比0.7的版本在MMLU_Chinese、TruthfulQA、MMLU上分别提升10.07%,14.84%和7.94%。详细评测结果请通过 http://flageval.baai.ac.cn 网站查看, 历史版本变更详情见:[变更日志](https://huggingface.co/BAAI/AquilaChat-7B/blob/main/change_log.log) 。 ## 快速开始使用 Aquila-7B ## 使用方式/How to use ### 1. 推理/Inference ```python from transformers import AutoTokenizer, AutoModelForCausalLM import torch model_info = "BAAI/AquilaCode-multi" tokenizer = AutoTokenizer.from_pretrained(model_info, trust_remote_code=True) model = AutoModelForCausalLM.from_pretrained(model_info, trust_remote_code=True) model.eval() model.to("cuda:3") text = "#补全代码\ndef quick_sort(x):" tokens = tokenizer.encode_plus(text)['input_ids'][:-1] tokens = torch.tensor(tokens)[None,].to("cuda:3") with torch.no_grad(): out = model.generate(tokens, do_sample=True, max_length=512, eos_token_id=100007)[0] out = tokenizer.decode(out.cpu().numpy().tolist()) print(out) ``` ## 证书/License `Aquila系列开源模型使用 [智源Aquila系列模型许可协议](https://huggingface.co/BAAI/AquilaCode-multi/blob/main/BAAI%20Aquila%20Model%20License%20Agreement.pdf)