metadata
license: other
悟道·天鹰(Aquila)
悟道·天鹰(Aquila) 语言大模型是首个具备中英双语知识、支持商用许可协议、国内数据合规需求的开源语言大模型。
- 🌟 支持开源商用许可。Aquila系列模型的源代码基于 Apache 2.0 协议,模型权重基于《智源Aquila系列模型许可协议》,使用者在满足许可限制的情况下,可用于商业目的。
- ✍️ 具备中英文知识。Aquila系列模型在中英文高质量语料基础上从 0 开始训练,中文语料约占 40%,保证模型在预训练阶段就开始积累原生的中文世界知识,而非翻译而来的知识。
- 👮♀️符合国内数据合规需求。Aquila系列模型的中文语料来自智源多年积累的中文数据集,包括来自1万多个站源的中文互联网数据(其中99%以上为国内站源),以及获得国内权威机构支持的高质量中文文献数据、中文书籍数据等。我们仍在持续积累高质量、多样化的数据集,并源源不断加入Aquila基础模型后续训练中。
- 🎯持续迭代,持续开源开放。我们将不断完善训练数据、优化训练方法、提升模型性能,在更优秀的基础模型基座上,培育枝繁叶茂的“模型树”,持续开源开放更新的版本。
悟道 · 天鹰 Aquila 模型的更多细节将在官方技术报告中呈现。请关注官方渠道更新。包括 FlagAI GitHub仓库,FlagAI 知乎账号、FlagAI 官方技术交流群、智源研究院微信公众号、智源社区微信公众号。
模型 | 模型类型 | 简介 | 状态 | 训练所用显卡 |
---|---|---|---|---|
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 多语言文图生成模型,实现了流畅的文图生成能力。配合智源 InstructFace 多步可控文生图模型,轻松实现对人脸图像的多步可控编辑。 |
已发布 | Nvidia-A100 |
AquilaChat-33B | SFT model,基于 Aquila-33B 进行微调和强化学习 | 同上 | 敬请期待 | Nvidia-A100 |
AquilaCode-7B-NV | 基础模型,“文本-代码”生成模型,基于 Aquila-7B继续预训练,在英伟达芯片完成训练 | AquilaCode-7B 以小数据集、小参数量,实现高性能,是目前支持中英双语的、性能最好的开源代码模型,经过了高质量过滤、使用有合规开源许可的训练代码数据进行训练。 AquilaCode-7B 分别在英伟达和国产芯片上完成了代码模型的训练。 |
github已发布 | Nvidia-A100 |
AquilaCode-7B-TS | 基础模型,“文本-代码”生成模型,基于 Aquila-7B继续预训练,在天数智芯芯片上完成训练 | 同上 | github已发布 | Tianshu-BI-V100 |
悟道·天鹰Aquila系列模型将持续开源更优版本。
- 2023/07/14 :开源 v0.8
- Aquila-7B-01 md5: b14329f7314c05dd79d44b2838c315aa
- Aquila-7B-02 md5: 88aa286283c7b7dd78c0fbb7fae6327d
- AquilaChat-7B-01 md5: 0a77901af35d3e5ed16eeafa622e2173
- AquilaChat-7B-02 md5: 6e84423fe2837c79c0ced6817c316bd4
AquilaChat-7B v0.8 在 FlagEval 大模型评测中( “主观+客观”)相比0.7的版本整体稍有提,其在Chinese-MMLU上提升10%左右。详细评测结果请通过 http://flageval.baai.ac.cn 网站查看, 历史版本变更详情见:变更日志 。
快速开始使用 AquilaChat-7B 对话模型
使用方式/How to use
1. 推理/Inference
from transformers import AutoTokenizer, AutoModelForCausalLM
import torch
device = torch.device("cuda:1")
model_info = "BAAI/AquilaChat-7B"
tokenizer = AutoTokenizer.from_pretrained(model_info, trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained(model_info, trust_remote_code=True)
model.eval()
model.to(device)
text = "请给出10个要到北京旅游的理由。"
tokens = tokenizer.encode_plus(text)['input_ids'][:-1]
tokens = torch.tensor(tokens)[None,].to(device)
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())
if "###" in out:
special_index = out.index("###")
out = out[: special_index]
if "[UNK]" in out:
special_index = out.index("[UNK]")
out = out[:special_index]
if "</s>" in out:
special_index = out.index("</s>")
out = out[: special_index]
if len(out) > 0 and out[0] == " ":
out = out[1:]
print(out)
证书/License
AquilaChat
系列开源模型使用 智源Aquila系列模型许可协议