会議の議事録生成を有効にし忘れたことがきっかけだった。
録画された音声データを前に、「これを自動で議事録にできないか」と考えたのが始まりだ。
この検証のきっかけとなった記事はこちらにまとめている。
https://miyakawa.codes/blog/local-ai-meeting-minutes-10-minutes
十分に速い、はずだった
最初は単純だった。
普段の開発に愛用しているMacBook Pro M4 ProでWhisperを動かす。
約90分の音声が、10分台で文字起こしされた。
十分に実用的だと思った。
だが、そこで疑問が湧いた。
これは本当に最適なのだろうか。
普段あまり使わないGPU搭載のWindows機がある。
好奇心が勝った。
そのマシンを立ち上げ、WSL上のUbuntuで同じ処理を回してみることにした。
4つの実験から始まった
実は、ここに至るまでに4つの個別プログラムを書いていた。
- MPS + Whisper
- Mac CPU + faster-whisper
- CUDA + Whisper
- CUDA + faster-whisper
それぞれを別コードで検証していた。
ただ、生成AIでコードを作っていたこともあり、本当に同じ条件で測れているのか、不安が残っていた。
最初は「ざっくり速さが違えば面白い」程度の思いつきだった。
だが、検証を重ねるうちに、条件を統一し、計測箇所を明確にし、ベンチマークを一本化する必要性に気づいた。
その過程で見えてきたのは、単なる速度差ではなく、AIがどの層で動いているのかという構造だった。
同じモデルでも、速さは変わる
Whisperというモデルは同じだ。
だが、動かし方で結果は変わる。
- CPUかGPUか
- MPSかCUDAか
- PyTorchかCTranslate2か
RTX5070 + faster-whisper(CUDA)構成では、M4 Pro + Whisper(MPS)と比べて約6倍の速度差が出た。
重要なのは数字そのものではない。
なぜその差が生まれたのか。
AIは多層構造で動いている
AIは一枚岩ではなく、複数の層で構成されている。
本記事に登場する技術要素の整理
| レイヤー | 何をする層か | 主な例 | ビジネス上の意味 |
|---|---|---|---|
| ハードウェア | 実際に計算を行う物理的な機械 | M4 Pro / RTX5070 / CPU | 処理速度・設備投資 |
| 計算基盤 | GPUを使って高速計算する仕組み | MPS / CUDA | 性能の上限 |
| 推論エンジン | AIモデルを効率よく動かす仕組み | PyTorch / CTranslate2 | 実行コスト・安定性 |
| AIモデル | 音声認識そのものの中身 | Whisper | 機能・精度 |
| 実装パッケージ | モデル+エンジンをまとめた実装 | openai-whisper / faster-whisper | 導入のしやすさ |
今回の検証は、主に上から三層(ハードウェア・計算基盤・推論エンジン)を比較している。\
モデル(Whisper)が同じでも、上位の基盤が変われば結果は変わる。
MPSとCUDAの設計思想
AppleのMPSは洗練された仕組みだ。
統合メモリを活かし、日常の開発環境に自然に溶け込む。
一方で、NVIDIAのCUDAはレース専用のマシンに近い。
Tensor Coreの活用、半精度演算への最適化、並列処理に振り切った設計思想。
どちらが優れているという話ではない。
設計思想が違うのだ。
faster-whisperが速いのではない
ここで一つ、誤解しやすい点がある。
faster-whisperが速いのではない。
音声認識モデルは同じWhisperだ。
速さの差を生んでいるのは、その背後にある推論エンジン(CTranslate2)と、それを動かす計算基盤(CUDA)である。
モデルが同じでも、設計が変われば結果は変わる。
バイナリが動かないという現実
RTX5070環境では、CTranslate2のバイナリ版が正常に動かなかった。
最終的にGitHubからソースを取得し、CUDA環境に合わせてビルドした。
新世代GPU環境では、バイナリ依存ではなくソースビルドを前提とした検証が必要である。
AIは「使う」から「設計する」へ
これからのAI活用は、APIを呼ぶだけの世界ではない。
どのハードウェアを使うのか
どの推論エンジンを選ぶのか
ローカルで回すのか
クラウドに載せるのか
設計が必要になる。
今回の検証は単なる速度比較ではない。
基盤をどう選ぶかという問いだった。
次の段階へ
技術的な実測値や再現可能な手順は、Qiitaの記事に整理している。
https://qiita.com/miyakawa2449@github/items/9d33a5adf0b33680b00e
次は話者分離(Diarization)を統合し、ローカルLLMによる要約まで含めた基盤を構築する予定だ。
AIは魔法ではない。
だが、基盤を理解し、設計できるとき、初めて力を発揮する。