metadata
license: cc-by-nc-sa-4.0
base_model:
- llm-jp/llm-jp-3-13b
環境準備
必要なライブラリのインストール
pip install transformers torch accelerate peft bitsandbytes
モデルのロードと推論
Pythonスクリプト例
from transformers import AutoModelForCausalLM, AutoTokenizer
from peft import PeftModel
import torch
# モデルとトークナイザーのロード
base_model_id = "llm-jp/llm-jp-3-13b"
model_id = "your-huggingface-username/llm-jp-3-13b-finetune"
# トークナイザーをロード
tokenizer = AutoTokenizer.from_pretrained(base_model_id)
# ベースモデルをロード (4bit量子化)
model = AutoModelForCausalLM.from_pretrained(
base_model_id,
load_in_4bit=True,
device_map="auto"
)
# LoRAアダプタをマージ
model = PeftModel.from_pretrained(model, model_id)
model = model.merge_and_unload()
def generate_response(prompt):
# プロンプトフォーマット
full_prompt = f"""### 指示
{prompt}
### 回答
"""
# トークン化
inputs = tokenizer(full_prompt, return_tensors="pt").to(model.device)
# 推論
outputs = model.generate(
input_ids=inputs.input_ids,
attention_mask=inputs.attention_mask,
max_new_tokens=100,
do_sample=False,
repetition_penalty=1.2
)
# デコード
response = tokenizer.decode(
outputs[0][inputs.input_ids.size(1):],
skip_special_tokens=True
)
return response
# 使用例
prompt = "日本の首都について教えてください。"
print(generate_response(prompt))
注意事項
- このモデルは
CC-BY-NC-SAライセンスの下で提供されています - 非営利目的での使用に限定されます
- 元のデータセットと同様のライセンス条件が適用されます
引用情報
モデル元データセット:
- 関根聡, 安藤まや, 後藤美知子, 鈴木久美, 河原大輔, 井之上直也, 乾健太郎.
- "ichikara-instruction: LLMのための日本語インストラクションデータの構築"
- 言語処理学会第30回年次大会 (2024)
トラブルシューティング
CUDA out of memory エラー
device_map="auto"をdevice_map="balanced"に変更- バッチサイズを減らす
- より大きなGPUを使用
ライブラリバージョンの不整合
- 推奨バージョン:
- transformers: 最新版
- torch: 2.0以降
- accelerate: 最新版
- peft: 最新版
- 推奨バージョン: