関連リンク
-
前回記事(Google Meet 録画から議事録を起こす)
https://qiita.com/miyakawa2449@github/items/be7a1e5c2a16ac934f13 -
今回使用したベンチマークスクリプト
https://github.com/miyakawa2449/meet/blob/main/legacy/bench_transcribe.py
1. 背景・目的
Google Meet
の録画設定で議事録生成を有効にし忘れたことを契機に、録画音声から議事録を自動生成する仕組みを
Python で構築した。
初期検証では、MacBook Pro M4 Pro(48GB)環境において Whisper + MPS
を用いた場合、約90分弱の音声を約10分で処理できることを確認した。
しかし以下を明確にするため、条件を統一したベンチマークを実施した。
- Whisper と faster-whisper の実処理速度差
- Apple MPS と NVIDIA CUDA の差
- CPU / GPU / 推論エンジン差の影響
本記事は技術検証レポートとして、再現性を重視して記載する。
2. 検証環境
Mac環境
- 機種: MacBook Pro M4 Pro
- メモリ: 48GB
- OS: macOS 26.3 (Build 25D125)
- Python: 3.12.12
- whisper: openai-whisper 20250625
- faster-whisper: 1.2.1
- MPS: 使用
Windows環境(WSL2 Ubuntu)
- CPU: Intel Core i7 12700
- GPU: NVIDIA GeForce RTX 5070 12GB(12227MiB)
- RAM: 32GB
- Driver: 581.57
- CUDA Driver対応バージョン: 13.0
- CUDA Toolkit(nvcc): 12.9
- Python: 3.10.13
- whisper: openai-whisper 20250625
- faster-whisper: 1.2.1
- CTranslate2: 4.7.1
3. 検証方法
- 使用音声: 約83分の会議音声(同一ファイル使用)
- モデル:
medium - beam_size = 1
- best_of = 1
- VAD無効
- 要約処理なし
- 計測基準: ASR処理時間(秒)
- 同一ベンチマークスクリプトを使用
実行例(環境別)
以下は各環境で使用した実行コマンドである。
すべて同一スクリプト・同一条件で実行した。
1) Mac + Whisper(MPS)
python3 bench_transcribe.py meeting.mp4 --engine whisper --device mps --beam-size 1 --best-of 1 --no-summary --bench-jsonl bench/bench.jsonl --bench-md bench/bench.md
2) Mac + faster-whisper(CPU)
python3 bench_transcribe.py meeting.mp4 --engine faster-whisper --device auto --beam-size 1 --best-of 1 --no-summary --bench-jsonl bench/bench.jsonl --bench-md bench/bench.md
3) WSL2 + Whisper(CUDA)
python3 bench_transcribe.py meeting.mp4 --engine whisper --device cuda --beam-size 1 --best-of 1 --no-summary --bench-jsonl bench/bench.jsonl --bench-md bench/bench.md
4) WSL2 + faster-whisper(CUDA)
python3 bench_transcribe.py meeting.mp4 --engine faster-whisper --device cuda --beam-size 1 --best-of 1 --no-summary --bench-jsonl bench/bench.jsonl --bench-md bench/bench.md
実行ログ例(RTX5070 + faster-whisper)
========== Benchmark ==========
extract : 13.297s
load : 1.793s
asr : 125.564s
summary : 0.000s
total : 140.821s
4. 検証結果
ASR処理時間(medium / beam=1 / best_of=1)
| 環境 | エンジン | デバイス | ASR時間(秒) | ASR時間(分) |
|---|---|---|---|---|
| Mac M4 Pro | whisper | MPS | 755.475 | 12:35 |
| Mac M4 Pro | faster-whisper | CPU (int8) | 613.362 | 10:13 |
| RTX5070 | whisper | CUDA (fp32) | 353.549 | 5:53 |
| RTX5070 | faster-whisper | CUDA (fp16) | 125.564 | 2:05 |
5. 技術的課題(CTranslate2とRTX5070)
CTranslate2 と RTX5070 の互換性問題
RTX5070 環境では、pip で配布されている CTranslate2 バイナリが正常に動作しなかった。
- 複数バージョンを試行
- 古いバージョンまでダウングレード
- CUDAバージョン確認
- Driver確認
いずれも解決せず、faster-whisper が CUDA で正常動作しない状態が続いた。
最終的に、GitHub から CTranslate2 4.7.1 のソースコードを取得し、CUDA 12.9 環境に合わせてビルドを実施。
その結果、RTX5070 + CUDA で正常動作を確認した。
このことから、RTX5070(新世代GPU)ではバイナリ配布版と CUDA / Driver の組み合わせに依存する可能性がある。
新世代GPU環境では、バイナリ依存ではなくソースビルドを前提とした検証が必要であると感じた。
6. 考察
- Apple Silicon 単体では faster-whisper (CPU) が安定かつ高速
- NVIDIA + CUDA + CTranslate2 の組み合わせは大幅な高速化を示した
- 推論エンジン差とCUDA最適化が最大の速度差要因である
7. 今後の展望
- 話者分離(Diarization)統合
- ローカルLLMによる要約処理
- クローズド環境での議事録自動生成基盤構築
思想編(設計視点の整理)
本記事は技術的な検証結果の整理です。
今回の比較を通して感じた「AIは使うから設計するへ」という視点については、
独自ドメインのブログにまとめました。
▶ AIは「使う」から「設計する」へ
https://miyakawa.codes/blog/ai-design-foundation-whisper-verification
技術ログと合わせて読んでいただけると、基盤選定の背景まで理解できると思います。
まとめ
同一条件下での検証により、
- Mac単体運用では faster-whisper (CPU) が実用的
- 高速処理を求める場合は NVIDIA GPU + faster-whisper が有効
という結果が得られた。