「Llama 2」の使い方!高性能LLMをローカル環境で簡単に動かそう【Text generation web UI】

Llama 2 使い方 その他のAI

今回も大規模言語モデル(LLM)に関する話題で、タイトルの通り

Metaの「Llama 2」をローカルで簡単に動かす方法

を丁寧にご紹介するという内容になっています。

先日、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による回答例

間違った回答をしたときの例

一方でツキノワグマについて尋ねてみると、ヤマタノオロチか何かと勘違いした回答が返ってきました。おそらくツキノワグマについて学習していないのでしょう。

Llama 2による間違った回答例

このように質問によっては間違った回答をしてくることもあります。

動作に必要なスペック

ところで、この記事をご覧頂いている方の多くは「Llama 2をローカルで動かしたい」と思っていらっしゃるかと思います。そこで必要スペックはどうなのかを先に書いておくと、今回ご紹介する方法の場合は

RTX 3060の12GBモデル等、VRAMが10GB以上あるNVIDIAのグラボを積んでいればOK

です。なので普段から3DゲームやAIによる画像生成を行っている方であれば問題ないでしょう。

Text generation web UIを使ったLlama 2の動かし方

ではここからLlama 2をローカル環境で動かす方法をご紹介していきます。

前提:Text generation web UIの導入が必要

まず下準備として、Text generation web UIというツールを導入しておくとLlamaを簡単に扱うことができます。

Text generation web UIのインストール方法や使い方については下記の記事で詳しくご紹介していますので、まだ導入していないよという方はそちらも併せてご覧ください。

「Text generation web UI」のインストール方法と使い方!大規模言語モデルを自分のPCで手軽に動かそう
今回は大規模言語モデル(LLM)に関する話題で、タイトルの通り大規模言語モデルを手軽に扱えるWeb UI「Text generation web UI」の導入方法と使い方を丁寧にご紹介するという内容になっています。大規模言語モデルというとC...

インストールはとても簡単で、圧縮ファイルをダウンロードして中身のバッチファイルを実行するだけであとは全部自動でセットアップを行ってくれます。めちゃくちゃ便利なツールです。

今回使用するモデルについて

次に今回はMetaが配布している公式ファイルではなく、有志の方が作成した量子化版のファイルを使用します。

TheBloke/Llama-2-7B-Chat-GPTQ · Hugging Face
We’re on a journey to advance and democratize artificial intelligence through open source and open science.

量子化とは精度を犠牲にしてファイルサイズを軽くする処理のことです。これによりオリジナル版よりも少ないVRAMで動かせるようになっています。

モデルのダウンロード・読み込み方法

モデルをダウンロードするには、Text generation web UIの「Model」タブを開き、「Download custom model or LoRA」欄に

TheBloke/Llama-2-7b-Chat-GPTQ

と記入してDownloadボタンを押すだけです。そうするとダウンロードが始まります。

Llama2のダウンロード方法

ダウンロードできたら

  1. モデル選択メニューの右にあるリロードボタンを押す
  2. モデル選択メニューから「TheBloke_Llama-2-7b-Chat-GPTQ」を選ぶ
  3. 「Load」ボタンを押す

ことでモデルを読み込むことができます。

Llama 2を使ってチャットを行う方法

ここまでできたらText generation web UIをチャットモードに切り替えてチャットを行うだけです。

Text generation web UIの「Session」タブを開き、Modeを「chat」に切り替えて「Apply and Restart」ボタンを押してください。そうするとUIがチャットモードに切り替わるので、「Chat settings」タブ内の「Instruction template」タブを開いてLlama-v2を選びましょう。これで準備完了です!

Instruction templateの選択

あとはText generationタブで好きなようにチャットを行ってください。

おわりに

以上、Llama 2をローカルで簡単に動かす方法をご紹介しました。

無料で使えるLLMというとどうしてもChatGPTと比べてしまい「なんかイマイチだなぁ」と思ってしまうのですが、Llama 2は(まだ一歩及ばないものの)かなり出来がよく、これを無料で使えるなんて本当にすごいなと思いました。しかも商用利用も可能ですし、うまく使えば面白いことができそうなので活用法を研究してみるのもいいかもしれません。

この記事が何かしらお役に立てば幸いです。