🕸️

Weblab-10BをDocker使ってローカルで動かす

2023/08/26に公開

Weblab-10Bが誕生!

東京大学松尾研究室が100億パラメータサイズ・日英2ヶ国語対応の大規模言語モデル“Weblab-10B”を公開しました

日本語のベンチマークであるJGLUEで1位です。素晴らしいですね。

ステマ防止のため書くと、実は関係者ではあるのですが、開発には直接関係していないです。というわけで、この記事では単なる1ユーザーとして公開されている情報をもとに、個人的にローカルで動かしてみました。

自宅のRTX3060だと辛いのかなぁと思いましたがweblab-10b-instruction-sftをfloat16でなんとか動かせました。nvidia-smiでメモリ確認したら、RTX3060の12GBほぼフルに使ってました。

使うイメージを変えたり、同じ条件でもたまにCUDA out of memoryになるので、ほんとにギリギリで動いている感じですね。

DockerでWeblab-10Bを動かす

Dockerファイルは、以下リポジトリに格納してあります。
https://github.com/karaage0703/ChatLLM

以下3通りで動かせます。

  • Devcontainer
  • Docker compose
  • Docker

好きな方法で動かしましょう。動かすのは数分かかります。

Devcontainer

動かす方法は、VS CodeのDevcontainerを使える人はDevcontainer使うのが一番簡単です。VS CodeとDevcontainerについては以下記事参照してセットアップしてください。

https://zenn.dev/karaage0703/books/80b6999d429abc8051bb/viewer/6ebae8

具体的な動かし方としては、以下のとおりgit cloneしてVS Codeを起動します。

$ cd && git clone https://github.com/karaage0703/ChatLLM
$ cd ~/ChatLLM
$ code .

あとは、F1キーでコマンドパレットを開いてDev Containersを選択します。

その状態でcontainer-nvidiaフォルダを選択すると、Dockerビルドができて、環境が構築できます。

あとは、VS Codeのターミナル上で$ python3 chat_weblab.pyを実行すればOKです。

Docker compose

Docker composeの場合は、以下のとおりです。

ビルド

$ cd && git clone https://github.com/karaage0703/ChatLLM
$ cd ~/ChatLLM
$ docker compose up nvidia

実行

$ docker exec -it chatllm-nvidia-1 /bin/bash

コンテナ内でプログラム実行

$ root@hostname:~# python3 chat_weblab.py

Docker

Dockerの場合は以下です。

Dockerビルド

$ cd ~/ChatLLM/container-nvidia
$ docker build -t ubuntu:ChatLLM .

GPUでDockerラン

$ docker run -it --rm -v $(pwd):/root --gpus all ubuntu:ChatLLM

コンテナ内でアプリ実行

$ root@hostname:~# python3 chat_weblab.py

Weblab-10Bの動作例

動作例です。

哲学的(?)な表現が多いですね。完全な体感ですが、他の日本語のオープンモデルよりかなり良い性能と感じますね。ちょっとひいき目かもですね。

weblab-10b-instruction-sft-GPTQ

量子化されたモデルも動かしてみました。

https://huggingface.co/dahara1/weblab-10b-instruction-sft-GPTQ

コンテナ内で以下コマンド実行するだけでOKです。

$ root@hostname:~# python3 chat_weblab_gptq.py

こちらは爆速!!

https://twitter.com/karaage0703/status/1695097041981182042

botを作ってみました

Discordを使ったbotにしてみました。

コードや作り方は以下参照ください。

https://github.com/karaage0703/ai-karaage-sensei-bot/tree/main/weblab_bot

https://zenn.dev/karaage0703/articles/c8baa66c40f9b7

まとめ

Weblab-10Bをローカルで動かしてみました。かなり良い性能と感じますが、やはりRTX3060だとかなり重いですね。

商用利用可能なモデルも開発中という情報もあるので、今後が楽しみですね!

参考リンク

https://note.com/npaka/n/nd05b0334cb75

https://zenn.dev/tsuzukia/articles/f886a93fc1f2fa

https://note.com/it_navi/n/nf925987921d9

関連記事

https://zenn.dev/karaage0703/articles/2b753b4dc26471

Discussion