axiom-ios-ml について
カスタムのオンデバイス機械学習や音声文字起こしに取り組む iOS 開発者向けのルータースキルです。モデル変換、最適化、CoreML 実装、診断、音声処理の関連スキルを案内します。
主な機能
- 01CoreMLの実装とリファレンス作業の振り分け
- 02モデル変換と圧縮の案内
- 03ステートフルLLMとKV-cacheの扱い
- 04音声文字起こし作業の振り分け
- 05モデル診断の案内
活用シーン
- 01PyTorchモデル変換に使うスキルの選定
- 02モデル圧縮に関する指針の確認
- 03オンデバイスLLMのKV-cache実装の計画
- 04ライブまたは録音音声の文字起こし先の選定
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ charleswiltgen/ axiom --skill axiom-ios-mlインストール後、Claude Code で/axiom-ios-mlを入力して読み込まれたか確認します。
詳細
iOS 機械学習ルーター
デバイス上の機械学習または音声テキスト変換に関する作業では、必ずこのスキルを使用してください。
使用する場面
次のような場合に、このルーターを使用してください。
- PyTorch/TensorFlow のモデルを CoreML に変換する
- デバイス上に ML モデルをデプロイする
- モデルを圧縮する(量子化、パレタイズ、プルーニング)
- 大規模言語モデル(LLM)を扱う
- Transformer 向けに KV キャッシュを実装する
- モデルのスティッチングに MLTensor を使用する
- 音声テキスト変換機能を構築する
- 音声を文字起こしする(ライブまたは録音済み)
ios-ai との境界
ios-ml と ios-ai の違いを把握してください。
| 開発者の意図 | ルーター |
|---|---|
| 「Apple Intelligence/Foundation Models を使う」 | ios-ai — Apple のデバイス上で動作する LLM |
| 「独自の ML モデルをデバイス上で実行する」 | ios-ml — CoreML への変換とデプロイ |
| 「@Generable でテキスト生成を追加する」 | ios-ai — Foundation Models の構造化出力 |
| 「KV キャッシュを使ってカスタム LLM をデプロイする」 | ios-ml — カスタムモデルの最適化 |
| 「画像分析に Vision フレームワークを使う」 | ios-vision — ML のデプロイではありません |
| 「事前学習済みの Apple NLP モデルを使う」 | ios-ai — カスタムモデルではなく、Apple のモデル |
判断の目安:開発者が独自のモデルを変換、圧縮、デプロイしている場合は ios-ml を使用してください。Apple の組み込み AI を使っている場合は ios-ai を使用してください。コンピュータービジョンを扱っている場合は ios-vision を使用してください。
ルーティングロジック
CoreML の作業
実装パターン → /skill coreml
- モデル変換のワークフロー
- モデルのスティッチングに MLTensor を使用する
- KV キャッシュを使用するステートフルモデル
- マルチファンクションモデル(アダプター/LoRA)
- 非同期予測パターン
- コンピュートユニットの選択
API リファレンス → /skill coreml-ref
- CoreML Tools の Python API
- MLModel のライフサイクル
- MLTensor の操作
- MLComputeDevice の利用可否
- 状態管理 API
- パフォーマンスレポート
診断 → /skill coreml-diag
- モデルを読み込めない
- 推論が遅い
- メモリの問題
- 圧縮による精度低下
- コンピュートユニットの問題
音声の作業
実装パターン → /skill speech
- SpeechAnalyzer のセットアップ(iOS 26 以降)
- SpeechTranscriber の設定
- ライブ文字起こし
- ファイルの文字起こし
- 暫定結果と確定結果
- モデルアセットの管理
判断ツリー
- ML モデルを実装/変換する場合は?→ coreml
- CoreML API リファレンスが必要な場合は?→ coreml-ref
- ML の問題(読み込み、推論、圧縮)をデバッグする場合は?→ coreml-diag
- 音声テキスト変換/文字起こしを行う場合は?→ speech
正当化による回避を防ぐ
| 考え | 実際 |
|---|---|
| 「CoreML は読み込みと予測だけだ」 | CoreML には圧縮、ステートフルモデル、コンピュートユニットの選択、非同期予測があります。coreml ですべて扱います。 |
| 「モデルが小さいので、最適化は不要だ」 | 小さなモデルでも、コンピュートユニットの選択や非同期予測のメリットがあります。coreml にはそのパターンがあります。 |
| 「SFSpeechRecognizer を使えばよい」 | iOS 26 では、精度が高くオフラインにも対応した SpeechAnalyzer を利用できます。speech スキルでは最新の API を扱います。 |
重要なパターン
coreml:
- モデル変換(PyTorch → CoreML)
- 圧縮(パレタイズ、量子化、プルーニング)
- LLM 向けのステートフル KV キャッシュ
- アダプター向けマルチファンクションモデル
- パイプラインのスティッチングに MLTensor を使用する
- 非同期の並行予測
coreml-diag:
- 読み込みの失敗とキャッシュ
- 推論パフォーマンスの問題
- モデルによるメモリ負荷
- 圧縮による精度の低下
speech:
- SpeechAnalyzer と SpeechTranscriber のセットアップ
- AssetInventory によるモデル管理
- 暫定結果を使ったライブ文字起こし
- 音声フォーマットの変換
呼び出し例
ユーザー:「PyTorch モデルを CoreML に変換するにはどうすればよいですか?」
→ 呼び出し:/skill coreml
ユーザー:「iPhone に収まるようにモデルを圧縮してください」
→ 呼び出し:/skill coreml
ユーザー:「言語モデルに KV キャッシュを実装してください」
→ 呼び出し:/skill coreml
ユーザー:「初回起動時にモデルの読み込みが遅いです」
→ 呼び出し:/skill coreml-diag
ユーザー:「圧縮したモデルの精度が低いです」
→ 呼び出し:/skill coreml-diag
ユーザー:「アプリにライブ文字起こし機能を追加してください」
→ 呼び出し:/skill speech
ユーザー:「SpeechAnalyzer で音声ファイルを文字起こししてください」
→ 呼び出し:/skill speech
ユーザー:「MLTensor とは何ですか?また、どのように使えばよいですか?」
→ 呼び出し:/skill coreml-ref