- リンクを取得
- ×
- メール
- 他のアプリ
GPU インスタンスが必要で、10GB 近くのストレージが必要になります。SageMaker Studio Lab は 25GB が上限なので、注意が必要です。
環境構築
Notebook に記載していきます。その関係上、フルパスで記載しているのと、コマンドの前に記号を付けて実行させています。
まず、text-generation-webui のリポジトリをクローンします。
!git clone https://github.com/oobabooga/text-generation-webui
pip コマンドで必要なライブラリをインストールします。
%cd ~/sagemaker-studiolab-notebooks/repo/text-generation-webui/ !pip install -r requirements.txt
続けて SageMaker Studio Lab 環境でも実行できるように、「GPTQ-for-LLaMa」をダウンロードします。気を付けるのは、text-generation-webui のリポジトリをクローンしたディレクトリに「repositories」という名前でディレクトリを作り、その中で GPTQ-for-LLaMa をクローンすること。
ディレクトリ構成が違うと、認識されないようです。
%mkdir ~/sagemaker-studiolab-notebooks/repo/text-generation-webui/repositories %cd ~/sagemaker-studiolab-notebooks/repo/text-generation-webui/repositories !git clone https://github.com/oobabooga/GPTQ-for-LLaMa.git -b cuda %cd ~/sagemaker-studiolab-notebooks/repo/text-generation-webui/repositories/GPTQ-for-LLaMa !python setup_cuda.py install
最後にモデルをダウンロードします。
%cd ~/sagemaker-studiolab-notebooks/repo/text-generation-webui/ !python download-model.py TheBloke/stable-vicuna-13B-GPTQ
実行
環境ができたので、サーバを実行します。
%cd ~/sagemaker-studiolab-notebooks/repo/text-generation-webui/ !python server.py --model TheBloke_stable-vicuna-13B-GPTQ --wbits 4 --groupsize 128 --share --chat
すると、こんな出力があるはずです。最後に「Running on local URL:」が表示されるまで、特に初回は少し時間がかかりますが (モデルの読み込みに 62 秒程度かかったと表示されていますね)、しばらく待ちます。
/home/studio-lab-user/sagemaker-studiolab-notebooks/repo/text-generation-webui WARNING:The gradio "share link" feature downloads a proprietary and unaudited blob to create a reverse tunnel. This is potentially dangerous. bin /home/studio-lab-user/.conda/envs/default/lib/python3.9/site-packages/bitsandbytes/libbitsandbytes_cuda112.so INFO:Loading TheBloke_stable-vicuna-13B-GPTQ... INFO:Found the following quantized model: models/TheBloke_stable-vicuna-13B-GPTQ/stable-vicuna-13B-GPTQ-4bit.compat.no-act-order.safetensors INFO:Loaded the model in 62.08 seconds. INFO:Loading the extension "gallery"... Running on local URL: http://127.0.0.1:7860
これで WebUI から AI とチャットできる・・・と思いきや、示された URL はローカルアドレスです。どうやって SageMaker Studio Lab のローカルアドレスに接続するのか・・・というところで登場するのがリバースプロキシです。
ngrok
まず、サイトを開き ngrok のアカウントを作成します。作成したアカウントでログインしたら、メニューから「Your Authtoken」を選択します。ここで表示される Authtoken をコピーしておきます。
さらにクライアントアプリケーションをダウンロードします。環境としては Linux なので、Linux の ZIP ファイルダウンロードを選択すると、インストール手順が表示されるので、基本的にこれに沿う形です。なお、その手順は SageMaker Studio Lab の Terminal から実施する形になります。
※ここでインストール手順に示されているコマンドに、Authtoken が自動で埋め込まれるので、あえて手動でコピーする必要はないですが・・・
$ ./ngrok http 7860と実行します。すると、こんな表示になるはずです。
すると、WebUI が開くと思います。
日本語で入力して、日本語で回答されます。
GPU インスタンスさえ使えれば、問題なく SageMaker Studio Lab でも実行できました。一度構築できてしまえば、次回以降はサーバの起動と、ngrok の起動のみで使用できるようになるはずです。
コメント
コメントを投稿