1LoraConfig(
2 r=64, lora_alpha=128, target_modules='all-linear',
3 lora_dropout=0.05, bias='none', task_type='CAUSAL_LM',
4)
5SFTConfig(
6 num_train_epochs=1, max_steps=1800,
7 per_device_train_batch_size=2, gradient_accumulation_steps=8,
8 learning_rate=1e-4, bf16=True,
9 warmup_ratio=0.05, weight_decay=0.01,
10 lr_scheduler_type='cosine',
11 neftune_noise_alpha=5.0,
12 gradient_checkpointing=True,
13)
License: ODC-By (inherited from typhoon-ai/typhoon-s-instruct-post-training).
1from transformers import AutoModelForCausalLM, AutoTokenizer
2from peft import PeftModel
3
4base = "Qwen/Qwen3-8B"
5adapter = "Jnx03/kanitakorn-qwen3-8b-sft-v2"
6tok = AutoTokenizer.from_pretrained(base, trust_remote_code=True)
7model = AutoModelForCausalLM.from_pretrained(base, torch_dtype="bfloat16", device_map="auto")
8model = PeftModel.from_pretrained(model, adapter).merge_and_unload()
v2 was the broader-corpus experiment. We did NOT complete benchmark evaluation before pivoting to v3 (research-driven recipe fix) and v4 (Unsloth-accelerated + Typhoon-2-inspired). The v2 checkpoint is published for transparency. v1 remains the recommended baseline release; once v3/v4 are fully benchmarked one of them may supersede v1.
See
https://huggingface.co/datasets/Jnx03/kanitakorn-th-sft REPORT_HONEST.md and RESEARCH_LOG.md for the full development log.