【Ollama】【Open WebUI】WSL2でFugaku-LLM を動かす

はじめに

「Fugaku-LLM」は日本が誇るスーパーコンピュータ「富岳」で学習した大規模言語モデルです。

パラメーター数が13b(130億)とそこまで大きくないのでローカルで実行してみました。

まっさらのUbuntu 22.04 on WSL2に「Fugaku-LLM」を動かす環境を構築するまでの全手順です。

Docker Engineのインストール

こちらに従いました。

インストール後に以下を実行しました。(ユーザー名は各自変更が必要です)

sudo gpasswd -a ユーザー名 docker 
sudo chgrp docker /var/run/docker.sock

Nvidia container toolkitのインストール

こちらに従いました。

いったんここまででWSL2を再起動しました。(必要かどうかはわかりません)

モデルのダウンロード

こちらから「Fugaku-LLM-13B-instruct-0325b-q5_k_m.gguf」をダウンロードしました。

Modelfileの作成

こちらをそのまま使わせて頂きました。

Open WebUI と Ollama のインストール

docker run -d -p 3000:8080 --gpus=all -v ollama:/root/.ollama -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:ollama

補足

Ollamaをほかでも使いたい時は別個にインストールすることも可能です。
(例えばOllamaとDifyを一緒に使い時など)

docker run -d --gpus=all -v ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama

docker run -d -p 3000:8080 --gpus all --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:cuda

ローカルからコンテナーにファイルを移動

アドレスは各自の環境に合わせて変更が必要です。

docker cp /mnt/wsl/PHYSICALDRIVE1p1/ollama/Fugaku-LLM-13B-instruct-0325b-q5_k_m.gguf open-webui:/tmp/Fugaku-LLM-13B-instruct-0325b-q5_k_m.gguf

docker cp /mnt/wsl/PHYSICALDRIVE1p1/ollama/Modelfile open-webui:/tmp/Modelfile

コンテナーに入る

docker container exec -it open-webui bash

コンテナー内でモデル情報を登録

cd /tmp
ollama create fugaku-llm-13b-instruct -f ./Modelfile

ブラウザを開く

Windowsのブラウザからhttp://localhost:3000にアクセスすると使えるようになっています。

2回目以降

docker start open-webui

この後にhttp://localhost:3000にアクセスするだけです。

補足1(VRAM使用量)

12GBは超えていました。

補足2(シェルスクリプト)

以下を記入した「〇〇.sh」というファイルを作っておけば実行が簡単です。

docker start open-webui
echo "access http://localhost:3000/"

実行は以下のようにします。

source 〇〇.sh

「source」は「.」で置き換え可能です。

. 〇〇.sh

ターミナルに出力されたアドレスのところでCtrlを押しながらマウスを左クリックすると勝手にブラウザが立ち上がります。



このエントリーをはてなブックマークに追加