今回も大規模言語モデル(LLM)に関する話題で、タイトルの通り
を丁寧にご紹介するという内容になっています。
先日、Facebookを運営するMeta社が大規模言語モデル「Llama 2」をオープンソースとして公開したことが大きなニュースになりました。NHKなど一般の方が見るニュースでも普通に取り上げられていたので話題の大きさが伺えますね。
ただ私を含めたごく普通の人からすると
- 性能はどうなの?ChatGPTと比べたら大したことないのかなぁ
- 日本語でチャットできるの?
- 試しにローカルで動かしてみたいけどやり方がよく分からん!
なんて思ってしまいます。
そこでここではこのLlama 2について
- 概要や特徴・日本語は使えるのかどうか
- 「Text generation web UI」を使ってローカルで動かす方法
(導入方法~チャット方法など)
といった点を書いていきますね。
はじめに:Llama 2とは?
Llama 2について
Llama 2(ラマ2)は、Facebookの運営元として有名なMeta社が開発した大規模言語モデルです。主な特徴としては
- オープンソース
- 無料で使えるほか商用利用も可能
- 高性能
といった点が挙げられます。
Llama 2には次の3種類のモデルがあります。
モデル | パラメータ数 |
---|---|
7B | 70億 |
13B | 130億 |
70B | 700億 |
基本的にパラメータ数が多いほど高性能ですが、その分ローカルで動かす際の要求スペックが高くなります。ただしモデルによっては驚くほどのスペックは必要ではなく、一般的な家庭用のグラボを積んだPCでも一番小さな7Bモデルであれば普通に動かすことができます。
性能はどんな感じ?ChatGPTと比べたらどうか?
次にLlama 2の性能についてですが、今回私が試した一番小さい7Bモデルの場合は
- 日本語で質問してもそれなりに満足できる回答が得られた
- しかしマイナーな話題になるとトンチンカンな回答をしだすなど、精度としては今一つに感じられた
という印象です。一応、最上位の70BモデルではChatGPTに匹敵するレベルという話もありますが、多くの方が扱える7Bモデルでは少なくともChatGPT並みの結果を期待するとガッカリするのではないかなと思います。
日本語は使えるの?→残念ながら返答は英語です
それから皆さんが気になりそうな点として日本語が使えるのか?という疑問があると思います。これに関しては執筆時点では
- 日本語で話しかけると英語の返答が返ってくる
- ただし日本語の質問内容自体は理解してくれることが多い
という感じです。
私が試した限りでは残念ながら日本語での返答は得られませんでしたが、後述するように日本語自体はある程度理解しているようなので今後の改良を期待したいですね。
具体的なチャット例
ではこの辺で私が7Bモデルを使って実際に試したチャットの例を掲載しておきます。
まあまあ正確な回答を得られた例
富士山について尋ねてみました。標高や日本三霊山について言及しており、それなりに正確な情報が返ってきたことが分かります。
間違った回答をしたときの例
一方でツキノワグマについて尋ねてみると、ヤマタノオロチか何かと勘違いした回答が返ってきました。おそらくツキノワグマについて学習していないのでしょう。
このように質問によっては間違った回答をしてくることもあります。
動作に必要なスペック
ところで、この記事をご覧頂いている方の多くは「Llama 2をローカルで動かしたい」と思っていらっしゃるかと思います。そこで必要スペックはどうなのかを先に書いておくと、今回ご紹介する方法の場合は
です。なので普段から3DゲームやAIによる画像生成を行っている方であれば問題ないでしょう。
Text generation web UIを使ったLlama 2の動かし方
ではここからLlama 2をローカル環境で動かす方法をご紹介していきます。
前提:Text generation web UIの導入が必要
まず下準備として、Text generation web UIというツールを導入しておくとLlamaを簡単に扱うことができます。
Text generation web UIのインストール方法や使い方については下記の記事で詳しくご紹介していますので、まだ導入していないよという方はそちらも併せてご覧ください。
インストールはとても簡単で、圧縮ファイルをダウンロードして中身のバッチファイルを実行するだけであとは全部自動でセットアップを行ってくれます。めちゃくちゃ便利なツールです。
今回使用するモデルについて
次に今回はMetaが配布している公式ファイルではなく、有志の方が作成した量子化版のファイルを使用します。
量子化とは精度を犠牲にしてファイルサイズを軽くする処理のことです。これによりオリジナル版よりも少ないVRAMで動かせるようになっています。
モデルのダウンロード・読み込み方法
モデルをダウンロードするには、Text generation web UIの「Model」タブを開き、「Download custom model or LoRA」欄に
と記入してDownloadボタンを押すだけです。そうするとダウンロードが始まります。
ダウンロードできたら
- モデル選択メニューの右にあるリロードボタンを押す
- モデル選択メニューから「TheBloke_Llama-2-7b-Chat-GPTQ」を選ぶ
- 「Load」ボタンを押す
ことでモデルを読み込むことができます。
Llama 2を使ってチャットを行う方法
ここまでできたらText generation web UIをチャットモードに切り替えてチャットを行うだけです。
Text generation web UIの「Session」タブを開き、Modeを「chat」に切り替えて「Apply and Restart」ボタンを押してください。そうするとUIがチャットモードに切り替わるので、「Chat settings」タブ内の「Instruction template」タブを開いてLlama-v2を選びましょう。これで準備完了です!
あとはText generationタブで好きなようにチャットを行ってください。
おわりに
以上、Llama 2をローカルで簡単に動かす方法をご紹介しました。
無料で使えるLLMというとどうしてもChatGPTと比べてしまい「なんかイマイチだなぁ」と思ってしまうのですが、Llama 2は(まだ一歩及ばないものの)かなり出来がよく、これを無料で使えるなんて本当にすごいなと思いました。しかも商用利用も可能ですし、うまく使えば面白いことができそうなので活用法を研究してみるのもいいかもしれません。
この記事が何かしらお役に立てば幸いです。