YAI777's picture
Update README.md
d38a9a1 verified
|
raw
history blame
2.55 kB
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)

トラブルシューティング

  1. CUDA out of memory エラー

    • device_map="auto"device_map="balanced" に変更
    • バッチサイズを減らす
    • より大きなGPUを使用
  2. ライブラリバージョンの不整合

    • 推奨バージョン:
      • transformers: 最新版
      • torch: 2.0以降
      • accelerate: 最新版
      • peft: 最新版