🚀 Whisper Large V3 Turbo: 航空交通管制(ATC)ドメイン用にファインチューニングされたモデル
このモデルは、航空交通管制(ATC)通信の文字起こしに特化して最適化された、OpenAIのWhisper Large V3 Turboのファインチューニング版です。このモデルは、実運用環境の実際のATC通信を含むATCOSIMデータセットを使用してファインチューニングされています。
🚀 クイックスタート
このモデルは、以下の目的で設計されています。
- ATC無線通信の文字起こし
- 航空安全研究の支援
- ATC通信の混雑パターンの分析
- 空域管理におけるデータ駆動型の意思決定の実現
✨ 主な機能
- 航空通信における文字起こし精度の向上
- ATC用語の認識能力の強化
- コールサインの文字起こし精度の向上
- 無線伝送ノイズの処理能力の向上
- 標準化されたフレーズの認識能力の向上
📦 インストール
このモデルはtransformers
ライブラリを使用しています。必要な依存関係をインストールすることで、簡単に使用できます。
💻 使用例
基本的な使用法
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通信で最も良い性能を発揮します。
📚 ドキュメント
モデルの概要
このモデルは、OpenAIのWhisper Large V3 Turboをベースに、ATCOSIMデータセットを使用してファインチューニングされています。これにより、ATC通信の文字起こしに特化した高精度なモデルが実現されています。
学習方法
このモデルは、効率と適応性をバランスさせるために、部分的なフリージングアプローチを使用してファインチューニングされています。
- 最初の24層のエンコーダ層を凍結
- すべての畳み込み層と位置埋め込みを凍結
- 後半のエンコーダ層とデコーダをファインチューニング
学習ハイパーパラメータ:
- 学習率: 1e-5
- 学習ステップ: 5000
- ウォームアップステップ: 500
- 勾配チェックポイントを有効化
- FP16精度
- バッチサイズ: デバイスごとに16
- 評価指標: 単語誤り率(WER)
性能
このモデルは、ベースのWhisperモデルと比較して、航空通信の文字起こし精度が向上しています。特に以下の点で改善が見られます。
- ATC用語の認識
- コールサインの文字起こし精度
- 無線伝送ノイズの処理
- 標準化されたフレーズの認識
学習指標
5000ステップ(10エポック)の学習過程における指標:
ステップ |
学習損失 |
検証損失 |
単語誤り率(WER) |
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通信に特化して最適化されています。
- 異なるアクセントや地域のフレーズでは、性能が異なる場合があります。
- 航空ドメイン以外の一般的な音声認識には最適化されていません。
- 非常にノイズの多い伝送や重複する通信では、うまく機能しない場合があります。
広範な応用
このモデルは、ATC通信の音声解析パイプラインの一部として、以下の機能を提供します。
- 音声からテキストへの文字起こし(このモデル)
- 文脈知識を使用したドメイン固有のテキストの再フォーマット
- 文字起こしされた通信に基づく混雑分析
🔧 技術詳細
このモデルは、部分的なフリージングアプローチを使用してファインチューニングされています。具体的には、最初の24層のエンコーダ層、すべての畳み込み層と位置埋め込みを凍結し、後半のエンコーダ層とデコーダをファインチューニングしています。これにより、効率と適応性をバランスさせることができます。
学習ハイパーパラメータとして、学習率を1e-5、学習ステップを5000、ウォームアップステップを500と設定し、勾配チェックポイントを有効化し、FP16精度で学習を行っています。バッチサイズはデバイスごとに16で、評価指標として単語誤り率(WER)を使用しています。
📄 ライセンス
このモデルはMITライセンスの下で提供されています。
引用
もしあなたがこのモデルを研究で使用する場合は、以下のように引用してください。
@misc{ta-chun_lin_2025,
author = { Ta-Chun Lin },
title = { whisper-large-v3-turbo-atcosim-finetune (Revision 4b2d400) },
year = 2025,
url = { https://huggingface.co/tclin/whisper-large-v3-turbo-atcosim-finetune },
doi = { 10.57967/hf/5272 },
publisher = { Hugging Face }
}
謝辞
- OpenAIには、ベースとなるWhisperモデルを提供してくれたことに感謝します。
- ATCOSIMデータセットには、高品質なATC通信データを提供してくれたことに感謝します。
- オープンソースコミュニティには、このファインチューニングを可能にしたツールやフレームワークを提供してくれたことに感謝します。