ローカルで画像入力ありのLLMを動かす(AMD GPU/CPU対応)

この記事は約3分で読めます。
スポンサーリンク

やりたいこと

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むけのパッケージを使用します。

Releases · ggml-org/llama.cpp
LLM inference in C/C++. Contribute to ggml-org/llama.cpp development by creating an account on GitHub.

対象のダウンロードしたファイルを任意のフォルダに解凍したら準備完了です。

モデル

以下のページQwen2.5-VL-3B-Instruct-XXXXXXX.ggufのうち一つとmmproj-Qwen2.5-VL-3B-Instruct-XXXXXXX.ggufのうち一つ計二つをダウンロードします。

ggml-org/Qwen2.5-VL-3B-Instruct-GGUF at main
We’re on a journey to advance and democratize artificial intelligence through open source and open science.
スポンサーリンク

実行

サーバーで実行

コマンドプロンプトで以下のコマンドを実行します。

モデルのパスはダウンロードしたモデルのパスに置き換えてください。

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. 以下のページからドライバを更新

プロセッサ/グラフィックスのドライバーとサポート
AMD 製品のドライバーとソフトウェアをダウンロード — Windows および Linux のサポート、自動検出ツール、インストールの詳細ガイドもご利用いただけます。

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

スポンサーリンク

参考にさせていただいたサイト

【備忘録】llama.cppで、マルチモーダルがサポートされたので使ってみた。|猫又
個人用の備忘録です。 llama.cppは以下を使用 ・llama-b5342-bin-win-cuda12.4-x64 モデルは以下からダウンロードして使用 ・Qwen2.5-VL-3B-Instruct-Q4_K_M.gguf ・mmproj-Qwen2.5-VL-3B-Instruct-f16...

コメント

タイトルとURLをコピーしました