yuk1chan/qwen3-4b-structeval-yamlxml-boost-v2-lr6e-6
06
qwen3-4b-structeval-yamlxml-boost-v2-lr6e-6
This repository provides a LoRA adapter fine-tuned from Qwen/Qwen3-4B-Instruct-2507 using QLoRA (4-bit, Unsloth).
Training Objective
This adapter is trained to improve structured output accuracy (JSON / YAML / XML / TOML / CSV).
Strategy 2 Revised: YAML/XML Clean Expansion π₯
Training Configuration
- Base model: Qwen/Qwen3-4B-Instruct-2507
- Method: QLoRA (4-bit)
- Max sequence length: 512
- Epochs: 1
- Learning rate: 6e-06
- LoRA: r=16, alpha=32
Dataset: Cleaned StructEval + YAML/XML Boost (Revised)
Strategy 2 Revised: Three-Pronged Approach
Based on expert AI analysis, this revision addresses the root causes of YAML/XML failures:
- u-10beiη³»: γOutput:γδ»₯ιγ γγζ½εΊ
- Problem: u-10bei datasets contain "Approach: β Output:" structure
- Solution: Extract only content after "Output:" marker
- Effect: Removes "explanation before output" tendency
- daichiraη³»: 2εγγΌγΉγοΌγReturn ONLYγγγΏγΌγ³οΌ
- Problem: Model needs more "Return ONLY YAML/XML" examples
- Solution: Boost daichira datasets by 2x
- Effect: Strengthens "direct output without explanation" pattern
- YAML/XML: 2εγγΌγΉγ
- Problem: YAML/XML are the weakest formats (94.3%, 85.0%)
- Solution: Boost YAML/XML samples by 2x
- Effect: More training data for weak formats
Data Cleaning Pipeline:
- CoT tags removal:
<thinking>...</thinking>completely removed - Code fence removal: ```
yaml,``json,``xml,``toml,```csv removed - Leading phrase removal: "Here's the output:", "Sure!", etc. removed
- π₯ Output extraction: For u-10bei datasets, extract only content after "Output:" marker
- Format validation: JSON/YAML/XML/TOML/CSV parsing validation
- Deduplication: Exact duplicates removed
Format Distribution (Estimated):
- YAML: ~12,000-15,000 (40-50%) π₯ 2x boost
- XML: ~6,000-8,000 (25-30%) π₯ 2x boost
- JSON: ~4,000-5,000 (15-20%)
- TOML: ~2,500-3,000 (10%)
- CSV: ~2,500-3,000 (10%)
Total: ~25,000-30,000 samples
Source Datasets:
u-10beiη³»οΌγOutput:γζ½εΊι©η¨οΌ:
- u-10bei/structureddatawithcotdataset512v2
- u-10bei/structureddatawithcotdataset512v4
- u-10bei/structureddatawithcotdataset512v5
- u-10bei/structureddatawithcotdataset_512
- u-10bei/structureddatawithcotdataset_v2
- u-10bei/structureddatawithcotdataset
daichiraη³»οΌ2εγγΌγΉγοΌ:
- daichira/structured-3k-mix-sft π₯ 2x
- daichira/structured-5k-mix-sft π₯ 2x
- daichira/structured-hard-sft-4k π₯ 2x
Usage
from transformers import AutoModelForCausalLM, AutoTokenizer
from peft import PeftModel
import torch
base = "Qwen/Qwen3-4B-Instruct-2507"
adapter = "yuk1chan/qwen3-4b-structeval-yamlxml-boost-v2-lr6e-6"
tokenizer = AutoTokenizer.from_pretrained(base)
model = AutoModelForCausalLM.from_pretrained(
base,
torch_dtype=torch.float16,
device_map="auto",
)
model = PeftModel.from_pretrained(model, adapter)
# Inference
prompt = "Generate YAML code for..."
# ... your inference code
Training Results
- Training Loss: ~1.25-1.30
- Validation Loss: ~1.50-1.55
- Training Time: ~8-9 hours
- Expected Score: 0.805-0.810 (YAML/XML improvement from 0.80195 baseline)
Strategy: YAML/XML Clean Expansion (Revised)
Key Insights from Expert AI Analysis:
The main causes of YAML/XML failures are:
1. Code fences (yaml, xml) appearing in output
2. Leading phrases ("Here's the output:", "Sure!") before output
3. u-10bei datasets' "Approach: β Output:" structure leaking into outputs
Solutions Implemented:
βββββββββββββββββββββββββββββββββββββββ¬βββββββββββββββββββββββββββββββ¬ββββββββββββββββββββββββββββββββββββ
β Problem β Solution β Effect β
βββββββββββββββββββββββββββββββββββββββΌβββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββ€
β u-10bei "Output:" structure β Extract only after "Output:" β Removes explanation tendency β
βββββββββββββββββββββββββββββββββββββββΌβββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββ€
β Insufficient "Return ONLY" examples β Boost daichira datasets 2x β Strengthens direct output pattern β
βββββββββββββββββββββββββββββββββββββββΌβββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββ€
β YAML/XML too weak β Boost YAML/XML 2x β More training data β
βββββββββββββββββββββββββββββββββββββββ΄βββββββββββββββββββββββββββββββ΄ββββββββββββββββββββββββββββββββββββ
Expected Improvements:
ββββββββββ¬βββββββββββ¬βββββββββ¬βββββββββββββββββββββββββββ
β Format β Baseline β Target β Strategy β
ββββββββββΌβββββββββββΌβββββββββΌβββββββββββββββββββββββββββ€
β YAML β 94.3% β 96-97% β Clean u-10bei + 2x boost β
ββββββββββΌβββββββββββΌβββββββββΌβββββββββββββββββββββββββββ€
β XML β 85.0% β 88-90% β Clean u-10bei + 2x boost β
ββββββββββΌβββββββββββΌβββββββββΌβββββββββββββββββββββββββββ€
β TOML β 100.0% β 100% β Maintain β
ββββββββββΌβββββββββββΌβββββββββΌβββββββββββββββββββββββββββ€
β JSON β 96.0% β 96%+ β Maintain β
ββββββββββΌβββββββββββΌβββββββββΌβββββββββββββββββββββββββββ€
β CSV β 100.0% β 100% β Maintain β
ββββββββββ΄βββββββββββ΄βββββββββ΄βββββββββββββββββββββββββββ
License
Apache 2.0
---
Trained on Cleaned StructEval dataset (YAML/XML Boosted - Revised)
Learning Rate: 6e-6 (conservative setting)
Strategy: u-10bei Output extraction + daichira 2x + YAML/XML 2x
Based on expert AI analysis
