記事のゴール
- chat GPTを利用数制限や、個人情報など入れる情報への懸念を減らして利用したい。
- あとは、AIをカスタマイズしたり、コマンドラインから出力を得たりもしてみたい...!
- そこで、Google Colab上でchat GPTのような生成AIを実装してみる
- chatGPTのようなインターフェースで受け答えができること
前提条件
- Google Colabの有料プランを契約しておくこと
- 筆者はColab Proを契約している
- 10/27時点で Colab Proの料金は¥1179。chatGPTよりは安い。
- 利用したGPUは「L4 GPU」。
- 今回は使用するモデルは「Llama-3-ELYZA-JP-8B」を選択している。使用するモデルが動かせるGPUメモリを積んでいること
手順
- Google Colab上に「Text generation web UI」を導入する
!git clone https://github.com/oobabooga/text-generation-webui.git
!bash /content/text-generation-webui/start_linux.sh
- ただ、Google Colab上で動くweb UIにブラウザからアクセスできないので、
ngrok
を経由する
from pyngrok import ngrok
port = 7860 # web UIのポート番号を指定する
access_token = "ngrokのトークン"
ngrok.set_auth_token(access_token)
ngrok_tunnel=ngrok.connect(port)
public_url = ngrok_tunnel.public_url
print("PUBLIC_URL:", public_url)
- web UIで利用するモデルを選ぶ
- ①
Download
欄に モデルID を入力する- 今回は「Llama-3-ELYZA-JP-8B」を利用する
- 「Llama-3-ELYZA-JP-8B」は
GPT-3.5 Turbo
に匹敵するとのこと - openAIの利用が $20/Month かかるところを、google colabの料金で使えるのはうれしい...!
- 「Llama-3-ELYZA-JP-8B」は
- 今回は「Llama-3-ELYZA-JP-8B」を利用する
- ②モデルID に「elyza/Llama-3-ELYZA-JP-8B-GGUF」を入れて「Get file list」を押す
- ③取得したモデル名を入力
- ④「Download」を押す
- ⑤モデルをロードする
- ⑥モデルを選択する
- ⑦ロードする
- ⑧モデル設定を保存する
- ①
- 上記①~⑧のステップを経由せず、Web UIを立ち上げた時点からモデルを使いたい場合は、Text Generation Web UIのGoogle Colab向けのスクリプトを参照
- 「Chat」タブで質問すると、ちゃんと回答してくれる
- 30秒~1分くらいで回答してくれる。ChatGPTのスピードに慣れていると、少し遅く感じるけどこれで半額と思えば満足。
まとめ
- chatGPTより安い料金でチャットボット形式のインターフェースを持つ 生成AIを実装できた。
- UI上から使用するモデルを選べる「Text generation web UI」が非常に便利に感じた
- 今後、作ったAIをカスタマイズしたり、web API化してコマンドから実行してみたり遊んでみたい。
参考情報
-
https://zenn.dev/headwaters/articles/78705a730b297d
- Text generation web UIを使う上で参考にさせていただきました
その他
- LLMを呼び出せる
Ollama
と、それをチャットボットベースのUI化できるOpen Web UIも検討しましたが、Google Colab上でDockerを使う必要があり、苦戦したので記事の方法にたどり着きました- https://zenn.dev/techcat56/articles/5863fa5ec41fe3#docker%E3%82%92%E8%B5%B7%E5%8B%95%E3%81%99%E3%82%8B
- Google ColabでDockerを使うにはudockerを使うことになりそうだったが、
Ollam
とopen web UI
の2つのコンテナを動かす必要があり、それを実装できなかった...