llm-jp-3-13b-finetune
概要
このモデルは、LLM-jp-3-13bをベースに、Ichikara Instructionデータセットを用いてLoRAによってファインチューニングを行ったモデルです。日本語での指示対応能力の向上を目的としています。
モデル詳細
ベースモデル
モデル: LLM-jp-3 13B
ソース: llm-jp/llm-jp-3-13b
LoRA設定
rank (r): 16
alpha: 32
dropout: 0.05
タスクタイプ: CAUSAL_LM
トレーニング設定
量子化: 4bit量子化 (NF4)
バッチサイズ: 1
勾配累積ステップ: 2
エポック数: 1
オプティマイザ: paged_adamw_32bit
学習率: 5e-5
シード値: 3407
学習データ
データセット: Ichikara Instruction
サンプル数: 1,729
データ形式: 指示-回答ペア
使用方法
モデルの読み込み
pythonCopyfrom transformers import AutoModelForCausalLM, AutoTokenizer, BitsAndBytesConfig
import torch
量子化設定
bnb_config = BitsAndBytesConfig(
load_in_4bit=True,
bnb_4bit_quant_type="nf4",
bnb_4bit_compute_dtype=torch.bfloat16,
)
モデルとトークナイザーの読み込み
model = AutoModelForCausalLM.from_pretrained(
"path_to_model",
quantization_config=bnb_config,
device_map="auto"
)
tokenizer = AutoTokenizer.from_pretrained("path_to_model", trust_remote_code=True)
推論
pythonCopyprompt = f"""### 指示
{input_text}
回答
"""
inputs = tokenizer(prompt, return_tensors="pt").to(model.device)
outputs = model.generate(
inputs.input_ids,
max_new_tokens=100,
do_sample=False,
repetition_penalty=1.2,
pad_token_id=tokenizer.eos_token_id
)
response = tokenizer.decode(outputs[0][inputs.input_ids.shape[1]:], skip_special_tokens=True)
制限事項
このモデルはGPU環境での使用を想定しています
4bit量子化を使用しているため、CPUでの実行は推奨されません
生成は最大100トークンに制限されています
ライセンス
このモデルはCC BY-NC-SAライセンスで提供されています。
引用
Ichikara Instructionデータセットを使用している場合は、以下を引用してください:
Copy関根聡, 安藤まや, 後藤美知子, 鈴木久美, 河原大輔, 井之上直也, 乾健太郎. ichikara-instruction: LLMのための日本語インストラクションデータの構築. 言語処理学会第30回年次大会(2024)
更新履歴
2024/11/27: 初期バージョンをリリース