--- base_model: llm-jp/llm-jp-3-13b tags: - text-generation-inference - transformers - unsloth - llama - trl license: apache-2.0 language: - en --- # Uploaded model - **Developed by:** godellog - **License:** CC-BY-NC-SA 4.0 - **Finetuned from model :** llm-jp/llm-jp-3-13b This llama model was trained 2x faster with [Unsloth](https://github.com/unslothai/unsloth) and Huggingface's TRL library. [](https://github.com/unslothai/unsloth) --- ## **Model Card: Instruction-Tuned Base Model** ### **Model Overview** - **Model Name**: `llm-jp-3-13b-it` - **Description**: このモデルは、日本語ベースの大規模言語モデル(13B)`llm-jp-3-13b`を基に、指示応答形式でのInstruction Tuningを行ったものです。 - **Base Model**: `llm-jp-3-13b` - **Fine-Tuning Objective**: 指示文(instruction)に対する適切な応答(response)を生成する能力を向上させるための微調整。 --- ### **Datasets** - **Training Dataset**: - データセット名: `ichikara-instruction-003-001-1.json` - 総データ数: 約1700件 - フォーマット例: ```plaintext { "text": "文章の要約を生成してください。", "output": "この文章の要約です。" } ``` - **フォーマット変換後**: ``` ### 指示 文章の要約を生成してください。 ### 回答 この文章の要約です。 ``` --- ### **Training Configuration** - **Hardware**: - GPU: L4 24GB(1枚) - **Hyperparameters**: - `per_device_train_batch_size`: 2 - `gradient_accumulation_steps`: 4 - `num_train_epochs`: 1 - `learning_rate`: 2e-4 - `fp16`: 使用 - `bf16`: 使用(ハードウェアでサポートされる場合) - `max_seq_length`: 512 - **Optimizer and Scheduler**: - Optimizer: AdamW - Learning Rate Scheduler: Linear with warmup - Warmup Steps: 10 --- ### **Fine-Tuning Process** 1. **データのロード**: - `ichikara-instruction-003-001-1.json`をロードし、`text`と`output`を使用してプロンプト形式に変換。 2. **モデル準備**: - ベースモデル: `llm-jp-3-13b`。 - LoRAアダプタを適用: - **Target Modules**: `q_proj`, `k_proj`, `v_proj`, `o_proj`, `gate_proj`, `up_proj`, `down_proj`。 - **LoRA Hyperparameters**: - `r=32` - `lora_alpha=32` - `lora_dropout=0.05` 3. **トレーニング設定**: - 各データを512トークンでトークナイズ。 - 勾配累積(4ステップ)を利用して効果的なバッチサイズを確保。 4. **トレーニング実行**: - 学習進行状況を10ステップごとに記録。 - チェックポイントは2つまで保持し、それ以上は古いものを削除。 --- ### **Usage Example** 以下は、このモデルを使用して指示応答を生成する方法です。 ```python from transformers import AutoTokenizer, AutoModelForCausalLM # モデルとトークナイザーのロード model_name = "your-hf-username/llm-jp-3-13b-it" tokenizer = AutoTokenizer.from_pretrained(model_name) model = AutoModelForCausalLM.from_pretrained(model_name) # 指示応答生成 instruction = "次の文章を要約してください。" prompt = f"### 指示\n{instruction}\n### 回答\n" inputs = tokenizer(prompt, return_tensors="pt") outputs = model.generate(**inputs, max_new_tokens=128) # 出力結果 response = tokenizer.decode(outputs[0], skip_special_tokens=True) print(response) ``` --- ### **License** - モデルおよびデータセットのライセンスに基づいて使用可能。 - --- ### **Acknowledgements** このプロジェクトでは以下を利用しています: - **Hugging Face Transformers** - **Unsloth**(効率的なLoRA微調整を実現)