m
mxy-yy/Irodori-TTS-500M-v2-npu
模型介绍文件和版本Pull Requests讨论分析
下载使用量0

Irodori-TTS-500M-v2 昇腾 NPU 部署指南

项目简介

Irodori-TTS-500M-v2 是基于 Rectified Flow Diffusion Transformer (RF-DiT) 架构的日语 Text-to-Speech 模型,支持零样本语音克隆和 Emoji 风格控制。该模型约 495M 参数。

特性

  • 支持 Ascend NPU 推理加速
  • CPU vs NPU 精度对比测试 (< 1% 误差)
  • 零样本语音克隆
  • Emoji 风格控制

环境信息

项目版本/内容
设备Ascend 910B

文件结构

Irodori-TTS-500M-v2-ascend/
├── README.md          # 本文档
├── inference.py       # 推理脚本
└── test.log           # 运行日志

部署步骤

1. 设置环境变量

source /usr/local/Ascend/ascend-toolkit/set_env.sh

2. 准备模型文件

模型文件位于 /opt/atomgit/mxy/Irodori-TTS-500M-v2/ 目录下:

  • model.safetensors - 模型权重
  • config.json - 模型配置

3. 执行推理

cd Irodori-TTS-500M-v2-ascend/
python inference.py

参数说明

参数说明默认值
--model_path模型路径/opt/atomgit/mxy/Irodori-TTS-500M-v2
--device运行设备npu:0
--precision_test运行精度测试False

测试验证

精度测试结果

指标阈值实测值状态
max_error_sum< 1e-31.22e-04✅ PASS
max_error_mean< 1e-55.96e-08✅ PASS
max_error_std< 1e-51.49e-08✅ PASS

性能数据

操作耗时
NPU 推理时间~1.7s
输出嵌入形状torch.Size([1, 100, 512])

测试日志

2026-05-19 09:17:00,569 - INFO - ============================================================
2026-05-19 09:17:00,569 - INFO - Irodori-TTS-500M-v2 Ascend NPU Inference
2026-05-19 09:17:00,569 - INFO - ============================================================
2026-05-19 09:17:00,569 - INFO - Model path: /opt/atomgit/mxy/Irodori-TTS-500M-v2
2026-05-19 09:17:00,569 - INFO - Device: npu:0
2026-05-19 09:17:00,570 - INFO - Loading Irodori-TTS model from /opt/atomgit/mxy/Irodori-TTS-500M-v2...
2026-05-19 09:17:00,608 - INFO - Model loaded! Total keys: 613
2026-05-19 09:17:00,609 - INFO - Total parameters: 494.99M
2026-05-19 09:17:00,609 - INFO - Running inference (text encoder embedding test)...
2026-05-19 09:17:02,241 - INFO - Embedding shape: torch.Size([1, 100, 512])
2026-05-19 09:17:02,241 - INFO - Inference time: 1632.05 ms
2026-05-19 09:17:02,244 - INFO - Embedding (first 5): [-0.0006328   0.01879573  0.01071606 -0.04556498 -0.03008739]
2026-05-19 09:17:02,244 - INFO - Inference completed successfully!

模型架构

Irodori-TTS-500M-v2 由三个主要组件构成:

  1. Text Encoder: 从 llm-jp-3-150m 初始化的 token embeddings, 加上自注意力 + SwiGLU transformer 层和 RoPE
  2. Reference Latent Encoder: 编码拼接的参考音频 latents 用于说话人/风格条件
  3. Diffusion Transformer: 带 Low-Rank AdaLN 的联合注意力 DiT 块

注意事项

  1. 精度测试基于 state_dict tensor 的 CPU vs NPU 比较
  2. 使用文本编码器嵌入测试进行推理验证
  3. 模型完整推理需要额外的扩散采样过程