Sascha Rogmann
72d3b1898a
spec : add self‑speculative decoding (no draft model required) + refactor (#18471)
* server: introduce self-speculative decoding
* server: moved self-call into speculative.cpp
* can_speculate() includes self-speculation
Co-authored-by: Georgi Gerganov <ggerganov@gmail.com>
* server: can_speculate() tests self-spec
* server: replace can_speculate() with slot.can_speculate()
Co-authored-by: Sigbjørn Skjæret <sigbjorn.skjaeret@scala.com>
* common: use %zu format specifier for size_t in logging
Co-authored-by: Sigbjørn Skjæret <sigbjorn.skjaeret@scala.com>
* server: can_speculate() requires a task instance
* common: ngram map, config self-speculative decoding
* common: add enum common_speculative_type
* common: add vector of speculative states
* common: add option --spec-draftless
* server: cleanup (remove slot.batch_spec, rename)
* common: moved self-spec impl to ngram-map
* common: cleanup (use common_speculative_state_draft)
* spec : refactor
* cont : naming
* spec: remove --spec-config
* doc: (draftless) speculative decoding
* common: print performance in spec decoding
* minor : cleanup
* common : better names
* minor : cleanup + fix build
* minor: comments
* CODEOWNERS: add common/ngram-map.* (#18471)
* common : rename speculative.draftless_type -> speculative.type
* ngram-map : fix uninitialized values
* ngram-map : take into account the input can become shorter
* ngram-map : revert len check for now
* arg : change `--spec-draftless` -> `--spec-type`
* spec : add common_speculative_state::accept()
* spec : refactor + add common_speculative_begin()
* spec : fix begin() call with mtmd
* spec : additional refactor + remove common_speculative_params
---------
Co-authored-by: Georgi Gerganov <ggerganov@gmail.com>
Co-authored-by: Sigbjørn Skjæret <sigbjorn.skjaeret@scala.com>
2026-01-28 19:42:42 +02:00
..
2026-01-15 16:39:17 +02:00
2025-08-21 06:12:28 +02:00
2025-09-05 11:34:28 +02:00
2026-01-14 20:29:35 +01:00
2024-12-04 23:19:20 +01:00
2026-01-08 08:35:30 +02:00
2026-01-05 19:52:56 +01:00
2026-01-15 09:47:29 +01:00
2025-12-22 19:30:19 +01:00
2025-11-05 19:58:16 +02:00
2025-01-07 18:01:58 +01:00
2025-12-05 19:38:54 +02:00
2026-01-14 18:02:47 +01:00
2025-06-06 14:11:15 +03:00
2025-12-14 10:11:13 +02:00
2026-01-28 19:42:42 +02:00
2026-01-23 09:01:36 +01:00
2025-12-14 10:11:13 +02:00
2025-08-21 06:12:28 +02:00
2026-01-05 19:52:56 +01:00
2025-12-14 10:11:13 +02:00
2025-09-17 10:29:00 +03:00
2025-07-02 14:12:07 +03:00
2025-12-04 14:17:30 +01:00
2026-01-28 19:42:42 +02:00
2026-01-28 19:42:42 +02:00
2026-01-14 18:02:47 +01:00
2025-12-14 10:11:13 +02:00
2026-01-07 10:42:19 +01:00
2024-11-13 21:10:38 +11:00
2025-11-29 17:06:32 +01:00
2025-08-22 12:22:13 +03:00
2025-05-02 20:27:13 +02:00
2025-06-30 10:17:18 +02:00
2025-04-08 19:54:51 +03:00
2025-06-30 10:17:18 +02:00
2025-06-30 10:17:18 +02:00