見出し画像

昨日の続き。ローカル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形式のモデルを探します。

🔗 https://huggingface.co

今回使用したのは以下の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が出るまで待ちのようです。


いいなと思ったら応援しよう!