LabHub

ブログ

エッジ AI と TinyML 2026 — LiteRT / ExecuTorch / Edge Impulse / Jetson / Coral / Hailo / Sipeed K230 / llama.cpp / Phi-4 徹底ガイド

한국어English日本語

1. 2026 年エッジ AI 地図 — MCU / SBC / スマホ / 自動車の 4 分類

2026 年のエッジ AI(Edge AI)は単一カテゴリではありません。「エッジ」という言葉一つの中に、消費電力 100 mW のマイコンから 100 W を超える自動運転コンピューターまでが同居しており、そこで動くモデルも 1KB 未満のキーワード検出から 4-bit 量子化された 70B LLM まで多種多様です。

まずは 2026 年のエッジ AI デバイスを大きく 4 つに分類します。

2024 年で最も大きな出来事は二つあります。第一に、Google が TensorFlow Lite のモバイル / 組込ランタイムを LiteRT にリブランド — TFLite の正式名称は LiteRT、TFLite Micro は LiteRT Micro になりました。第二に、Meta が ExecuTorch を GA として発表 — PyTorch 陣営のモバイル / 組込ランタイムが TFLite / LiteRT の直接的な代替として登場しました。

それ以前は「エッジで PyTorch を動かすには ONNX 経由で TFLite に変換」が定石でしたが、今は PyTorch → ExecuTorch という直線ルートが用意されました。したがって 2026 年のエッジ AI の最初の分岐点は、LiteRT(Google)陣営と ExecuTorch(Meta / PyTorch)陣営のどちらに進むかです。

本稿はそのすべての分岐点を 1 枚の地図に整理します。MCU からスマホまで、Google から Meta まで、ONNX Runtime から Core ML まで、小さなモデル(Phi-3、Gemma 3、Llama 3.2)から大きなモデル(70B GGUF)まで、韓国 / 日本のエッジ AI 事例も含めて取り扱います。


2. TFLite Micro → LiteRT(2024 年のリブランド)

まずは TFLite Micro が LiteRT に変わった話から始めます。

Google が 2017 年に TensorFlow Lite を発表して以来、TFLite はモバイル / 組込 ML の事実上の標準になりました。さらに 2018 年に TFLite Micro — 数十 KB の RAM しか持たない MCU でも動く軽量ランタイム — が追加され、両者は約 7 年間 Google のエッジ ML 戦略の中核でした。

そして 2024 年 5 月の Google I/O で、Google は二つの変更を同時に発表しました。

リブランドの理由は明白です。「TFLite」という名前は TensorFlow に縛られすぎていて、実際 2023-2024 年の ML エコシステムは PyTorch が圧倒的なシェアを持っていました。Google としては「TFLite のランタイムは良いが PyTorch モデルは動かない」という認識を打ち破る必要がありました。

LiteRT の主な変更点:

LiteRT Micro(旧 TFLite Micro)も同じ流れです。C++ ヘッダオンリーのランタイムはそのままで、これからは PyTorch でも直接モデルを作成して LiteRT Micro に送れます。

簡単な PyTorch → LiteRT 変換の例:

# PyTorch モデル -> LiteRT (旧 .tflite) への変換
import torch
import ai_edge_torch

class TinyClassifier(torch.nn.Module):
    def __init__(self):
        super().__init__()
        self.conv = torch.nn.Conv2d(1, 8, 3)
        self.fc = torch.nn.Linear(8 * 26 * 26, 10)
    def forward(self, x):
        x = self.conv(x)
        x = torch.relu(x)
        x = x.flatten(1)
        return self.fc(x)

model = TinyClassifier().eval()
sample_input = (torch.randn(1, 1, 28, 28),)

# torch.export ベースの変換
edge_model = ai_edge_torch.convert(model, sample_input)
edge_model.export("tiny_classifier.tflite")

この .tflite ファイルはそのまま Android、iOS、Raspberry Pi、Coral、ESP32-S3 上で同一に実行できます。

LiteRT のより大きな意義は ExecuTorch との市場競争です。Google が PyTorch 互換性を取り込んでいなければ、PyTorch 陣営は 100% ExecuTorch に流れたはずですが、いまや二つの標準が併存するようになりました。エッジ ML エンジニアにとっては「同じモデルを両方のランタイムで動かして、速い方を選ぶ」時代になったわけです。


3. ExecuTorch(PyTorch)GA — LiteRT の正面からの代替

ExecuTorch は Meta(PyTorch)が 2023 年の PyTorch Conference で初公開したモバイル / 組込向け PyTorch ランタイムです。2024 年に 1.0 GA となり、本格的に LiteRT の競合になりました。

ExecuTorch の中核アイデアは二つ:

従来の PyTorch Mobile は TorchScript という別の IR(中間表現)を使用していて、PyTorch の動的グラフとの相性が悪く変換失敗が頻発していました。ExecuTorch は torch.export(2.x の新しい静的グラフ API)を標準採用し、変換成功率を大きく引き上げました。

ExecuTorch のバックエンド一覧を見ると、その本気度がわかります。

1 つの ExecuTorch グラフから、iPhone Neural Engine も Snapdragon Hexagon も Cortex-M Ethos-U も同じソースで動かせます。

簡単な変換例:

# PyTorch -> ExecuTorch 変換
import torch
from torch.export import export
from executorch.exir import to_edge

class MyModel(torch.nn.Module):
    def __init__(self):
        super().__init__()
        self.lin = torch.nn.Linear(10, 1)
    def forward(self, x):
        return self.lin(x)

model = MyModel().eval()
example_args = (torch.randn(1, 10),)

# torch.export
exported = export(model, example_args)

# ExecuTorch 変換
edge_program = to_edge(exported)
et_program = edge_program.to_executorch()

# .pte (PyTorch Edge format) として保存
with open("my_model.pte", "wb") as f:
    f.write(et_program.buffer)

Android / iOS の ExecuTorch SDK でこの .pte を読み込めば、元の PyTorch 動的グラフと同じ意味で同じモデルが実行されます。

LiteRT と ExecuTorch の比較:

2026 年時点で ExecuTorch は Llama 3.2 1B / 3B の公式モバイル実行パスとして採用されています。Meta が自社 LLM を自社ランタイムで推すのは自然で、Llama 3.2 のモバイルデモはほぼ ExecuTorch + iOS / Android の組み合わせです。


4. Edge Impulse — 最大の TinyML プラットフォーム

Edge Impulse は 2019 年創業の TinyML 専業スタートアップです。2026 年現在、TinyML 分野での事実上の標準クラウドプラットフォームとなっています。

Edge Impulse の強みは、データ収集からデプロイまでのフルスタックを 1 つの UI で扱える点です。典型的な TinyML ワークフロー:

  1. センサーデータ収集 — Arduino / ESP32 / スマホから加速度、マイク、カメラデータをアップロード
  2. ラベリング — Web UI でクリップごとにクラスをラベル付け
  3. 前処理 — FFT、スペクトログラム、MFCC などの DSP ブロックを選択
  4. モデル学習 — Keras / scikit-learn / Edge Impulse 独自の EON Tuner が自動探索
  5. 量子化 + コンパイル — int8 量子化、EON Compiler が C++ ライブラリを生成
  6. デプロイ — Arduino IDE ライブラリ、PlatformIO、ファームウェア OTA

EON Compiler は Edge Impulse の秘密兵器です。汎用の TFLite Micro インタプリタが約 100 KB の RAM を使うのに対し、EON Compiler はモデルを C++ 静的コードにコンパイルして RAM 使用量を 30-50% 削減します。RAM が 64 KB しかない Cortex-M0+ でも ML を動かせる秘訣です。

代表的なユースケース:

Edge Impulse は Sony Spresense、Nordic nRF5340、Renesas RA、Silicon Labs xG24 など主要 MCU ベンダーと公式パートナーシップを結んでおり SDK が整っています。

# Edge Impulse CLI で Arduino Nano 33 BLE Sense に接続
npm install -g edge-impulse-cli

# デバイスファームウェアを書き込み(Arduino Nano 33 BLE Sense)
edge-impulse-daemon --clean

# 学習済みモデルを Arduino ライブラリとしてエクスポート
edge-impulse-runner --download
# -> Arduino IDE で Sketch > Include Library > Add .ZIP Library から .zip をインポート

企業視点では「データ -> モデル -> ファーム」のフルスタックが参入障壁を大きく下げてくれます。ファームエンジニアが ML の博士でなくても、ML エンジニアがファームのベテランでなくても、Edge Impulse 上で両者が出会えます。

2026 年には Edge Impulse Studio に LLM 統合が始まりました。ChatGPT 風のチャット UI で「センサーデータを分析して新しいモデルを提案して」と頼むと、データセット、前処理、候補モデルを自動的に提示します。


5. NVIDIA Jetson Orin Nano / NX / Thor / AGX

NVIDIA Jetson は SBC / 産業用組込 / ロボティクス分野の標準です。2026 年のラインナップは非常に強力です。

Jetson Thor は 2025 年の GTC で公開され、2026 年前半に本格出荷されたヒューマノイドロボット向けコンピューターです。Blackwell アーキテクチャの GPU に 128 GB LPDDR5X を載せ、70B クラス LLM をローカルで動かし、14 系統のカメラ / LiDAR を同時処理できます。標準的には NVIDIA Isaac Lab のロボット学習環境、Cosmos のシミュレーション-実機転移モデルと組み合わせて使います。

Jetson のソフトウェアスタックはほぼ NVIDIA デスクトップ GPU と互換です。

Jetson 上で LLM を動かす標準は llama.cpp(GGUF)または TensorRT-LLM です。Orin Nano 8GB では Phi-3 mini(3.8B)がトークン当たり ~5-10 ms、AGX Orin 64GB では Llama 3.1 70B(4-bit)がトークン当たり ~30-50 ms で動きます。Jetson Thor では同じ 70B がトークン当たり 5 ms 未満になり、デスクトップ RTX 4090 とほぼ同等です。

# Jetson Orin Nano で llama.cpp + Phi-3 mini を実行
git clone https://github.com/ggerganov/llama.cpp
cd llama.cpp
make GGML_CUDA=1 -j

# Phi-3 mini 4-bit GGUF をダウンロード(例)
huggingface-cli download microsoft/Phi-3-mini-4k-instruct-gguf \
  Phi-3-mini-4k-instruct-q4.gguf --local-dir ./models

./llama-cli -m ./models/Phi-3-mini-4k-instruct-q4.gguf \
  -p "What is the capital of Japan?" -n 64 -ngl 32

Jetson の弱点は価格と発熱です。AGX Orin 64GB はほぼ $3000、60 W TDP では能動冷却が必須です。そのため低消費電力 / 低コストを求める人は Coral、Hailo、Rockchip などの代替を探します。


6. Coral Dev Board(Google TPU) — 4 TOPS、2 W

Coral は Google の Edge TPU(Tensor Processing Unit)とそれを搭載したボード群です。NVIDIA Jetson の最も省電力な代替の一つです。

Edge TPU は int8 量子化モデルしか実行できず、MobileNet / EfficientNet-Lite / PoseNet のような軽量 CNN に特化しています。大きな LLM は動かせませんが、「固定された小さなモデルを 24/7 超低消費電力で推論」というシナリオでは NVIDIA Jetson より圧倒的に効率的です。

典型的な Coral 用途:

TFLite / LiteRT 上の Edge TPU のコードはとてもシンプルです。

# Coral Edge TPU で物体分類
from pycoral.utils.edgetpu import make_interpreter
from pycoral.adapters import classify, common
from PIL import Image

interpreter = make_interpreter('mobilenet_v2_quant_edgetpu.tflite')
interpreter.allocate_tensors()

image = Image.open('cat.jpg').convert('RGB')
size = common.input_size(interpreter)
common.set_input(interpreter, image.resize(size, Image.LANCZOS))

interpreter.invoke()
classes = classify.get_classes(interpreter, top_k=3)
for c in classes:
    print(f"class={c.id} score={c.score}")

Coral の 2024-2026 における限界は明白です。Edge TPU のシリコンは 2018 年設計で、Google が大型アップデートを行わず、新しいアーキテクチャ(Transformer、ViT)の高速化が弱いです。そのため 2024 年以降、Hailo / Sipeed / Rockchip などの後発勢が市場を奪い始めました。

それでも「実績があり、安定して、4 年以上サポートされる省電力 AI ボード」が欲しい場合、Coral は依然として第一候補です。


7. Hailo-15 / Hailo-8 NPU — イスラエル発のダークホース

Hailo はイスラエル・テルアビブの NPU(Neural Processing Unit)スタートアップです。2017 年創業、2024 年にシリーズ D で $340M を調達してユニコーンになりました。

Hailo の NPU ラインナップ:

Hailo の最大の強みは TOPS / W、つまり電力あたりの性能です。Coral Edge TPU が 2 TOPS/W なのに対し、Hailo-8 は約 10 TOPS/W で 5 倍の差があります。

特に Hailo-15 は IP カメラ市場を一変させています。これまではカメラが 1080p H.264 を送出し、NVR(Network Video Recorder)が受けて AI 解析するのが普通でしたが、Hailo-15 を搭載したカメラはカメラ内で物体検出 + 人物再識別 + 姿勢推定を完結し、「メタデータ」だけを送信します。帯域 99% 削減、プライバシー強化、応答速度向上のトリプル効果です。

Hailo の SDK は自前の Dataflow Compiler です。

# Hailo Model Zoo の事前学習モデルをダウンロードして実行
pip install hailo-platform hailo-model-zoo

# YOLOv8 をコンパイル(.hef = Hailo Executable Format)
hailomz compile yolov8s --ckpt yolov8s.pt --hw-arch hailo8

# 推論実行
hailomz eval yolov8s --target hailo8 --data-zip-path coco_val.zip

Hailo の弱点はエコシステムです。NVIDIA CUDA や Google TFLite のようなコミュニティ / ドキュメント / 事例はまだ十分ではありません。しかし 2025-2026 年に Bosch、Ficosa、Continental などの自動車 Tier-1 が ADAS 用に Hailo-10H を採用し、自動車市場では NVIDIA、Mobileye と並ぶ 3 大プレイヤーに躍り出ました。


8. Sipeed K230 — RISC-V + NPU 初のメインストリーム

Sipeed は中国・深圳の組込 ML ボード専業企業です。MaixPy シリーズで有名で、2024 年から Sipeed K230(RISC-V + NPU 統合 SoC)を本格出荷して話題になりました。

Sipeed K230 のスペック:

この価格で 6 TOPS NPU + カメラ ISP + デュアル RISC-V がワンチップに入っているのは非常に大きな出来事です。比較すると、Raspberry Pi 5 は $80 ですが NPU がありません(別アクセラレータが必要)。Coral Dev Board は $130 で 4 TOPS。Jetson Orin Nano は $249 から。

RISC-V であることも重要です。ARM Cortex のようなライセンス費用が不要で、中国政府の RISC-V 振興政策(2023-2030 自立計画)と相まって RISC-V インフラが急速に成熟しています。MicroPython、OpenCV、ONNX Runtime はいずれも公式に RISC-V ビルドをサポートします。

Sipeed K230 の開発環境は MaixPy IDE または素の SDK です。

# MaixPy で K230 カメラから YOLOv5 物体検出
from maix import camera, display, nn

# Kendryte KPU 上に YOLOv5 モデルをロード
model = nn.YOLOv5s(model="yolov5s_quant.kmodel")

cam = camera.Camera(640, 480)
disp = display.Display()

while True:
    img = cam.read()
    boxes = model.detect(img, conf_thres=0.5, iou_thres=0.45)
    for box in boxes:
        img.draw_rect(box.x, box.y, box.w, box.h, color="red")
        img.draw_string(box.x, box.y, box.class_name, color="green")
    disp.show(img)

K230 の ".kmodel" は Canaan の独自 NPU 形式です。nncase というコンパイラで ONNX / TFLite モデルを .kmodel に変換します。

# ONNX -> .kmodel(Canaan NPU 形式)変換
pip install nncase

ncc compile yolov5s.onnx yolov5s.kmodel \
  --target k230 \
  --input-type uint8 \
  --output-type float32

Sipeed の 2026 新製品 MaixCAM(K230 + 5MP カメラ + 2.3 インチディスプレイ)は $65 で箱から出して即フルビジョン AI デモを動かせるため、教育 / メイカー市場で爆発的に売れています。


9. Rockchip RK3588 — SBC NPU の事実上の標準

Rockchip は中国・福州の ARM SoC 設計会社で、RK3588 は 2022 年発表以降、2024-2026 SBC 市場の事実上の標準 SoC となりました。

RK3588 のスペック:

RK3588 系ボードは価格対スペックが圧倒的です。Orange Pi 5 Plus 16GB が $130-150、Radxa Rock 5B 16GB が $160-180。Jetson Orin Nano 8GB($249)よりメモリも多く CPU も速い — ただし NPU の成熟度(ソフト + モデル互換性)は NVIDIA TensorRT には及びません。

SDK は Rockchip RKNN-Toolkit です。

# RKNN-Toolkit2 をインストール(ホスト PC、x86)
pip install rknn-toolkit2

# ONNX -> .rknn(Rockchip NPU 形式)変換
python -c "
from rknn.api import RKNN
rknn = RKNN()
rknn.config(target_platform='rk3588')
rknn.load_onnx('yolov8n.onnx')
rknn.build(do_quantization=True, dataset='./dataset.txt')
rknn.export_rknn('./yolov8n.rknn')
"
# RK3588 ボード上で .rknn を実行(rknnlite)
from rknnlite.api import RKNNLite
import cv2

rknn = RKNNLite()
rknn.load_rknn('./yolov8n.rknn')
rknn.init_runtime(core_mask=RKNNLite.NPU_CORE_AUTO)

img = cv2.imread('test.jpg')
outputs = rknn.inference(inputs=[img])
print(outputs[0].shape)

RK3588 の魅力は NPU + 8K 映像 + 豊富なメモリオプションの組み合わせです。4K / 8K セキュリティカメラ、IoT ゲートウェイ、デジタルサイネージ、産業 HMI などほぼ標準として定着しました。後継の RK3588S(低価格)と RK3576(中堅)も人気で、2025 年末に発表された RK3688(次世代、14 TOPS NPU 予定)は 2026-2027 の次世代標準になる見込みです。


10. MaixPy / Arduino Nano 33 BLE Sense / Seeed Wio AI

このセクションでは MCU / メイカー市場の代表的なボードをまとめます。

MaixPy(Sipeed)

MaixPy は Sipeed の組込 MicroPython 環境です。Maixduino、MaixCube、MaixCAM などのボードで動作し、カメラ + NPU + ディスプレイを統合したメイカーキットとして人気です。K210(第 1 世代、2018)、K510(第 2 世代、2022)、K230(第 3 世代、2024)へと進化しました。

特に MaixCube は $30 程度で LCD + カメラ + マイク + バッテリー + ジャイロを内蔵し、キーワード検出 + 顔認識 + 姿勢推定などのフル AI デモを即起動できます。

Arduino Nano 33 BLE Sense

Arduino Nano 33 BLE Sense(Rev2)は TinyML の事実上の標準学習ボードです。2019 年の初登場以来、Edge Impulse と TensorFlow Lite Micro の公式デモボードに採用され、ほぼ全ての TinyML 書籍 / 講座に登場します。

スペック:

この価格でほぼ全ての TinyML デモ(キーワード検出、ジェスチャー、振動、環境モニタリング)が動くため、教育市場で圧倒的です。

// Arduino Nano 33 BLE Sense + TFLite Micro キーワード検出(概念コード)
#include <TensorFlowLite.h>
#include <PDM.h>

#include "model_data.h"  // 学習済みモデル(Edge Impulse などで生成)

const tflite::Model* model = tflite::GetModel(g_model);
static tflite::MicroInterpreter* interpreter;

constexpr int kTensorArenaSize = 80 * 1024;
alignas(16) uint8_t tensor_arena[kTensorArenaSize];

void setup() {
  static tflite::AllOpsResolver resolver;
  static tflite::MicroInterpreter static_interpreter(
      model, resolver, tensor_arena, kTensorArenaSize);
  interpreter = &static_interpreter;
  interpreter->AllocateTensors();
  PDM.begin(1, 16000);  // 1 ch、16 kHz
}

void loop() {
  // マイクから 1 秒クリップを収集
  // MFCC 特徴量を抽出
  // モデル入力テンソルにコピー
  // interpreter->Invoke();
  // 結果クラスを出力("yes", "no", "stop", ...)
}

Seeed Wio AI / XIAO ESP32-S3

Seeed Studio(中国・深圳)の Wio AI シリーズと XIAO ESP32-S3(Sense)もメイカー市場の主力です。XIAO ESP32-S3 Sense は ESP32-S3 + カメラ + マイク + microSD を切手サイズのボード(21x18 mm)に詰めて $10-15。Edge Impulse の公式サポートボードでもあります。

ESP32-S3 の魅力は Wi-Fi 内蔵です。Arduino Nano 33 は BLE のみですが、ESP32-S3 は Wi-Fi + BLE 両対応で、IoT シナリオ(結果をクラウドへアップロード、OTA ファーム更新)に向いています。

ML 向け MicroPython

MicroPython は Python の組込版です。2024-2026 年に MicroPython の上で ML を動かすパターンが増えました。

MicroPython の魅力は素早いプロトタイピングです。C++ ではコンパイル + フラッシュに 30 秒かかるところを、MicroPython は REPL で即実行できるためセンサーデータ探索が高速化します。


11. ONNX Runtime Mobile / Core ML / TensorRT / Apache TVM

このセクションではモバイル / エッジ推論ランタイム 4 種を整理します。

ONNX Runtime Mobile

ONNX Runtime は Microsoft が開発したマルチフレームワーク推論エンジンです。ONNX(Open Neural Network Exchange)標準形式のモデルを実行し、事実上 PyTorch / TF / JAX / Keras すべてから変換可能です。

ONNX Runtime Mobile はモバイル向けスリムビルドです。

長所は陣営中立性です。PyTorch 陣営(ExecuTorch)と Google 陣営(LiteRT)の間で「両方互換」という安全な選択肢になります。ただし量子化と NPU 最適化の面では、陣営別のネイティブ(LiteRT / ExecuTorch)より 1-2 段階遅れることが多いです。

Core ML(Apple)

Core ML は Apple の自社デバイス(iPhone、iPad、Mac、Watch)専用 ML ランタイムです。2017 年の iOS 11 から導入され、2024-2026 年に A17 Pro / A18 Pro / M3 / M4 の Neural Engine を活用する標準パスとなりました。

Core ML の強みは Apple Silicon との統合です。CPU / GPU / Neural Engine(ANE)を自動スケジューリングし、M3 / M4 の ANE は 35-38 TOPS を発揮します。モバイル Stable Diffusion、オンデバイス Whisper、Apple Intelligence(2024 WWDC)のオンデバイス LLM はすべて Core ML 上で動きます。

# PyTorch -> Core ML 変換(coremltools)
import torch
import coremltools as ct

class MyModel(torch.nn.Module):
    def forward(self, x):
        return torch.nn.functional.relu(x)

model = MyModel().eval()
traced = torch.jit.trace(model, torch.randn(1, 3, 224, 224))

mlmodel = ct.convert(
    traced,
    inputs=[ct.TensorType(shape=(1, 3, 224, 224))],
    compute_units=ct.ComputeUnit.ALL,  # CPU + GPU + ANE
)
mlmodel.save("MyModel.mlpackage")

Apple Intelligence のオンデバイスモデルはおよそ 3B パラメータ(2-bit 量子化)と言われ、iPhone 15 Pro 以上の Neural Engine でトークンあたり ~30 ms 程度で動作します。

TensorRT(NVIDIA)

TensorRT は NVIDIA GPU 専用の推論アクセラレータです。デスクトップ RTX、サーバ H100 / H200 / B200、エッジ Jetson まで同じ API で動きます。

# PyTorch -> ONNX -> TensorRT エンジンビルド
import torch
import tensorrt as trt

# 1. PyTorch -> ONNX
torch.onnx.export(model, dummy_input, "model.onnx", opset_version=17)

# 2. ONNX -> TensorRT engine
logger = trt.Logger(trt.Logger.WARNING)
builder = trt.Builder(logger)
network = builder.create_network(1 << int(trt.NetworkDefinitionCreationFlag.EXPLICIT_BATCH))
parser = trt.OnnxParser(network, logger)
with open("model.onnx", "rb") as f:
    parser.parse(f.read())

config = builder.create_builder_config()
config.set_flag(trt.BuilderFlag.FP16)
engine = builder.build_serialized_network(network, config)
with open("model.engine", "wb") as f:
    f.write(engine)

TensorRT-LLM は LLM 専用のアクセラレーションライブラリで、Llama / Mistral / Qwen に対し自動でグラフ融合 + KV キャッシュ最適化 + 量子化(FP8 / INT4)を行います。Jetson AGX Orin 上で Llama 3.1 8B がトークンあたり 5-7 ms 水準です。

Apache TVM

Apache TVM は OctoML が主導する ML コンパイラプロジェクトです。PyTorch / TF / ONNX モデルを受け取り、CPU / GPU / NPU / DSP のいずれでも動くコードを自動生成します。

MLC LLM(次セクション)は TVM ベースです。TVM 自体は学習コストが高めですが、MLC というユーザーフレンドリーなラッパー経由でスマホ上で LLM を動かす中核インフラとなっています。


12. スマホで LLM — MLC LLM / llama.cpp / Whisper.cpp / GGUF

2024-2026 年で最も大きな変化は、スマホ上で 1-8B LLM が実用速度で動くことです。主要ツール:

llama.cpp

ggerganov による C++ LLM 推論エンジンです。2023 年春に始まり、2026 年現在は事実上のローカル LLM 標準ランタイムです。

中核の価値:

# Android で llama.cpp をビルド(Termux 環境)
pkg install clang make git
git clone https://github.com/ggerganov/llama.cpp
cd llama.cpp
make -j

# Phi-3.5 mini モデルをダウンロード(GGUF 4-bit、例)
huggingface-cli download bartowski/Phi-3.5-mini-instruct-GGUF \
  Phi-3.5-mini-instruct-Q4_K_M.gguf --local-dir ./models

./llama-cli -m ./models/Phi-3.5-mini-instruct-Q4_K_M.gguf \
  -p "Explain attention." -n 128 -t 4

Galaxy S24 Ultra / iPhone 15 Pro のようなスマホでは Phi-3.5 mini(3.8B Q4_K_M、約 2.2GB)がトークンあたり 30-50 ms(20-30 tok/s)で動作します。

Whisper.cpp

同じく ggerganov による Whisper(OpenAI 音声認識モデル)の C++ ポートです。クラウドなしでスマホ / ノート PC で音声認識が動きます。

# Whisper.cpp で日本語音声認識(CPU)
git clone https://github.com/ggerganov/whisper.cpp
cd whisper.cpp
bash ./models/download-ggml-model.sh medium
make -j

./build/bin/whisper-cli -m models/ggml-medium.bin -l ja -f my_audio.wav

iPhone の Whisper.cpp Core ML ビルドは medium モデル(769M)で 30 分の音声を ~5 分で処理します。small モデル(244M)はリアルタイムより速く、base(74M)はスマホでほぼリアルタイムで動きます。

MLC LLM

MLC(Machine Learning Compilation)LLM はカーネギーメロン / Apache TVM 陣営が作ったスマホ / ブラウザ向け LLM エンジンです。

特に WebGPU バックエンドが面白いです。ページに訪問するとモデルがダウンロードされ、Chrome / Edge / Safari 内で GPU 高速 LLM が動きます。サーバー呼び出しなし、完全ローカルです。

# MLC LLM の Android デモビルド
git clone --recursive https://github.com/mlc-ai/mlc-llm
cd mlc-llm
python -m mlc_llm package --model "HF://mlc-ai/Llama-3.2-3B-Instruct-q4f16_1-MLC"
# Android Studio で android/MLCChat プロジェクトを開いてビルド

MLC LLM 上で Galaxy S24 Ultra は Llama 3.2 3B をトークンあたり 25 ms(40 tok/s)で動かします。同じ端末で llama.cpp より GPU バックエンドの方がわずかに速いです。

GGUF 形式

GGUF(Georgi Gerganov Unified Format)は llama.cpp のモデルファイル標準です。1 つのファイルに以下が統合されています。

このため .gguf ファイル 1 つあれば llama.cpp / Ollama / LM Studio / GPT4All のどこでも同じモデルを同じ結果で動かせます。

2026 年 5 月時点で Hugging Face には 5 万を超える GGUF モデルがあり、ほぼすべてで "Q4_K_M" または "Q5_K_M" 量子化が標準です。一般的には Q4_K_M が品質 / サイズのバランス推奨値です。


13. 小さなモデル — Phi-3 / 3.5 / 4(MS) / Gemma 2 / 3(Google) / Llama 3.2 1B / 3B

エッジ LLM の最大の変数はモデル選択です。2024-2026 年に「1-4B なのに GPT-3.5 級に賢い」小型モデルが爆発的に登場しました。代表 3 系統を整理します。

Microsoft Phi シリーズ

Phi は Microsoft の小型 LLM シリーズです。「Textbooks Are All You Need」論文に始まり、高品質な合成データ + 小さいモデルで大型モデルに迫る性能を狙います。

Phi-3 mini の人気の秘密はスマホで実用的に動く初の LLM だったことです。iPhone 15 Pro でトークンあたり 12-15 tok/s、Galaxy S24 Ultra で 20-25 tok/s と、リアルタイムチャットが可能です。

Google Gemma シリーズ

Gemma は Google のオープンモデルシリーズで、Gemini と同じ研究インフラから派生しています。

Gemma 3 27B は 9B より一段上、4B の Gemma 3n は一般的な 8B モデル相当の品質を見せモバイルに最適化されています。PLE(Per-Layer Embeddings)はメモリ効率のため埋め込みをレイヤーごとに分散配置する構造です。

Meta Llama 3.2 1B / 3B

Llama 3.2 は 2024 年 9 月発表の Meta 製小型モデルシリーズです。事実上モバイル / エッジ専用ラインです。

Llama 3.2 1B はあらゆる LLM の中で最小ながら実用回答ができるモデルで、iPhone 15 / Galaxy S24 のようなスマホでトークンあたり 50-80 tok/s が出ます。音声インターフェース、チャットボット、テキスト分類のような軽量シナリオに十分です。

Meta 自身が Llama 3.2 1B / 3B の公式モバイル実行パスとして ExecuTorch を提示し、Android / iOS のデモアプリを提供しています。

モデル選択ガイド

スマホで最速回答が必要なら Llama 3.2 1B(50-80 tok/s) -> Phi-3 mini(20-25 tok/s) -> Gemma 3 4B(15-20 tok/s) -> Llama 3.2 3B(10-15 tok/s)の順です。ただし回答品質はほぼ逆順で、Phi-3 mini / Gemma 3 4B / Llama 3.2 3B が 1B より明確に優れます。


14. Always-on AI — センサー + ML の時代

エッジ AI の真価は単発推論ではなく 24/7 常時稼働にあります。これを Always-on AI と呼びます。

典型的なシナリオ:

技術的な核は次の 4 点です。

  1. デュアルコア / デュアルモデル — 非常に小さなモデル(1-10 KB)が常時走って「候補」を捕まえ、続いて大きなモデル(100KB-1MB)が起きて検証。キーワード検出が典型例。Apple Watch / Pixel Buds はこの方式
  2. 量子化 — int8 もしくはそれ以下(4-bit、2-bit)で電力を 99% 削減。Edge TPU、Hexagon DSP、Cortex-M NPU はすべて int8 中心
  3. NPU / DSP 主体の処理 — メイン CPU を起こさず NPU 単独で推論。メイン CPU は deep sleep
  4. センサー -> ML 直結 — カメラ ISP / マイク PDM が NPU と同じ SoC 内にあり、データが CPU メモリを経由せず NPU へ直行
// Cortex-M NPU 上の Always-on キーワード検出 擬似コード
void main(void) {
  while (1) {
    // 1. 非常に小さなモデル(10KB)で 1 次フィルタ
    int trigger = run_tiny_kws_model(audio_buffer);

    if (trigger > THRESHOLD_LOW) {
      // 2. 大きなモデル(500KB)を起こす
      int label = run_large_kws_model(audio_buffer);

      if (label == LABEL_HEY_SIRI) {
        // 3. アプリケーションプロセッサを起こす(UART / SPI / IPC)
        wake_application_processor();
      }
    }

    // 次フレームまでスリープ(DMA がマイクデータを自動収集)
    enter_deep_sleep();
  }
}

このパターンにより Apple Watch の「Hey Siri」はほぼバッテリーを消費せず 24 時間動きます。Cortex-M 級の NPU(Apple の自社設計 NPU)がマイクを常時聞き、キーワード一致時のみメイン SoC を起こします。

産業現場の振動異常検知も同じパターンです。STM32H7 + ST の MEMS 加速度センサー + 1 KB の TFLite Micro オートエンコーダでベアリング異常を 24/7 監視し、単 1 電池で 6 ヶ月以上稼働します。

2026 年のトレンドは Visual Wake Words — カメラ ISP は常時オンで「人が見えたら」のみメイン SoC を起こすパターンです。Visual Wake Words モデルは ~250 KB、MobileNet-V2 の超軽量バリアントで、Cortex-M55 + Ethos-U65 のような NPU 統合 MCU 上で 1 mW 級で動きます。


15. 韓国 / 日本のエッジ AI — ETRI / Samsung / LG / Sony AI / NTT

韓国

日本

共通の流れ

韓国 / 日本ともに「オンデバイス AI の比重拡大」が大きな潮流です。スマホ / 自動車 / 家電に NPU が標準搭載され、クラウド LLM のコスト / レイテンシ / プライバシー問題から「できることはデバイス内で完結」という戦略に移行しつつあります。

特に日本は自社 NPU 設計力が強く、Renesas DRP-AI、Sony IMX500、Panasonic のビジョン IP、Edgecortix の SAKURA-II などが NVIDIA / Hailo / Coral のグローバル競合として位置を確立しています。


16. エッジ AI を学ぶべきは誰か — IoT / モバイル / 自動車

最後に職種別にどの道具をどう学ぶかをまとめます。

IoT / ファームウェアエンジニア

モバイルエンジニア

SBC / ロボティクスエンジニア

自動車エンジニア

ML エンジニア / データサイエンティスト(エッジ転向)

学生 / 初心者

最も安価で速い入門ルート:

  1. Arduino Nano 33 BLE Sense($35) + Edge Impulse(無料枠) — TinyML 初歩。キーワード検出、ジェスチャー認識
  2. Sipeed MaixCAM もしくは XIAO ESP32-S3 Sense($15-65) — カメラ + AI のメイカー案件
  3. Raspberry Pi 5 + Coral USB Accelerator($130)または Orange Pi 5($130) — SBC への入口
  4. Jetson Orin Nano($249) — 本格的なロボティクス / SBC

$15 のボード 1 台から始め、半年で $249 の Jetson まで段階的に進むのが最も無理のない道筋です。


17. 参考 / References

コメント

まだコメントはありません。

ログインするとコメントできます