😎

Llama 2 を text-generation-webui で動かす

2023/07/19に公開

tl;dr

  • 2023/7/19 に公開された Llama 2 を試してみたよ
  • text-generation-webui の上で Llama 2 をローカル環境(M2 Mac)で動かしたよ
  • 遅過ぎて GPU がほしいとなったよ →Google Colab 版をお勧めするよ
  • 結果的に実用的ではなかったけれど、途中過程は参考になるかもだよ

Llama 2 とは

https://ai.meta.com/llama/

https://ai.meta.com/research/publications/llama-2-open-foundation-and-fine-tuned-chat-models/

Meta の大規模言語モデル。無料で利用可能で、商用利用も可。パラメータ数は 7B、13B、70B。公開データセットから学習されており、個人データは含まれていません。

Llama 2-Chat は Llama 2 をベースに RLHF を施したモデル。既存のオープンソースのモデルを上回る性能を示し、一部の指標ではクローズドなモデルと匹敵する性能。

text-generation-webui とは

https://github.com/oobabooga/text-generation-webui

ブラウザで使える文章生成 AI 用の UI。Stable Diffusion web UI を意識。オープンソースの大規模言語モデルを利用可能で、ドロップダウンメニューからモデルの切り替え可能。

Llama 2 の利用申請とダウンロード

NO MODEL, NO LIFE

ということで、まずはモデルのダウンロードから。その前に利用申請をせねばなりません。まずは HuggingFace の Llama-2-70b-chat-hf のページを見てみましょう。

https://huggingface.co/meta-llama/Llama-2-70b-chat-hf

このフォームは、Meta からアクセス許可を得た後、Hugging Face の Llama 2 にアクセスできるようにするためのフォームです。このフォームを送信する前に、Meta ウェブサイトにアクセスし、ライセンス条項と使用許可ポリシーに同意してください。リクエストは 1-2 日で処理されます。

つまり、HuggingFace からモデルをダウンロードするには、Meta の公式サイトと HuggingFace の両方に申請が必要と。

https://ai.meta.com/resources/models-and-libraries/llama-downloads

Meta と HuggingFace のそれぞれのページにて、自分の情報を記載して申請。試した限りでは、Meta の公式サイトの申請だけでリンクが発行されモデルがダウンロードできるようですが、HuggingFace からダウンロードした方が楽でしたので、そちらをお勧めします。

1 日から 2 日で利用可能とありますが、私の場合は 30 分以内にどちらも申請が通りました。

利用申請が完了したら、どのページでも良いですが、Llama Model Index のところからお好きなサイズのモデルのページを開き、それぞれのサイトの Files から数 GB あるモデルをインストールしてください。

70B のモデルは 17.2 GB の Consolidated ファイル 8 つから構成されているようです。7B でも 13.5 GB。ダウンロードに 20 分ほどかかりました。

text-generation-webui を試してみよう

text-generation-webui の環境構築を進めていきましょう。特にこだわりがなければ、公式 GitHub の One-click installers からインストールしてください。

https://github.com/oobabooga/text-generation-webui#one-click-installers

私の環境は Mac ですので、oobabooga-macos.zip をダウンロードし、ダブルクリックあるいは unzip コマンドで解凍。Terminal を開いて、bash start_macos.shで実行します。ローカルホストが立ち上がることを確認してください。

ローカルホストが立ち上がったら、上部の Model より Download custom model or LoRA の部分に TheBloke/Llama-2-7B-Chat-GGML と入れましょう。

Model タブにて、モデルに Llama-2-7B-Chat-GGML がセットされていることを確認して、Text Generation タブに移動。

結果

とりあえずそれっぽい出力は返している模様。ただし、ここまで表示するのに 20 分ほど。

Output generated in 264.13 seconds (0.11 tokens/s, 28 tokens, context 7, seed 331418322)

1 トークンの生成に 10 秒かかりました。残念ながら、M2 Mac ではスペックが足りず使い物になりませんでした。みなさまもローカルで試すときは GPU を使うか、大人しくクラウド環境で構築しましょう。

Discussion