h2oGPTとは
h2oGPTはH2O.aiという会社が公開した、オフラインで使えるChatGPTにような大規模言語モデルです
H2O.aiはAIの民主化をモットーにAIの作成と使用を自由にできるように、機械学習、AuntoML、AIのミドルウェア、AIアプリケーションを開発しているようです
ちなみに、h2oGPTは大規模言語モデルの民主化と題してarXivに論文が公開されています
h2oGPT: Democratizing Large Language Models
ChatGPTの何がだめなのか?
そもそも、この一年でChatGPTの躍進が取り出たされて、十分に使えそうだと話になっているからそれでいいじゃないかと思う人も多いとは思う
しかし、ある程度お金を持っている個人はそうかも知れないが
- 継続的な課金を気軽にできず、GPT-4を使えない人
(最近code interpreterという質問の回答をpythonでプログラム組んで回答してくれる機能も有料版の人は使えるらしいです。知らんけど。) - 情報の流出を恐れてChatGPTのAPIの利用を禁止している企業に属する人
そんな人たちには問題が立ちはだかっていた
そこで出てきたのが今回紹介するh2oGPTである
とりあえずDemoを試してみる
公式サイトにあるデモdemoで試してみた。
その他Huggingfaceで公開されているデモも存在するので皆さんは任意の方法でh2oGPTの動作を試してほしい
なんと複数のモデルの出力結果を比較することができる親切なGUI設計
また後ろの方にpdfやパワポ、エクセル、ワード、画像(png,jpg)、URLをアップロードする領域があるということは文字だけえはなくマルチモーダルなAIの設計の構想があるのだろうか
h2oGPTの使い方
基本的には公式が公開するgithubなどのソースを参照にして欲しい
2023/07/10時点では、dockerを使って環境構築を行って実行する例を紹介する
その他進展があれば、追記や新しい記事として公開していきたい
その他、windows10/11での実行方法やMac OSでの実行方法も記載があるので、みなさんチャレンジして頂きたいです
1.任意のディレクトリにソースコードのダウンロードとディレクトリへの移動
https://github.com/h2oai/h2ogpt.git
cd h2ogpt
2.nvidia containerの導入
事前にDockerの環境構築などが終わっている前提で話をすすめているので、そこらへんがまだの人はInstall Docker Engineなどを参考に導入をしておいてください
distribution=$(. /etc/os-release;echo $ID$VERSION_ID) \
&& curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \
&& curl -s -L https://nvidia.github.io/libnvidia-container/$distribution/libnvidia-container.list | \
sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \
sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
sudo apt-get update && sudo apt-get install -y nvidia-container-toolkit-base
sudo apt install nvidia-container-runtime
sudo nvidia-ctk runtime configure --runtime=docker
sudo systemctl restart docker
3.コンテナイメージのビルド
docker build -t h2ogpt .
4.コンテナの実行とパラメータのダウンロード
(50GBのデータをダウンロードすることになるので、ネットワークが貧弱だと時間がかかることを覚悟してください)
docker run --runtime=nvidia --shm-size=64g -p 7860:7860 \
-v ${HOME}/.cache:/root/.cache --rm h2ogpt -it generate.py \
--base_model=h2oai/h2ogpt-oasst1-512-20b
5.表示されるURLを踏むことで、先程デモで触ったUIと同じものがローカルで実行できるようになった!
https://localhost:7860
documentを読む限り、CPU・GPU実行ができたり、モデルを変えての実行、
pdfやワードのデータを使ってやモデルのファインチューニングもできるようなのでそうしたことも今後記事を更新していければと思います。
2023/07/11見直したら、google colabのデモも公開されており、日々更新されていてこのツールが覇権を握ったときに使いこなせているようになっていれば人気者間違いなし!!
code interpreterはローカルで動かせないモデルがpythonで問題を解決しているのすごいと世間が喚起しているうちにローカルで同じことを実行できるようにしてしまおう!!!