Android でのローカル LLM:PocketPal、MLC Chat (2026)
Android 上のローカル LLM とは、オフラインで、クラウドを介さず、スマートフォンのプロセッサ上で直接応答するアシスタントです。現在、量子化された 10 億から 40 億パラメータのモデルは、ミッドレンジスマートフォンの RAM に収まり、実用的な速度で応答できます。本ガイドでは、3 つのアプローチをカバーします。コマンドラインなしで始めるための PocketPal と MLC Chat、さらに深く掘り下げるための Termux 経由の llama.cpp です。実際の速度、発熱、バッテリー持続時間の制約についても説明します。
#Android上でLLMをローカルで実行する理由
AndroidでローカルLLMを動かすことは、3つの具体的なニーズに応えます。完全なプライバシー保護(プロンプトが端末の外に出ることはありません)、オフラインでの動作(飛行機内、圏外、高額なローミング料金がかかる場合)、そして無料での利用(サブスクリプションもトークン単位の課金もありません)です。その代わり、モデルのサイズには制約があります。スマートフォンで動かせるモデルはPCよりもはるかに小さく、その分、能力も低くなります。それでも、要約、言い換え、翻訳、簡単な会話であれば、3Bモデルで十分に対応できます。
- プライバシー
- モデルはスマートフォンのSoC上で実行されます。データがインターネットに送信されることはありません。Wi-Fiやモバイルデータを切断することで確認できます。
- オフライン
- モデルをダウンロードすれば、すべての機能が機内モードで動作します。移動中やネットワークにつながらない場所で便利です。
- 利用は無料
- アカウント不要、利用枠の制限なし、トークン単位の料金もありません。消費するのはバッテリーだけです。
- 知っておくべき制限
- スマートフォンでは実際には約4Bのパラメータまでが限界です。複雑な推論やコーディングには、PC上で動作するローカルLLMがはるかに優れています。
#必要なスマートフォンの仕様
お使いのマシンで、プライベートかつ無料のChatGPTを1時間で構築 — LM Studio、Ollama、Open WebUI、ご自身のドキュメント、クラウド不要。
- 永久に利用できるオンラインスペース
- PDF + ファイル
- 生涯アップデート
決め手となるのはRAMです。PCではVRAMがモデルサイズの上限を決めるのと同じです。Q4で量子化した3Bモデルは約2GBを使用し、それにシステムとアプリケーションが使用するメモリが加わります。Androidはメモリを使いすぎるアプリケーションを積極的に終了させるため、実際には余裕を確保する必要があります。
- RAM 6 GB
- 実用上の最低限です。Q4の1B〜3Bモデルが対象です。推論を開始する前に、ほかのアプリケーションを閉じてください。
- RAM 8 GB
- 3B モデルは快適に動作し、4B モデルも動作可能です。最近のミドルレンジ機では、最もバランスのよい構成です。
- RAM 12GB以上
- 最近のフラッグシップ機。4Bモデルは無理なく動かせます。大幅に量子化した7Bモデルも動かせますが、速度は遅くなります。
- ストレージ
- ダウンロードした各モデルに対して、2〜5GBの空きメモリを確保してください。GGUFファイルは非常に大きなサイズです。
- SoC
- Snapdragon 8シリーズ、または同等の比較的新しいチップなら、処理が大幅に速くなります。エントリークラスのチップでも動作しますが、速度は遅いままです。
#PocketPal:5分でローカルLLMを使い始める
PocketPal AIは、最も手軽に始められるアプリです。Play Storeで入手できるオープンソースプロジェクトで、llama.cppと、Hugging Faceから直接ダウンロードできるモデルのカタログを内蔵しています。コマンドを入力する必要は一切ありません。
- 01アプリケーションをインストールするGoogle Play Storeで「PocketPal AI」を検索し、インストールしてください。このアプリは無料であり、オープンソースです(ソースコードはGitHubに公開されています)。
- 02モデルカタログを開く「Models」タブで、推奨モデルの一覧を確認してください。PocketPalはファイルサイズを表示し、お使いのRAM容量に適したモデルがどれかを示します。
- 031〜4Bのモデルをダウンロードするまずは小さなモデルを選んでください。たとえば、Q4量子化のQwen 3.5 2B(約1.9 GB)やGranite 4.2 3B(約2.2 GB)です。ダウンロードはネットワーク経由で一度だけ行います。
- 04読み込みとチャットダウンロードしたモデルの横にある Load を押し、メモリへの読み込みが終わるのを待ってから、チャットを開いてください。最初の応答は、数秒間のウォームアップ後に始まります。
PocketPalでは、推論パラメータ(温度、コンテキストサイズ、CPUスレッド数)を調整することもできます。カタログにないモデルを使いたい場合は、手持ちのGGUFファイルをインポートできます。Androidで初めてローカルLLMを試すなら、これが最も手早い方法です。
#MLC ChatとGPUによるアクセラレーション
MLC Chatは、MLC LLMプロジェクトのデモアプリです。MLC LLMは、すべてをCPUで実行するのではなく、Vulkan/OpenCL APIを通じてモバイルGPUを活用できるようモデルをコンパイルします。比較的新しいSoCでは、CPUだけで実行する場合に比べて、速度が向上し、消費電力も少し減る可能性があります。
- 01APKを取得MLC Chat は必ずしも Play Store で入手できるとは限りません。MLC LLM プロジェクトのサイト(llm.mlc.ai)から公式 APK をダウンロードし、外部ソースからのインストールを許可してください。
- 02コンパイル済みモデルのダウンロードこのアプリでは、MLC 形式に変換済みのモデル(Gemma、Qwen、Granite の小型モデル)を利用できます。RAM 容量に合ったものを選んでください。
- 03チャットを開始するモデルを選択し、初期化を待ってから対話を行ってください。MLCは画面の下部にトークン/秒の速度を表示します。
#Termuxでllama.cppをさらに活用
モデルや量子化方式を細かく選び、ローカルサーバーを公開するなど、すべてを自分で制御したい場合は、上級者向けの方法としてTermuxを使います。TermuxはAndroid用のターミナルエミュレーターで、root権限なしでLinux環境にアクセスできます。その環境でllama.cppをコンパイルし、Linux PCと同じようにコマンドラインから推論を実行します。
- 01Termuxのインストールと準備TermuxをF-Droidからインストールし、開いてから基本パッケージを更新してください。
- 02ビルドツールをインストールするllama.cppをコンパイルするためのコンパイラ、git、cmakeを取得してください。
- 03llama.cpp をコンパイル公式リポジトリをクローンし、コンパイルしてください。モバイル端末では、CPU(ARM NEON)ビルドが最も信頼性があります。
- 04GGUFモデルをダウンロードするHugging Face から小さな .gguf ファイル(1~3B、Q4)を curl または wget で取得します。
- 05推論を実行するllama-cliで対話するか、llama-serverでOpenAI互換APIをlocalhost上に公開して、ブラウザからアクセスできるようにしてください。
サーバーモードも魅力的です。localhost上でOpenAI互換のエンドポイントを公開し、スマートフォンのブラウザや別のアプリからリクエストを送れます。PC上のOllamaサーバー(デフォルトではポート11434で待ち受けます)と同じ仕組みを、ポケットの中で利用できるということです。
#実際に動作する1〜4Bモデルはどれか
すべては10億〜40億パラメータの範囲で決まります。量子化はQ4_K_M(PCと同様に、品質とサイズの最適なバランス)を使用します。4Bを超えると、スマートフォンは動作が重くなったり、RAMが不足したりします。以下は、フランス語で最も良い結果を出すモデルファミリーです。
- Qwen 3.5 2B
- 2026年の定番小型モデル(Q4 で約1.9 GB)。多言語対応とフランス語に優れ、長いコンテキストに対応し、ライセンスは Apache 2.0。メモリ6 GB のスマートフォンで速度を重視するなら、最初に試すモデルとして最適です。
- Qwen 3.5 4B
- モバイルで使える範囲に収まりながら、品質が向上します(Q4で約3.4GB)。スマートフォンのメモリが8GB以上なら、Q4でも一貫性のある応答と十分な能力を発揮します。Apache 2.0。
- Granite 4.2 3B
- IBMの小型モデル(Q4で約2.2GB)で、メモリ消費が非常に少なく、トークン効率にも優れています。RAMが限られる環境で頼りになる、オフラインの汎用モデルです。Apache 2.0。
- Gemma 4 E2B
- Googleのコンパクト版(約4.3 GB)で、マルチモーダルに対応し、2026年4月から再びApache 2.0ライセンスになっています。メモリが8 GB以上のスマートフォンでのみ使用してください。
#速度、発熱、バッテリー:知っておくべきこと
LLM の推論は CPU(または GPU)をフル稼働させるため、スマートフォンでは 3 つの具体的な影響があります。速度は控えめにとどまり、端末が発熱し、生成中にバッテリーが急速に消耗します。致命的な問題ではありませんが、規模感を把握しておく必要があります。
- 処理速度
- ミドルレンジからハイエンドのSoCで3B Q4モデルを動かす場合、速度の目安はおおよそ5〜15トークン/秒です。生成される文章をリアルタイムで読める速さですが、PC用GPUの速度には遠く及びません。1Bモデルなら、はるかに高速です。
- 発熱とスロットリング
- 長時間の生成後はSoCの温度が上昇し、性能が制限されるため(スロットリング)、その後の応答が遅くなります。長いリクエストを続けて送る際は、間に休ませる時間を設けてください。
- バッテリー
- 集中的に使うと、数分でバッテリー残量が数%減ることがあります。たまに使う程度なら気になりませんが、頻繁に使う場合は充電器を接続してください。
- コンテキスト
- コンテキストウィンドウが大きいほど、メモリ使用量と処理時間は増加します。モバイル端末では、2k〜4kトークン程度のコンテキストを維持することで、スムーズな動作を保ちましょう。
#トラブルシューティング
- モデルの読み込み中にアプリが終了する
- RAM不足です。他のすべてのアプリケーションを閉じて、より小さなモデル(3Bから1Bに)または軽量な量子化を選択してください。
- 応答が非常に遅い
- コンテキストのサイズを小さくするか、生成するトークン数を減らすか、より小さなモデルに切り替えてください。また、スマートフォンが熱によるサーマルスロットリングで性能を落としていないか確認してください。
- Termux:コンパイル後にコマンドが見つかりません
- ビルドがエラーを表示せずに失敗しています。コンパイルを再実行し、エラーを読んでください。git、cmake、clangが確実にインストールされているか確認してください。
- 保守が終了したTermux/古いパッケージ
- Play Store バージョンがインストールされています。それを削除し、F-Droid または GitHub から Termux を再インストールしてください
- 一貫性のない回答
- 非常に小さなモデルに複雑なタスクをさせると、こうしたことは普通に起こります。依頼を簡単にするか、1〜3Bのモデルには推論能力に限界があることを受け入れてください。
#さらに詳しく
モバイルでの利用に慣れたら、負荷の高いタスクに使うために、自宅にもっと高性能なマシンが欲しくなるでしょう。本サイトの以下のガイドで、このガイドの内容をさらに掘り下げられます。
- GPUなしでLLMをローカル実行する(CPUのみ)
- モバイルと同じ考え方をPCに適用します。RAM容量別の推奨モデルと、CPUだけでの処理を高速化するためのヒントを紹介します。
- 量子化の選択(Q4、Q5、Q8、FP16)
- スマートフォンでもPCでも、Q4_K_Mがバランスのよい選択肢として推奨される理由を理解する。
- Ollama のインストール
- 自宅に本格的な LLM サーバーを用意し、ローカルネットワーク経由でスマートフォンから問い合わせたい場合に。
ご意見、誤りのご指摘、補足はありますか?ぜひお知らせください。皆さんにとってより良いガイドにするために役立ちます。