YOLO Vision 2026:

Apple Core AI 統合#

Core AI のエクスポートは Ultralytics では利用できません

Ultralytics は format=coreai または Apple の .aimodel フォーマットへの直接のエクスポートをサポートしていません。Apple へのデプロイには、サポートされている Core ML integration を使用してください。

Core AI は、Apple シリコン上で直接ニューラルネットワークを実行するための Apple の新しいフレームワークです。これは、.aimodel モデルフォーマット、モダンな Swift 推論 API、PyTorch ベースの変換ツール、事前コンパイル(AOT)、モデルの特殊化、および専用のデバッグおよびプロファイリングツールを導入します。

Apple は Core AI を、オンデバイス AI 実行の次なる進化であり、オンデバイスの Apple Intelligence を支える推論フレームワークであると説明しています。これは、コンパクトなビジョンモデルから大規模な生成モデルまで、現在のニューラルネットワークアーキテクチャ向けに設計されており、CPU、GPU、および Apple Neural Engine (ANE) にタスクを分散配置できます。

Core AI は Core ML の新しい名称ではなく、新しいデプロイメントパスです。これらのフレームワークは、異なるモデル形式、変換ツール、ランタイム API、およびアプリケーション統合パターンを使用します。

Core AI と Core ML の比較#

機能Core AICore ML
モデル成果物.aimodel.mlpackage または .mlmodel
Ultralytics エクスポート利用不可format=coreml で利用可能
Apple ランタイム APIAIModelInferenceFunction、および NDArrayMLModel(多くの場合 VNCoreMLModel および VNCoreMLRequest を経由)
変換ワークフローPyTorch torch.export から coreai-torch までcoremltools による TorchScript 変換
主な焦点最新のニューラルネットワークおよび生成 AIニューラルモデルや非ニューラルモデルを含む幅広い機械学習デプロイメント
画像統合アプリケーション側でテンソルを準備するか、Core AI の画像記述子とバッファを使用画像のサイズ変更、向き調整、リクエストのための Vision フレームワークとの直接統合
ハードウェアCPU、GPU、および Apple Neural EngineCPU、GPU、および Apple Neural Engine
モデル準備インストール時または初回使用時の最適化、およびオプションの事前コンパイルXcode またはオンデバイスでのモデルコンパイル
カスタムオペレーションカスタム Core AI lowering および Metal カーネルCore ML カスタムレイヤーおよびサポートされている MIL オペレーション
デプロイメントの可用性新しい Apple オペレーティングシステム世代。現在はベータ版既存の Apple オペレーティングシステム全体での幅広いサポート
Ultralytics iOS および Flutter SDK未サポートフルサポート

幅広いデバイス対応、Vision フレームワークとの統合、あるいは決定木や表形式パイプラインなどのモデルタイプが必要な場合には、引き続き Core ML が適切な選択肢です。Apple は引き続き Core ML をサポートしており、非ニューラルモデルタイプを使用する開発者に対しては Core ML を推奨しています。

Core AI 形式の仕組み#

Core AI のオーサリングワークフローは、PyTorch モデルから開始されます。

PyTorch model
    ↓ torch.export
ExportedProgram
    ↓ coreai-torch
Core AI program
    ↓ optimize and save
.aimodel
    ↓ specialize or compile ahead of time
Apple silicon executable

Apple の coreai-torch パッケージは、PyTorch の ATen 操作を Core AI 操作に低レイヤー化(ローリング)することで、torch.export.ExportedProgram を変換します。サポートされていない操作は、カスタムローリングまたはカスタム Metal カーネルで実装できます。

結果として得られる .aimodel は、未特殊化のモデルアセットです。アプリケーションがモデルを準備する際、Core AI はターゲットデバイス用にそれを特殊化します。アプリケーションは、初回使用時にこれを行わせる、より早期に特殊化を要求する、あるいは事前にコンパイルされたモデルを同梱して初期ロード時間を短縮することができます。

Swift では、アプリケーションは Core AI フレームワークでアセットをロードし、推論関数を選択し、型付きの NDArray 入力を提供して、名前付きの出力を受け取ります。これは、Core ML モデルを Vision リクエストでラップするのとは異なるため、Core AI の採用には .aimodel アセット向けに設計されたアプリケーションランタイムが必要です。

実装の詳細については、AIModelmodel specialization and caching、および ahead-of-time compilationに関する Apple のドキュメントを参照してください。

今後の Ultralytics での利用#

計画中の例 - これらのコマンドはまだ機能しません

以下の例は意図された統合を示すものであり、現在の Ultralytics リリースでは利用できません。現在の Apple エクスポートには、サポートされている format=coreml を使用してください。

計画されている統合のリリース後、Python API は専用のフォーマット値を使用して YOLO26 モデルを .aimodel にエクスポートすることが期待されます:

from ultralytics import YOLO

model = YOLO("yolo26n.pt")
model.export(format="coreai")  # Planned: creates yolo26n.aimodel

対応する計画された CLI コマンドは次のとおりです:

yolo export model=yolo26n.pt format=coreai # Planned: not yet available

最終的な引数、サポートされている YOLO tasks、精度オプション、および動的形状(ダイナミックシェイプ)の動作は、エクスポート機能が実装され検証された後に Export mode で文書化されます。

iOS 27 または macOS 27 では、アプリケーションは Apple の Core AI Swift API を通じてエクスポートされたアセットをロードして実行します。以下の関数名とテンソル名は例示です。サポートされる Ultralytics の出力コントラクトは、エクスポーターと共に公開される予定です。

import CoreAI

let modelURL = Bundle.main.url(forResource: "yolo26n", withExtension: "aimodel")!
let model = try await AIModel(contentsOf: modelURL)
guard let function = try model.loadFunction(named: "main") else {
    throw AppError.missingInferenceFunction
}

let outputs = try await function.run(inputs: ["image": imageTensor])

現在の Core ML and Vision workflow とは異なり、将来の Core AI パスでは、画像の前処理、NDArray の構築、モデルのメタデータ、および出力のデコードを Ultralytics iOS SDK 内で定義する必要があります。Apple は、Core AI framework documentation で現在の API の詳細を提供し、Core AI models repository で動作するモデルの例を提供しています。

Core AI の利点#

Core AI は、将来の Ultralytics デプロイメントに向けて、いくつかの期待できる利点を提供します。

  • モダンな PyTorch エクスポートパス: 変換は torch.export から開始され、多く既存のエクスポーターで使用されているトレースワークフローよりも表現力の高い PyTorch グラフを保持します。
  • 詳細なランタイム制御: アプリケーションは、最適化、コンパイル済みモデルキャッシュ、推論関数、メモリ、および演算配置を管理できます。
  • 高度なモデルサポート: ステートフルな実行、動的形状、単一成果物内での複数関数、およびカスタム Metal カーネルは、最新のビジョンおよび生成アーキテクチャ向けに設計されています。
  • 専用の開発者ツール: Core AI Debugger はグラフやテンソル値を検査し、元の Python コードまでトレースバックできます。Xcode と Instruments はランタイムプロファイリングを提供します。
  • ゼロコピーの機会: Core AI は、カメラ、グラフィックス、推論ワークロード間でのコピーを削減することを目的としたストレージおよびバッファ制御を公開しています。
  • Apple シリコンの最適化: デバイス固有の最適化により、Apple は特定のデバイスで使用可能な CPU、GPU、および Neural Engine に合わせてモデルを最適化できます。
  • 柔軟な圧縮: Apple の Core AI Optimization ツールは、量子化、パレット化、およびプルーニング(低ビット重み形式を含む)をサポートしています。

これらの機能は、動的実行を伴う将来の YOLO モデルや、より大きなマルチモーダルコンポーネント、または既存の Core ML オペレーションに明確にマッピングできないカスタムオペレーションにとって特に有用である可能性があります。

現在の欠点と制限#

Core AI は現時点では、プロダクション環境における Core ML パスの代替ではありません。

  • 新しいオペレーティングシステムが必要: パブリックフレームワークは iOS 27 および macOS 27 世代をターゲットとしていますが、Core ML はより大規模なインストールベースをサポートしています。
  • ベータソフトウェア: Apple の Core AI フレームワークおよび Python ツールチェーンの一部はまだ予備段階であり、安定版リリースまでに変更される可能性があります。
  • より限定されたエクスポート環境: coreai-torch は現在、Python 3.11 以降と最近の PyTorch バージョンを必要としており、これは Ultralytics がサポートする Python および PyTorch の範囲よりもはるかに狭いものです。
  • 現在の Ultralytics コマンドはありません: yolo export format=coreai は、Ultralytics の互換性保証によって実装、テスト、またはカバーされていません。
  • まだ Ultralytics アプリケーションランタイムはありません: 公式の YOLO iOS app および Flutter plugin は現在、MLModel と Vision を介して Core ML アーティファクトをロードしています。
  • アプリケーションの移行が必要: .aimodel.mlpackage の代わりに使用することはできません。モデルのロード、前処理、推論の呼び出し、メタデータの処理、および出力のデコードには Core AI の実装が必要です。
  • プロダクションでの実績不足: パフォーマンス、消費電力、初回実行時の最適化時間、精度、および圧縮については、サポート対象の YOLO タスクとデバイスのマトリックス全体で検証が必要です。
  • 確立されたレガシー NMS パイプラインがない: Core ML は、古い YOLO 検出モデル用に NMS ステージをパッケージ化できます。最初の Core AI 統合は、NMS を必要としない YOLO26 モデルに焦点を当てることが予想されます。

どちらの Apple 形式を使用すべきか?#

以下が必要な場合は、現在 Core ML を使用してください。

  • サポートされている Ultralytics エクスポートコマンド
  • 現在および旧世代の Apple オペレーティングシステムでのデプロイメント
  • Ultralytics iOS または Flutter SDK との統合
  • Vision フレームワークによる画像処理
  • テスト済みの FP16 および INT8 YOLO デプロイメント
  • 互換性のあるレガシー検出モデル向けの組み込み NMS

iOS 27 または macOS 27 が必要であり、以下が必要な場合は 将来 Core AI を評価してください。

  • 最新の Apple オンデバイスニューラルネットワークランタイム
  • 明示的な最適化とキャッシュ管理
  • 高度な動的またはステートフルなモデル実行
  • カスタム Core AI オペレーションまたは Metal カーネル
  • 詳細な Core AI グラフデバッグおよびランタイムプロファイリング

アプリケーションが移行を行う間、Core ML と Core AI は共存することが予想されます。Core AI をサポートしても、デプロイメントターゲットとアプリケーションコントラクトが異なるため、直ちに Core ML の必要性がなくなるわけではありません。

Ultralytics ロードマップ#

Ultralytics は、専用の coreai エクスポートターゲットを評価中です。計画と可用性については、リンクされたロードマップとリリースノートに従ってください。Core ML は、サポートされている Apple デプロイターゲットのままです。

Core AI がサポートされるエクスポート形式になる前に、統合には以下が必要です。

  1. 検出、インスタンスセグメンテーション、セマンティックセグメンテーション、分類、ポーズ、および指向性バウンディングボックス全体でのエクスポートと数値検証。
  2. PyTorch および Core ML ベースラインに対する FP16 および量子化精度のテスト。
  3. オンデバイスでのレイテンシ、メモリ、消費電力、および最適化のベンチマーク。
  4. Ultralytics iOS SDK における Core AI モデルのロードと前処理。
  5. Flutter 統合および iOS 27 未満のデバイスに対する互換性戦略。
  6. 安定した Apple フレームワークおよび変換ツールのリリース。

可用性については、Ultralytics roadmap およびリリースノートに従ってください。サポートが提供されるまで、.aimodel ファイルを生成するコマンドやサードパーティのパッチは実験的であり、サポートされている Ultralytics エクスポートマトリックスの外側にあります。

追加リソース#

よくある質問 (FAQ)#

  • いいえ。Ultralyticsは、Appleモデルを Core ML .mlpackage ファイルとして model.export(format="coreml", imgsz=640) 経由(分類の場合は imgsz=224)でエクスポートします。.aimodel はエクスポート対象ではありません。

  • すぐには代わりません。Core AIはAppleによる現代的なニューラルネットワークのための新しい手法ですが、Core MLは引き続きサポートされており、より広範なOSサポート、Visionとの統合、およびニューラルネットワーク以外のモデルへの対応を提供しています。

  • いいえ。これらは異なるモデル表現を含んでおり、それぞれ異なるフレームワークによって読み込まれます。変換は、適切なAppleのツールチェーンを使用してソースモデルから行う必要があります。

  • 初期の統合はCore MLと共存する見込みです。将来的な置き換えの決定は、OSでの採用状況、ツールの安定性、パフォーマンス、そしてiOSやFlutterでのサポート状況に依存します。

コメント