tada-1b 在昇腾 NPU 上的部署
1. 简介
本文档记录 tada-1b(TADA TTS 模型)在昇腾 NPU(Ascend 910B3)环境的适配部署与精度验证结果。
TADA-1B 基于 LlamaForCausalLM 架构,参数量约 1.24B,支持文本到语音合成。本项目完成该模型在昇腾 NPU 上的推理适配,验证 NPU 与 CPU 结果的精度误差 < 1%。
相关获取地址:
2. 验证环境
| 组件 | 版本 |
|---|
| Python | 3.11.x |
| PyTorch | 2.10.0+cpu |
| torch_npu | 2.10.0 |
| transformers | 5.8.1 |
| CANN | 8.5.1 |
| NPU 硬件 | Ascend 910B3 |
3. 模型信息
| 项目 | 值 |
|---|
| 模型架构 | LlamaForCausalLM + TTS decoders |
| 参数量 | ~1.24B |
| 权重格式 | safetensors |
| 框架 | PyTorch (transformers) |
4. Conda 环境安装
conda create -n tada-1b python=3.11 -y
conda activate tada-1b
pip install torch==2.10.0 torchvision==0.25.0 --index-url https://repo.huaweicloud.com/repository/pypi/simple/
pip install torch_npu==2.10.0 --index-url https://repo.huaweicloud.com/repository/pypi/simple/
pip install transformers safetensors --index-url https://repo.huaweicloud.com/repository/pypi/simple/
5. 推理执行
python3 inference.py --model_path /path/to/tada-1b
python3 inference.py ... --device cpu
python3 benchmark.py --model_path /path/to/tada-1b
6. 精度评测结果
| 类别 | 指标 | 实测值 | 阈值 | 状态 |
|---|
| Overall | 向量级相对误差 | 0.000688% | < 1% | PASS ✅ |
| 余弦相似度 | 1.000000 | > 0.99 | PASS ✅ |
| SNR (dB) | 102.45 | — | — |
| Abs Error | 最大值 / 平均值 / P95 / P99 | 2.6e-4 / 1.1e-5 / 4.2e-5 / 1.1e-4 | — | — |
| Elem Rel % | 最大值 / 平均值 / P95 | 626.93 / 0.002 / 0.003 | — | — |
| Per-Pos | 最大值 / 平均值 | 1.2e-4 / 1.1e-5 | — | — |
7. 性能数据
| 操作 | 耗时 |
|---|
| CPU(FP32) | 3.80s |
| NPU(FP32,3轮预热) | 0.20s |
| 加速比 | 18.70x |
8. 注意事项
- 使用
AutoModelForCausalLM 加载 Llama 主干网络。
- 模型包含额外 TTS decoder 模块,仅比较主干 logits。
- 输入为随机 token 序列(seq=64)。