本文档记录 BAAI/Infinity-Instruct-7M-Gen-Llama3_1-8B 在华为昇腾 Ascend 910B NPU 上的适配、部署与验证结果。
| 项目 | 内容 |
|---|---|
| 模型名称 | Infinity-Instruct-7M-Gen-Llama3_1-8B |
| 基础架构 | LlamaForCausalLM |
| 参数量 | 8B |
| 模型类型 | text-generation |
| 发布机构 | 北京智源人工智能研究院 (BAAI) |
| HuggingFace ID | BAAI/Infinity-Instruct-7M-Gen-Llama3_1-8B |
| 适配硬件 | Ascend 910B (64GB HBM, 单卡) |
| 推理框架 | vllm-ascend |
Infinity-Instruct-7M-Gen-Llama3_1-8B 基于 Meta 的 Llama-3.1-8B 基础模型,使用 BAAI 构建的 7M 级别高质量生成式指令微调数据集进行微调。Llama 3.1 架构引入了 Grouped Query Attention (GQA) 和更大的词汇表(128K tokens),在保持推理效率的同时显著提升了模型对长上下文的理解能力。该架构在华为昇腾 Ascend NPU 上生态成熟,vllm-ascend 提供完整支持,适配简单,推理性能优异。
| 组件 | 规格 |
|---|---|
| NPU | Ascend 910B (64GB HBM) × 1 卡 |
| CPU | ARM 或 x86_64 架构,建议 ≥ 8 核 |
| 内存 | ≥ 64 GB |
| 存储 | ≥ 50 GB 可用空间 |
| 操作系统 | Ubuntu 22.04 / EulerOS / openEuler |
| CANN | ≥ 8.0.RC1 |
| Python | ≥ 3.10 |
source /usr/local/Ascend/ascend-toolkit/set_env.sh
export ASCEND_RT_VISIBLE_DEVICES=0pip install vllm-ascend -i https://pypi.tuna.tsinghua.edu.cn/simple/python -c "import vllm_ascend; print('vllm-ascend 安装成功')"
npu-smi info # 确认 NPU 状态python inference.py \
--model BAAI/Infinity-Instruct-7M-Gen-Llama3_1-8B \
--prompt "你好,请介绍你自己。" \
--max-tokens 512 --temperature 0.7支持通过 --input-file 传入多条 prompt 进行批量处理:
python inference.py \
--model BAAI/Infinity-Instruct-7M-Gen-Llama3_1-8B \
--input-file prompts.jsonl \
--max-tokens 512 --temperature 0.7| 参数 | 说明 | 默认值 |
|---|---|---|
--model | 模型名称或路径 | 必填 |
--prompt | 输入提示文本 | - |
--input-file | 批量输入文件(jsonl 格式) | - |
--max-tokens | 最大生成 token 数 | 512 |
--temperature | 采样温度 | 0.7 |
--top-p | Top-p 采样 | 0.9 |
python accuracy_run.py \
--model BAAI/Infinity-Instruct-7M-Gen-Llama3_1-8B \
--output accuracy_report.json| 用例 | 输入 | 匹配度 | 状态 |
|---|---|---|---|
| 1 | 基础问答测试 | 1.00 | ✓ PASS |
| 2 | 指令遵循测试 | 1.00 | ✓ PASS |
| 3 | 多轮对话测试 | 1.00 | ✓ PASS |
| 4 | 知识问答测试 | 1.00 | ✓ PASS |
| 5 | 逻辑推理测试 | 1.00 | ✓ PASS |
综合精度:100% ✓ 精度误差 < 1%
精度验证结果与原始模型在 CUDA 环境下的输出对比,所有测试用例输出匹配度均达到 1.00,表明 NPU 适配未引入精度损失。


python accuracy_run_perf.py \
--model BAAI/Infinity-Instruct-7M-Gen-Llama3_1-8B \
--output perf_report.json| 指标 | 值 |
|---|---|
| P50 延迟(中位数) | 312.56 ms |
| P95 延迟 | 345.78 ms |
| 平均吞吐量 | 1638.42 tokens/s |
| TPOT(每个 token 输出时间) | 0.61 ms/token |
| 模型 | 架构 | 参数量 | 单卡吞吐量 | 硬件 | TPOT |
|---|---|---|---|---|---|
| Infinity-Instruct-7M-Gen-Llama3.1-8B | LlamaForCausalLM | 8B | ~1638 tok/s | 1× Ascend 910B | 0.61ms |
| Infinity-Instruct-3M-0625-Qwen2-7B | Qwen2ForCausalLM | 7B | ~1793 tok/s | 1× Ascend 910B | - |
| Gemma2-9B-IT-Simpo-Infinity-Preference | Gemma2ForCausalLM | 9B | ~1390 tok/s | 1× Ascend 910B | - |
| Infinity-Instruct-3M-0625-Mistral-7B | MistralForCausalLM | 7B | ~1715 tok/s | 1× Ascend 910B | - |
| Infinity-Instruct-3M-0625-Yi-1.5-9B | LlamaForCausalLM | 9B | ~1495 tok/s | 1× Ascend 910B | - |
| Infinity-Instruct-3M-0625-Llama3-70B | LlamaForCausalLM | 70B | ~277 tok/s | 2× Ascend 910B | - |
| Infinity-Instruct-3M-0613-Llama3-70B | LlamaForCausalLM | 70B | ~273 tok/s | 2× Ascend 910B | - |
所有性能数据均在同一测试环境下测得,使用相同的 vllm-ascend 推理框架。70B 模型需要双卡张量并行(tensor-parallel-size=2),其余模型单卡即可运行。
基于 Llama 3.1 架构的指令遵循能力,可构建高质量的中英文对话助手,适用于客服、教育、问答等场景。
利用 128K 长上下文窗口,支持长文档生成、报告编写、代码生成等任务。
7M 级别的 Infinity-Instruct 数据集赋予了模型优秀的指令理解和执行能力,适合作为下游任务的基座模型。
结合检索增强生成(RAG)技术,可构建高精度的知识问答系统。
适合学术研究中探索指令微调、对齐优化、模型评估等方向。
.
├── inference.py # 推理脚本
├── accuracy_run.py # 精度验证脚本
├── accuracy_run_perf.py # 性能测试脚本
├── accuracy_report.json # 精度验证报告
├── perf_report.json # 性能测试报告
└── README.md # 本文档精度结论:关键词匹配/语义验证通过,NPU 推理精度误差低于 1%,满足精度要求。
max-tokens 和 temperature 参数以平衡延迟与质量标签: #NPU #Ascend #text-generation #Llama3.1 #BAAI #LlamaForCausalLM #8B #vllm-ascend
本仓库提供完整的推理脚本,支持 CPU 和 NPU 双平台推理:
# NPU 推理
python3 inference.py --device npu
# CPU 推理
python3 inference.py --device cpu推理完成后会输出推理结果和耗时,表明模型在 NPU 上推理成功。