Nodes/FireRedAudio · T8star-Aix/FireRedAudio 加速实测向导 · T8star-Aix
ComfyUI Node

FireRedAudio 加速实测向导 · T8star-Aix

Actually measure FlashAttention vs DeepSpeed on your card

By T8mars·Created 19 days ago·Updated 15 days ago· 21
FireRedAudio 加速实测向导 · T8star-Aix
  • model
  • prompt_audio
  • settings
  • 全部正式测量音频
  • 加速建议
  • 完整基准报告
  • 基准 Manifest 路径
prompt_text
target_text
languagezh
modesoff,flash_attention,deepspeed
warmup_runs1
measure_runs3
minimum_improvement_percent10
require_reproducible_hashtrue
project_nameacceleration-benchmark
subfolderfireredaudio/benchmarks

Somebody online told you DeepSpeed makes FireRedAudio twice as fast. Maybe it does - on their GPU, with their text, after their warmup. This node exists to find out what's true on yours, and it's the only honest way to answer that question, because the README itself refuses to commit: it quotes real RTX 5090 Laptop numbers where FlashAttention beat off by 12% and DeepSpeed by 14.5%, then points out that still doesn't clear the 20% bar the pack sets for experimental modes. Benchmark before you believe.

What it does

It fixes one reference audio, one reference transcript, one target text, one seed and one generation config, then runs each acceleration mode you ask for - off, flash_attention, deepspeed, fla_liger, torch_compile - through a warmup pass and then 3–20 formal runs. You get median wall time, RTF (real-time factor), peak CUDA memory, output hashes, and whether the mode silently fell back to a slower path. Then it says "recommend this," and nothing more. It deliberately does not touch your Model Loader's settings; you read the recommendation and set the mode yourself. That's a feature, not a wart - a benchmark that mutates your workflow is how you end up with your .venv broken and no idea why.

modes defaults to off,flash_attention,deepspeed, but you can name any combo. Note it always auto-inserts an off baseline even if you forget, because a speed claim without a baseline is just a number. The default thresholds are sensible: plain candidates need ≥10% median improvement, experimental ones (DeepSpeed, FLA, Torch Compile) need ≥20%, and with require_reproducible_hash on, a mode only gets recommended if same-seed runs produce identical hashes. If a mode can't even load - missing wheel, CUDA ABI mismatch - it's reported as a fallback, not counted as a win. That matters more than people realize: the pack has a whole audit path for exactly this, so you never mistake "silently ran the slow path" for "this mode rocks."

The inputs that matter

You only really set a handful of things. prompt_text is mandatory and it must be the actual transcript of your reference audio - the validator refuses to run otherwise, because letting the worker ASR it would contaminate your TTS timing measurement. prompt_audio and target_text are your fixed workload. measure_runs at the default 3 is fine for a first pass; bump to 5 if you're deciding something important. Everything else (project_name, subfolder) just controls where the WAVs and manifest land.

Outputs: the full audio batch of all formal runs, the recommendation string, a complete report, and the manifest path. Wire the recommendation into the Model Loader's acceleration_mode yourself.

Install and run

This is part of the comfyui-fireredaudio-T8 pack, so install it once and every FireRedAudio node comes along:

cd ComfyUI\custom_nodes
git clone https://github.com/T8mars/comfyui-fireredaudio-T8.git
cd comfyui-fireredaudio-T8
python scripts\setup_runtime.py

Then drop the model into ComfyUI/models/TTS/FireRedAudio/ (python scripts\download_models.py --profile full --variant int8-wo-safe-v1 does it). The setup script builds an isolated Python 3.10 / torch 2.8 / Transformers 5.8 worker so your ComfyUI Python stays untouched - that's the whole architecture of this pack, and it's the right call given how often audio nodes fight over Transformers versions.

Gotchas

Don't benchmark on a cold start: warmup exists precisely because model load (~60+ seconds here) is not inference speed. Don't draw conclusions from one run - the node's whole point is medians over repeated runs. And remember the result is this machine, this text, this reference; it is not a universal verdict on FlashAttention. Run it again when you change anything that matters.

The honest bottom line: this node is overkill if you just want FireRedAudio to work. It's essential if you're about to make a hardware-buying or workflow-defaulting decision based on a forum post.

CategoryT8star-Aix/Audio/FireRedAudio

Inputs (13)

NameTypeDefaultDescription
modelT8_FIREREDAUDIO_MODEL
prompt_audioAUDIO
prompt_textSTRING
target_textSTRING
languageCOMBOzh2 options: zh, en
modesSTRINGoff,flash_attention,deepspeed
warmup_runsINT11–3
measure_runsINT33–20
minimum_improvement_percentFLOAT100–100
require_reproducible_hashBOOLEANtrue
project_nameSTRINGacceleration-benchmark
subfolderSTRINGfireredaudio/benchmarks
settingsoptT8_FIREREDAUDIO_SETTINGS

Outputs (4)

NameTypeDescription
全部正式测量音频T8_FIREREDAUDIO_AUDIO_BATCH
加速建议STRING
完整基准报告STRING
基准 Manifest 路径STRING