This model is obtained by fine-tuning Qwen/Qwen3-0.6B on the
kurakurai/luth-sft dataset, specifically
subsets luth_smoltalk2, luth_aya_dataset, luth_croissantllm and luth_tulu3_persona_instruct.
The model is used in the experiments described in
https://bknyaz.github.io/blog/2026/meta-merge/.
Single A100 was used for fine-tuning and evaluation.
The
TRL library was used with SFT/full-rank options:
1python trl/scripts/sft.py --model_name_or_path Qwen/Qwen3-0.6B --dataset_name kurakurai/luth-sft --dataset_config main --learning_rate 2e-5 \
2--num_train_epochs 1 --per_device_train_batch_size 2 --gradient_accumulation_steps 8 --gradient_checkpointing --eos_token '<|im_end|>' --eval_strategy no \
3--completion_only_loss True --report_to wandb --output_dir /path/to/the/finetuned/model
This is by far not the most compute and performance efficient fine-tuning, but it could be a good baseline.
1# trl/scripts/sft.py
2
3dataset = load_dataset(...)
4
5trainer = SFTTrainer(
6 model=model,
7 args=training_args,
8 train_dataset=concatenate_datasets([dataset['luth_smoltalk2'], dataset['luth_aya_dataset'], dataset['luth_croissantllm'], dataset['luth_tulu3_persona_instruct']]),
9 eval_dataset=dataset[script_args.dataset_test_split] if training_args.eval_strategy != "no" else None,
10 peft_config=get_peft_config(model_args),
11)
12
Evaluation was done with lm_eval on the test split of
gsm8k,
french_bench (avg score) and
gsm8k-fr:
1python -m lm_eval --model vllm --model_args pretrained=${model},tensor_parallel_size=1,dtype=auto,gpu_memory_utilization=0.9,data_parallel_size=1 \
2 --tasks gsm8k,french_bench,gsm8k-fr --batch_size 1 --apply_chat_template=True --confirm_run_unsafe_code --trust_remote_code
Please refer to the license of the original model
Qwen/Qwen3-0.6B and dataset
kurakurai/luth-sft.