From 233d1aee690c526b2da6ce641ee03928c44c4031 Mon Sep 17 00:00:00 2001 From: Georgi Gerganov Date: Fri, 8 May 2026 08:50:23 +0300 Subject: [PATCH] server : add comment [no ci] --- tools/server/server-context.cpp | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/tools/server/server-context.cpp b/tools/server/server-context.cpp index e2115bee91..75439ca2d8 100644 --- a/tools/server/server-context.cpp +++ b/tools/server/server-context.cpp @@ -2968,7 +2968,17 @@ private: } // TODO: avoid restoring the draft context and re-evaluating the drafted tokens when not needed [TAG_SPEC_AVOID_DRAFT_REEVAL] - // for methods that require the target embeddings, I think we have to re-evaluate the draft tokens? + // for now, always re-evaluate for simplicity + // ref: https://github.com/ggml-org/llama.cpp/pull/22728#issuecomment-4400925384 + // + // | spec type | need re-eval | + // | --- | --- | + // | draft model | no | + // | MTP (std) | yes | + // | MTP Gemma4 | no | + // | Eagle3 | yes | + // | DFlash | yes? | + // if (ctx_drft) { // TODO: update as needed for MTP, Eagle3, etc. const bool need_tgt_embd = false; @@ -2978,7 +2988,7 @@ private: } // the logic here varies depending on the speculative decoding method - // - some draft contexts require emebeddings from the target context, others don't + // - some draft contexts require embeddings from the target context, others don't // - some draft contexts involve an encoder step to transform the target embeddings to draft embeddings // TODO: extract this in a function ? {