From ce19267d2d2a794700ddc1a03fb5678887dbd7b7 Mon Sep 17 00:00:00 2001 From: dmcc73 Date: Mon, 30 Mar 2026 15:12:59 +0100 Subject: [PATCH] Pass temperature and alpha to MTP speculative decoding Default temp=0.7 (matching exo's default) so probabilistic acceptance runs correctly. Configurable via EXO_SPECULATIVE_TEMP and EXO_SPECULATIVE_ALPHA env vars. Co-Authored-By: Claude Opus 4.6 (1M context) --- src/exo/worker/engines/mlx/generator/batch_generate.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/exo/worker/engines/mlx/generator/batch_generate.py b/src/exo/worker/engines/mlx/generator/batch_generate.py index 3452ce02..e53e776b 100644 --- a/src/exo/worker/engines/mlx/generator/batch_generate.py +++ b/src/exo/worker/engines/mlx/generator/batch_generate.py @@ -93,10 +93,14 @@ class ExoBatchGenerator: if mtp_weights and os.path.exists(mtp_weights): mtp = MTPPredictor(self.model, mtp_weights, quantize=False) + temp = float(os.environ.get("EXO_SPECULATIVE_TEMP", "0.7")) + alpha = float(os.environ.get("EXO_SPECULATIVE_ALPHA", "1.0")) self._exo_gen = MTPBatchGenerator( model=self.model, mtp_predictor=mtp, gamma=gamma, + temp=temp, + alpha=alpha, stop_tokens=stop_tokens, prefill_step_size=4096, )