Initial commit: FunASR Speech Recognition Toolkit
Update API Documentation / build-api-docs (push) Has been cancelled

Add complete FunASR codebase including models, runtime, and documentation.
This commit is contained in:
freedakgmail
2026-07-09 22:38:58 +08:00
commit 6116b1f3c6
3683 changed files with 990984 additions and 0 deletions
@@ -0,0 +1,112 @@
# Paraformer LoRA 微调说明
本文档说明如何在 FunASR 中使用 LoRA 微调 Paraformer,并提供训练、推理与 CER 评测的完整示例。
## 1. 前置准备
1. 已准备好符合 FunASR 要求的 `train.jsonl``val.jsonl`
2. 进入仓库根目录(示例路径):
```bash
cd /workspace/FunASR
```
## 2. 训练配置
LoRA 配置文件:
```
examples/industrial_data_pretraining/paraformer/conf/paraformer_lora.yaml
```
关键字段说明:
- `model`: 基座模型名称或本地模型路径。
- `lora_only`: 是否只训练 LoRA 参数。
- `lora_bias`: LoRA 偏置训练策略(`none`/`all`/`lora_only`)。
- `encoder_conf.lora_*` / `decoder_conf.lora_*`: LoRA 参数(rank/alpha/dropout)。
- `train_data_set_list`/`valid_data_set_list`: 训练/验证集 jsonl。
如需覆盖配置,请通过命令行 `++key=value` 传参。
## 3. 训练脚本
脚本:
```
examples/industrial_data_pretraining/paraformer/lora_finetune.sh
```
你只需要确认脚本中的数据路径:
```bash
data_dir="${workspace}/data/list"
train_data="${data_dir}/train.jsonl"
val_data="${data_dir}/val.jsonl"
```
运行:
```bash
bash examples/industrial_data_pretraining/paraformer/lora_finetune.sh
```
训练日志与模型输出将保存在:
```
examples/industrial_data_pretraining/paraformer/outputs_lora
```
## 4. 推理脚本
推理脚本会读取 jsonl 输入并生成 `text.hyp` / `text.ref`
- Python 脚本:`examples/industrial_data_pretraining/paraformer/lora_infer.py`
- Shell 封装:`examples/industrial_data_pretraining/paraformer/lora_infer.sh`
修改 `lora_infer.sh` 中路径后运行:
```bash
bash examples/industrial_data_pretraining/paraformer/lora_infer.sh
```
输出目录默认:
```
examples/industrial_data_pretraining/paraformer/outputs_lora/infer
```
## 5. CER 评测
评测脚本:
```
examples/industrial_data_pretraining/paraformer/lora_cer.sh
```
运行:
```bash
bash examples/industrial_data_pretraining/paraformer/lora_cer.sh
```
结果会输出 CER 统计到:
```
examples/industrial_data_pretraining/paraformer/outputs_lora/infer/text.cer
```
## 6. 常见问题
1. **训练不收敛或效果差**
- 尝试调整 `lora_rank``lora_alpha``lora_dropout`
- 调整 `optim_conf.lr``train_conf.max_epoch`
2. **推理报错找不到配置**
- 确保训练输出目录中存在 `config.yaml`,并在推理脚本中设置正确的 `config_path``config_name`
3. **多卡训练**
- 设置 `CUDA_VISIBLE_DEVICES`,脚本会自动计算 `gpu_num`
---
如需进一步定制,可直接在 `paraformer_lora.yaml` 中修改配置或在命令行传参覆盖。