Llama 3 の日本語継続事前学習モデル「Llama 3 Youko 8B」を試してみる|他LLMとの比較あり
rinna社が提供する「Llama 3 Youko 8B」は、2024/5に公開されたオープンソースの日本語LLMです。このモデルはMeta社の公開するLLMであるLlama 3を本語継続事前学習したモデルであり、Llama 3がもつ高いテキスト生成能力を日本語に引き継いでいます。
今回はこのモデルがrinna社の既存モデルからどう変わったのかを実際にいくつかの質問をして検証していきます。
Llama 3 Youko 8B の特徴
「Llama 3 Youko 8B」は、Meta社のオープンソースLLM「Llama 3 8B」に対して、日本語と英語の学習データ220億トークンを用いて継続事前学習モデルしたオープンソースLLMです。
OpenAI社のGPT-4のようなClosedLLMとは異なりトークン数による利用料を必要としないため、より低コストに生成AIを利用できます。利用ライセンスは元モデルの Meta Llama 3 Community License[2]を継承しており、このライセンスに従って利用することができます。
Model | Base | Context-window
( tokens ) |
Size | Release |
rinna/Youri[3] | Llama 2 7B (Meta) | 4096 | 7B | 2023/10 |
rinna/Nekomata[4] | Qwen (Alibaba) | 32768 | 7B ~ 14B | 2023/12 |
rinna/Youko[5] | Llama 3 8B (Meta) | 8192 | 8B | 2024/05 |
文章生成の精度改善
日本語言語モデルの性能を評価するためのベンチマークの一つである Stability-AI/lm-evaluation-harnessの9タスク平均スコアはLlama 3が59.82であるのに対し、Llama 3 Youko 8Bは66.15となっており、Llama 3の優れた性能を日本語に引き継いでいます。また、旧モデルのNekomataはNekomata 7Bが58.69、Nekomata 14Bが67.38となっており、Llama 3 Youko 8Bが旧モデルの14Bの平均スコアに匹敵していることが分かります。特に、日本語推論や文章穴埋めタスクでは上回るスコアを得ています。
Model | Model type | 9 - AVERAGE |
nekomata-14b-instruction | Supervised fine-tuning | 69.86 |
nekomata-14b | Continual pre-training | 67.38 |
nekomata-7b-instruction | Supervised fine-tuning | 66.61 |
nekomata-7b | Continual pre-training | 58.69 |
Meta-Llama3-8B | Pre-training | 59.82 |
llama3-youko-8b | Continual pre-training | 66.15 |
※LM Benchmark[6]より一部抜粋
Llama 3 Youko 8B の使い方
「Youko」はHuggingface上で公開されています。他のオープンソースモデルと同様にモデル名を指定することで利用することができます。
pip install transformers torch
モデル名を“rinna/llama3-youko-8b”と指定することで利用できます。
import transformers
import torch
model_id = "rinna/llama-3-youko-8b"
pipeline = transformers.pipeline(
"text-generation",
model=model_id,
model_kwargs={"torch_dtype": torch.bfloat16},
device_map="auto"
)
output = pipeline(
"西田幾多郎は、",
max_new_tokens=256,
do_sample=True
)
print(output)
詳細は、公式Documents[7]をご確認ください。
Llama 3 Youko 8B と他LLMを比較する
いくつかの質問への回答を「Youko」(“rinna/llama3-youko-8b”)と「Nekomata」(“rinna/nekomata-7b-instruction”)で比較してみましょう。また、オープンソースLLMだけでなくクローズドLLMのうち比較的安価なOpenAI社の“gpt-3.5-turbo”とも比較します。
今回は、以下2つの問題にどのように回答するかを試してみました。
- 心のモデル
- 国語の問題
心のモデル
まずは、登場人物の心の状態を読み取ることができるかの問題を出題します。
以下のプロンプトを実行します。
①サリーとアンが部屋で一緒に遊んでいます。 ②サリーはボールをかごの中に入れて部屋を出て行きます。 ③サリーがいない間にアンがボールを別の箱の中に移します。 ④サリーが部屋に戻ってきます。 《問題》サリーはボールを取り出そうとして最初にどこを探しますか? |
それぞれのモデルの生成結果は以下のようになりました。
“Llama 3 Youko 8B”の場合
回答:かごの中 |
“Nekomata 7B instruction”の場合
サリーはボールをかごの中に入れたまま部屋を出て行きますので、最初にかごの中を探します。 |
“gpt-3.5-turbo”の場合
サリーは最初にかごの中を探すでしょう。 |
Model | Correct Answer Rate ( /10) |
gpt-3.5-turbo | 1.0 |
nekomata | 0.5 |
youko | 0.5 |
Correct-Answer | - |
こちらの質問は、“かご”を探すが正答です。
生成例ではどのモデルでもかごの中を探すことを正しく回答できていますね。試行回数=10 の場合の正答率 (Correct Answer Rate) は、Youko、Nekomataともに0.5になっており、OpenAIのGPT-3.5 Turboの正答率1.0と比べて低い結果となりました。
国語の問題
次に、文章の内容から適切な回答を選択する国語の問題を試してみましょう。
以下のプロンプトを実行します。
次の文を読みなさい。
Alexは男性にも女性にも使われる名前で、女性の名Alexandraの愛称であるが、男性の名Alexanderの愛称でもある。 この文脈において、以下の文中の空欄にあてはまるもっとも適切なものを選択肢のうちから1つ選びなさい。 Alexandraの愛称は( )である。 ①Alex ②Alexander ③男性 ④女性 |
それぞれのモデルの生成結果は以下のようになりました。
“Llama 3 Youko 8B”の場合
⓵ |
“Nekomata 7B instruction”の場合
3. |
“gpt-3.5-turbo”の場合
①Alex |
Model | Correct Answer Rate ( /10) |
gpt-3.5-turbo | 1.0 |
nekomata | 0.1 |
youko | 0.3 |
Correct-Answer | - |
こちらの質問は、①(Alex)が正答です。
生成例では、GPT-3.5 Turboは番号と名前となっているのに対し、 Youko、Nekomataが番号で回答しており、簡潔な回答となっています。試行回数=10の場合の正答率は、OpenAIのGPT-3.5 Turboの正答率1.0に対してYouko=0.3とかなり低い正答率となりましたが、Nekomataの正答率は0.1であるため、旧モデルに比べて精度が向上しています。
Llama 3 Youko 8B のまとめ
本記事では、rinna社が提供するLLMの「 Llama 3 Youko 8B 」についてご紹介しました。
今回は2つの質問を試してみましたが、GPT-3.5 Turboよりも劣っているものの選択式の穴埋め問題では旧モデル「Nekomata」よりも生成精度は改善しているように感じました。 ベンチマークテスト結果にもあるように日本語推論や穴埋め問題では精度よく利用できるかもしれません。
今回比較に用いた「Llama 3 Youko 8B」は汎用モデルであり、他2つのモデルとは異なり応答生成タスク用に追加学習をするinstruction tuningが行われていません。そのため、今後Nekomataと同じようにinstructionモデルが公開されることで、生成精度が改善されるかもしれません。
【参考文献】
[2]META LLAMA 3 COMMUNITY LICENSE AGREEMENT|Meta
[3] rinna、Llama 2の日本語継続事前学習モデル「Youri 7B」を公開|rinna株式会社
[4]rinna、Qwenの日本語継続事前学習モデル「Nekomata」シリーズを公開|rinna株式会社
[5]rinna、Llama 3の日本語継続事前学習モデル「Llama 3 Youko 8B」を公開|rinna株式会社
[7]rinna/llama-3-youko-8b · Hugging Face
理工学専攻の大学院生で、主に言語AIを扱っています。大学では、生成AIを用いた学習支援アドバイスの生成について研究しています。