v8_final_model / README.md
kmd2525's picture
Upload v8 final model
541fb42 verified
metadata
license: apache-2.0
base_model: kmd2525/v8_stage3_xml-merged
tags:
  - structured-output
  - json
  - csv
  - yaml
  - xml
  - toml
  - sft
  - sequential-format-learning
language:
  - en
  - ja

v8 Final Model - Sequential Format Learning

Model Description

This is the final model of the Sequential Format Learning (v8 strategy) for structured data output. Trained through 4 stages to achieve optimal performance across all structured formats.

Training Strategy

Based on Person U's approach that achieved 0.84 on the leaderboard:

  • Train one format at a time, building format-specific expertise progressively
  • Merge LoRA to base model after each stage
  • TOML learning comes from other formats (Person T discovery)

Completed Training Stages

Stage Formats Samples Target
Stage 1 JSON, CSV 800 100% parse success
Stage 2 YAML 500 100% parse success
Stage 3 XML 500 95%+ parse success
Stage 4 Mixed (all formats) 1000 TOML 90%+, overall optimization

Stage 4 (Final) Details

  • Base Model: kmd2525/v8_stage3_xml-merged (Stage 3 merged model)
  • Dataset: 1000 samples, balanced across all 5 formats (200 each)
  • Goal: Final tuning for TOML and overall balance

Training Parameters

  • MAX_SEQ_LEN: 1024
  • EPOCHS: 2
  • Learning Rate: 2e-05 (lower for final stage)
  • LoRA R: 64, Alpha: 128

Expected Performance

Format Target
JSON 100%
CSV 100%
YAML 100%
XML 95%+
TOML 90%+

Target LB Score: 0.8+

Usage

from transformers import AutoModelForCausalLM, AutoTokenizer

model = AutoModelForCausalLM.from_pretrained("kmd2525/v8_final_model")
tokenizer = AutoTokenizer.from_pretrained("kmd2525/v8_final_model")

# Example inference
messages = [
    {"role": "user", "content": "Convert the following to JSON: name=Alice, age=30"}
]
input_text = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
inputs = tokenizer(input_text, return_tensors="pt")
outputs = model.generate(**inputs, max_new_tokens=512)
print(tokenizer.decode(outputs[0], skip_special_tokens=True))

Acknowledgments

This model was developed based on insights from the StructEval competition community, particularly Person U's sequential format learning approach and Person T's discovery about TOML learning.