本文档记录 sarashina2.2-tts 在昇腾 NPU 环境的适配与验证结果。
模型信息:
相关地址:
| 组件 | 版本 |
|---|---|
torch | 2.10.0+cpu |
torch_npu | 2.10.0 |
transformers | 5.8.1 |
torchaudio | 2.10.0+cpu |
1 逻辑卡/data/xxy/sarashina2.2-ttssarashina2.2-ttsconda create -n sarashina2.2-tts python=3.10 -y
conda activate sarashina2.2-ttspip install torch==2.10.0 torchvision torchaudio==2.10.0 --index-url https://download.pytorch.org/whl/cpu
pip install torch-npu==2.10.0 transformers==5.8.1 sentencepiece --index-url https://repo.huaweicloud.com/repository/pypi/simple/
pip install decorator attrs psutil cloudpickle ml-dtypes tornado scipy --index-url https://repo.huaweicloud.com/repository/pypi/simple/python -c "import torch; print('NPU available:', torch.npu.is_available())"本适配针对 LlamaForCausalLM 主模型进行 NPU 部署支持:
attn_implementation="eager" 避免 flash_attention 依赖model.to("npu:0") 将模型权重迁移到 NPU# 基本推理
python inference.py --text "こんにちは"
# 指定设备
python inference.py --text "こんにちは" --device cpu
python inference.py --text "こんにちは" --device npu:0
# 生成更长序列
python inference.py --text "Hello world" --max-length 100python eval.py评测结果将输出到终端并保存到 log.txt。
使用随机输入对比 CPU 与 NPU 输出,计算最大绝对误差相对于值范围的百分比。
| 输出 | 最大绝对误差 | 相对误差 (%) |
|---|---|---|
logits | 4.96e-05 | 0.0002 |
| 全局 | 4.96e-05 | 0.0002 ✅ |
精度阈值要求:相对误差 < 1%
| 指标 | CPU | NPU |
|---|---|---|
| 平均推理耗时 | 1656.70 ms | 49.16 ms |
| 加速比 | 1x | 33.70x |
sarashina2.2-tts-ascend/
├── inference.py # 推理脚本
├── eval.py # 精度与性能评测脚本
├── log.txt # 评测日志
└── README.md # 本文档