AppleのCore AIモデル:エクスポートレシピ、Pythonプリミティブ、オンデバイスAI向けSwiftランタイム

Appleのオープンソースツールキットを探索:Core AIを使用したオンデバイスAIモデルのエクスポート、作成、実行。Pythonプリミティブ、Swiftユーティリティ、エージェントスキルを含む。

Appleは、オンデバイスAI開発のライフサイクル全体を効率化する包括的なツールキットであるCore AI Modelsをオープンソース化しました。このリポジトリは、モデルエクスポートレシピ、再利用可能なPythonプリミティブ、Swiftランタイムパッケージ、さらにはコーディングアシスタント向けのエージェントスキルを提供します。macOSやiOS向けのAI機能を構築し、Apple Siliconを効率的に活用したいなら、待望のツールキットです。

リポジトリの内容

リポジトリは4つの主要ディレクトリで構成され、それぞれがオンデバイスAIワークフローで異なる目的を果たします:

  • models/:人気のオープンソースモデル(Hugging Faceなどから)を厳選したカタログ。Core AIの.aimodel形式に変換するエクスポートレシピ付き。
  • python/:PyTorchでカスタムCore AIモデルを作成するためのPythonプリミティブとユーティリティ、およびエクスポートスクリプト。
  • swift/:Core AIモデルをmacOSおよびiOSアプリに統合するためのランタイムユーティリティを提供するSwiftパッケージ(coreai-models)。
  • skills/:コーディングエージェント(Claude Code、Codex CLI、Gemini CLI)がCore AIを効果的に使用できるようにするプラグイン可能なスキル。

オンデバイスAIにとっての重要性

オンデバイスでAIモデルを実行することには、レイテンシの低減、オフライン機能、データがデバイスから離れないことによるプライバシー向上など、大きな利点があります。しかし、PyTorchモデルからデプロイ可能なオンデバイスモデルへの道のりは断片的でした。AppleのCore AIフレームワークはランタイムを提供しますが、開発者はギャップを埋めるツールを必要としていました。このリポジトリは、以下のものでそのギャップを埋めます:

  • 標準化されたエクスポートレシピ:モデル変換を処理し、LLM用のトークナイザーバンドルや拡散モデル用のマルチモデルパイプラインを含みます。
  • Pythonビルディングブロック:KVキャッシュ管理、精度ルール、MoEレイヤー処理などの一般的なパターンを抽象化します。
  • Swiftランタイムユーティリティ:アプリでのモデルの読み込み、設定、実行を簡素化します。

はじめに:モデルのエクスポート

まず、uvをインストールします(まだの場合):

brew install uv
# または
curl -LsSf https://astral.sh/uv/install.sh | sh

リポジトリをクローンし、利用可能なモデルを一覧表示します:

git clone https://github.com/apple/coreai-models.git
cd coreai-models
uv run coreai.model.registry --list-models

models/フォルダ内の各モデルには、固有のエクスポート手順が記載されたREADME.mdがあります。例えば、LLMをエクスポートすると、通常、1つ以上の.aimodelファイルとトークナイザーを含むリソースフォルダが生成されます。Swiftパッケージは、実行時にこれらのリソースを読み込む方法を認識しています。

Pythonプリミティブを使用したカスタムモデルの作成

カスタムモデルアーキテクチャを作成する必要がある場合、python/ディレクトリはPyTorch上に構築された再利用可能なプリミティブを提供します。これらのプリミティブは、Appleプラットフォームでのオンデバイス実行のベストプラクティスを強制します。これには以下が含まれます:

  • BC1Sレイアウト(バッチ、チャンネル、1、空間):最適なメモリアクセスパターンのため。
  • Core AIのサポート操作との互換性
  • KVキャッシュパターン:効率的な自己回帰生成のため。
  • 精度ルール(例:FP16、INT8量子化):パフォーマンスと精度のバランスを取るため。
  • MoE(Mixture of Experts)サポート:スパース計算パターンを使用。

coreai-torchライブラリが実際のエクスポートを処理し、coreai-optは圧縮探索ツール(量子化、パレット化)を提供し、品質を大幅に損なうことなくモデルサイズを縮小します。

Swiftを使用したアプリへのモデル統合

Swiftパッケージ(coreai-models)はランタイムの対応物です。以下を提供します:

  • モデル読み込みユーティリティ.aimodel形式とリソースバンドルを処理します。
  • 異なるモデルタイプ向けの推論ランナー(LLM、拡散モデルなど)。
  • パフォーマンス計測:レイテンシとロジット出力を監視します(最近のコミットでVLMサポートが追加されました)。

要件:macOSおよびiOS 27.0+、Xcode 27.0+。パッケージはSwift Package Managerから利用可能です。

エージェントスキル:コーディングワークフローを強化

このリポジトリの最も革新的な側面の1つは、エージェントスキルの包含です。これらは、コーディングアシスタント(Claude Code、Codex CLI、Gemini CLIなど)にCore AIの操作方法を教えるプラグインです。3つのスキルが利用可能です:

  1. working-with-coreai:Apple Silicon上でPyTorchモデルをデプロイするためのエンドツーエンドワークフロー。coreai-torchによるエクスポートとランタイム統合をカバー。
  2. model-authoring:オンデバイス実行向けのPyTorchモデル作成に関する経験則。レイアウト、操作互換性、KVキャッシュ、精度、MoE、一般的な落とし穴をカバー。
  3. model-compression-explorationcoreai-optを使用して重み圧縮構成(量子化とパレット化)を体系的に探索。

Claude Codeにインストールするには:

/plugin marketplace add [email protected]:apple/coreai-models.git
/plugin install coreai-skills@coreai-models

Codex CLIの場合:

codex plugin marketplace add https://github.com/apple/coreai-models
codex
# 次に、インタラクティブブラウザで/pluginsを使用してcoreai-skillsをインストール

Gemini CLIの場合:

gemini extensions install /path/to/coreai-models/skills

インストール後、スキルはタスクコンテキストに基づいて自動的にアクティブ化されるか、明示的に呼び出すことができます。

現在の制限とコミュニティ参加

Appleは現在、コードの貢献を受け付けていません。プロジェクトは、厳選された十分にテストされたギャラリーを維持することに焦点を当てています。ただし、GitHub Issuesは以下のために開かれています:

  • バグ報告:PythonスクリプトまたはSwiftユーティリティ用。
  • モデルリクエスト:新しいモデルやワークフローの改善用。

これは、品質と安定性を確保するための意図的な範囲決定です。

結論

AppleのCore AI Modelsリポジトリは、オンデバイスAI開発をアクセス可能かつ効率的にするための重要な一歩です。エクスポートレシピ、Pythonプリミティブ、Swiftランタイム、さらにはエージェントスキルを提供することで、Appleはモデル選択からアプリ統合までの摩擦を減らす一貫したエコシステムを構築しました。オンデバイスLLM機能を追加したいモバイル開発者であれ、圧縮技術を探求する研究者であれ、このツールキットは注目に値します。

GitHubのリポジトリをチェックして、今すぐオンデバイスAIの実験を始めましょう。

ソース

apple/coreai-models: オンデバイスAI向けのモデルエクスポートレシピ、Pythonプリミティブ、Swiftランタイムユーティリティ