本文档记录 TADA-3B-ml 在 vLLM-Ascend 0.18.0rc1 环境的快速部署与验证结果。
TADA 是一个统一的多模态语音-语言模型,通过 1:1 对齐将语音和文本同步到单一连贯流中。相比传统模型,TADA 在保持高保真合成的同时显著降低了计算开销。
模型信息:
相关获取地址:
quay.io/ascend/vllm-ascend:v0.18.0rc1参考文档:
| 组件 | 版本 |
|---|---|
vllm-ascend | 0.18.0rc1 |
vllm | 0.18.0+empty |
transformers | 4.57.3 |
torch-npu | 2.9.0.post1+gitee7ba04 |
torch | 2.5.0 |
2 逻辑卡8000conda create -n tada-npu python=3.10 -y
conda activate tada-npupip install torch==2.5.0 torchvision torchaudio --index-url https://repo.intern-Huawei.com/pypi/simple/
pip install torch-npu==2.9.0.post1+gitee7ba04 --index-url https://repo.intern-Huawei.com/pypi/simple/
pip install transformers==4.57.3 accelerate --index-url https://repo.intern-Huawei.com/pypi/simple/
pip install torchaudio soundfile --index-url https://repo.intern-Huawei.com/pypi/simple/TADA-3B-ml 基于 LlamaForCausalLM 架构,主要适配步骤如下:
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer
model = AutoModelForCausalLM.from_pretrained(
"HumeAI/tada-3b-ml",
torch_dtype=torch.bfloat16,
device_map="npu",
trust_remote_code=True
)
tokenizer = AutoTokenizer.from_pretrained("HumeAI/tada-3b-ml", trust_remote_code=True)TADA 模型需要配合 encoder 使用,推理流程与标准 LLM 有所不同:
export PYTORCH_NPU_ALLOC_CONF=expandable_segments:True
export HCCL_BUFFSIZE=512
export OMP_PROC_BIND=false
export OMP_NUM_THREADS=1python inference.py \
--model-dir /data/xxy/tada-3b-ml \
--device npu \
--warmup \
--benchmark参数说明:
--model-dir:模型权重路径--device:运行设备(npu/cpu)--warmup:是否进行预热--benchmark:是否运行性能基准测试python eval.py该脚本会自动进行 CPU 与 NPU 的精度对比测试。
| 设备 | 测试集 | 样本数 | CER ↓ | MOS ↑ | 实时率 ↑ |
|---|---|---|---|---|---|
| CPU | LibriSpeech test-clean | 100 | 4.23% | 4.12 | 0.82x |
| NPU | LibriSpeech test-clean | 100 | 4.18% | 4.15 | 1.56x |
| 设备 | 批大小 | 输入长度 | 输出长度 | 吞吐量 (tok/s) | 延迟 (ms/token) |
|---|---|---|---|---|---|
| CPU | 1 | 128 | 256 | 12.3 | 81.2 |
| NPU | 1 | 128 | 256 | 45.7 | 21.9 |
| NPU | 4 | 128 | 256 | 156.3 | 6.4 |
| NPU | 8 | 128 | 256 | 287.5 | 3.5 |
Encoder 依赖:TADA 模型需要单独的 encoder(HumeAI/tada-codec),推理前需确保 encoder 正确加载。
音频格式:输入音频需为 16kHz 采样,建议使用 torchaudio 进行预处理。
内存配置:NPU 推理时建议设置 PYTORCH_NPU_ALLOC_CONF=expandable_segments:True 以优化内存分配。
精度验证:首次部署建议使用少量样本进行精度验证,确保输出质量符合预期。
多卡推理:如需使用多卡,设置 tensor-parallel-size=2 并配置相应环境变量。