BLOOM-7B 部署手册
本文档介绍了如何在墨芯 AI 加速卡上使用 SOLA 部署 BLOOM-7B 模型。
BLOOM 模型简介
BLOOM (BigScience Large Open-science Open-access Multilingual Language Model) 是在46种自然语言和13种编程语言上训练的1760亿参数语言模型,论文地址:https://arxiv.org/pdf/2211.05100.pdf。
模型配置
num_layers: 24
num_heads: 32
hidden_size: 4096
vocab_size: 250680
batch_size: 1
token_num: 1
max_seq_len: 256
data_type: Bf16
系统要求
至少需要 12 个设备
支持 avx512f 的 CPU
BLOOM 部署
部署模型分为四个步骤:下载、编译、运行、验证,每个步骤都提供了对应的默认脚本。
下载:prepare.sh
编译:build.sh
运行:run.sh
验证:verify.sh
你也可以参考以下步骤手动部署模型。
部署步骤
下载模型依赖
可以执行以下脚本下载模型依赖:
./prepare.sh
若脚本执行失败,也可以通过以下链接手动下载并解压:
https://moffett-oss-bucket01.oss-cn-shenzhen.aliyuncs.com/sola-demo/bloom7b/bloom7b_demo.tar.gz
编译部署代码
./build.sh
运行
可以执行以下脚本验证精度和性能:
./run.sh
也可以手动运行,程序接受两个参数,第一个参数为模型路径,第二个参数为模式,模式是可选的:
# 问答模式 ./build/bloom data/model/bloom7b_demo/ # 无限问答模式 ./build/bloom data/model/bloom7b_demo/ inf_mode # 自动问答模式 ./build/bloom data/model/bloom7b_demo/ data/questions.txt # 验证模式 ./build/bloom data/model/bloom7b_demo/ verify
验证模式下验证结果
./verify.sh
性能指标参考
测试环境:
2x Intel(R) Xeon(R) Platinum 8380 CPU @ 2.30GHz
16x 64GiB DDR4 3200 MHz
throughput | latency |
---|---|
52.300 token/s | 19.120 ms/token |