Qwen3.5-9B-ICDU-DPO

Standalone BF16 text model derived from Qwen3.5-9B, with ICDU supervised fine-tuning and the subsequent DPO adapter both merged into the weights.

Training provenance

  • Original base: Qwen/Qwen3.5-9B, revision c202236235762e1c871ad0ccb60c8ee5ba337b9a.
  • ICDU SFT: 240 training records and 60 validation records. The best saved model was checkpoint 40, with validation loss 1.3337934; training stopped at step 70.
  • DPO: 764 prepared tool-selection preference pairs (464 missing-tool-call negatives, 300 unnecessary-tool-call negatives), 100 optimizer steps, effective batch size 4, approximately 0.524 epochs. No pairs were truncated or dropped during rendering.
  • DPO settings: learning rate 5e-6, beta 0.1, LoRA rank 32, alpha 64, dropout 0.05, seed 42, maximum sequence length 2,048, BF16 mixed precision and 4-bit NF4 QLoRA.
  • DPO average training loss: 0.1487193; final logged window loss: 0.0226087. Logged training preference accuracy reached 100%; this is not held-out task accuracy.
  • The DPO adapter was merged into the already-merged SFT model on CPU in FP32, then cast to BF16. The saved model includes both training stages.

Datasets and individual training examples are not included in this repository.

Usage

This is a complete Transformers checkpoint, not a PEFT adapter. It uses Qwen3_5ForCausalLM / qwen3_5_text; use a Transformers version supporting that architecture. The producing environment used Transformers 5.17.0, PyTorch 2.14.0, and PEFT 0.21.0. No custom Python model code or trust_remote_code=True is needed.

Render chat messages using the included template with enable_thinking=False and add_generation_prompt=True. Start with a 2,048-token context, the training sequence limit. The config's larger original context limit has not been validated for this fine-tune.

The BF16 weights require approximately 17.9 GB before runtime overhead. A smaller Q4_K_M GGUF is available separately. For further GGUF conversion, use --no-mtp: the inherited config declares an MTP head, but the text-only export intentionally omits its weights.

Validation and limitations

The Q4_K_M export passed a real llama.cpp load/generation smoke test, correctly answering the synthetic prompt "What is 2 + 2? Reply with just the number." The owner also reported that it was working in Ollama. These checks are not a benchmark or an assessment of ICDU generalization, tool reliability, or quantization quality loss. No held-out DPO evaluation or sealed test-set evaluation was performed for this release.

This is text-only. Vision, audio and speculative MTP components are not included. Tool execution and tool schemas must be supplied by the hosting application; model weights do not include the ai-factory Python tool runtime. Application chat-template handling can affect behavior. Quantization may change outputs.

Files and license

SHA256SUMS lists uploaded asset hashes. provenance.json contains portable lineage and packaging metadata. Model code, trainer state, datasets, credentials and local filesystem paths are excluded. Apache-2.0; the original base model's LICENSE is included.

Downloads last month
7
Safetensors
Model size
9B params
Tensor type
BF16
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for Gadsdencode/Qwen3.5-9B-ICDU-DPO

Finetuned
Qwen/Qwen3.5-9B
Finetuned
(1028)
this model
Quantizations
1 model