语言: 英语
许可证: MIT
标签:
- 音频
- 自动语音识别
- Whisper
- 空中交通管制
- 航空
数据集:
- jlvdoorn/atco2-asr-atcosim
评估指标:
- 词错误率
模型索引:
- 名称: whisper-large-v3-turbo-atcosim-finetune
结果:
- 任务:
类型: 自动语音识别
名称: 语音识别
数据集:
类型: jlvdoorn/atco2-asr-atcosim
名称: ATCOSIM
评估指标:
- 类型: 词错误率
值: 3.73
名称: 词错误率
库名称: transformers
流水线标签: 自动语音识别
推理参数:
分块长度(秒): 30
批量大小: 16
返回时间戳: false
小部件示例:
- 示例标题: ATC样本1
音频源: https://huggingface.co/spaces/tclin/atc-whisper-transcriber/resolve/main/atc-sample-1.wav
- 示例标题: ATC样本2
音频源: https://huggingface.co/spaces/tclin/atc-whisper-transcriber/resolve/main/atc-sample-2.wav
- 示例标题: ATC样本3
音频源: https://huggingface.co/spaces/tclin/atc-whisper-transcriber/resolve/main/atc-sample-3.wav

Whisper Large V3 Turbo:针对ATC领域优化的微调模型
模型描述
该模型是基于OpenAI Whisper Large V3 Turbo的微调版本,专门优化用于空中交通管制(ATC)通信的转录。
模型在ATCOSIM数据集上进行了微调,该数据集包含来自实际运行环境的真实ATC通信录音。
预期用途
该模型设计用于:
- 转录ATC无线电通信
- 支持航空安全研究
- 分析ATC通信中的拥堵模式
- 为空域管理提供数据驱动的决策支持
训练方法
采用部分冻结策略平衡效率与适应性:
- 前24层编码器保持冻结
- 所有卷积层和位置嵌入保持冻结
- 深层编码器及解码器进行微调
训练超参数:
- 学习率: 1e-5
- 训练步数: 5000
- 预热步数: 500
- 启用梯度检查点
- FP16精度
- 单设备批量大小: 16
- 评估指标: 词错误率(WER)
性能表现
相比基础Whisper模型,本模型在航空通信转录方面表现更优,特别是在:
- ATC术语识别
- 呼号转录准确率
- 无线电传输噪声处理
- 标准通话用语识别
训练指标
5000步训练过程(10个周期):
步数 |
训练损失 |
验证损失 |
词错误率 |
1000 |
0.090100 |
0.081074 |
5.81697 |
2000 |
0.021100 |
0.080030 |
4.00939 |
3000 |
0.010000 |
0.080892 |
5.67438 |
4000 |
0.002500 |
0.080460 |
3.88357 |
5000 |
0.001400 |
0.080753 |
3.73678 |
最终模型词错误率(WER)达到3.73678%,训练过程中持续提升,在ATC通信转录任务上展现出优异性能。
局限性
- 专门针对英语ATC通信优化
- 对不同口音和地区性通话用语的适应性可能不同
- 不适用于航空领域外的通用语音识别
- 对极端噪声环境或通信重叠的情况可能表现不佳
使用方式
基础流水线用法
import torch
from transformers import pipeline
device = "cuda:0" if torch.cuda.is_available() else "cpu"
torch_dtype = torch.float16 if torch.cuda.is_available() else torch.float32
transcriber = pipeline(
"automatic-speech-recognition",
model="tclin/whisper-large-v3-turbo-atcosim-finetune",
chunk_length_s=30,
max_new_tokens=128,
torch_dtype=torch_dtype,
device=device
)
result = transcriber("path_to_atc_audio.wav")
print(f"转录结果: {result['text']}")
高级音频处理用法
import torch
import torchaudio
from transformers import WhisperProcessor, WhisperForConditionalGeneration
audio_path = "path_to_atc_audio.wav"
waveform, sample_rate = torchaudio.load(audio_path)
if sample_rate != 16000:
resampler = torchaudio.transforms.Resample(orig_freq=sample_rate, new_freq=16000)
waveform = resampler(waveform)
if waveform.shape[0] > 1:
waveform = waveform.mean(dim=0, keepdim=True)
waveform_np = waveform.squeeze().cpu().numpy()
device = "cuda:0" if torch.cuda.is_available() else "cpu"
torch_dtype = torch.float16 if torch.cuda.is_available() else torch.float32
model = WhisperForConditionalGeneration.from_pretrained("tclin/whisper-large-v3-turbo-atcosim-finetune")
model = model.to(device=device, dtype=torch_dtype)
processor = WhisperProcessor.from_pretrained("tclin/whisper-large-v3-turbo-atcosim-finetune")
input_features = processor(waveform_np, sampling_rate=16000, return_tensors="pt").input_features
input_features = input_features.to(device=device, dtype=torch_dtype)
generated_ids = model.generate(input_features, max_new_tokens=128)
transcription = processor.batch_decode(generated_ids, skip_special_tokens=True)[0]
print(f"转录结果: {transcription}")
from transformers import pipeline
pipe = pipeline(
"automatic-speech-recognition",
model=model,
tokenizer=processor.tokenizer,
feature_extractor=processor.feature_extractor,
max_new_tokens=128,
chunk_length_s=30,
torch_dtype=torch_dtype,
device=device
)
result = pipe(waveform_np)
print(f"转录结果: {result['text']}")
重要说明
- 处理前确保音频已重采样至16kHz
- 使用GPU时显式设置设备和精度
model.to(device=device, dtype=torch_dtype)
- 处理长音频时使用
chunk_length_s
参数
- 模型在标准通话用语的清晰ATC通信中表现最佳
更广泛的应用
本模型可作为ATC通信语音分析流程的组成部分,包括:
- 语音转文本转录(本模型)
- 基于领域知识的文本格式化
- 基于转录内容的拥堵分析
引用
如用于研究请引用:
@misc{ta-chun_lin_2025,
author = { 林大钧 },
title = { whisper-large-v3-turbo-atcosim-finetune (修订版4b2d400) },
年份 = 2025,
网址 = { https://huggingface.co/tclin/whisper-large-v3-turbo-atcosim-finetune },
doi = { 10.57967/hf/5272 },
发布者 = { Hugging Face }
}
致谢
- OpenAI提供基础Whisper模型
- ATCOSIM数据集提供高质量ATC通信数据
- 开源社区提供实现微调的工具和框架