リード
Appleの機械学習フレームワークCore MLは、2017年に登場した。「AIはクラウドで動く」が当たり前だった時代に、Appleは「デバイス上で動かす」という方向性を選んだ。その設計思想と技術的仕組みを解説する。
🟢 なぜオンデバイスなのか
Appleがオンデバイス推論にこだわる理由は3つある。
1. プライバシー
クラウドにデータを送ると、ユーザーの音声・顔・文章がサーバーに届く。オンデバイスなら外部に出ない。これはAppleのプライバシー哲学と直結する。
2. レイテンシ
ネットワーク往復時間(数百ミリ秒〜数秒)がない。「即座に反応する」体験はオンデバイス推論でしか実現できない。
3. オフライン動作
ネット接続なしでも機能する。機内・地下・山中でも同じAI体験を提供できる。
🔵 Core MLのアーキテクチャ
Core MLは3層構造だ。
アプリ (Swift/Objective-C)
↓
Core ML API
↓
バックエンド選択(自動)
├─ CPU(汎用)
├─ GPU(画像・並列処理向き)
└─ Neural Engine(ANE)←最優先
Core MLは入力データとモデルの特性を分析し、最も効率的なハードウェアに自動ルーティングする。開発者はハードウェアを意識せず書ける。
🔵 .mlmodelcoreとモデル変換
Core MLのモデル形式は .mlmodel / .mlpackage(Core ML 5+)だ。
PyTorchやTensorFlowで訓練したモデルをCore MLに変換するのが coremltools(Pythonライブラリ)だ。
import coremltools as ct
# PyTorchモデルを変換
model = ct.convert(
traced_model,
inputs=[ct.ImageType(shape=(1, 3, 224, 224))],
compute_precision=ct.precision.FLOAT16,
)
model.save("MyModel.mlpackage")
変換時に重みをFP16やINT8に量子化するオプションがある。モデルサイズと精度のバランスを取る重要なステップだ。
🔵 Neural Engine(ANE)との連携
A11 Bionic以降のiPhone/iPadには**Apple Neural Engine(ANE)**が搭載されている。
ANEが得意な演算:
- 行列積(GEMM)→ Transformer / LSTM / CNN の中核演算
- 畳み込み(Convolution)→ 画像認識系モデル
ANEが苦手な演算:
- 複雑な制御フロー
- 動的な形状変換
Core MLはモデルグラフを解析し、ANEで実行できる部分を自動的にANEに割り当て、残りをGPU/CPUに分散させる。
🟣 On-Device Model の実例
iPhoneのカメラアプリで使われているCore MLモデルの一例:
| 機能 | モデルタイプ | 主なハードウェア |
|---|---|---|
| 人物セグメンテーション | セグメンテーションCNN | ANE |
| 犬・猫認識 | 分類CNN | ANE |
| テキスト認識 | OCRモデル | ANE + CPU |
| Face ID | セキュアEnclave連携 | ANE |
| オートフォーカス | デプス推定 | GPU + ANE |
単一アプリで複数のCore MLモデルが同時実行されているケースも珍しくない。
🟣 Apple Intelligence への発展
Apple Intelligence(2024年)はCore MLの延長線上にある。
- 小規模モデル(〜3B): Neural Engineがオンデバイス推論
- 大規模モデル: Private Cloud Computeに転送(ただしE2E暗号化)
Core MLが7年かけて築いてきたオンデバイス推論の基盤があったからこそ、Apple Intelligenceが実現できた。
まとめ
Core MLの「オンデバイス優先」設計はプライバシー哲学とハードウェア投資(Neural Engine)の両輪によって成立している。クラウドAIが普及する中で、Appleが一貫して「手元で動く」を選び続けたことが、Apple Intelligenceという大きな果実につながっている。