Pith. sign in

REVIEW 4 major objections 4 minor 2 cited by

A System for Microserving of LLMs

T0 review · 4 major / 4 minor · reviewed 2026-08-11 · deepseek-v4-flash

Pith's one-line read Decomposing LLM serving into three fine-grained APIs for KV transfer and generation lets a programmable router switch coordination strategies on the fly and cuts P99 job completion time by up to 47% on prefill-heavy workloads.

desk verdict The microserving abstraction is a real contribution, but the paper oversells 'state-of-the-art' and leaves the remote KV-write protocol underspecified. read the letter →

arxiv 2412.12488 v1 pith:UUYS7JMN submitted 2024-12-17 cs.DC

classification cs.DC
keywords LLMservingmicroservingprefill-decodedisaggregationKVcacheprogrammablerouterfine-grainedAPIscontextmigrationloadbalancing
verification ladder T0 review T1 audit T2 compute T3 formal

The pith

A machine-rendered reading of the paper's core claim, the machinery that carries it, and where it could break.

The reading

The paper argues that the coordination patterns of multi-GPU LLM serving, such as separating prompt processing from token generation onto different engines and migrating cached context between engines, should be programmable at a fine-grained sub-request level rather than fixed inside a request-level serving engine. It proposes LLM microserving, built from three REST APIs that transfer the key-value cache (the stored attention states) between engines and start generation at arbitrary prompt offsets, together with a programmable router that composes these APIs as Python async functions. The claim is that this composition reproduces existing strategies in a few lines of router code, enables dynamic reconfiguration without restarting engines, and maintains competitive performance. On a long-input workload, a newly explored balanced prefill-decode strategy reduces mean job completion time by up to 21% and P99 job completion time by up to 47% relative to existing strategies. The same machinery also migrates cached context between engines so that prefill time stays nearly constant as context length grows.

What carries the argument

The load-bearing object is the trio of fine-grained REST APIs, together with the programmable router and the unified KV cache interface. prep_recv allocates KV slots on a receiver and returns their addresses; remote_send prefills or fetches the KV for a prompt span and writes it into the remote slots; start_generate prefills the remaining prompt and begins decoding. The router transforms a user request into calls to these APIs using Python async functions, so a strategy change is only a change of router code. The unified KV cache interface works in two stages, a declaration stage in which begin_forward and mark_send prepare metadata and kernels once, and a computation stage in which the attention call executes attention and, when marked, launches a KV transfer to a remote engine; the transfer uses one-sided GPU remote writes whose cost overlaps with attention computation.

What would settle it

Force a cache race by calling prep_recv on the receiver, delaying remote_send, and running other requests on the receiver that evict or fork the just-allocated KV slots; if the delayed transfer then produces corrupted output, hangs, or a crash, the remote-write-into-live-cache protocol is not safe as specified.

Watch

Extended reading notes

Core claim

The central claim is that common LLM serving patterns reduce to two fundamental actions: transferring key-value cache from one engine to another and starting token generation with full or partial key-value cache. The paper shows that three fine-grained REST APIs, prep_recv, remote_send, and start_generate, express both actions and can be composed by a programmable router to reproduce data parallel, prefill-decode disaggregation, context-cache-aware disaggregation, and context migration without changing the engine or restarting the service. This flexibility directly produces a new strategy, balanced prefill-decode disaggregation, which assigns a controlled tail fraction of prefill work to the decode engine; the evaluation reports reductions in mean JCT of up to 21% and in P99 JCT of up to 47% on a long-input workload compared to existing strategies. The paper further claims that a unified KV cache interface, separating a declaration stage from the attention-computation stage, lets a single engine implement all of these patterns and overlap KV transfer with attention computation using one-sided GPU remote writes.

Load-bearing premise

The design assumes that, after a receiver allocates KV slots for an incoming transfer and returns their addresses, those slots remain valid until the sender's one-sided GPU write completes, even though the receiver may concurrently evict, fork, or reuse cache entries.

Editorial extensions

If this is right

  • The same engine binary can be switched among data parallel, prefill-decode disaggregation, context migration, and the balanced variant by updating only router code, with no engine restart.
  • On workloads with long prompts and short outputs, the balanced prefill-decode strategy reduces mean JCT by up to 21% and P99 JCT by up to 47% relative to existing disaggregation strategies.
  • Context migration keeps prefill time almost flat as context length grows, while recomputation grows linearly; at 1k total input length, migration gives a 1.7x prefill speedup.
  • KV transfer overlaps with prefill computation, so the pipeline does not stall; the transfer time per layer reaches 55.4% of per-layer prefill time at 5k input length without blocking.

Reading between the lines

Editorial extensions of the paper, not claims the author makes directly.

  • The same API decomposition could express other coordination ideas the paper does not explore, such as chunked-prefill scheduling, draft-engine placement for speculative decoding, or elastic rescaling of decode engines, since such changes would live in router code.
  • If the KV-slot lifetime race is closed with a pin or refcount protocol, the one-sided remote-write pattern could generalize to other stateful migrations in distributed inference, not just KV cache.
  • Because the best balance ratio grows with input length and request rate, the router could adapt the ratio online from observed queue lengths instead of using a static ratio as the paper does.
Share X Bluesky LinkedIn Reddit HN

Editorial analysis

A structured set of objections, weighed in public.

Desk editor's note, referee report, and a circularity audit.

Referee Report

4 major / 4 minor

Summary. The paper proposes LLM microserving, a multi-level architecture for LLM inference services that exposes fine-grained sub-request REST APIs (prep_recv, remote_send, start_generate), a programmable Python-asyncio router, and a unified KV cache interface. The router can express common scheduling patterns such as data parallel, prefill-decode disaggregation, context-cache-aware disaggregation, and context migration, and it enables a new balanced prefill-decode strategy that shifts part of the prefill work to the decode engine. The implementation is built on MLC-LLM and uses NVSHMEM for one-sided GPU KV transfers. The evaluation on Llama3.1 8B with A100 GPUs reports performance comparable to vLLM on ShareGPT and synthetic workloads, and up to 47% reduction in p99 job completion time for the balanced strategy on a long-prompt synthetic workload.

Significance. If the correctness concerns are resolved, this is a useful systems contribution: the API decomposition into KV transfer and token-generation primitives is simple and expressive, and the unified KV cache interface is a clean abstraction that supports several orchestration patterns in a few lines of router code. The paper also demonstrates a concrete new strategy (balanced prefill-decode) that has intuitive load-balancing benefits. However, the significance is currently limited by two load-bearing gaps: the remote-write-into-live-cache protocol is not specified at the level needed to establish safety, and the empirical comparison does not include the disaggregated systems cited in the related work. Neither gap is fatal to the idea, but both must be addressed before the claims as stated can be accepted.

major comments (4)
  1. [§3.5–3.6, Table 2, Figure 7] The core remote KV transfer protocol is not safe as specified. The workflow in Figure 7 and Table 1 is: prep_recv allocates receiver KV entries and returns their addresses; remote_send writes into those addresses with one-sided NVSHMEM puts and returns when the writes finish; start_generate later reads that KV. Section 3.5 explicitly permits local eviction policies in the radix-tree KV cache and mentions pinning only for "important prefixes" at the router's discretion, and Table 2 has no pin/wait/release operation. Nothing in the paper prevents the receiver from evicting, forking, or reallocating the prep_recv-allocated entries between allocation and the receiver's next forward pass, and no receiver-side fence or flag is described to ensure that the one-sided writes are visible to the receiver's attention kernels. This is a correctness gap in the mechanism on which the disaggregation, migration, and balanced strategies all depend; please specify a pinning/refcount protocol and a receiver-side synchronization step, or demonstrate that the existing implementation already provides them.
  2. [§4.1, Figures 10–11] The claim in the abstract and introduction of "state-of-the-art performance for LLM inference tasks" is under-supported. The evaluation compares Microserving patterns only against vLLM and the Microserving data-parallel baseline; it does not compare against DistServe, P/D-Serve, LoongServe, or Splitwise, all of which are cited in the related work and represent the relevant state of the art for disaggregated serving. At minimum, the claim should be narrowed to "comparable to vLLM" unless a disaggregated baseline is included, or one of the cited disaggregated systems should be evaluated under the same workloads.
  3. [§4.1, Figure 11] The headline 47% job-completion-time reduction is not supported with proper statistical evidence. It is reported as an up-to value for p99 JCT on the synthetic dataset at a specific per-GPU request rate, without repetitions, error bars, or confidence intervals. Since all the plots in Figures 10 and 11 appear to show single traces, it is unclear whether the observed ordering of strategies is stable across random arrival sequences and synthetic length samples. Please report multiple seeds or runs with variance, and state explicitly which baseline and which operating point the 47% figure refers to.
  4. [§3.2–3.3, §4] The paper identifies dynamic reconfiguration as a principal advantage of the programmable router, but the evaluation only exercises static configurations: each router pattern is fixed for the duration of a test, and no experiment measures the cost or behavior of switching between patterns at runtime. This leaves the dynamic-reconfiguration contribution unvalidated. Please add a runtime-switching experiment, or reframe the contribution as static programmability with future work on dynamics.
minor comments (4)
  1. [Abstract] The abstract contains a grammatical error: "We introduces simple yet effective microserving APIs" should be "We introduce".
  2. [§3.1, Table 1] The semantics of the end parameter are only partially specified. The text explains end=-1 and shows end=None in Figure 5, but the default behavior and the meaning of None are not defined in Table 1; please clarify the parameter convention.
  3. [§4.2, Table 3] The text says the KV transfer overlap ratio "rises from 15.8% to 55.4%" but Table 3 lists three values (15.8%, 38.3%, 55.4%); the intermediate value should be mentioned or the sentence should say "from 15.8% up to 55.4%" consistently.
  4. [General] The paper does not include an artifact or code-release statement, despite the implementation being described as 13k lines of C++ and 6k lines of Python; a reproducibility section or artifact URL would strengthen the submission.

Circularity Check

0 steps flagged · score 0.0 of 10

No significant circularity: the paper is an empirical systems evaluation whose claims are measured against external baselines, not derived from its own definitions.

full rationale

The paper makes no claim that reduces to its inputs by construction. The central performance claims, including the up-to-47% job completion time reduction, are empirical measurements from the evaluation in Section 4 comparing Microserving patterns against vLLM and data-parallel baselines, not predictions derived from fitted parameters. The unified KV cache interface and the three REST APIs are presented as design abstractions with stated semantics; the paper does not claim to derive their behavior from prior theoretical results, and no uniqueness theorem is invoked. The only notable self-reference is the implementation being built on MLC-LLM, the authors' own project, but this is an implementation basis rather than load-bearing evidence for the paper's conclusions, and the evaluation is independent of that implementation choice. The remote NVSHMEM write protocol has an unverified concurrency invariant regarding eviction or reallocation of prepared KV entries, but that is a correctness risk, not a circularity. Overall, the derivation chain is self-contained with respect to circularity.

Assumptions & free parameters 2 free parameters · 3 assumptions · 2 invented entities

The central claim rests on the expressiveness of the three-API decomposition, the safety of remote KV writes into live caches, and standard prefix-cache semantics. No mathematical derivation is attempted; the evaluation is empirical. The p_d_ratio and the synthetic workload lengths are hand-chosen parameters that directly influence the headline 47% result.

free parameters (2)
  • p_d_ratio (balance ratio) = 0.2 in Section 4.1; 0.1, 0.2, 0.3 in Section 4.3
    Controls the fraction of prompt tokens whose KV is computed and transferred by the prefill engine versus the decode engine. It is hand-chosen per workload, and the reported 47% JCT improvement depends on selecting a favorable value.
  • Synthetic workload input/output lengths = input mean 3000, output mean 100, std 5
    These chosen lengths create the prefill-heavy regime where disaggregation and the balanced variant show large gains. On the ShareGPT workload with short inputs, disaggregation provides no benefit, so the headline result is workload-specific.
assumptions (3)
  • ad hoc to paper Common orchestration patterns can be expressed using two fundamental actions: transferring KV cache between engines and initiating token generation with full or partial KV.
    Section 3.1 states this as the design insight underlying the three-API decomposition. If some important orchestration pattern cannot be decomposed this way, the central expressiveness claim fails.
  • domain assumption A radix tree prefix cache with fork_sequence semantics can represent and serve shared prefixes safely across concurrent sequences.
    Section 3.4 and Section 3.5 rely on prefix matching and forking for prep_recv and remote_send. This follows prior systems such as SGLang but is not proven here.
  • domain assumption One-sided NVSHMEM remote writes into KV entries allocated by prep_recv are safe while the receiver continues decoding, with no additional receiver-side synchronization.
    Section 3.6 and Figure 7 assume remote memory access semantics. The paper does not specify a protocol for preventing eviction or reuse of the allocated entries before the transfer completes.
invented entities (2)
  • Fine-grained microserving REST APIs (prep_recv, remote_send, start_generate) independent evidence
    purpose: Expose sub-request-level KV transfer and generation actions so that the router can compose orchestration patterns.
    They are implemented and exercised in the evaluation, but no public code or formal specification is shipped.
  • Unified KV cache interface (new_sequence, fork_sequence, begin_forward, mark_send, prep_recv, attention) independent evidence
    purpose: Abstract KV compute, reuse, and transfer patterns under one model-facing API.
    Used in the implemented engine and described with pseudocode; no standalone artifact is provided.

how reviews work

0 comments
Cite this review

Pith. "Pith review of A System for Microserving of LLMs." pith.science (2026). https://pith.science/paper/UUYS7JMN

@misc{pith2026241212488,
  author       = {Pith},
  title        = {Pith review of: A System for Microserving of LLMs},
  year         = {2026},
  howpublished = {\url{https://pith.science/paper/UUYS7JMN}},
  note         = {Machine review of arXiv:2412.12488}
}
read the original abstract

The recent advances in LLMs bring a strong demand for efficient system support to improve overall serving efficiency. As LLM inference scales towards multiple GPUs and even multiple compute nodes, various coordination patterns, such as prefill-decode disaggregation and context migration, arise in serving systems. Most inference services today expose a coarse-grained request-level API with a pre-configured coordination strategy, limiting the ability to customize and dynamically reconfigure the coordination. In this paper, we propose LLM microserving, a multi-level architecture for structuring and programming LLM inference services. We introduces simple yet effective microserving APIs to support fine-grained sub-request level actions. A programmable router transforms user requests into sub-request calls, enabling the dynamic reconfiguration of serving patterns. To support diverse execution patterns, we develop a unified KV cache interface that handles various KV compute, transfer, and reuse scenarios. Our evaluation shows that LLM microserving can be reconfigured to support multiple disaggregation orchestration strategies in a few lines of Python code while maintaining state-of-the-art performance for LLM inference tasks. Additionally, it allows us to explore new strategy variants that reduce up to 47% of job completion time compared to the existing strategies.

Figures

Figures reproduced from arXiv: 2412.12488 by the authors.

Figure 1
Figure 1. LLM microserving System Overview. Our architecture enables dynamic reconfiguration of different orchestration strategies with a programmable router through three fine-grained REST APIs. The LLM microserving engines implement the APIs with a unified KV cache interface. patterns dynamically in the router through a simple yet effective asynchronous Python programming model. For example, LLM microserving can easily repr… view at source ↗
Figure 2
Figure 2. Data parallel via microserving in the KV cache. It allocates KV cache entries for the miss￾ing subsequence and returns their address in a compressed form. remote send sends KV of prompt[begin:end] to engine recv rank. If part of the subsequence already ex￾ists in the KV cache, it is directly transferred to the receiver. For other parts, new KVs are first materialized through pre￾fill computation and then sent to the… view at source ↗
Figure 3
Figure 3. Prefill-decode disaggregation via microserving because engines do not communicate with each other, mak￾ing it the default strategy in many LLM serving systems. While data parallel helps achieve high throughput, it does not reduce latency except for the reduced decode batch size. To implement data parallel in the router, we only need to maintain a counter indicating the next en￾gine to dispatch the request to, and th… view at source ↗
Figures from the paper (7 more)
Figure 5
Figure 5. Figure 5: Context cache migration via microserving matched portion. • remote send: The prefill engine matches the prompt with its local context cache and transfers the necessary KV data to the decode engine. This may involve direct transfer of cached data and/or prefill computat…
Figure 7
Figure 7. Figure 7: The implementation of each REST API in an LLM engine with a unified KV Cache interface. Here we depict prefilling a prompt with contexts C0 C1 C2 in a balanced P-D disaggregated pattern discussed in §3.3. Engine 0 is the decode engine, and Engine 1 is the prefill engin…
Figure 8
Figure 8. Figure 8: attention handles KV transfer in different prefix￾matching scenarios. layer 0 compute compute stream: communication stream: Send layer 0 KV layer 1 compute layer 2 compute Send layer 1 KV Send layer 2 KV [PITH_FULL_IMAGE:figures/full_fig_p007_8.png]
Figure 10
Figure 10. Figure 10: LLM inference evaluation on ShareGPT. Prefill-decode disaggregation has no observed benefit over data parallelism be￾cause the prefill engine is idle with the short input in ShareGPT. configuration ensures that requests will not finish shortly after prefill, as typica…
Figure 12
Figure 12. Figure 12: Llama3.1 8B prefill time comparison between “with KV recomputation” and “with KV migration” implemented in LLM microserving. Context lengths are 500/2500/4500 respectively, and the length of unique text is 500 tokens. KV migration keeps the prefill time at a low level…
Figure 11
Figure 11. Figure 11: LLM inference evaluation on synthetic data with aver￾age input length 3000 and average output length 100. The new disaggregation pattern 1P1D-balance reduces up to 47% of job completion time, which benefits from transferring part of prefill engine pressure to the deco…
Figure 13
Figure 13. Figure 13: Impact of the PD balance ratio under different input lengths. Longer input requires higher PD balance ratio in order to further reduce the prefill engine pressure. study the impact of different balance ratios that decide how much prefill workload will be transferred f…

Discussion (0). Continue with ORCID to comment.

Forward citations

Cited by 2 Pith papers

Reviewed papers in the Pith corpus that reference this work. Sorted by Pith novelty score. Full citation record

  1. TensorCast: The Missing Tensor Management Layer in Large Language Model Infrastructure

    cs.DC 2026-08 conditional novelty 6.0 of 10

    TensorCast packages tensor lifecycle management into a programmable service layer and reports it can match specialized LLM systems while enabling new cross-component optimization policies.

  2. Memory Offloading for Large Language Model Inference with Latency SLO Guarantees

    cs.DC 2025-02 conditional novelty 6.0 of 10

    Select-N meets LLM latency SLOs by choosing and continuously adjusting an offloading interval that controls how much model state lives in CPU memory, increasing host memory usage and throughput versus prior offloading...

Reference graph

Works this paper leans on

13 extracted references · 11 linked inside Pith · cited by 2 Pith papers

  1. [1]

    S., Tumanov, A., and Ramjee, R

    Agrawal, A., Kedia, N., Panwar, A., Mohan, J., Kwatra, N., Gulavani, B. S., Tumanov, A., and Ramjee, R. Taming throughput-latency tradeoff in llm inference with sarathi- serve. arXiv preprint arXiv:2403.02310,

  2. [4]

    Kwon, W., Li, Z., Zhuang, S., Sheng, Y ., Zheng, L., Yu, C

    URL https://arxiv.org/abs/ 2408.08147. Kwon, W., Li, Z., Zhuang, S., Sheng, Y ., Zheng, L., Yu, C. H., Gonzalez, J., Zhang, H., and Stoica, I. Effi- cient memory management for large language model serving with pagedattention. In Proceedings of the 29th Symposium on Operating Systems Principles, SOSP ’23, pp. 611–626, New York, NY , USA,

  3. [5]

    ISBN 9798400702297

    Associa- tion for Computing Machinery. ISBN 9798400702297. doi: 10.1145/3600006.3613165. URL https://doi. org/10.1145/3600006.3613165. Leviathan, Y ., Kalman, M., and Matias, Y . Fast inference from transformers via speculative decoding. In Proceed- ings of the 40th International Conference on Machine Learning, ICML’23. JMLR.org,

  4. [6]

    Lin, B., Zhang, C., Peng, T., Zhao, H., Xiao, W., Sun, M., Liu, A., Zhang, Z., Li, L., Qiu, X., Li, S., Ji, Z., Xie, T., Li, Y ., and Lin, W

    URL https://arxiv.org/abs/2401.15077. Lin, B., Zhang, C., Peng, T., Zhao, H., Xiao, W., Sun, M., Liu, A., Zhang, Z., Li, L., Qiu, X., Li, S., Ji, Z., Xie, T., Li, Y ., and Lin, W. Infinite-llm: Efficient llm service for long context with distattention and distributed kvcache,

  5. [7]

    Liu, Y ., Li, H., Cheng, Y ., Ray, S., Huang, Y ., Zhang, Q., Du, K., Yao, J., Lu, S., Ananthanarayanan, G., Maire, M., Hoffmann, H., Holtzman, A., and Jiang, J

    URL https://arxiv.org/abs/2401.02669. Liu, Y ., Li, H., Cheng, Y ., Ray, S., Huang, Y ., Zhang, Q., Du, K., Yao, J., Lu, S., Ananthanarayanan, G., Maire, M., Hoffmann, H., Holtzman, A., and Jiang, J. Cachegen: Kv cache compression and streaming for fast large language model serving. In Proceedings of the ACM SIGCOMM 2024 Conference, ACM SIGCOMM ’24, pp. 3...

  6. [8]

    ISBN 9798400706141

    Associa- tion for Computing Machinery. ISBN 9798400706141. doi: 10.1145/3651890.3672274. URL https://doi. org/10.1145/3651890.3672274. NVIDIA. Nvshmem. URL https://docs.nvidia. com/nvshmem/api/index.html. Patel, P., Choukse, E., Zhang, C., Shah, A., Goiri,´I., Maleki, S., and Bianchini, R. Splitwise: Efficient generative llm inference using phase splittin...

  7. [9]

    Mooncake: Kimi’s kvcache-centric architecture for llm serving

    Qin, R., Li, Z., He, W., Zhang, M., Wu, Y ., Zheng, W., and Xu, X. Mooncake: Kimi’s kvcache-centric architecture for llm serving. arXiv preprint arXiv:2407.00079,

  8. [10]

    Sun, B., Huang, Z., Zhao, H., Xiao, W., Zhang, X., Li, Y ., and Lin, W

    URL https:// arxiv.org/abs/2308.12950. Sun, B., Huang, Z., Zhao, H., Xiao, W., Zhang, X., Li, Y ., and Lin, W. Llumnix: Dynamic scheduling for large language model serving. In Gavrilovska, A System for Microserving of LLMs A. and Terry, D. B. (eds.), 18th USENIX Sympo- sium on Operating Systems Design and Implementa- tion, OSDI 2024, Santa Clara, CA, USA,...

Show all 13 references
  1. [11]

    Wu, B., Liu, S., Zhong, Y ., Sun, P., Liu, X., and Jin, X

    URL https://arxiv.org/abs/2307.09288. Wu, B., Liu, S., Zhong, Y ., Sun, P., Liu, X., and Jin, X. Loongserve: Efficiently serving long-context large lan- guage models with elastic sequence parallelism. arXiv preprint arXiv:2404.09526,

  2. [12]

    Zheng, L., Yin, L., Xie, Z., Huang, J., Sun, C., Hao Yu, C., Cao, S., Kozyrakis, C., Stoica, I., Gonzalez, J

    URL https: //arxiv.org/abs/2405.10637. Zheng, L., Yin, L., Xie, Z., Huang, J., Sun, C., Hao Yu, C., Cao, S., Kozyrakis, C., Stoica, I., Gonzalez, J. E., et al. Efficiently programming large language models using sglang. arXiv e-prints, pp. arXiv–2312,

  3. [13]

    Distserve: Disaggregating prefill and decoding for goodput-optimized large language model serving

    Zhong, Y ., Liu, S., Chen, J., Hu, J., Zhu, Y ., Liu, X., Jin, X., and Zhang, H. Distserve: Disaggregating prefill and decoding for goodput-optimized large language model serving. arXiv preprint arXiv:2401.09670, 2024

  4. [2023]

    Hu, C., Huang, H., Hu, J., Xu, J., Chen, X., Xie, T., Wang, C., Wang, S., Bao, Y ., Sun, N., et al

    URL https: //arxiv.org/abs/2302.01318. Hu, C., Huang, H., Hu, J., Xu, J., Chen, X., Xie, T., Wang, C., Wang, S., Bao, Y ., Sun, N., et al. Memserve: Con- text caching for disaggregated llm serving with elastic memory pool. arXiv preprint arXiv:2406.17565, 2024a. Hu, C., Huang,...

  5. [2024]

    Chen, C., Borgeaud, S., Irving, G., Lespiau, J.-B., Sifre, L., and Jumper, J

    URL https://arxiv.org/abs/2401.10774. Chen, C., Borgeaud, S., Irving, G., Lespiau, J.-B., Sifre, L., and Jumper, J. Accelerating large language model decoding with speculative sampling,

Pith tools

Reviewed August 11, 2026 · model on record in the stance chip above.