本地部署小红书FireRedASR
环境
显存 RTX 4070 Ti 12G
内存32G
uv 0.7.3
python 3.10
ubuntu24.04
创建虚拟环境
export UV_PYTHON_INSTALL_MIRROR="https://mirror.nju.edu.cn/github-release/indygreg/python-build-standalone"
uv python install 3.10
mkdir fireredasrenv
cd fireredasrenv
uv venv -p3.10 .venv
source .venv/bin/activate
下载源代码
https://github.com/FireRedTeam/FireRedASR
解压放到fireredasrenv文件夹中
mv /mnt/e/FireRedASR-main/* ~/python-project/fireredasrenv/
安装依赖
source .venv/bin/activate
uv init
# 修改pyproject.toml
[[tool.uv.index]]
url = "https://pypi.tuna.tsinghua.edu.cn/simple"
default = trueuv add transformers
# uv add numpy
uv tree
uv add cn2an
uv add kaldiio
uv add kaldi_native_fbank
uv add peft
uv add sentencepiece
fireredasrenv v0.1.0
├── cn2an v0.5.23
│ └── proces v0.1.7
├── kaldi-native-fbank v1.21.1
├── kaldiio v2.18.1
│ └── numpy v2.2.5
├── numpy v2.2.5
├── peft v0.15.2
│ ├── accelerate v1.6.0
│ │ ├── huggingface-hub v0.31.1
│ │ │ ├── filelock v3.18.0
│ │ │ ├── fsspec v2025.3.2
│ │ │ ├── hf-xet v1.1.0
│ │ │ ├── packaging v25.0
│ │ │ ├── pyyaml v6.0.2
│ │ │ ├── requests v2.32.3
│ │ │ │ ├── certifi v2025.4.26
│ │ │ │ ├── charset-normalizer v3.4.2
│ │ │ │ ├── idna v3.10
│ │ │ │ └── urllib3 v2.4.0
│ │ │ ├── tqdm v4.67.1
│ │ │ └── typing-extensions v4.13.2
│ │ ├── numpy v2.2.5
│ │ ├── packaging v25.0
│ │ ├── psutil v7.0.0
│ │ ├── pyyaml v6.0.2
│ │ ├── safetensors v0.5.3
│ │ └── torch v2.7.0
│ │ ├── filelock v3.18.0
│ │ ├── fsspec v2025.3.2
│ │ ├── jinja2 v3.1.6
│ │ │ └── markupsafe v3.0.2
│ │ ├── networkx v3.4.2
│ │ ├── nvidia-cublas-cu12 v12.6.4.1
│ │ ├── nvidia-cuda-cupti-cu12 v12.6.80
│ │ ├── nvidia-cuda-nvrtc-cu12 v12.6.77
│ │ ├── nvidia-cuda-runtime-cu12 v12.6.77
│ │ ├── nvidia-cudnn-cu12 v9.5.1.17
│ │ │ └── nvidia-cublas-cu12 v12.6.4.1
│ │ ├── nvidia-cufft-cu12 v11.3.0.4
│ │ │ └── nvidia-nvjitlink-cu12 v12.6.85
│ │ ├── nvidia-cufile-cu12 v1.11.1.6
│ │ ├── nvidia-curand-cu12 v10.3.7.77
│ │ ├── nvidia-cusolver-cu12 v11.7.1.2
│ │ │ ├── nvidia-cublas-cu12 v12.6.4.1
│ │ │ ├── nvidia-cusparse-cu12 v12.5.4.2
│ │ │ │ └── nvidia-nvjitlink-cu12 v12.6.85
│ │ │ └── nvidia-nvjitlink-cu12 v12.6.85
│ │ ├── nvidia-cusparse-cu12 v12.5.4.2 (*)
│ │ ├── nvidia-cusparselt-cu12 v0.6.3
│ │ ├── nvidia-nccl-cu12 v2.26.2
│ │ ├── nvidia-nvjitlink-cu12 v12.6.85
│ │ ├── nvidia-nvtx-cu12 v12.6.77
│ │ ├── sympy v1.14.0
│ │ │ └── mpmath v1.3.0
│ │ ├── triton v3.3.0
│ │ │ └── setuptools v80.4.0
│ │ └── typing-extensions v4.13.2
│ ├── huggingface-hub v0.31.1 (*)
│ ├── numpy v2.2.5
│ ├── packaging v25.0
│ ├── psutil v7.0.0
│ ├── pyyaml v6.0.2
│ ├── safetensors v0.5.3
│ ├── torch v2.7.0 (*)
│ ├── tqdm v4.67.1
│ └── transformers v4.51.3
│ ├── filelock v3.18.0
│ ├── huggingface-hub v0.31.1 (*)
│ ├── numpy v2.2.5
│ ├── packaging v25.0
│ ├── pyyaml v6.0.2
│ ├── regex v2024.11.6
│ ├── requests v2.32.3 (*)
│ ├── safetensors v0.5.3
│ ├── tokenizers v0.21.1
│ │ └── huggingface-hub v0.31.1 (*)
│ └── tqdm v4.67.1
├── sentencepiece v0.2.0
└── transformers v4.51.3 (*)
(*) Package tree already displayed
下载模型
https://hf-mirror.com/FireRedTeam/FireRedASR-AED-L
# git下载
git lfs install
git clone https://hf-mirror.com/FireRedTeam/FireRedASR-AED-L
复制模型到pretrained_models
mv /mnt/d/LLM/fireredasr/FireRedASR-AED-L/* ~/python-project/fireredasrenv/pretrained_models/
设置环境变量
cd /home/wjl/python-project/fireredasrenv
export PATH=$PWD/fireredasr/:$PWD/fireredasr/utils/:$PATH
export PYTHONPATH=$PWD/:$PYTHONPATH
测试
uv run fireredasr/speech2text.py --help
修改main.py
from fireredasr.models.fireredasr import FireRedAsrif __name__ == "__main__":batch_uttid = ["BAC009S0764W0121"]batch_wav_path = ["examples/wav/BAC009S0764W0121.wav"]# FireRedASR-AEDmodel = FireRedAsr.from_pretrained("aed", "pretrained_models")results = model.transcribe(batch_uttid,batch_wav_path,{"use_gpu": 1,"beam_size": 3,"nbest": 1,"decode_max_len": 0,"softmax_smoothing": 1.25,"aed_length_penalty": 0.6,"eos_penalty": 1.0})print(results)
修改fireredasr.py,大约110行load_fireredasr_aed_model
方法torch.load修改为package = torch.load(model_path, map_location=lambda storage, loc: storage,weights_only=False)
运行
uv run main.py
参考
https://github.com/FireRedTeam/FireRedASR