本文档记录 TADA-1B 模型在 Ascend NPU 环境下的适配与验证结果。TADA-1B 是一个基于 LlamaForCausalLM 的语音-文本双对齐生成模型,核心特点是通过 1:1 Token 对齐实现高效的自然语音合成。
模型信息:
TadaForCausalLM(基于 LlamaForCausalLM)vocab_size=128256, hidden_size=2048, num_layers=16AutoModelForCausalLM 加载相关资源:
| 组件 | 版本 |
|---|---|
torch | 2.9.0 |
torch-npu | 2.9.0.post1+gitee7ba04 |
transformers | 4.57.3 |
ascend-kit | 24.1.rc2 |
cann | 8.0.rc2 |
1 逻辑卡/data/xxy/tada-1bconda create -n tada-npu python=3.10 -y
conda activate tada-npupip install torch==2.9.0 torchvision torchaudio --index-url https://repo.inference.ascend.cn/repository/pyTorch-gpu SimpleITK nibabel --extra-index-url https://repo.inference.ascend.cn/repository/Ascend-pypi/
pip install transformers==4.57.3 --index-url https://repo.modelart.cn/pypi/mirror/simple本适配基于原生 transformers 库实现,主要步骤:
AutoModelForCausalLM 加载模型,指定 trust_remote_code=Truetorch.npu.is_available() 检测 NPU 可用性关键配置:
device_map="npu:0" 或手动 .to("npu:0")torch.compile() 可进一步优化性能(如需)torchaudio,Tokenizer 通过 AutoTokenizer 加载python inference.py \
--model-dir /data/xxy/tada-1b \
--device npu:0 \
--warmup 3 \
--benchmark参数说明:
| 参数 | 默认值 | 说明 |
|---|---|---|
--model-dir | 必填 | 模型权重目录路径 |
--device | npu:0 | 推理设备 |
--warmup | 0 | 预热轮数 |
--benchmark | False | 是否运行性能评测 |
python eval.py| 设备 | 相对误差 | 状态 |
|---|---|---|
| CPU | 基准 | - |
| NPU | < 1% | 通过 |
精度评测方法:对比 CPU 与 NPU 的前向传播输出,计算 logits 的相对误差,确保误差小于 1%。
| 指标 | 数值 |
|---|---|
input length | 32 tokens |
batch size | 1 |
avg inference time | 参考实际运行 |
throughput | 参考实际运行 |
性能测试条件:seq_len=32, iterations=20, warmup=3
torch.npu.is_available() 返回 TrueEncoder,请参考官方文档