やりたいこと
llama.cppを使用してローカルで画像入力ありのLLM(チャットAI)を実行します。
この記事ではgoogleのローカル向けのモデルであるQwen2.5-VLを使用します。
AMDの GPUでもGPUのない環境( CPU)でも実行可能です。
Gammaの起動は以下のページを参照してください。
環境構築
llama.cpp
以下のページから自分の環境にあったZipファイルをダウンロードします。
WindowsでAMDのGPU(もしくはGPUが乗っていない)で動かしたい場合はvulkanむけのパッケージで動作します。
NvidiaのGPUを使用する場合、CUDAむけのパッケージで動作します。
上記のバージョンで動作しない場合はCPUむけのパッケージを使用します。
対象のダウンロードしたファイルを任意のフォルダに解凍したら準備完了です。
モデル
以下のページQwen2.5-VL-3B-Instruct-XXXXXXX.ggufのうち一つとmmproj-Qwen2.5-VL-3B-Instruct-XXXXXXX.ggufのうち一つ計二つをダウンロードします。

実行
サーバーで実行
コマンドプロンプトで以下のコマンドを実行します。
モデルのパスはダウンロードしたモデルのパスに置き換えてください。
llama-server -m モデルのパス --mmproj mmprojモデルのパス --port 8080
モデルのロードが完了すると以下のようなに表示されます。
main: model loaded
main: server is listening on http://127.0.0.1:8080
main: starting the main loop...
srv update_slots: all slots are idle
上記のメッセージが表示されたらクロームなどのブラウザでhttp://127.0.0.1:8080/を表示します。
以下のように表示されるのでチャットが行えます。

ページに画像ファイルをドラッグアンドドロップで入力することができます。
トラブルシューティング
画像入力したときにAMDのエラーレポートが表示されクラッシュしました。
以下の2つのことをやって解消しました。(どちらが原因かはわかりません)
1. 以下のページからドライバを更新

2. AMD Software (Adrenalin Edition) を起動 「パフォーマンス」→「チューニング」タブにある「メモリー・オプティマイザー」を「ゲーミング」に変更。(GPUの占有メモリが2Gから4Gに増えました。)
参考にさせていただいたサイト



コメント