ElyzaのLlama3ベースの言語モデル「Llama-3-ELYZA-JP-8B」のRAGが予想以上に賢かった件
昨日(6/26)に、東大発ベンチャーであるELYZA(イライザ)からLlama3ベースの言語モデル「Llama-3-ELYZA-JP」が発表されました。
「GPT-4」を上回る日本語性能のLLM「Llama-3-ELYZA-JP」を開発しました|ELYZA, Inc.
つい先日、Googleの大規模言語モデルを使った「notebookLM」に圧倒されたばかりですが、オープンモデルのELYZAも気になるので、試してみることにしました。
なお、GPT-4を超えたとされるのは、ELYZA‐JPの70Bモデル(700億パラメーター)であり、こちらはモデルとしては配布されておらず、APIとしての利用のみとなっている模様。
公開されているのは8Bモデル(80億パラメーター)のみです。
以前のLlama2ベースの時は、7Bと13Bの2種類が公開されていたのに、今回は8Bのみとは・・・などと残念に思ってましたが、むしろこの8Bモデル、以前の13Bモデルよりも高精度な言語モデルでした。
実際、8Bモデルでも日本語での性能はGPT-3.5 Turbo並みだというので、なかなか大したものです。
それの量子化モデルを入手し、以前の記事、
大規模言語モデル「ELYZA-7b」と自作小説「計算士と空中戦艦」で「RAG」をしてみた: EeePCの軌跡
でやったRAGにトライしてみました。
なお、環境設定その他は上の記事の時そのままです。
モデルを、以下のサイトからダウンロードします。
elyza/Llama-3-ELYZA-JP-8B-GGUF · Hugging Face
ここのサイトの「files and versions」タブをクリックし、「Llama-3-ELYZA-JP-8B-q4_k_m.gguf」の横の下矢印をクリックしてダウンロードを実行します。
得られたモデル「Llama-3-ELYZA-JP-8B-q4_k_m.gguf」を、先のフォルダの「models」に入れておきます。
プログラムコードも先の記事ほぼそのままですが、一か所、「model_path = 」のところを、
model_path = f"models/Llama-3-ELYZA-JP-8B-q4_k_m.gguf"
としました。このコードを、
> python elyza_rag.py
と実行すると、前記事同様、RAGが実行されます。
では、前回と同じ質問を投げかけてみます。
##Question: カルヒネン曹長の恩師の名前は?
その返答はというと、
カルヒネン曹長の恩師の名前は、ラハナスト先生です。
となりました。Llama2-7Bモデルではそっけなく「ラハナスト」としか答えなかったところを見ると、かなり人間的になりましたね。
ちなみに、8Bモデルということもあり、かなり軽いです。うちのGTX1650Tiを使っても、30秒ほどで回答が返ってきます。
(起動時は相変わらず遅い)
調子に乗って、もう少し高度な質問をしてみます。
##Question: イーサルミ王国はなぜオレンブルク連合皇国と戦争をすることになったのですか?
これ、Llama2のモデルでは支離滅裂な回答しか返ってこなかったのですが、Llama3ベースの今度のモデルは違います。
イーサルミ王国は、オレンブルク連合皇国の属国であったが、現皇帝が即位してから圧政を敷き、高い税負担や言論統制などを行ったため、イーサルム王国内は大いに乱れた。さらに、強大化した軍隊が属国への干渉を働くこととなり、悪循環を招いた。そこで、イーサルミ王国は連合皇国からの独立を宣言し、オレンブルク連合皇国軍に対して奇襲を行い、これを一斉排除することに成功したが、その後、苛烈な独立戦争が始まった。
ちゃんと、文脈を捉えた回答が返ってきました。これは予想外でした。
Llama3ベースのモデルって、優秀過ぎない?
もちろん「notebookLM」あたりと比べたらまだまだでしょうけど、やっすいゲーミングPC上で実行していることを思えば、これはなかなかの性能です。
てことで、さらに調子に乗って、より突っ込んだ質問をしてみました。
##Question:イーサルミとオレンブルクの戦いは、この先どうなると思いますか?
この物語の先を予想させてみました。文脈を読んで、彼(Llama3-ELYZA-JP)はなんと回答するのか?
銃が飛ぶように売れては犯罪の誘発などにつながって困りものだが、計算尺なら飛ぶように売れたところで誰も困らない」という会話から、イーサルミ王国とオレンブルク連合皇国の戦争が長期化していることがわかります。
また、「我々の独立を承認することは他の王国の独立を誘発しかねないと考えている」や「多数の国が連合する皇国にとって、それらの国の離脱が最も恐れるべき事態だ」という会話から、オレンブルク連合皇国はイーサルミ王国の独立を認めるつもりはないことがわかります。
さらに、「我々は決して屈しない。やつらが我が国の独立を認めるまで、我々は戦い続ける」という会話から、イーサルミ王国は独立するために戦争を継続する意思があることがわかります。
以上の情報から、イーサルミ王国はこの先もオレンブル
なんか、最後はちょっと途切れてしまいましたが、要するにオレンブルクとイーサルミの戦争はまだまだ続くと言いたかったのでしょう。そういう流れの回答です。
ただし、この回答ばかりは80秒ほどかかりました。かなり頭?を使ったようです。ですが、使っただけの回答です。恐れ入ります。
ということで、予測的なことまで可能となったLlama3ベースの8BモデルによるRAGは、なかなか使えそうです。
今回は「計算士と空中戦艦 : 小説家になろう 」の第1章のみでしたが、第2章まで読み込ませて、より突っ込んだ質問をしてやりたいですよね。
« Googleの生成AI「Gemini 1.5 Pro」を使ったサービス「notebookLM」がすごいらしいので試してみた | トップページ | ご近所の本屋が閉店します »
「数値解析系」カテゴリの記事
- 生成AI解説書籍「ChatGPT & 生成AI」という本を買った(2024.12.08)
- Googleの生成AI「Gemini Advanced」に入ってみた(2024.12.01)
- Tanuki-8Bの4ビット量子化ggufモデルでRAGをやってみました(2024.09.14)
- 純日本産なローカルLLM「Tanuki-8B」を試してみた(2024.09.02)
« Googleの生成AI「Gemini 1.5 Pro」を使ったサービス「notebookLM」がすごいらしいので試してみた | トップページ | ご近所の本屋が閉店します »
コメント