AI時短ラボ
検索
検証

Google、オンデバイスAI用LiteRT(ライトアールティー)にC++でモデルを組み立てる「Tensor API(テンソルAPI)」SAM 2はMacBook ProでApple MLX比約1.5倍と同社

執筆:約12分で読めます

日刊AIニュース10月19日(月)号:前日のAIのニュース3本を短くまとめました(約5分)›

Googleは2026年10月19日、オンデバイスAI向けLiteRTにC++でモデルと前後処理を組み立てる「Tensor API」を公開した。同じコードをCPU・GPU・NPUで動かせるとし、SAM 2はMacBook Proで同社テストのApple MLX比約1.5倍、WebGPUで10fps未満から30fps超になったと説明している。

Google、オンデバイスAI用LiteRT(ライトアールティー)にC++でモデルを組み立てる「Tensor API(テンソルAPI)」──SAM 2はMacBook ProでApple MLX比約1.5倍と同社
目次

Googleは現地時間2026年10月19日、オンデバイスAI向けの実行基盤LiteRT(ライトアールティー)に、C++でモデルとその前後処理を直接組み立てられる「LiteRT Tensor API(テンソルAPI)」を公開した。Google Developers Blogの発表によると、同じC++のグラフをCPU・GPU・NPUで動かせ、モデルファイルなしでXNNPACK経由のCPU実行もできる。デモのSAM 2(Meta製の画像・動画セグメンテーションモデル)はMacBook Proで、同社のテストではApple MLXの約1.5倍の速さだったという。

3行まとめ

  1. Googleが2026年10月19日、LiteRTにC++でモデルを組み立てる「Tensor API」を公開。同じグラフをCPU・GPU・NPUで動かせると説明
  2. SAM 2をTensor APIで書いた結果、MacBook ProでApple MLXの約1.5倍(Google測定)、WebGPUで10fps未満から30fps超(コーディングエージェントが改良)
  3. 変換経路は引き続き「ほとんどのプロジェクトに勧める既定」で、Tensor APIは細かい制御が要る場合の選択肢という位置づけ

本記事の内容は、日本時間10月20日2時台に公式ページで確認したものです。

何ができるようになったのか

Tensor APIは、LiteRTランタイムの上に載る「軽量な作成層」だとブログは説明している。FullyConnected、Softmax、BatchMatMulのような演算をC++の関数として呼び、グラフを1演算ずつ組み立てる。GitHubのREADMEによると、演算は90種類以上(要素ごとの演算、活性化、reshape・transpose・gather、リダクション、matmul、conv、正規化、量子化など)で、グラフは呼び出した時点では計算せず、依存関係を記録するだけの作りだという。

ブログが挙げる特徴は4つある。

特徴 Googleの説明
グラフ構造の完全な制御 どの演算をどうつなぐかを自分で決める。scaled dot-product attention、RMSNorm、KVキャッシュ更新といったLLM向けの複合演算も含む
重みの直接読み込み Hugging Faceの.safetensorsなど、チェックポイントから変換スクリプトなしで読む
バッファの受け渡し(ゼロコピー) 前処理・モデル・後処理がアクセラレーターの共有バッファで値を渡し、途中でCPUに戻らない
AIエージェント向けの部品 モデルが素のC++と明確な演算でできているので、コーディングエージェントが構築・検証・性能調整をしやすい

実行の仕方は2通りある。バックエンドはTensorのテンプレート引数で選ぶ。TfLiteMixinTagを付けると.tfliteファイルを書き出し、LiteRTがCPU・GPU(オープンソースのML Drift)・NPUで動かす。XnnpackMixinTagならモデルファイルなしでXNNPACK経由のCPU実行になる。両方のタグを付ければ、1つの定義から両方を選べる。READMEにはこれに加え、ML Driftで.tfliteを介さずOpenCLやWebGPU上のGPUで直接動かすMlDriftMixinTagも載っている。

ブログは使い分けの流れも示している。まずXNNPACKの直接実行で、.safetensorsから重みを読みつつ試行錯誤し、出荷するときに.tfliteを書き出してモバイルやLiteRT.js(ブラウザ)で動かす、という手順だ。

誰が使えるのか、日本では

今回取得した4つのページには、日本を含む地域別の提供条件や料金の記載は見当たらなかった(日本語版のページも確認できていない)。ブログが案内しているのは、LiteRTのGitHubリポジトリのtensor/ディレクトリ、API解説(tensor_api.md)、リファレンス実装のSAM 2サンプル(litert-samples)、ライブデモ、Gemma 4とGemma 3のLLMサンプルである。ライセンスの種類は、取得したページの文字からは読み取れなかったので、使う前にリポジトリで確認してほしい。

ビルド面では、READMEに次の記載がある。

  • Bazelでのビルドが基本で、LiteRTのリポジトリ内、または自分のワークスペースから外部リポジトリとして取り込める
  • CMakeは「コアとTFLiteバックエンドが対象」で、XNNPACKとML Driftのバックエンドとランナーは、現時点ではBazelのみ
  • WebAssemblyの場合は、C++で書いてEmscriptenでコンパイルし、できた.tfliteをLiteRT.js(WebGPU)に渡す

READMEの手順を見る限り、C++で書いてBazel(一部はCMake)でビルドすることが前提になっている。

数字はどこまで確かか

ブログの数字は次のとおりで、いずれもGoogleの測定・説明だ。

項目 内容
MacBook Pro SAM 2がApple MLX(fp16、画像エンコーダー+マスクデコーダー)の約1.5倍。前後処理は約0.34ms
WebGPU(ブラウザ) 512x512で10fps未満から30fps超。コーディングエージェントが書いて改良
実行した端末 macOS(Metal)、iOS(Metal)、Android(OpenCL)の3機種のGPUで同じC++コード
GPU上の演算数 エンコーダー522、デコーダー269の演算がすべてGPUで動き、CPUに戻らない
出力の一致 マスクはMetaのPyTorch実装と「ピクセル単位で一致」

litert-samplesのREADMEには、ベンチマークの条件が書かれている。入力は中心に白い円を置いた512x512の合成画像で、GPUはfp16、5回のウォームアップのあとに20回を計測し、中央値を取る。MLX側の比較対象は、Python版MLX(avbiswas/sam2-mlx)とiOSのMLX-Swiftである。再現用のコマンドも載っている。

Tensor APIのREADMEには、別の数字もある。セグメンテーションのサンプルで、Samsung S25上のGPUゼロコピーのパイプラインは10ms、CPU経路は83msだという。

数字の条件が文書ごとに違う

ここは読み比べて気づいた点だ。ブログは「512x512でWebGPU上で30fps超」と書く。一方、Tensor APIのREADMEのSAM 2動画デモの行は「約30fps(1オブジェクト、384pxモデル、720p動画、M4 ProのChrome)」と書いている。モデルの入力解像度の表記が両者で違うので、「30fps」を単純に比べるのは避けたほうがよい。どちらが何を指すのかは、今回のページからは判別できなかった。

前と何が違うのか

ブログは、従来の道をこう整理している。まず、PyTorchのモデルをLiteRT Torchで変換してLiteRTランタイムで動かす方法は「最も早く確実な本番への道」で、ほとんどのプロジェクトに勧めるという。ただし、新しいアーキテクチャに対応したい、フレームワーク側の更新を待たずに別の変換方針を試したい、といった場合には、開発者がネイティブC++やシェーダー言語で計算を手書きしてきた。

ブログはその例として、Apple MLXとllama.cppを挙げている。そうした実装はMetal・OpenCL・Vulkanなど特定のバックエンドに強く結びつき、ハードが変わるたびに書き直しになる。CPU・GPU・NPUをまたぐバッファの受け渡しと同期、前処理・推論・後処理のつなぎ込みにも、手作業が多くかかるという。Tensor APIはこの両立(ネイティブ作成の自由度と、複数ハードで動く移植性)を狙うもの、というのがGoogleの説明だ。

筆者が公式ページで確かめたこと

日本時間10月20日2時14分台にブログを取得した時点で、「Times cover…(時間は…を含む)」という注記から測定時間の表か図があるとみられるが、取得した本文の文字には数値が出ておらず、読めた数字は「約1.5倍」という記述と、その注記(前後処理は約0.34ms加算、出力は参照実装と一致)だけだった。iOSやAndroidでの具体的なミリ秒は、今回の取得結果では確認できていない。代わりに、litert-samplesのREADMEで測定条件と手順を読み、Tensor APIのREADMEと突き合わせて上の「条件の違い」に気づいた。私が実際にビルドして動かしたわけではない。

確認できていないこと、これからの予定

  • NPUの扱い:ブログは「同じグラフをNPUで動かせる」と書く一方、「今後の取り組み」として、ML Driftの直接バックエンド、NPUに向く演算、グラフ全体の自動量子化を挙げている。NPUでの性能数値は、取得したページには見当たらなかった。
  • ベンチマーク機種:ブログの「MacBook Pro」について、チップの世代はブログの本文には書かれていない。
  • Python版:Pythonで書いて.tfliteを書き出す機能と、画像サイズ・バッチサイズ・系列長が変わる場合の動的形状への対応拡大は、ブログが「追加中」と書いている。
  • エージェントによる最適化:SAM 2の改良はGoogleのコーディングエージェント「Antigravity(アンチグラビティ)」が行い、各変更をHugging FaceのSAM 2で確かめてから採用したと書かれている。何回の試行で何が効いたかの内訳は、取得したページにはなかった。
  • 全体として、性能の数字はGoogle自身による測定で、第三者の再現は今回確認できていない。

出典と確認時刻

いずれも日本時間2026年10月20日2時14分台に取得しました。本記事は続報があり次第更新します。

この記事でよく聞かれること

LiteRT Tensor APIとは何ですか?
Googleが2026年10月19日に発表した、オンデバイスAI向けLiteRTの上に載るC++の軽量ライブラリです。モデルのグラフを演算(op)ごとにC++で組み立て、同じコードをLiteRT経由のCPU・GPU・NPU、またはXNNPACK経由のCPUで動かせるとGoogleは説明しています。モデルの前処理・後処理も同じAPIで書け、アクセラレーターのバッファを共有してCPUへの往復を避けられるとされています。
既存のモデル変換(LiteRT Torchなど)はもう使わなくてよいのですか?
いいえ。Googleのブログは、学習済みモデルを変換してLiteRTランタイムで動かす道を「ほとんどのプロジェクトに勧める」既定の方法としています。Tensor APIは、グラフの構造を細かく制御したい場合や、パイプライン全体をアクセラレーター上で動かしたい場合に使うものという位置づけです。
SAM 2での性能はどのくらいですか?
Googleのブログによると、MacBook Proでの同社テスト(fp16、画像エンコーダー+マスクデコーダー)でApple MLXの約1.5倍の速さでした。また、コーディングエージェントが書き進めたSAM 2は、512x512・WebGPUで10フレーム/秒未満から30フレーム/秒超になったとしています。いずれもGoogle側の測定・説明です。
いつから、どこで使えますか?
2026年10月19日付のブログ記事と同時に、LiteRTのGitHubリポジトリ(tensor/ディレクトリ)とlitert-samplesに実装とサンプルが載っています。料金や提供地域、ライセンスについては、今回取得したページの文字からは確認できませんでした。
シェア: ポスト はてブ

出典・参照資料

AI時短ラボ

大きいニュースはYouTubeでも解説しています。Xでは新着記事をお知らせしています。

コメント

まだコメントはありません。最初のコメントを書いてみませんか?

AIについて聞きたいことはありますか?

質問箱で無料で受け付けています。回答は公開され、他の方の参考にもなります。

質問箱を見る →

関連記事

Gemma 4 12BをMacのローカルで「エージェント用の土台」にする──Google AI Edgeの手順。LiteRT-LM CLIの新コマンド`serve`でOpenAI互換のローカルサーバーを立て、OpenClaw・Hermes・OpenCode・Aiderをそのまま向ける。AI Edge GalleryのmacOS版はPythonを書いて実行、Eloquentは音声で書き換えの記事画像

Gemma 4 12BをMacのローカルで「エージェント用の土台」にする Google AI Edgeの手順。LiteRT-LM CLIの新コマンド`serve`でOpenAI互換のローカルサーバーを立て、OpenClaw・Hermes・OpenCode・Aiderをそのまま向ける。AI Edge GalleryのmacOS版はPythonを書いて実行、Eloquentは音声で書き換え

検証(発表 6月3日)
Google「ADK for Kotlin 1.0」が正式版──Python版・Java版のADK 1.0と同じ機能に加え、Android向けの端末内エージェント(LiteRT-LM・ML Kitベータ)、Firebase AI Logicのハイブリッド、RoomとAppSearchで状態の保存。@Toolと@Paramでスキーマを自動生成、SKILL.mdで手順を段階的に読むの記事画像

Google「ADK for Kotlin 1.0」が正式版 Python版・Java版のADK 1.0と同じ機能に加え、Android向けの端末内エージェント(LiteRT-LM・ML Kitベータ)、Firebase AI Logicのハイブリッド、RoomとAppSearchで状態の保存。@Toolと@Paramでスキーマを自動生成、SKILL.mdで手順を段階的に読む

検証(発表 9月9日)
Gemini CLI v0.60.0とv0.61.0、セキュリティ・堅牢化の修正が計13件──間接プロンプトインジェクション対策とサンドボックス境界の強化の記事画像

Gemini CLI v0.60.0とv0.61.0、セキュリティ・堅牢化の修正が計13件 間接プロンプトインジェクション対策とサンドボックス境界の強化

検証
Google、Gemini 4 Argon(ジェミニ4 アルゴン)に11時間の無人実行でADKを最適化させ、長いセッションの前処理を約40%短縮──6案のうち採用は2案の記事画像

Google、Gemini 4 Argon(ジェミニ4 アルゴン)に11時間の無人実行でADKを最適化させ、長いセッションの前処理を約40%短縮 6案のうち採用は2案

検証
Google「A2UI+MCP Apps」──エージェントの画面を「宣言的なJSON(A2UI)」で描くか「iframeのWebアプリ(MCP Apps)」で描くかの二択を組み合わせる3つの型。①MCPサーバーがapplication/a2ui+jsonを返しホストがネイティブ描画②MCP AppをA2UI部品に埋めて要点だけ同期③MCP App内にA2UI描画器を入れて旧システムに生成UIの記事画像

Google「A2UI+MCP Apps」 エージェントの画面を「宣言的なJSON(A2UI)」で描くか「iframeのWebアプリ(MCP Apps)」で描くかの二択を組み合わせる3つの型。①MCPサーバーがapplication/a2ui+jsonを返しホストがネイティブ描画②MCP AppをA2UI部品に埋めて要点だけ同期③MCP App内にA2UI描画器を入れて旧システムに生成UI

検証(発表 6月17日)
Hugging Face「funes」──Claude Code・Codex・pi・Hermesのセッション記録を1つの記憶にする単一バイナリ。`funes add claude`でエージェントにrecallとgetのツールが付き、完了したターンごとに自動で索引。埋め込みと再ランクは手元で動き、共有したければ自分のHugging Faceデータセット(既定で非公開)に。要約せず原文と出所を返すの記事画像

Hugging Face「funes」 Claude Code・Codex・pi・Hermesのセッション記録を1つの記憶にする単一バイナリ。`funes add claude`でエージェントにrecallとgetのツールが付き、完了したターンごとに自動で索引。埋め込みと再ランクは手元で動き、共有したければ自分のHugging Faceデータセット(既定で非公開)に。要約せず原文と出所を返す

検証(発表 9月3日)
Raspberry Pi 5でGemma 4 E2Bをオフライン実行──LiteRT-LMでプリフィル99トークン/秒・デコード9トークン/秒・ピークメモリ1,432MB、生成は約300語/分(人の会話の2倍)。GPUにYOLOの物体検出を逃がし、CPUでMoonshineの音声認識・Gemma・TTSを回すReachy Miniロボットの構成。pip install litert-cliで開始の記事画像

Raspberry Pi 5でGemma 4 E2Bをオフライン実行 LiteRT-LMでプリフィル99トークン/秒・デコード9トークン/秒・ピークメモリ1,432MB、生成は約300語/分(人の会話の2倍)。GPUにYOLOの物体検出を逃がし、CPUでMoonshineの音声認識・Gemma・TTSを回すReachy Miniロボットの構成。pip install litert-cliで開始

検証(発表 8月11日)
Google「LiteRT.js」──.tfliteモデルをブラウザで動かすJavaScript版LiteRT。TensorFlow.jsのJSカーネルでなくネイティブのランタイムをWebAssemblyで提供し、CPU(XNNPACK)・GPU(WebGPU)・NPU(WebNN)を使い分け。他のWebランタイム比で最大3倍、CPU比でGPU/NPUは5〜60倍の記事画像

Google「LiteRT.js」 .tfliteモデルをブラウザで動かすJavaScript版LiteRT。TensorFlow.jsのJSカーネルでなくネイティブのランタイムをWebAssemblyで提供し、CPU(XNNPACK)・GPU(WebGPU)・NPU(WebNN)を使い分け。他のWebランタイム比で最大3倍、CPU比でGPU/NPUは5〜60倍

検証(発表 7月9日)