🚀 llm-jp-3.1-1.8b
LLM-jp-3.1は、国立情報学研究所の大規模言語モデル開発センターによって開発された一連の大規模言語モデルです。
LLM-jp-3シリーズをベースに、LLM-jp-3.1モデルは訓練中期に指令事前学習を組み込んでおり、元のLLM-jp-3モデルと比較して、指令の遵守能力が大幅に向上しています。
このリポジトリではllm-jp-3.1-1.8bモデルを提供しています。
異なるパラメータ規模の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")
model = AutoModelForCausalLM.from_pretrained("llm-jp/llm-jp-3.1-1.8b", device_map="auto", torch_dtype=torch.bfloat16)
text = "自然言語処理とは何か"
tokenized_input = tokenizer.encode(text, add_special_tokens=False, 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))
✨ 主な機能
- LLM-jp-3シリーズをベースに、訓練中期に指令事前学習を組み込み、指令の遵守能力を大幅に向上させています。
- 日本語、英語、中国語、韓国語などの複数の言語をサポートしています。
- 異なるパラメータ規模のモデルを提供し、様々なニーズに対応しています。
📚 ドキュメント
モデル詳細
属性 |
詳細 |
モデルタイプ |
Transformerベースの言語モデル |
アーキテクチャ |
密集モデルとMoEモデルを含む |
密集モデル
パラメータ |
層数 |
隠れ層サイズ |
ヘッド数 |
コンテキスト長 |
埋め込みパラメータ |
非埋め込みパラメータ |
1.8b |
24 |
2048 |
16 |
4096 |
407,498,752 |
1,459,718,144 |
13b |
40 |
5120 |
40 |
4096 |
1,018,746,880 |
12,688,184,320 |
MoEモデル
パラメータ |
層数 |
隠れ層サイズ |
ヘッド数 |
ルーティングエキスパート |
活性化エキスパート |
コンテキスト長 |
埋め込みパラメータ |
非埋め込みパラメータ |
活性化パラメータ |
総パラメータ |
8x13b |
40 |
5120 |
40 |
8 |
2 |
4096 |
1,018,746,880 |
72,144,081,920 |
22,200,806,400 |
73,162,828,800 |
トークナイザー
このモデルのトークナイザーは、huggingface/tokenizersのUnigramバイトバックオフモデルに基づいています。
語彙エントリは、llm-jp-tokenizer v3.0
から変換されたものです。
語彙構築プロセスの詳細については、llm-jp-tokenizer
のREADME.mdを参照してください(純粋なSentencePiece訓練では、私たちの語彙を再現することはできません)。
データセット
事前学習
モデルは、以下のデータセットの混合を使用して事前学習されています。
訓練中期
LLM-jp-3.1シリーズでは、指令事前学習に基づいて継続的な事前学習を行っています。
指令事前学習は、大量の指令 - 応答ペアで事前学習を続けることで、モデルの指令遵守能力を強化します。
約900億トークンの指令 - 応答データを準備し、事前学習データセットと混合して、合計4000億トークンで継続的な事前学習を行いました。
各モデルは、既存のチェックポイント(llm-jp/llm-jp-3-1.8b、llm-jp/llm-jp-3-13b、llm-jp/llm-jp-3-8x13b)から初期化され、継続的な指令事前学習が行われました。
LLM-jp-3シリーズは最初に21兆トークンで事前学習されていたため、総事前学習トークン数は25兆トークンに達しました。
この訓練プロセスの詳細は、近日公開される論文で発表されます。この訓練に使用された指令 - 応答データセットも公開されます。
訓練後期
事前学習チェックポイントに対して教師あり微調整を行い、さらに直接嗜好最適化を使用してアライメントを行いました。
教師あり微調整
教師あり微調整に使用されるデータセットは以下の通りです。
直接嗜好最適化
直接嗜好最適化(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を評判者として使用する方法で、llm-jp/AnswerCarefullyのテストセットを基に、日本語言語モデルの出力の安全性を評価します。
gpt-4o-2024-08-06
を使用してモデルを評価しました。
スコアは、3回の推論と評価の平均値を表します。
詳細については、コードを参照してください。
リスクと制限事項
ここで公開されているモデルは、開発の初期段階にあり、出力が人間の意図や安全上の考慮事項に沿うように調整されていません。
問い合わせ
llm-jp(at)nii.ac.jpまでお送りください。
📄 ライセンス
Apache License, Version 2.0
モデルカード作成者
名前はアルファベット順に表示
Hirokazu KiyomaruとTakashi Kodama。