momo0729's picture
Update README.md
0234d70 verified
---
---
base_model: llm-jp/llm-jp-3-13b
tags:
- text-generation-inference
- transformers
- unsloth
- llama
- trl
license: cc-by-nc-sa-4.0
language:
- ja
---
# Uploaded model
- **Developed by:** momo0729
- **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.
---
## **Model Card: Instruction-Tuned Base Model**
### **Model Overview**
- **Model Name**: `"llm-jp-3-13b-it"`
- **Description**: このモデルは、日本語対応の大規模言語モデル「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: T4 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. **トレーニング実行**:
- 学習進行状況を100ステップごとに記録。
---
### **Usage Example**
以下は、このモデルを使用して指示応答を生成する方法です。
```python
from transformers import AutoTokenizer, AutoModelForCausalLM
# モデルとトークナイザーのロード
model_name = "momo0729/llm-jp-3-13b-it"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(model_name)
# 指示応答生成
instruction = "次の文章を要約してください。"
prompt = f"### 指示
{} ステップバイステップで考えて。深呼吸して考えてください。
### 回答
{}"
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微調整を実現)
---