WhisperKit がだいぶ良いので紹介する

11.5K Views

March 28, 24

スライド概要

SansanモバイルエンジニアLT会 & 懇親会での発表資料です。
https://sansan.connpass.com/event/312187/

profile-image

フリーランスiOSエンジニア 「エンジニアと人生」コミュニティ主宰

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

関連スライド

各ページのテキスト
1.

WhisperKit がだいぶ良いので紹介する 堤 修一 (@shu223)

2.

自己紹介 • 堤 修一 • @shu223 (GitHub, Qiita, Zenn, note, 𝕏, YouTube, Podcast, etc...) • 書籍(商業出版4冊、個人出版多数 @BOOTH):

3.

アジェンダ • WhisperKitとは • なぜ速いのか • モデルサイズ・メモリ使用量 • more

4.

WhisperKit とは

5.

iOS/macOSオンデバイスで動く音声認識のすごいやつ • 速い • 精度も良い • 多言語対応(含・日本語) • オープンソース • アプリへの組み込み方法

6.

標準の音声認識フレームワークSpeechとの比較 • WhisperKit • Speech

7.

なぜ速いのか

8.

系譜: OpenAI Whisper • OpenAIによって開発された音声認識モデル • 精度とパフォーマンス、そしてオープンソースであることか ら利用が一気に広がった

9.

系譜: whisper.cpp • Whisperの高速推論版 • 各種プラットフォームへの最適化もされている • macOS/iOS向けにはMetal, Accelerateもサポート • Core MLモデル版も 1 1 whisper.cppのCore ML版をM1 MacBook Proで動かす

10.

Core ML とは • 機械学習モデルをiOS, macOS, etc. に組み込むためのApple 製のフレームワーク, モデルフォーマット • CPU・GPU・Neural Engine (ANE) を利用し、メモリ占有量 と電力消費量を最小限に抑えつつパフォーマンスを最大限に 高めるように設計されている

11.

系譜: whisper.cpp から WhisperKitへ • whisper.cpp の Core ML版よりもさらにAppleハードウェア を活かすようカリカリに最適化 • 開発元のargmax社は Appleの ml-ane-transformers の 中の人 の会社 2 • Core ML版 whisper.cpp より 1.86倍〜2.85倍 高速 3 2 つまりそもそもTransformerモデルをCore MLで最適化してiOS/macOSで動かせるようにする流れの元祖にあたる人 3 出典: WhisperKit — Argmax

13.

メモリ使用量 最大で300MB未満程度(baseモデル使 用)

14.

アプリへの組み込み方法 Swift Packageを使って 2行 で実装可能 let pipe = try? await WhisperKit() let transcription = try? await pipe!.transcribe(audioPath: path)?.text

15.

more

16.

Swift CLI • インストール brew install whisperkit-cli • 実行 swift run whisperkit-cli transcribe --model-path "foo" --audio-path "bar"

17.

変換ツール: whisperkittools • PyTorchのWhisperモデルをWhisperKit向けに変換するための Pythonツール • 自前のWhisperモデルをWhisperKitフォーマットに変換でき る

18.

詳しい技術解説記事 WhisperKit — Argmax

19.

まとめ Core ML版WhisperであるWhisperKitを紹介した • 速度よし、精度よし • 多言語対応(含・日本語) • オープンソース/変換ツールも公開 • 自前モデルも利用可能 • Swift Packageで簡単に実装可能

20.

→ iOSオンデバイス音声認識の選択肢 として最有力候補では!

21.

ご清聴ありがとうございました!