shakebenn's picture
Update README.md
db68e4c verified
---
library_name: transformers
tags:
- unsloth
- japanese
- llm-jp
- lora
datasets:
- GENIAC-Team-Ozaki/Hachi-Alpaca_newans
- llm-jp/magpie-sft-v1.0
language:
- ja
base_model:
- llm-jp/llm-jp-3-13b
license: apache-2.0
---
# llm-jp-3-13b-SFT-LoRA モデルカード
llm-jp-3-13bをベースに、QLoRAとUnslothを用いてファインチューニングを行った日本語言語モデルです。
## モデルの詳細
### モデルの説明
- **開発者:** shakebenn
- **共有者:** shakebenn
- **モデルタイプ:** 言語モデル(デコーダーのみ)
- **言語:** 日本語
- **ライセンス:** ベースモデルに準拠
- **ベースモデル:** llm-jp/llm-jp-3-13b
### モデルソース
- **リポジトリ:** https://huggingface.co/llm-jp/llm-jp-3-13b
## 推論コードの使用方法
1. ファイルのダウンロード、準備
- [Kota-Ohno/LLM_saisyukadai](https://github.com/Kota-Ohno/LLM_saisyukadai)から「Model_Inference_v5.ipynb」と「tokenizer.model」、「elyza-tasks-100-TV_0.jsonl」をダウンロードします。
- 「tokenizer.model」に関しては、[llm-jp/llm-jp-tokenizer](https://github.com/llm-jp/llm-jp-tokenizer)から「llm-jp-tokenizer-100k.ver3.0b1.model」をダウンロードして、「tokenizer.model」という名前でリネームしても構いません。
- google colabで「Model_Inference_v5.ipynb」を開き、ランタイムをL4に設定します。
2. 必要なライブラリのインストール
- terminalを開き、以下のコードを順番に実行します。
```bash
apt-get install git-lfs
git lfs install
```
```bash
git clone https://github.com/ggerganov/llama.cpp
```
```bash
pip install -r ./llama.cpp/requirements.txt
```
3. モデルのダウンロード
```bash
git clone https://huggingface.co/llm-jp/llm-jp-3-13b
```
- 「tokenizer.model」ファイルを「llm-jp-3-13b」ディレクトリに配置します
4. モデルの変換
- 以下のコードを順番に実行します。
```bash
python ./llama.cpp/convert_hf_to_gguf.py --outfile llm-jp-3-13b.gguf llm-jp-3-13b
```
```bash
cd llama.cpp
mkdir build
cd build
cmake ..
cmake --build .
cd ../
cd ../
```
```bash
./llama.cpp/build/bin/llama-quantize ./llm-jp-3-13b.gguf ./llm-jp-3-13b-q8_0.gguf q8_0
```
```bash
git clone https://huggingface.co/shakebenn/llm-jp-3-13b-SFT-LoRA
python ./llama.cpp/convert_lora_to_gguf.py --base llm-jp-3-13b --outfile ./llm-jp-3-13b-SFT-LoRA.gguf llm-jp-3-13b-SFT-LoRA
```
4. 推論の実行
- 「elyza-tasks-100-TV_0.jsonl」を推論コードと同階層にコピーする
- 推論コード(Model_Inference_v5.ipynb)のすべてのセルを実行する
### 直接利用
このモデルは以下のような用途に適しています:
- 質問応答
- テキスト生成
- 文章要約
- その他の自然言語処理タスク
### 対象外の使用
以下の用途での使用は推奨されません:
- 商用利用
- 重要な意思決定
- 医療・法律アドバイス
- 有害なコンテンツの生成
## バイアス、リスク、制限事項
- 学習データに起因するバイアスが存在する可能性があります
- 事実と異なる情報を生成する可能性があります
- 有害なコンテンツを生成する可能性があります
### 推奨事項
- 出力内容の検証を必ず行ってください
- センシティブな用途での使用は避けてください
- 生成された内容の責任は使用者が負うものとします
## モデルの使用開始方法
## 学習の詳細
### 学習データ
以下のデータセットを使用:
- GENIAC-Team-Ozaki/Hachi-Alpaca_newans
- llm-jp/magpie-sft-v1.0
### 学習手順
#### 前処理
- 指示文と回答のペアにフォーマット
- コンテキスト長を512トークンに制限
#### 学習ハイパーパラメータ
- **学習手法:** QLoRA with Unsloth
- **量子化:** 4-bit
- **LoRA設定:**
- rank (r): 32
- alpha: 32
- dropout: 0.05
- target_modules: ["q_proj", "k_proj", "v_proj", "o_proj", "gate_proj", "up_proj", "down_proj"]
- **トレーニング設定:**
- バッチサイズ: 2
- 勾配累積: 4
- エポック数: 1
- 学習率: 2e-4
- シーケンス長: 512