昨日の続き。ローカルLLMをUSBメモリに入れてオフラインで動かす方法
はじめに
新年度が始まりましたね。以前投稿したUSB起動のAIについて質問をいくつかいただいたので、今回はその手順をまとめて紹介します。
※今日は時間に余裕がないためClaudeに執筆支援をしてもらってます。
必要なものを用意する
① USBメモリ(16GB以上、USB 3.1対応)
転送速度が遅いとモデルの読み込みに時間がかかるため、USB 3.1以上のものを選んでください。容量は16GBにしました。AIモデルのファイルはそれなりに大きいので、余裕を持たせておくと安心です。
Step 1|llama.cppを入手する
llama.cppは、AIモデルをローカルで動かすためのオープンソースソフトウェアです。
GitHubのリリースページからWindows版をダウンロードします。
🔗 https://github.com/ggerganov/llama.cpp/releases
ページを開いたら「Windows」と書かれた項目を探し、llama-bXXXX-bin-win-cpu という名前のZIPファイルをダウンロードしてください(XXXXはバージョン番号)。
ダウンロードしたZIPファイルは、そのままUSBメモリに保存します。
下がサイトを開いた時の様子です。


Step 2|AIモデルを入手する
次に、AIの中身にあたるモデルファイルを用意します。
Hugging Face(ハギングフェイス)というサイトで、GGUF形式のモデルを探します。

今回使用したのは以下の2種類です。
Gemma 3 1B 軽量・高速。スペックが低いPCでも動きやすい
Qwen2.5 3B 日本語が比較的得意
モデル名に含まれる「1B」「3B」のBはbillion(10億)の略で、パラメータ数を表しています。数が大きいほど高性能になりますが、その分PCに求められるスペックも上がります。今回は非力なPCでも動かせるよう、小さめのモデルを選びました。
ダウンロードした.ggufファイルは、USBメモリに保存してください。
ファイル名の読み方(例:gemma-3-1b-it-Q4_K_M.gguf)
gemma-3-1b → Gemma 3シリーズ、10億パラメータ版 it → instruction tuned(指示に従う調整済みモデル) Q4_K_M → 4ビット量子化(精度を保ちつつファイルを軽量化した形式) .gguf → llama.cppが扱うファイル形式
Step 3|UIとバッチファイルを用意する
AIを起動しても、そのままでは操作する画面がありません。ブラウザから話しかけられるようにするためのUIファイル(HTML)と、llama-server.exeを自動起動するバッチファイル(start.bat)を用意します。
この部分はClaudeに作ってもらいました。結果としてちゃんと動くものができたので満足しています。
USBメモリの中身を確認する
最終的にUSBメモリには以下のファイルが入っています。
📁 USBメモリ
├── llama-server.exe ← AIエンジン本体
├── *.gguf ← AIモデルデータ
├── ggml-base.dll ← AI計算のコアライブラリ
├── ggml.dll ← ggml計算エンジン
├── llama.dll ← llama.cppのコア機能
├── mtmd.dll ← マルチモーダル対応
├── ggml-cpu-○○.dll ← CPU世代別の最適化部品(複数)
├── libomp140.x86_64.dll ← 並列処理ライブラリ
├── ggml-rpc.dll ← 分散処理用(今回は未使用)
├── rpc-server.exe ← 分散処理用サーバー(今回は未使用)
├── 校務AIサポーター.html ← UI画面
└── start.bat ← 起動用バッチファイル
start.batを実行するとhttp://127.0.0.1:8080にローカルサーバーが立ち上がり、ブラウザ上でAIと会話できるようになります。インターネットに一切つながなくてよいのがポイントです。
まとめ
必要なものが揃えば、USBを挿すだけでAIが動く環境が完成します。カスタマイズできる余地があるとすればUIの部分で、ここを工夫することでいろいろな使い方に応用できます。
次回は実際の使用感や、学校業務での活用例なども紹介できればと思っています。今日はここまでにします。
おまけ
なんとこのタイミングでGoogleから新しいAIモデルが出ました。GEMMA4です。ダウンロードできたら使ってみるといいかもしれないですね。
と思い確認したところ、ラマが非対応なんで新しいllama.cppが出るまで待ちのようです。
