Sekihugging/qwen3-4b-japanese-structured-output
07
<【課題】ここは自分で記入して下さい>
概要
- 本リポジトリは Qwen/Qwen3-4B-Instruct-2507 をベースに QLoRA (4-bit, Unsloth) で微調整した LoRA アダプタ(差分重み)を収めます。ベースモデル本体は含みません。
重要パラメータ(コード由来)
- Base model: Qwen/Qwen3-4B-Instruct-2507
- Training data: u-10bei/structureddatawithcotdataset512v2
- Max sequence length: 512
- Epochs: 1
- Learning rate: 2e-05
- LoRA: r=64, alpha=128
- Method: QLoRA (4-bit) via bitsandbytes + unsloth pipeline
- 目標実行時間(ノートブック変更済み): TARGET_HOURS = 1.5(時間)
- 実行前の step 時間推定試行回数: n = 7(estimatestep_time)
- trainer に反映される推定最大ステップ数は実測 avg_step から自動設定されます
入出力(生成されるファイル)
- OUTLORADIR(例): /content/lorastructevaltqwen34b ← 実行時の変数に合わせて変更
- 保存される最低限のファイル:
- adapter_config.json
- adaptermodel.safetensors(または adaptermodel.bin)
- tokenizer 関連ファイル(必要に応じてコピーされます)
必須依存パッケージ(ノートブック内インストール指定)
- numpy==2.0.2
- pandas==2.2.2
- datasets==4.3.0
- trl==0.24.0
- transformers==4.56.2
- accelerate==1.1.0
- peft==0.13.2
- bitsandbytes==0.45.0
- unsloth-zoo==2025.12.7
- unsloth==2025.12.7
- (xformers は optional)
実行手順(Colab 推奨)
- Colab のランタイムを GPU(T4 想定)に設定。必要なら Runtime > Factory reset。
- ノートブック先頭の Step 1 セルを上から順に実行(依存関係のインストール)。
- Step 2 で Hugging Face login() を実行(書き込みトークン推奨)。
- Trainer を作成しているセルまで実行し、実行前に avgstep と estmax_steps の出力を確認する:
- avgstep が表示され、trainer.args.maxsteps が推定値に設定されます。
- 学習を開始。TimeLimitCallback(TARGET_HOURS=1.5)が追加されており、指定時間に達すると安全に training を停止します。
- 学習終了後、OUTLORADIR を確認して adapter を取得(必要なら HF に upload)。
注意点 / 推奨事項
- PERDEVICETRAINBATCHSIZE、GRADACCUM、seed、OUTLORADIR、HFアップロード先 repoid 等はノートブック内で変数になっている可能性があるため、実行前に値を確認・設定してください。
- 早期確認用に TARGET_HOURS を小さめ(例 0.01)にして動作検証することを推奨します。
- evalsteps / savesteps が小さいと評価・チェックポイントでオーバーヘッドが増えるため、本番実行では間隔を広げてください。
- Colab 環境差異で import エラーが出る場合は Runtime をリセットしてから Step1 を再実行してください。
使用例(LoRA をロードして推論)
from transformers import AutoModelForCausalLM, AutoTokenizer
from peft import PeftModel
import torch
base = "Qwen/Qwen3-4B-Instruct-2507"
adapter = "Sekihugging/<YOUR_ADAPTER_REPO>"
tokenizer = AutoTokenizer.from_pretrained(base)
model = AutoModelForCausalLM.from_pretrained(
base,
torch_dtype=torch.float16,
device_map="auto",
)
model = PeftModel.from_pretrained(model, adapter)
This repository provides a **LoRA adapter** fine-tuned from
**Qwen/Qwen3-4B-Instruct-2507** using **QLoRA (4-bit, Unsloth)**.
This repository contains **LoRA adapter weights only**.
The base model must be loaded separately.
## Training Objective
This adapter is trained to improve **structured output accuracy**
(JSON / YAML / XML / TOML / CSV).
Loss is applied only to the final assistant output,
while intermediate reasoning (Chain-of-Thought) is masked.
## Training Configuration
- Base model: Qwen/Qwen3-4B-Instruct-2507
- Method: QLoRA (4-bit)
- Max sequence length: 512
- Epochs: 1
- Learning rate: 2e-05
- LoRA: r=64, alpha=128
## Usage
from transformers import AutoModelForCausalLM, AutoTokenizer from peft import PeftModel import torch
base = "Qwen/Qwen3-4B-Instruct-2507" adapter = "your_id/your-repo"
tokenizer = AutoTokenizer.frompretrained(base) model = AutoModelForCausalLM.frompretrained( base, torchdtype=torch.float16, devicemap="auto", ) model = PeftModel.from_pretrained(model, adapter)
## Sources & Terms (IMPORTANT)
Training data: u-10bei/structured_data_with_cot_dataset_512_v2
Dataset License: MIT License. This dataset is used and distributed under the terms of the MIT License.
Compliance: Users must comply with the MIT license (including copyright notice) and the base model's original terms of use.
