nebius/MTP-DeepSeek-V3-0324
361
Model Description
This model is a fine-tuned version of DeepSeek-V3's native MTP module, optimized for speculative decoding using LK losses — training objectives that directly target acceptance rate rather than using KL divergence as a proxy.
The original DeepSeek-V3 MTP module was trained primarily for first-token prediction and reused autoregressively for later positions, causing degraded acceptance rates at later draft positions. Our fine-tuning addresses this mismatch, substantially improving multi-token speculation performance.
Training Details
- Base model: deepseek-ai/DeepSeek-V3-0324
- Draft architecture: MTP
- Training data: Infinity-Instruct-0625 with DeepSeek-V3 generated responses
- Training objective: Hybrid LK loss with adaptive λ scheduling (η=3)
- Training: 1 epoch from pretrained MTP weights
- Draft length: K = 6 speculative tokens
Performance
Average acceptance length (τ) measured across MT-bench, HumanEval, and GSM8K with K = 7:
Note: Earlier vLLM versions sampled draft tokens greedily regardless of temperature, which underestimated acceptance rates at temperature > 0. Stochastic draft sampling was introduced in v0.18.0, and from v0.21.0 it can be enabled viaspeculative_configusingrejection_sample_methodanddraft_sample_method. The acceptance metrics reported above were measured under standard rejection sampling and are reproducible with the configuration below.
Usage with vLLM
from vllm import LLM, SamplingParams
llm = LLM(
model="deepseek-ai/DeepSeek-V3-0324",
speculative_config={
"method": "deepseek_mtp",
"model": "nebius/MTP-DeepSeek-V3-0324",
"num_speculative_tokens": 6,
"rejection_sample_method": "standard",
"draft_sample_method": "gumbel",
},
tensor_parallel_size=8,
max_num_seqs=1
)
sampling_params = SamplingParams(temperature=0.7)
outputs = llm.generate(["Explain speculative decoding in simple terms."], sampling_params)License
Citation
@misc{samarin2026lklosses,
title = {LK Losses: Direct Acceptance Rate Optimization for Speculative Decoding},
author = {Alexander Samarin and Sergei Krutikov and Anton Shevtsov and Sergei Skvortsov and Filipp Fisin and Alexander Golubev},
year = {2026},
eprint = {2602.23881},
archivePrefix = {arXiv},
primaryClass = {cs.LG},
url = {https://arxiv.org/abs/2602.23881}
}