mirror of
https://github.com/hanzoai/papers.git
synced 2026-10-29 07:34:31 +00:00
479 lines
20 KiB
TeX
479 lines
20 KiB
TeX
\documentclass[11pt,a4paper]{article}
|
|
\usepackage[utf8]{inputenc}
|
|
\usepackage[T1]{fontenc}
|
|
\usepackage{amsmath,amsfonts,amssymb}
|
|
\usepackage{graphicx}
|
|
\usepackage{hyperref}
|
|
\usepackage{listings}
|
|
\usepackage{color}
|
|
\usepackage{booktabs}
|
|
\usepackage{float}
|
|
\usepackage{geometry}
|
|
\geometry{margin=1in}
|
|
\definecolor{zenblue}{RGB}{41,121,255}
|
|
\definecolor{zengreen}{RGB}{52,199,89}
|
|
\definecolor{codegray}{RGB}{240,240,240}
|
|
\hypersetup{colorlinks=true,linkcolor=zenblue,urlcolor=zenblue,citecolor=zenblue}
|
|
|
|
\lstset{
|
|
backgroundcolor=\color{codegray},
|
|
basicstyle=\ttfamily\small,
|
|
breaklines=true,
|
|
frame=single
|
|
}
|
|
|
|
\title{\textbf{Zen-Coder-Flash: Ultra-Low-Latency Code Completion via Knowledge Distillation}\\
|
|
\large Technical Report v2025.02}
|
|
\author{Antje Worring, Zach Kelling, Zen LM Research Team\\
|
|
\texttt{[email protected]}}
|
|
\date{February 2025}
|
|
|
|
\begin{document}
|
|
\maketitle
|
|
|
|
\begin{abstract}
|
|
We present \textbf{Zen-Coder-Flash}, an 8 billion parameter code completion model distilled
|
|
from Zen-Code (14B) using the Zen MoDE (Mixture of Distilled Experts) distillation pipeline.
|
|
Zen-Coder-Flash targets IDE-grade latency requirements: P95 time-to-first-token below 50ms
|
|
for typical autocomplete prompts, with throughput of 850 tokens/second on a single A100 GPU.
|
|
Despite its reduced parameter count, Zen-Coder-Flash achieves HumanEval 81.4\%---84.4\% of
|
|
Zen-Code's performance at 55\% of the parameter count and 2.1$\times$ lower inference latency.
|
|
The model supports fill-in-the-middle (FIM), 32K context, and all 80$+$ languages from
|
|
Zen-Code, making it the recommended choice for real-time developer tooling where sub-50ms
|
|
response is a hard requirement.
|
|
\end{abstract}
|
|
|
|
\tableofcontents
|
|
\newpage
|
|
|
|
%% ─────────────────────────────────────────────────────────────────────────────
|
|
\section{Introduction}
|
|
|
|
IDE code completion operates under strict latency constraints. Empirical studies of developer
|
|
experience show that completion latency above 150ms breaks the perceived ``inline'' feeling and
|
|
causes developers to wait or dismiss suggestions \cite{svyatkovskiy2021fast}. At P95, this
|
|
requires generating a 10--30 token completion in well under 100ms, leaving approximately 30--50ms
|
|
budget for network round-trip, model inference, and post-processing.
|
|
|
|
General-purpose code models at 13--14B parameters are too large to meet this budget on widely
|
|
available server hardware without batching latency. Zen-Coder-Flash solves this through
|
|
knowledge distillation from Zen-Code, compressing the 14B model into an 8B student that
|
|
preserves code quality while fitting within the latency budget.
|
|
|
|
Key contributions:
|
|
|
|
\begin{itemize}
|
|
\item An 8B code model distilled from Zen-Code (14B) using sequence-level KD with
|
|
intermediate-layer feature alignment.
|
|
\item P95 time-to-first-token of 43ms on A100-80GB at batch size 1, and 850 tokens/s
|
|
throughput at batch size 16.
|
|
\item HumanEval 81.4\% pass@1, recovering 93\% of the teacher model's score relative to
|
|
the student's from-scratch baseline (76.3\%).
|
|
\item Speculative decoding compatibility: Zen-Coder-Flash serves as a draft model for
|
|
Zen-Code in a speculative decoding setup, achieving 2.8$\times$ throughput on
|
|
Zen-Code at minimal quality loss.
|
|
\end{itemize}
|
|
|
|
%% ─────────────────────────────────────────────────────────────────────────────
|
|
\section{Architecture}
|
|
|
|
\subsection{Student Model Specification}
|
|
|
|
Zen-Coder-Flash uses the Zen MoDE architecture at 8B parameters. The architecture is a
|
|
non-trivial reduction of Zen-Code rather than a simple layer-pruning: hidden dimension
|
|
and FFN width are reduced proportionally to preserve the depth-to-width ratio associated
|
|
with strong reasoning capability.
|
|
|
|
\begin{table}[H]
|
|
\centering
|
|
\caption{Zen-Coder-Flash architecture hyperparameters (vs.\ Zen-Code teacher).}
|
|
\label{tab:arch}
|
|
\begin{tabular}{lcc}
|
|
\toprule
|
|
\textbf{Hyperparameter} & \textbf{Zen-Coder-Flash (8B)} & \textbf{Zen-Code (14B)} \\
|
|
\midrule
|
|
Parameters (total) & 8.2B & 14.4B \\
|
|
Layers & 36 & 40 \\
|
|
Attention heads & 32 & 40 \\
|
|
KV heads (GQA) & 8 & 8 \\
|
|
Hidden dimension & 4{,}096 & 5{,}120 \\
|
|
FFN intermediate dimension & 11{,}008 & 13{,}696 \\
|
|
Vocabulary size & 151{,}936 & 151{,}936 \\
|
|
Context length (training) & 32{,}768 & 65{,}536 \\
|
|
Position encoding & RoPE ($\theta = 2{,}000{,}000$) & RoPE ($\theta = 2{,}000{,}000$) \\
|
|
\bottomrule
|
|
\end{tabular}
|
|
\end{table}
|
|
|
|
\subsection{Architectural Choices for Latency}
|
|
|
|
The hidden dimension of 4,096 (reduced from 5,120) is a critical latency driver: the
|
|
matrix multiplication cost of each attention projection and FFN layer scales quadratically
|
|
with hidden dimension in memory bandwidth and linearly in FLOPs. The 20\% hidden dimension
|
|
reduction yields approximately 36\% fewer FLOPs per layer, compounded across 36 layers.
|
|
|
|
GQA with 8 KV heads (identical to Zen-Code) is retained, yielding minimal KV cache
|
|
requirements that enable large effective batch sizes:
|
|
|
|
\begin{equation}
|
|
\text{KV cache (per layer)} = 2 \cdot n_{\text{kv}} \cdot d_k \cdot S \cdot 2 = 2 \cdot 8 \cdot 128 \cdot 32{,}768 \cdot 2 \approx 134 \text{ MB}
|
|
\end{equation}
|
|
|
|
At 32K context, the full 36-layer KV cache requires 4.8 GB, leaving ample headroom for
|
|
model weights (16.4 GB in BF16) on a 24 GB consumer GPU.
|
|
|
|
%% ─────────────────────────────────────────────────────────────────────────────
|
|
\section{Training Methodology}
|
|
|
|
\subsection{Overview}
|
|
|
|
Zen-Coder-Flash training proceeds in three phases:
|
|
|
|
\begin{enumerate}
|
|
\item \textbf{Warm-up pretraining}: Train on 500B code tokens from scratch with standard
|
|
next-token and FIM objectives to initialize parameters.
|
|
\item \textbf{Knowledge distillation}: Distill from Zen-Code using combined token-level
|
|
KD and intermediate feature alignment losses.
|
|
\item \textbf{Instruction fine-tuning}: SFT on the same 800K instruction-code pairs as
|
|
Zen-Code.
|
|
\end{enumerate}
|
|
|
|
\subsection{Phase 1: Warm-Up Pretraining}
|
|
|
|
The student is initialized randomly and pretrained on 500B code tokens---a reduced subset
|
|
of Zen-Code's 2.5T corpus---using standard cross-entropy loss. This warm-up prevents cold
|
|
start instability in the subsequent KD phase, where the student would otherwise produce
|
|
very poor initial approximations of the teacher's distributions.
|
|
|
|
\begin{itemize}
|
|
\item Optimizer: AdamW, LR $3 \times 10^{-4}$, cosine to $3 \times 10^{-5}$
|
|
\item Batch: 2M tokens
|
|
\item FIM rate: 50\%
|
|
\item Duration: 250K steps on 256 H100 GPUs
|
|
\end{itemize}
|
|
|
|
\subsection{Phase 2: Knowledge Distillation}
|
|
|
|
The distillation loss combines three terms:
|
|
|
|
\begin{equation}
|
|
\mathcal{L}_{\text{KD}} = \alpha \mathcal{L}_{\text{CE}} + \beta \mathcal{L}_{\text{KL}} + \gamma \mathcal{L}_{\text{feat}}
|
|
\end{equation}
|
|
|
|
\paragraph{Cross-entropy loss ($\mathcal{L}_{\text{CE}}$).}
|
|
Standard next-token prediction on ground-truth labels:
|
|
|
|
\begin{equation}
|
|
\mathcal{L}_{\text{CE}} = -\sum_t \log p_s(y_t \mid y_{<t}, x)
|
|
\end{equation}
|
|
|
|
\paragraph{KL divergence loss ($\mathcal{L}_{\text{KL}}$).}
|
|
Token-level KL divergence between student and teacher output distributions at temperature $T$:
|
|
|
|
\begin{equation}
|
|
\mathcal{L}_{\text{KL}} = \sum_t D_{\text{KL}}\!\left(p_t\!\left(\cdot; T\right) \| p_s\!\left(\cdot; T\right)\right)
|
|
\end{equation}
|
|
|
|
with temperature $T = 1.0$ (we find $T > 1$ unnecessarily smooths code-specific distributions
|
|
where the correct token is often highly peaked). Top-$k$ filtering at $k=50$ is applied to
|
|
the teacher logits before KL computation to reduce noise from near-zero probabilities.
|
|
|
|
\paragraph{Intermediate feature alignment ($\mathcal{L}_{\text{feat}}$).}
|
|
We align intermediate hidden states between the student and teacher at evenly spaced layers
|
|
using a learned linear projection $W_{\text{proj}}$ mapping the student's 4096-dim hidden
|
|
states to the teacher's 5120-dim space:
|
|
|
|
\begin{equation}
|
|
\mathcal{L}_{\text{feat}} = \frac{1}{|M|} \sum_{(i,j) \in M} \left\| h^s_i W_{\text{proj}} - h^t_j \right\|_2^2
|
|
\end{equation}
|
|
|
|
where $M$ is a mapping from student layers $\{6, 12, 18, 24, 30, 36\}$ to teacher layers
|
|
$\{5, 10, 15, 20, 28, 35\}$. The projection matrix $W_{\text{proj}}$ is trained jointly
|
|
with the student.
|
|
|
|
Loss coefficients: $\alpha = 0.3$, $\beta = 0.5$, $\gamma = 0.2$.
|
|
|
|
\begin{table}[H]
|
|
\centering
|
|
\caption{Distillation phase hyperparameters.}
|
|
\label{tab:kd}
|
|
\begin{tabular}{lc}
|
|
\toprule
|
|
\textbf{Parameter} & \textbf{Value} \\
|
|
\midrule
|
|
Learning rate & $1 \times 10^{-4}$ $\to$ $5 \times 10^{-6}$ (cosine) \\
|
|
Batch size & 2M tokens \\
|
|
KD temperature & 1.0 \\
|
|
Top-$k$ filtering & 50 \\
|
|
CE coefficient $\alpha$ & 0.3 \\
|
|
KL coefficient $\beta$ & 0.5 \\
|
|
Feature coefficient $\gamma$ & 0.2 \\
|
|
Duration & 500B tokens (250K steps) \\
|
|
\bottomrule
|
|
\end{tabular}
|
|
\end{table}
|
|
|
|
\subsection{Speculative Decoding Setup}
|
|
|
|
Zen-Coder-Flash serves as a draft model in a speculative decoding pipeline with Zen-Code
|
|
as the verifier. The draft model generates $\gamma = 6$ speculative tokens per step;
|
|
the verifier accepts or rejects in parallel.
|
|
|
|
Expected speedup with acceptance rate $\alpha$:
|
|
|
|
\begin{equation}
|
|
\text{Speedup} = \frac{1 + \alpha + \alpha^2 + \cdots + \alpha^\gamma}{\text{(1 verifier step cost)} / \text{(draft step cost)}}
|
|
\end{equation}
|
|
|
|
Measured acceptance rate on HumanEval completions: 0.82, yielding a theoretical speedup
|
|
of $3.1\times$ and observed wall-clock speedup of $2.8\times$ on 1$\times$ A100.
|
|
|
|
%% ─────────────────────────────────────────────────────────────────────────────
|
|
\section{Evaluation}
|
|
|
|
\subsection{Code Quality Benchmarks}
|
|
|
|
\begin{table}[H]
|
|
\centering
|
|
\caption{Zen-Coder-Flash benchmark results versus comparable models.}
|
|
\label{tab:benchmarks}
|
|
\begin{tabular}{lccccc}
|
|
\toprule
|
|
\textbf{Benchmark} & \textbf{Flash (8B)} & \textbf{Zen-Code (14B)} & \textbf{Recovery} & \textbf{Comp.\ A (7B)} & \textbf{Comp.\ B (8B)} \\
|
|
\midrule
|
|
HumanEval (pass@1) & 81.4 & 87.2 & 93.4\% & 76.3 & 78.1 \\
|
|
HumanEval$+$ (pass@1) & 76.8 & 82.4 & 93.2\% & 71.2 & 73.4 \\
|
|
MBPP (pass@1) & 76.4 & 82.3 & 92.8\% & 70.8 & 73.1 \\
|
|
MultiPL-E (avg) & 66.8 & 72.4 & 92.3\% & 61.2 & 63.7 \\
|
|
\midrule
|
|
FIM single-line & 79.1 & 82.3 & 96.1\% & 72.4 & 75.8 \\
|
|
FIM multi-line & 57.3 & 61.4 & 93.3\% & 51.7 & 54.2 \\
|
|
\bottomrule
|
|
\end{tabular}
|
|
\end{table}
|
|
|
|
\subsection{Latency Benchmarks}
|
|
|
|
Latency is measured on a single A100-80GB GPU, BF16 precision, with vLLM v0.4
|
|
\cite{kwon2023efficient} serving, batch size 1.
|
|
|
|
\begin{table}[H]
|
|
\centering
|
|
\caption{Latency benchmark (single A100-80GB, BF16, batch=1).}
|
|
\label{tab:latency}
|
|
\begin{tabular}{lccc}
|
|
\toprule
|
|
\textbf{Model} & \textbf{TTFT P50 (ms)} & \textbf{TTFT P95 (ms)} & \textbf{TTFT P99 (ms)} \\
|
|
\midrule
|
|
Zen-Coder-Flash (8B) & 27 & 43 & 61 \\
|
|
Zen-Code (14B) & 52 & 89 & 124 \\
|
|
Competitor A (7B) & 24 & 40 & 57 \\
|
|
Competitor B (13B) & 48 & 82 & 118 \\
|
|
\bottomrule
|
|
\end{tabular}
|
|
\end{table}
|
|
|
|
Time-to-first-token (TTFT) is measured with a 512-token prefix (typical autocomplete context).
|
|
Zen-Coder-Flash's P95 of 43ms satisfies the $<$50ms IDE latency budget.
|
|
|
|
\subsection{Throughput Benchmarks}
|
|
|
|
\begin{table}[H]
|
|
\centering
|
|
\caption{Generation throughput (tokens/second) on single A100-80GB.}
|
|
\label{tab:throughput}
|
|
\begin{tabular}{lccc}
|
|
\toprule
|
|
\textbf{Model} & \textbf{Batch=1} & \textbf{Batch=8} & \textbf{Batch=16} \\
|
|
\midrule
|
|
Zen-Coder-Flash (8B) & 312 & 640 & \textbf{850} \\
|
|
Zen-Code (14B) & 148 & 298 & 413 \\
|
|
\bottomrule
|
|
\end{tabular}
|
|
\end{table}
|
|
|
|
At batch size 16 (typical for shared inference serving), Zen-Coder-Flash delivers 850 tok/s,
|
|
enabling simultaneous low-latency completions for large developer teams from a single GPU.
|
|
|
|
\subsection{Speculative Decoding Performance}
|
|
|
|
\begin{table}[H]
|
|
\centering
|
|
\caption{Speculative decoding (Zen-Coder-Flash draft + Zen-Code verifier).}
|
|
\label{tab:spec_dec}
|
|
\begin{tabular}{lccc}
|
|
\toprule
|
|
\textbf{Configuration} & \textbf{Tok/s} & \textbf{Speedup vs. Zen-Code} & \textbf{HumanEval} \\
|
|
\midrule
|
|
Zen-Code alone & 148 & 1.0$\times$ & 87.2 \\
|
|
Spec-Dec ($\gamma=4$) & 312 & 2.1$\times$ & 87.1 \\
|
|
Spec-Dec ($\gamma=6$) & 414 & 2.8$\times$ & 87.0 \\
|
|
Spec-Dec ($\gamma=8$) & 431 & 2.9$\times$ & 86.8 \\
|
|
\bottomrule
|
|
\end{tabular}
|
|
\end{table}
|
|
|
|
$\gamma=6$ provides the best throughput/quality trade-off, recovering 99.8\% of Zen-Code's
|
|
HumanEval at 2.8$\times$ throughput with no quality degradation (speculative decoding is
|
|
mathematically lossless modulo floating-point differences in acceptance sampling).
|
|
|
|
%% ─────────────────────────────────────────────────────────────────────────────
|
|
\section{Distillation Ablation}
|
|
|
|
\begin{table}[H]
|
|
\centering
|
|
\caption{Ablation of distillation loss components on HumanEval and FIM benchmarks.}
|
|
\label{tab:ablation}
|
|
\begin{tabular}{lccc}
|
|
\toprule
|
|
\textbf{Loss configuration} & \textbf{HumanEval} & \textbf{FIM single-line} & \textbf{Latency P95} \\
|
|
\midrule
|
|
CE only (no KD) & 76.3 & 68.4 & 43ms \\
|
|
CE $+$ KL & 79.8 & 75.1 & 43ms \\
|
|
CE $+$ feature align & 78.4 & 73.6 & 43ms \\
|
|
CE $+$ KL $+$ feature align & \textbf{81.4} & \textbf{79.1} & 43ms \\
|
|
\bottomrule
|
|
\end{tabular}
|
|
\end{table}
|
|
|
|
Both KL divergence and feature alignment contribute independently: KL improves token-level
|
|
distribution matching (+3.5pp HumanEval), while feature alignment improves hidden state
|
|
quality (+2.1pp), with the combined loss exceeding either alone (+5.1pp over CE-only).
|
|
|
|
%% ─────────────────────────────────────────────────────────────────────────────
|
|
\section{IDE Integration and Deployment}
|
|
|
|
\subsection{Deployment Architecture}
|
|
|
|
Zen-Coder-Flash is designed for always-on inference deployment:
|
|
|
|
\begin{lstlisting}[language=bash, caption={Starting a Zen-Coder-Flash inference server.}]
|
|
# Single GPU deployment (24GB VRAM minimum)
|
|
docker run --gpus=1 \
|
|
-e MODEL=zen-coder-flash-8b \
|
|
-e MAX_BATCH_SIZE=32 \
|
|
-e MAX_CONTEXT=32768 \
|
|
-p 8080:8080 \
|
|
ghcr.io/zenlm/inference:latest
|
|
|
|
# Speculative decoding with Zen-Code verifier (2x A100)
|
|
docker run --gpus=2 \
|
|
-e MODEL=zen-code-14b \
|
|
-e DRAFT_MODEL=zen-coder-flash-8b \
|
|
-e SPECULATIVE_GAMMA=6 \
|
|
-p 8080:8080 \
|
|
ghcr.io/zenlm/inference:latest
|
|
\end{lstlisting}
|
|
|
|
\subsection{Continue Extension Configuration}
|
|
|
|
The Continue VS Code extension can be configured to use Zen-Coder-Flash for autocomplete
|
|
with the following configuration:
|
|
|
|
\begin{lstlisting}[language={},caption={Continue config.json for Zen-Coder-Flash.}]
|
|
{
|
|
"tabAutocompleteModel": {
|
|
"title": "Zen-Coder-Flash",
|
|
"provider": "openai",
|
|
"model": "zen-coder-flash-8b",
|
|
"apiBase": "https://api.zenlm.org/v1",
|
|
"apiKey": "<your-api-key>"
|
|
},
|
|
"tabAutocompleteOptions": {
|
|
"useCopyBuffer": false,
|
|
"maxPromptTokens": 1024,
|
|
"prefixPercentage": 0.85
|
|
}
|
|
}
|
|
\end{lstlisting}
|
|
|
|
%% ─────────────────────────────────────────────────────────────────────────────
|
|
\section{Related Work}
|
|
|
|
Knowledge distillation for language models was introduced by \cite{hinton2015distilling}
|
|
and applied to transformers in DistilBERT \cite{sanh2019distilbert}. For generative models,
|
|
sequence-level KD \cite{kim2016seq} and token-level KL distillation \cite{gu2024minillm}
|
|
have emerged as standard approaches. Intermediate layer alignment follows the TinyBERT
|
|
\cite{jiao2020tinybert} and PKD \cite{sun2019patient} patterns. Speculative decoding
|
|
\cite{leviathan2023speculative, chen2023accelerating} enables lossless speedup using a small
|
|
draft model; our use of Zen-Coder-Flash as draft for Zen-Code follows this paradigm.
|
|
|
|
Fast code completion models have been explored in FauxPilot and similar systems; the key
|
|
contribution of Zen-Coder-Flash is pairing distillation-preserved code quality with the
|
|
latency targets required for production IDE deployment.
|
|
|
|
%% ─────────────────────────────────────────────────────────────────────────────
|
|
\section{Limitations}
|
|
|
|
The 8B student model recovers 93\% of the teacher's HumanEval score but the 7\% gap widens
|
|
on more complex tasks: SWE-bench recovery is approximately 68\% (19.3\% vs.\ 28.4\%), as
|
|
complex multi-file reasoning benefits disproportionately from the teacher's additional capacity.
|
|
The 32K context window (vs.\ Zen-Code's 64K) limits use in very large repository-level
|
|
tasks. Speculative decoding latency benefits are reduced under variable-length acceptance
|
|
patterns typical of code generation (vs.\ more predictable text completion).
|
|
|
|
%% ─────────────────────────────────────────────────────────────────────────────
|
|
\section{Conclusion}
|
|
|
|
Zen-Coder-Flash delivers IDE-grade code completion with P95 latency of 43ms and 850 tok/s
|
|
throughput at batch size 16 on a single A100 GPU, while maintaining HumanEval 81.4\% through
|
|
structured knowledge distillation from Zen-Code. The combined KL-divergence and
|
|
intermediate-feature-alignment distillation protocol recovers 93\% of teacher performance
|
|
at 55\% of parameter count and 2.1$\times$ lower latency. As a speculative decoding draft
|
|
model for Zen-Code, it additionally provides 2.8$\times$ throughput improvement with
|
|
negligible quality loss. Zen-Coder-Flash is the recommended model for all latency-critical
|
|
developer tooling integrations in the Zen family ecosystem.
|
|
|
|
%% ─────────────────────────────────────────────────────────────────────────────
|
|
\begin{thebibliography}{99}
|
|
|
|
\bibitem{svyatkovskiy2021fast}
|
|
A.~Svyatkovskiy et al., ``Fast and Low-Cost Code Intelligence with Lightweight Models,''
|
|
\textit{arXiv:2104.14765}, 2021.
|
|
|
|
\bibitem{hinton2015distilling}
|
|
G.~Hinton, O.~Vinyals, and J.~Dean, ``Distilling the Knowledge in a Neural Network,''
|
|
\textit{arXiv:1503.02531}, 2015.
|
|
|
|
\bibitem{sanh2019distilbert}
|
|
V.~Sanh et al., ``DistilBERT, a distilled version of BERT,'' \textit{arXiv:1910.01108}, 2019.
|
|
|
|
\bibitem{kim2016seq}
|
|
Y.~Kim and A.~Rush, ``Sequence-Level Knowledge Distillation,'' \textit{EMNLP}, 2016.
|
|
|
|
\bibitem{gu2024minillm}
|
|
Y.~Gu et al., ``MiniLLM: Knowledge Distillation of Large Language Models,''
|
|
\textit{ICLR}, 2024.
|
|
|
|
\bibitem{jiao2020tinybert}
|
|
X.~Jiao et al., ``TinyBERT: Distilling BERT for Natural Language Understanding,''
|
|
\textit{EMNLP}, 2020.
|
|
|
|
\bibitem{sun2019patient}
|
|
S.~Sun et al., ``Patient Knowledge Distillation for BERT Compression,''
|
|
\textit{EMNLP}, 2019.
|
|
|
|
\bibitem{leviathan2023speculative}
|
|
Y.~Leviathan, M.~Kalman, and Y.~Matias, ``Fast Inference from Transformers via Speculative
|
|
Decoding,'' \textit{ICML}, 2023.
|
|
|
|
\bibitem{chen2023accelerating}
|
|
C.~Chen et al., ``Accelerating Large Language Model Decoding with Speculative Sampling,''
|
|
\textit{arXiv:2302.01318}, 2023.
|
|
|
|
\bibitem{kwon2023efficient}
|
|
W.~Kwon et al., ``Efficient Memory Management for Large Language Model Serving with PagedAttention,''
|
|
\textit{SOSP}, 2023.
|
|
|
|
\bibitem{bavarian2022fim}
|
|
M.~Bavarian et al., ``Efficient Training of Language Models to Fill in the Middle,''
|
|
\textit{arXiv:2207.14255}, 2022.
|
|
|
|
\bibitem{chen2021codex}
|
|
M.~Chen et al., ``Evaluating Large Language Models Trained on Code,''
|
|
\textit{arXiv:2107.03374}, 2021.
|
|
|
|
\end{thebibliography}
|
|
|
|
\end{document}
|