「GoogleのAIモデルをiPhoneで動かす」というのは数年前まで夢物語でしたが、Google AI Edge Eloquent の登場で現実的になりました。
Eloquent は Google AI Edge プラットフォームの iOS 向けフレームワークで、Gemma をはじめとする Google のモデルを Apple Silicon 上でネイティブ実行できます。Android 向けの LiteRT(旧 TensorFlow Lite)に相当する存在として、クロスプラットフォームのオンデバイスAI開発を可能にします。
Google AI Edge プラットフォームの全体像
Google AI Edge は、Google のAIモデルをエッジデバイス(スマートフォン・組み込み機器等)で動かすためのプラットフォームです。2026年時点でのコンポーネントは以下の通りです。
- LiteRT(旧 TensorFlow Lite): Android / IoT 向けの推論エンジン
- Eloquent: iOS / macOS / Apple Silicon 向けの推論エンジン
- MediaPipe: クロスプラットフォームのAIパイプラインフレームワーク
- AI Core(Android): Android 端末上での Gemma 実行基盤
Eloquent は Apple の Core ML と競合するのではなく、Google のモデル形式(.task / .tflite)をAppleデバイス上で高効率に動かすためのレイヤーとして位置付けられています。
なぜ Eloquent を使うのか
iOS アプリでオンデバイスAIを使いたい場合、既存の選択肢は2つありました:
- Apple Core ML: Apple モデル形式(.mlpackage)を使う。Appleエコシステムでの最適化が高く、Metal 加速をフルに使える。ただし Google モデルをそのまま使いにくい
- OnnxRuntime for iOS: オープンな推論エンジン。モデルのポータビリティが高いが、Google モデルとの親和性は Core ML ほどではない
Eloquent は Google モデルをそのまま iOS / Apple Silicon で動かせる点が強みです。Gemma をサーバーなしで iPhone 上で使いたい開発者にとって、最も自然な選択肢になります。
Antigravity での実装セットアップ
Antigravity に以下のプロンプトを与えることで、Eloquent を使った基本的な推論コードを生成できます。
「Google AI Edge Eloquent を使ってiOSアプリでGemmaモデルをローカル推論する
SwiftUI実装を作ってください。モデルのロード・テキスト生成・エラーハンドリング
を含めてください」
Antigravity が生成するコードの基本構造:
import GoogleAIEdge // Eloquentのフレームワーク
class GemmaLocalInference: ObservableObject {
private var model: EloquentTextModel?
@Published var isLoading = false
@Published var output = ""
// モデルのロード(非同期・初回起動時にbundleから読み込む)
func loadModel() async throws {
guard let modelPath = Bundle.main.path(
forResource: "gemma-2b-it-cpu",
ofType: "task"
) else {
throw EloquentError.modelNotFound
}
let options = EloquentTextModel.Options()
options.maxTokens = 512
options.temperature = 0.7
model = try await EloquentTextModel.load(
modelPath: modelPath,
options: options
)
}
// テキスト生成(Streaming対応)
func generate(prompt: String) async {
guard let model = model else { return }
isLoading = true
output = ""
do {
for try await token in model.generateStream(prompt: prompt) {
await MainActor.run {
output += token
}
}
} catch {
await MainActor.run {
output = "エラー: \(error.localizedDescription)"
}
}
await MainActor.run {
isLoading = false
}
}
}モデルの準備と組み込み方
Eloquent で使えるモデルは .task 形式です。Google AI の公式サイトから Gemma の変換済みモデルをダウンロードできますが、ファイルサイズが大きいため注意が必要です。
| モデル | ファイルサイズ(量子化あり) | 推奨用途 |
|---|---|---|
| Gemma 2B IT(INT4量子化) | 約800MB | iPhone 15以降、テキスト生成 |
| Gemma 2B IT(FP16) | 約2.5GB | iPad Pro / Mac、品質重視 |
800MBのモデルをアプリバンドルに含めると App Store の審査に影響します。推奨は On-Demand Resources(ODR) を使ってアプリの初回起動後にダウンロードする方式です。
// On-Demand Resources でモデルをダウンロードする例
let request = NSBundleResourceRequest(tags: ["gemma-model"])
try await request.beginAccessingResources()
// アクセス後にEloquentでロードAntigravity にこの方式を指示すれば、ODRの設定からモデルロードのリトライロジックまで含めたコードを生成してもらえます。
Antigravity × Eloquent の実用シナリオ
プライバシー重視のテキスト処理アプリ
日記・メモ・医療記録など、クラウドに送りたくないテキストの要約・翻訳・分析をオフラインで実行できます。「サーバーにデータを送らない」という点はプライバシー意識の高いユーザーに強く訴求できます。
オフライン対応の言語学習アプリ
機内や地下鉄でも AI チューターが動く語学アプリは、既存のクラウド依存型アプリとの明確な差別化になります。
低レイテンシのリアルタイム変換
ライブキャプション・リアルタイム翻訳など、ネットワーク遅延が許容できないタスクでオンデバイス推論が活きます。
現時点での制約
Eloquent は2026年時点でまだ Developer Preview の段階です。いくつかの制約があります:
- 対応モデルが限定的: Gemma 2B / 7B のみ(Gemma 4 対応は今後)
- Apple Silicon 専用最適化は Core ML に劣る: Metal Performance Shaders への直接アクセスは Core ML の方が効率的
- 日本語での精度: Gemma の日本語能力は Claude / Gemini より低い場合がある
それでも「Google モデルをiOSで動かす」という明確なユースケースには、現状最も実用的な選択肢です。
まずは動かしてみるところから
Google AI Edge の公式ドキュメントに Eloquent のクイックスタートガイドがあります。まずは Xcode プロジェクトに Eloquent SDK を追加して、サンプルモデルで推論が動くことを確認するところから始めてみてください。
Antigravity はこうした「ゼロから動くものを作る」フェーズを大幅に加速してくれます。プロンプトで意図を伝えれば、Xcode プロジェクトの構成からエラーハンドリングまで含めた実装を提案してもらえます。