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

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

概述

本项目提供 Aratako/Irodori-TTS-500M-v2 模型在华为昇腾 NPU 上的部署方案,这是一个基于 Rectified Flow Diffusion Transformer (RF-DiT) 架构的日语 Text-to-Speech 模型,支持零样本语音克隆和 Emoji 风格控制。

模型信息

属性值
模型名称Irodori-TTS-500M-v2
参数量~495M
架构RF-DiT (Rectified Flow Diffusion Transformer)
音频表示Semantic-DACVAE-Japanese-32dim (32维)
支持语言日语
特点Emoji风格控制、零样本语音克隆

环境要求

  • NPU: Atlas 910B3
  • Python: 3.11
  • PyTorch: 2.8.0+ with torch_npu
  • safetensors

文件结构

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

运行推理

精度测试

docker exec test-modelagent bash -c "cd /data/ysws/agentsp/Irodori-TTS-500M-v2-ascend && python inference.py --precision_test 2>&1 | tee log.txt"

推理测试

docker exec test-modelagent bash -c "cd /data/ysws/agentsp/Irodori-TTS-500M-v2-ascend && python inference.py 2>&1 | tee log.txt"

参数说明

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

精度测试结果

============================================================
Precision Comparison: CPU vs NPU
============================================================
Max errors: sum=1.22e-04, mean=5.96e-08, std=1.49e-08
PASS: NPU precision within thresholds
============================================================
PRECISION TEST PASSED
============================================================
指标阈值实测值状态
max_error_sum< 1e-31.22e-04✅ PASS
max_error_mean< 1e-55.96e-08✅ PASS
max_error_std< 1e-51.49e-08✅ PASS

输出示例

2026-05-11 08:55:34,920 - INFO - Irodori-TTS-500M-v2 Ascend NPU Inference
2026-05-11 08:55:34,957 - INFO - Model loaded! Total keys: 613
2026-05-11 08:55:34,957 - INFO - Total parameters: 494.99M
2026-05-11 08:55:34,957 - INFO - Running inference (text encoder embedding test)...
2026-05-11 08:55:36,683 - INFO - Embedding shape: torch.Size([1, 100, 512])
2026-05-11 08:55:36,683 - INFO - Inference time: 1725.43 ms
2026-05-11 08:55:36,684 - INFO - Embedding (first 5): [-0.06962991 0.04385429 ...]
2026-05-11 08:55:36,684 - INFO - Inference completed successfully!

性能参考

指标值
推理时间 (NPU)~1.7s
输出嵌入形状torch.Size([1, 100, 512])
模型参数量495M

模型架构

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 块

音频通过 Semantic-DACVAE-Japanese-32dim codec (32维) 表示为连续 latent 序列。

注意事项

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