Hugging Face 推論エンドポイント: 高速 Whisper 転写
Hugging Face は、OpenAI Whisper の新しいデプロイオプションを Inference Endpoints 上で提供し、従来バージョンに比べて最大 8 倍の性能向上を実現しました。このアップデートにより、コミュニティ中心のアプローチでオープンソース最適化を活用し、専用でコスト効果の高い転写モデルをデプロイできるようになります。
最適化された推論スタック
新しい Whisper エンドポイントは vLLM プロジェクトによって支えられており、さまざまなハードウェアファミリーで効率的なモデル実行を可能にします。特に、計算能力 8.9 以上(Ada Lovelace)の NVIDIA GPU(例: L4、L40s)を対象としています。
これらの性能向上を実現するために、スタックは主に 3 つのソフトウェア最適化を採用しています:
- PyTorch Compilation (
torch.compile): Just‑In‑Time (JIT) 方式で最適化カーネルを生成し、計算グラフの変更や演算の順序入れ替えを可能にします。 - CUDA Graphs: 連続した操作を記録し、より大きな作業単位にまとめることで、GPU のスケジューリングオーバーヘッド、データ移動、同期を削減します。
- Float8 KV Cache: アクティベーションを動的に量子化してメモリ使用量を削減します。計算は
bfloat16(半精度)で行われますが、出力はfloat8(1 バイト)で保存され、bfloat16(2 バイト)に比べて KV キャッシュに格納できる要素数が増えるため、キャッシュヒット率が向上します。
パフォーマンスベンチマーク
評価は単一の L4 GPU 上で bfloat16 を使用し、言語、ビームサイズ、バッチサイズを統一したデコード設定で実施しました。ベンチマーク対象は Whisper Large V3、Whisper Large V3‑Turbo、Distil‑Whisper Large V3.5 の 3 つのモデルです。
転写品質
転写精度は Word Error Rate (WER) を用いて、Open ASR Leaderboard の 8 つの標準データセット(AMI、GigaSpeech、LibriSpeech(Clean と Other)、SPGISpeech、Tedlium、VoxPopuli、Earnings22)で測定しました。結果は、3 つの Whisper バリアントすべてが Transformers ライブラリのベースラインと同等の WER パフォーマンスを維持しており、速度向上にもかかわらず転写品質に損失がないことを示しています。
実行効率
rev16 ロングフォームデータセット(45 分以上の音声セグメント)を使用し、Hugging Face は Real‑Time Factor (RTFx)(音声長さと転写時間の比)を測定しました。Whisper Large V3 は従来実装と比較して RTFx がほぼ 8 倍向上しています。
デプロイと実装
ユーザーは Hugging Face Endpoints を通じてモデルを選択しパラメータを設定するだけで、ASR(Automatic Speech Recognition)推論パイプラインをデプロイできます。
Python 実装例
デプロイされたエンドポイントへシンプルな HTTP リクエストを送ることで推論を実行できます。以下はデプロイ済みチェックポイントをテストする実装例です。
import requests
ENDPOINT_URL = "https://<your‑hf‑endpoint>.cloud/api/v1/audio/transcriptions"
HF_TOKEN = "hf_xxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
AUDIO_FILE = "sample.wav"
headers = {"Authorization": f"Bearer {HF_TOKEN}"}
with open(AUDIO_FILE, "rb") as f:
files = {"file": f.read()}
response = requests.post(ENDPOINT_URL, headers=headers, files=files)
response.raise_for_status()
print("Transcript:", response.json()["text"])
リアルタイムアプリケーション
これらのエンドポイントの速度向上により、リアルタイム転写アプリケーションの開発が可能になります。Hugging Face は FastRTC を用いたデモで、この機能を強調しており、マイクからの音声をリアルタイムで転写できます。