--- license: cc-by-nc-sa-4.0 base_model: - llm-jp/llm-jp-3-13b --- ## 環境準備 ### 必要なライブラリのインストール ```bash pip install transformers torch accelerate peft bitsandbytes ``` ## モデルのロードと推論 ### Pythonスクリプト例 ```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: 最新版