<【松尾研課題】qwen3-4b-structured-output-lora−EX03>

This repository provides a LoRA adapter fine-tuned from Qwen/Qwen3-4B-Instruct-2507 using QLoRA (4-bit, Unsloth) for structured data output tasks.

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 for multiple formats:

  • JSON, YAML, XML, TOML, CSV
  • Text-to-structured conversion
  • Format-to-format conversion (e.g., CSV to JSON, JSON to YAML)

Key training features:

  • Loss is applied only to the final assistant output
  • Intermediate reasoning (Chain-of-Thought) is masked during training
  • Task distribution optimized for evaluation benchmark
    • text_to_toml: 2.5x
    • csv_to_json: 1.5x
    • json_to_yaml: 1.5x
    • toml_to_json: 1.3x
    • xml_to_json: 1.3x

Training Configuration

Model & Method

  • Base model: Qwen/Qwen3-4B-Instruct-2507
  • Method: QLoRA (4-bit quantization)
  • Max sequence length: 512 tokens
  • LoRA configuration: r=64, alpha=128, dropout=0

Training Hyperparameters

  • Epochs: 1
  • Learning rate: 2e-06
  • Batch size: 2 per device × 8 gradient accumulation = 16 effective batch size
  • Warmup ratio: 10%
  • Weight decay: 0.05

Training Data

  • Total datasets: 5 datasets
  • Approximate training samples: ~22,000 rows
  • Upsampling: Enabled
    • text_to_toml: 2.5x
    • csv_to_json: 1.5x
    • json_to_yaml: 1.5x
    • toml_to_json: 1.3x
    • xml_to_json: 1.3x

Datasets Used

  • u-10bei/structured_data_with_cot_dataset_512_v2
  • u-10bei/structured_data_with_cot_dataset_512_v4
  • u-10bei/structured_data_with_cot_dataset_512_v5
  • daichira/structured-5k-mix-sft
  • daichira/structured-hard-sft-4k

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.from_pretrained(base, trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained(
    base,
    torch_dtype=torch.float16,
    device_map="auto",
    trust_remote_code=True,
)
model = PeftModel.from_pretrained(model, adapter)

# Example: Generate structured output
messages = [{"role": "user", "content": "Convert this CSV to JSON: name,age\nAlice,30"}]
prompt = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
inputs = tokenizer(prompt, return_tensors="pt").to(model.device)
outputs = model.generate(**inputs, max_new_tokens=512, temperature=0.0)
print(tokenizer.decode(outputs[0]))

Performance

This adapter is optimized for the StructEvalT benchmark, focusing on:

  • High accuracy for Text-to-TOML tasks (17% of evaluation)
  • Strong performance on JSON/YAML output tasks (56% of evaluation)
  • Robust format conversion capabilities

Sources & Terms (IMPORTANT)

Training data: u-10bei/structured_data_with_cot_dataset_512_v2, u-10bei/structured_data_with_cot_dataset_512_v4, u-10bei/structured_data_with_cot_dataset_512_v5, daichira/structured-5k-mix-sft, daichira/structured-hard-sft-4k

Dataset Licenses:

  • MIT License (u-10bei datasets)
  • CC-BY-4.0 (daichira datasets)

Compliance: Users must comply with the respective dataset licenses (MIT and CC-BY-4.0) and the base model's original terms of use.

Downloads last month
19
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for tmiyamoto/qwen3-4b-20260205_1331-exp02-basic

Adapter
(2166)
this model

Datasets used to train tmiyamoto/qwen3-4b-20260205_1331-exp02-basic