🚀 llm-jp-3.1-1.8b-instruct4
LLM-jp-3.1は、国立情報学研究所の大規模言語モデル研究開発センターによって開発された大規模言語モデルのシリーズです。
LLM-jp-3シリーズをベースに、LLM-jp-3.1モデルは学習途中での命令事前学習を組み込んでおり、元のLLM-jp-3モデルと比較して、命令に従う能力が大幅に向上しています。
このリポジトリでは、llm-jp-3.1-1.8b-instruct4モデルを提供しています。
様々なパラメータサイズのLLM-jp-3.1モデルの概要については、以下を参照してください。
学習手順と評価結果の詳細については、このブログ記事(日本語)を参照してください。
チェックポイント形式:Hugging Face Transformers
🚀 クイックスタート
必要なライブラリとそのバージョン
- torch>=2.3.0
- transformers>=4.40.1
- tokenizers>=0.19.1
- accelerate>=0.29.3
- flash-attn>=2.5.8
使用方法
import torch
from transformers import AutoTokenizer, AutoModelForCausalLM
tokenizer = AutoTokenizer.from_pretrained("llm-jp/llm-jp-3.1-1.8b-instruct4")
model = AutoModelForCausalLM.from_pretrained("llm-jp/llm-jp-3.1-1.8b-instruct4", device_map="auto", torch_dtype=torch.bfloat16)
chat = [
{"role": "system", "content": "以下は、タスクを説明する指示です。要求を適切に満たす応答を書きなさい。"},
{"role": "user", "content": "自然言語処理とは何か"},
]
tokenized_input = tokenizer.apply_chat_template(chat, add_generation_prompt=True, tokenize=True, return_tensors="pt").to(model.device)
with torch.no_grad():
output = model.generate(
tokenized_input,
max_new_tokens=100,
do_sample=True,
top_p=0.95,
temperature=0.7,
repetition_penalty=1.05,
)[0]
print(tokenizer.decode(output))
✨ 主な機能
このモデルは、命令に従った応答を生成する能力が向上しています。学習途中での命令事前学習により、多様な命令に対応できるようになっています。
📚 ドキュメント
モデル詳細
属性 |
详情 |
モデルタイプ |
Transformerベースの言語モデル |
アーキテクチャ |
- 密モデル:
|
トークナイザー
このモデルのトークナイザーは、huggingface/tokenizersのUnigram byte-fallbackモデルに基づいています。
語彙エントリは、llm-jp-tokenizer v3.0
から変換されています。
語彙構築手順の詳細については、llm-jp-tokenizer
のREADME.mdを参照してください(純粋なSentencePiece学習では、私たちの語彙を再現できません)。
データセット
事前学習
モデルは、以下のデータセットの混合を使用して事前学習されています。
学習途中の命令事前学習
LLM-jp-3.1シリーズでは、命令事前学習に基づいて継続的な事前学習を行いました。
命令事前学習は、大量の命令 - 応答ペアで事前学習を続けることで、モデルが命令に従う能力を向上させます。
約90Bトークンの命令 - 応答データを用意し、事前学習データセットと混合して、合計400Bトークンで継続的な事前学習を行いました。
各モデルは、既存のチェックポイント(llm-jp/llm-jp-3-1.8b、llm-jp/llm-jp-3-13b、およびllm-jp/llm-jp-3-8x13b)から初期化され、継続的な命令事前学習を受けました。
LLM-jp-3シリーズは元々2.1Tトークンで事前学習されていたため、総事前学習トークン数は2.5Tトークンになります。
この学習プロセスの詳細は、今後の論文で公開されます。この学習に使用された命令 - 応答データセットも公開されます。
事後学習
事前学習済みのチェックポイントを教師あり微調整で微調整し、さらに直接嗜好最適化(Direct Preference Optimization)でアライメントを行いました。
教師あり微調整
教師あり微調整に使用されたデータセットは以下の通りです。
直接嗜好最適化(Direct Preference Optimization)
直接嗜好最適化(DPO)には、棄却サンプリングを採用しました。
プロンプトは教師あり微調整で使用されたデータセットからサンプリングされ、各プロンプトに対して複数の応答が生成されました。
これらの応答は(Qwen/Qwen2.5-32B-Instructによって)スコア付けされ、高スコアの応答を正例、低スコアの応答を負例としてDPOが行われました。
DPOは2段階で行われました。
2段階目では、安全性に焦点を当てた日本語の嗜好データセットであるac-self-instも追加で使用しました。
評価
MT Bench(日本語と英語)
モデルをgpt-4o-2024-08-06
を使用して評価しました。
スコアは、3回の推論と評価から得られた平均値を表しています。
詳細については、コードを参照してください。
AnswerCarefully-Eval
AnswerCarefully-Evalは、llm-jp/AnswerCarefullyのテストセットに基づいて、LLM-as-a-Judgeアプローチを使用して日本語言語モデルの出力の安全性を評価します。
モデルをgpt-4o-2024-08-06
を使用して評価しました。
スコアは、3回の推論と評価から得られた平均値を表しています。
詳細については、コードを参照してください。
🔧 技術詳細
- チェックポイント形式はHugging Face Transformersを使用しています。
- トークナイザーはhuggingface/tokenizersのUnigram byte-fallbackモデルに基づいています。
📄 ライセンス
Apache License, Version 2.0
注意事項
⚠️ 重要提示
ここで公開されているモデルは、研究開発の初期段階にあり、出力が人間の意図や安全性の考慮に沿うように調整されていません。
質問の送信先
llm-jp(at)nii.ac.jp
モデルカード作成者
名前はアルファベット順にリストされています。
Hirokazu KiyomaruとTakashi Kodama。