llm-jp-3-13b-it / README.md
godellog's picture
Update README.md
cb4dbdf verified
---
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.
[<img src="https://raw.githubusercontent.com/unslothai/unsloth/main/images/unsloth%20made%20with%20love.png" width="200"/>](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微調整を実現)