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 の特徴
https://x.com/rinna_research/status/1785594024122003786[1]
「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を用いた学習支援アドバイスの生成について研究しています。
関連記事
専門家向けNLP解説:vol.2 情報抽出
- 生成系AI
- 言語系AI
- ChatGPT
専門家向けNLP解説:vol.1 NLPとは
- 生成系AI
- 言語系AI
- ChatGPT
Behind the Product 〜 生成AIを使った製品開発の舞台裏
- インタビュー
- AIWEO
- ChatGPT
- 生成系AI
OpenAI Agent SDK vs. Google ADK (前編)
- 生成系AI
- ChatGPT
- 言語系AI
- 数値系AI
手書き訂正などが書き込まれた書類の、LLMを使った読み取り実験
- ChatGPT
- 生成系AI
- 画像系AI
最適化AIの進化 :LLMを使用した献立修正
- 生成系AI
- ChatGPT
- 言語系AI
- 数値系AI
AI初心者がGPT-4oで挑戦!文化庁の表記ルール、守れる?【インターン体験記 パート②】
- 生成系AI
- 言語系AI
- ChatGPT
AI初心者がGPT-4oで挑戦!日本語の誤字脱字はどこまで直せる?【インターン体験記 パート①】
- 生成系AI
- 言語系AI
- ChatGPT
Titans - Googleが描く「長期記憶型AI」 :Titans: Learning to Memorize at Test Time を斜め読み
- ChatGPT
- 生成系AI
- 言語系AI
ChatGPTのAPI利用料金比較|最新モデルo3-proも検証
- ChatGPT
- 言語系AI
- 生成系AI
OpenAI o3 & o4-mini:推論性能が向上した AIモデルの特性
- ChatGPT
- 生成系AI
- 言語系AI
LLM:量子化とファインチューニング
- 生成系AI
- ChatGPT
- 言語系AI
AI導入を成功させる!データ準備の完全ガイド
【MoA】 ローカルモデルを組み合わせてgpt-4o-miniと同等の性能?「Mixture of Agents」を試してみる
- 生成系AI
- ChatGPT
- 言語系AI
「Gemini 2.0 Flash Thinking」の画像入力を試してみる
- 生成系AI
- ChatGPT
- 言語系AI
人間のフィードバックによる強化学習とデータセット構築
- 生成系AI
- ChatGPT
- 言語系AI
OpenAI Canvas - AIと共同作業を加速する新たな作業空間 -
- 生成系AI
- ChatGPT
- 言語系AI
AI Agent Vol.3【Agent の 学習と評価】
- ChatGPT
- 生成系AI
- 言語系AI
Google のLLM「Gemini 2.0 Flash Thinking」を試してみる
- 生成系AI
- ChatGPT
- 言語系AI
【GroqCloud】 爆速回答!?GroqCloudの実力とは
【まとめ】GPT-4.5 登場!史上最強のAIモデルがリサーチプレビューを公開
- ChatGPT
- インタビュー
- 生成系AI
- 言語系AI
AI Agent Vol.2【Agent の 4つの要素】
- ChatGPT
- 生成系AI
- 言語系AI
Google のLLM「Gemini 2.0 Flash」を試してみる
- 生成系AI
- ChatGPT
- 言語系AI
2024年 年末のAI関連発表について
- ChatGPT
- 生成系AI
- 言語系AI
OpenAIが公開したLLMの事実性を評価する指標「SimpleQA」でモデルを測定してみた
- 生成系AI
- 言語系AI
- ChatGPT
AI導入に必須!PoC(概念実証)を成功させる進め方とポイント
The AI Scientist:AIによる論文の自動生成|さまざまな研究テーマを提案させてみる
- 生成系AI
- ChatGPT
- 言語系AI
AI Agent Vol. 1【Single AgentとMulti Agent】
- ChatGPT
- 生成系AI
- 言語系AI
AI活用成功に導く「AI導入アセスメント」とは――数理最適化AI事例をもとにポイントを解説
Llama 3 の日本語継続事前学習モデル「Llama-3-ELYZA-JP-8B」を試してみる
- 生成系AI
- 言語系AI
- ChatGPT
「戻れない変化」を生み出し続ける。コンサルを通して見極める業界DX実現への道筋
- インタビュー
- 生成系AI
- ChatGPT
サステナビリティ領域で活躍するAI―SDGs×AI活用事例
- 数値系AI
- 画像系AI
MetaのオープンLLM「Llama3.2 3B-Instract」の精度を検証してみた|GPT4o-miniとの比較あり
- 生成系AI
- 言語系AI
OpenAIの軽量モデル「GPT-4o mini」を試してみる
- 生成系AI
- 言語系AI
- ChatGPT
Microsoft「GraphRAG」とLangchainの知識グラフを活用したRAGを比較
- ChatGPT
- 言語系AI
- 生成系AI
Langchain+Neo4j で「GraphRAG」を実装してみる
- ChatGPT
- 生成系AI
- 言語系AI
数理最適化ソルバー活用事例|組合せ最適化で社内交流会の班分けを自動化
- 数値系AI
GoogleのマルチモーダルLLM「Gemini.1.5 Flash」の精度を検証してみる
- ChatGPT
- 生成系AI
- 言語系AI
3次元点群データを用いた物体検出
- 画像系AI
GPT-4oを活用した画像検索システムの構築方法
- 画像系AI
- ChatGPT
Pythonコーディングを簡単に|LangChainで効率化【LLMことはじめ Vol.2】
- ChatGPT
- 言語系AI
- 生成系AI
Microsoft 365 Copilot:AIによる業務効率化の革新
- ChatGPT
- 生成系AI
- 言語系AI
Google のオープンLLM「Gemma」を試してみる|GPT-3.5 Turboとの比較あり
- ChatGPT
- 生成系AI
- 言語系AI
3次元点群データとAIを用いたオガ粉の体積計測
- 画像系AI
RAG(Retrieval Augmented Generation)を「Command R+」で試してみた|精度をGPT-4 Turboと比較
- ChatGPT
- 生成系AI
- 言語系AI
Wood Powder Volume Calculation using Point Cloud Data and AI
- 画像系AI
Dify(ディファイ)をGoogle Cloudにデプロイしてみた
- 生成系AI
“Azure OpenAI”で始めるPythonプログラミング【LLMことはじめ Vol.1】
- 生成系AI
- 言語系AI
- ChatGPT
Combating the Malicious Use of AI-Powered Image Editing: A Deep Technical Dive
- 生成系AI
- 画像系AI
最新版「GPT-4 Turbo」を試してみた|GPT-4oとの比較あり(5/14追記)
- ChatGPT
PrecisionとRecallを何度も調べ直さないために
- 言語系AI
Stable Diffusion+LoRAを使って異常画像データを生成できるか検証してみた
- 生成系AI
- 画像系AI
大規模言語モデルによるソースコード生成:GitHub CopilotからCopilot Xへの進化と未来
- 生成系AI
- 言語系AI
AI導入の前に知っておくべき基礎知識(後編)――効率的に自業務にAIを導入するための4ステップ
- 数値系AI
- 画像系AI
- 言語系AI
配達ルート最適化AIにより作業時間80%削減を実現。成功の鍵は“人とAIの調和”
- インタビュー
- 数値系AI
AI画像生成の法的リスク(後編):著作権侵害を回避するために
- 生成系AI
- 画像系AI
AI画像生成の法的リスク(前編):著作権法の基本を学ぼう
- 画像系AI
- 生成系AI
AIというツールを使い 「生命たらしめるもの」が何かを見つけたい【調和技研✖️AIの旗手 Vol.4】
- インタビュー
AI導入の前に知っておくべき基礎知識(前編)――AIのキホンと活用事例
- 数値系AI
- 画像系AI
- 言語系AI
AIアルゴリズムの構築には、 課題の本質を見極めることが重要 【調和技研✖️AIの旗手 Vol.3】
- インタビュー
CNNで浮世絵画風変換はできるのか――Ukiyolator開発ストーリー Vol.2
- 画像系AI
- 生成系AI
住宅写真という資産をAIで利活用し、工務店とお客様をつなぐ新たなビジネスを創造
- インタビュー
- 画像系AI
- ChatGPT
シフト最適化への応用が期待される強化学習を用いた組合せ最適化の解法
- 数値系AI
多彩なサービスと紐づく「交通」の課題解決で地域の活性化や住みやすさの向上を【調和技研×AIの旗手 Vol.2】
- インタビュー
AIプロダクトを開発する際に考えるべき品質保証のキホン
- 数値系AI
- 生成系AI
- 画像系AI
- 言語系AI
Microsoft GuidanceでのFunction Calling機能の使い方とその特徴
- ChatGPT
- 言語系AI
Segment Anything Model(SAM)を使いこなそう!パラメータ設定のポイントも徹底解説
- 画像系AI
Stable Diffusionを使って異常画像データを生成できるか検証してみた
- 画像系AI
- 生成系AI
基礎から解説!数値系異常検知の概要と代表的な手法
- 数値系AI
実践!ChatGPT×Slackの具体的な連携方法と日常業務での効果的な活用事例
- ChatGPT
- 言語系AI
- 生成系AI
最先端AI技術で浮世絵を現代に再現する――Ukiyolator開発ストーリー Vol.1
- 画像系AI
- 生成系AI
PaDiMとPatchCoreどちらを選ぶべき?異常検知モデルの選択肢を見極めるポイント
- 画像系AI
社内の暗黙知を可視化するナレッジネットワークでイノベーションが生まれやすい環境に
- インタビュー
- 言語系AI
人の幸せや社会の豊かさに、AIをいかに「調和」させるか【調和技研×AIの旗手 Vol.1】
- インタビュー