docs(paper): 重构技术章节并添加LLM里程碑表格
将LLM里程碑表格从技术章节中提取到单独的文件,并更新相关引用。同时,简化模型量化技术的描述,使其更简洁易读。
This commit is contained in:
parent
b61a5f7a75
commit
af006ebcc7
@ -2,6 +2,7 @@
|
||||
|
||||
\section{相关技术介绍}
|
||||
|
||||
\counterwithin{table}{section}
|
||||
\subsection{大语言模型 (LLM)}
|
||||
|
||||
\subsubsection{LLM 的起源、发展历程和关键里程碑事件}
|
||||
@ -19,40 +20,7 @@
|
||||
LLM 发展的显著趋势是参数规模的扩大和能力的演变。参数规模从最初的几百万发展到目前的数千亿甚至万亿,训练数据也从数十亿词语增长到数万亿 tokens,这一趋势被称为"新的摩尔定律"。随着模型发展,LLM 从最初的文本生成和补全,逐渐展现出复杂推理、解决数学问题、翻译语言和编写代码等高级能力。近年来,多模态 LLM 的出现扩展了应用范围,使其能够处理和生成文本、图像、音频等多种类型数据。 \textbf{表 \ref{tab:llm_milestones}} 总结了 LLM 发展中的关键里程碑事件。
|
||||
|
||||
|
||||
\begin{table}[!ht]
|
||||
\centering
|
||||
\caption{LLM 发展中的关键里程碑事件}
|
||||
\label{tab:llm_milestones}
|
||||
\begin{tabular}{>{\centering\arraybackslash}p{1.5cm}>{\centering\arraybackslash}p{2.8cm}p{10cm}}
|
||||
\toprule
|
||||
\rowcolor[gray]{0.9} \textbf{年份} & \textbf{里程碑} & \textbf{重要性} \\
|
||||
\midrule
|
||||
1966 & ELIZA & 第一个使用 NLP 的聊天机器人,基于关键词模拟对话。 \\
|
||||
\addlinespace[0.5ex]
|
||||
\rowcolor[gray]{0.95} 2017 & Transformer 架构 & 引入自注意力机制和平行处理,使得模型更加高效和上下文感知。 \\
|
||||
\addlinespace[0.5ex]
|
||||
2018 & BERT & 第一个突破性的 LLM,在自然语言理解方面取得了显著进展。 \\
|
||||
\addlinespace[0.5ex]
|
||||
\rowcolor[gray]{0.95} 2018 & GPT-1 & 第一个使用 Transformer 架构进行生成文本的概念验证。 \\
|
||||
\addlinespace[0.5ex]
|
||||
2019 & GPT-2 & 展示了生成令人信服的文本的能力,引发了关于潜在滥用的担忧。 \\
|
||||
\addlinespace[0.5ex]
|
||||
\rowcolor[gray]{0.95} 2020 & GPT-3 & 参数规模显著增大(1750 亿),展示了前所未有的语言理解和生成能力,成为 ChatGPT 的基础。 \\
|
||||
\addlinespace[0.5ex]
|
||||
2022 & ChatGPT & 面向消费者的应用程序,凭借其对话能力使 LLM 引起了主流关注。 \\
|
||||
\addlinespace[0.5ex]
|
||||
\rowcolor[gray]{0.95} 2023 & GPT-4 & 多模态模型,具有更高的准确性和推理能力。 \\
|
||||
\addlinespace[0.5ex]
|
||||
2023 & LLaMA & 流行的开源 LLM,推动了 AI 的普及。 \\
|
||||
\addlinespace[0.5ex]
|
||||
\rowcolor[gray]{0.95} 2025 & DeepSeek-R1 & 在美国境外开发的高性能开源推理模型,凸显了 LLM 开发领域日益激烈的全球竞争。 \\
|
||||
\addlinespace[0.5ex]
|
||||
2025 & Claude 3 & GPT 模型的竞争者,强调乐于助人、诚实和无害,具有强大的推理和多模态能力。 \\
|
||||
\addlinespace[0.5ex]
|
||||
\rowcolor[gray]{0.95} 2025 & Gemini & 一系列多模态 AI 模型,旨在跨不同设备运行并涵盖广泛的用途,包括推理。 \\
|
||||
\bottomrule
|
||||
\end{tabular}
|
||||
\end{table}
|
||||
\input{./figures/llm_milestones.tex}
|
||||
|
||||
\subsubsection{LLM 辅助编码}
|
||||
大语言模型在辅助软件开发和编码方面展现出巨大的潜力。它们通过理解和生成代码,可以显著提高开发效率并改善代码质量。LLM 在代码生成、代码补全、错误检测与修复等多个方面都有具体的应用。
|
||||
@ -75,78 +43,26 @@ LLM 发展的显著趋势是参数规模的扩大和能力的演变。参数规
|
||||
\subsection{模型量化技术}
|
||||
模型量化(Model Quantization)是大语言模型(LLMs)中使用的一种技术,旨在将高精度数据(通常是 32 位浮点数 (FP32) 或 16 位浮点数 (FP16))的权重和激活值转换为低精度数据类型,如 8 位整数 (INT8) 或 4 位整数 (INT4)。模型量化的主要目的是减少模型的内存占用、提高推理速度并降低能耗,使其更易于部署在资源受限的设备上,如移动设备或边缘服务器。
|
||||
|
||||
模型量化通过减少表示模型参数所需的比特数来实现这些目标。从数学角度看,量化过程可以表示为将浮点值映射到整数值的过程。对于线性量化,这一过程可以用以下公式表示:
|
||||
该技术的数学本质是通过线性映射将浮点值域$[r_{\text{min}}, r_{\text{max}}]$映射到整数空间,其量化与反量化过程可表示为:
|
||||
|
||||
\begin{equation}
|
||||
q = \text{round}\left(\frac{r - r_{\text{min}}}{s}\right)
|
||||
\begin{aligned}
|
||||
q &= \text{round}\left(\frac{r - r_{\text{min}}}{s}\right) \\
|
||||
\hat{r} &= s \cdot q + r_{\text{min}}
|
||||
\end{aligned}
|
||||
\end{equation}
|
||||
|
||||
其中,$q$ 是量化后的整数值,$r$ 是原始浮点值,$r_{\text{min}}$ 是浮点值的最小值,$s$ 是量化比例因子(scale factor)。反量化过程则可以表示为:
|
||||
|
||||
\begin{equation}
|
||||
\hat{r} = s \cdot q + r_{\text{min}}
|
||||
\end{equation}
|
||||
|
||||
其中,$\hat{r}$ 是反量化后的浮点值,通常与原始值 $r$ 存在一定的量化误差 $\epsilon = r - \hat{r}$。
|
||||
其中$s=(r_{\text{max}}-r_{\text{min}})/(2^n-1)$为量化步长,$n$为量化位数,$\epsilon=r-\hat{r}$为量化误差。
|
||||
|
||||
这种转换显著降低了存储模型所需的内存空间,并且由于低精度运算通常比高精度运算更快,因此可以提高模型的推理速度。此外,更快的计算和减少的内存访问通常会降低功耗,这对于电池供电的设备尤其重要。
|
||||
|
||||
模型量化有多种不同的技术,主要可分为以下几类:
|
||||
|
||||
\textbf{训练后量化 (Post-Training Quantization, PTQ)}:这种方法在模型完成训练后应用量化,将模型权重从浮点表示转换为低精度定点整数,无需重新训练。对于权重 $W$ 的线性量化可表示为:
|
||||
|
||||
\begin{equation}
|
||||
W_q = \text{round}\left(\frac{W - W_{\text{min}}}{s_W}\right), \quad s_W = \frac{W_{\text{max}} - W_{\text{min}}}{2^n - 1}
|
||||
\end{equation}
|
||||
|
||||
其中,$W_q$ 是量化后的权重,$n$ 是量化位数(如 INT8 中的 8),$s_W$ 是量化比例因子。PTQ 实现简单快捷,但可能导致一定性能下降。PTQ 可进一步分为静态量化和动态量化。静态量化在量化时使用校准数据确定激活值范围并适当缩放。动态量化仅量化权重,而激活在推理期间保持较高精度,并根据运行时观察到的范围动态量化。
|
||||
|
||||
\textbf{量化感知训练 (Quantization-Aware Training, QAT)}:这种方法在模型预训练或微调期间引入权重转换,允许模型在训练过程中适应低精度表示。在前向传播过程中,QAT 使用量化操作的可微分近似:
|
||||
|
||||
\begin{equation}
|
||||
\tilde{W} = W + \text{stop\_gradient}(\text{fake\_quant}(W) - W)
|
||||
\end{equation}
|
||||
|
||||
其中,$\text{fake\_quant}$ 是量化-反量化操作,$\text{stop\_gradient}$ 确保梯度不通过量化操作传播。QAT 通常比 PTQ 产生更高性能,但需要大量计算资源和代表性训练数据。
|
||||
|
||||
\textbf{权重共享 (Weight Sharing)}:涉及对相似权重进行聚类并共享相同的量化值,减少唯一权重数量,进一步压缩模型。对于 $k$ 个聚类中心 $C = \{c_1, c_2, \ldots, c_k\}$,权重 $W$ 被映射到最近的聚类中心:
|
||||
|
||||
\begin{equation}
|
||||
W_q = \arg\min_{c \in C} ||W - c||^2
|
||||
\end{equation}
|
||||
|
||||
\textbf{混合精度量化 (Mixed Precision Quantization)}:在训练或推理过程中使用不同数值精度的组合(例如 FP16 和 FP32),以在性能和精度之间取得平衡。
|
||||
|
||||
\textbf{二值化和三值化 (Binary and Ternary Quantization)}:将权重分别量化为两个值(+1 和 -1)或三个值(+1、0 和 -1),是极端的量化形式。二值化可表示为:
|
||||
|
||||
\begin{equation}
|
||||
W_b = \text{sign}(W) = \begin{cases}
|
||||
+1, & \text{if } W \geq 0 \\
|
||||
-1, & \text{if } W < 0
|
||||
\end{cases}
|
||||
\end{equation}
|
||||
|
||||
这些极端量化形式显著减小模型尺寸和计算复杂度的同时,精度下降也更明显。
|
||||
|
||||
不同的量化级别(如 INT8 和 INT4)对模型性能和资源消耗影响不同。一般来说,更低的量化级别(例如从 INT8 到 INT4)可以进一步减少模型大小并提高推理速度,但通常会导致更大精度损失。量化误差可以通过以下方式进行分析:
|
||||
|
||||
\begin{equation}
|
||||
\epsilon = W - \hat{W} = W - (s_W \cdot W_q + W_{\text{min}})
|
||||
\end{equation}
|
||||
|
||||
其中,$\epsilon$ 是量化误差,$W$ 是原始权重,$\hat{W}$ 是反量化后的权重。对于均匀分布的权重,量化误差的方差可以近似为:
|
||||
|
||||
\begin{equation}
|
||||
\text{Var}(\epsilon) \approx \frac{s_W^2}{12}
|
||||
\end{equation}
|
||||
|
||||
这表明量化比例因子 $s_W$ 越大,量化误差也越大。对于 $n$ 位量化,内存占用和原始 32 位浮点表示相比可以减少:
|
||||
|
||||
\begin{equation}
|
||||
\text{内存减少比例} = \frac{32 - n}{32} \times 100\%
|
||||
\end{equation}
|
||||
|
||||
例如,8 位量化可以减少 75\% 的内存占用,而 4 位量化可以减少 87.5\% 的内存占用。
|
||||
不同的量化级别(如 INT8 和 INT4)对模型性能和资源消耗影响不同。一般来说,更低的量化级别(例如从 INT8 到 INT4)可以进一步减少模型大小并提高推理速度,但通常会导致更大精度损失。量化误差分析表明,当权重服从均匀分布时,误差方差$\text{Var}(\epsilon)\approx s_W^2/12$,与量化步长平方成正比。内存优化效果可通过压缩比$(32-n)/32$量化,例如:
|
||||
\begin{itemize}
|
||||
\item INT8:75\% 内存压缩
|
||||
\item INT4:87.5\% 内存压缩
|
||||
\end{itemize}
|
||||
|
||||
INT8 量化通常被认为是性能和精度之间的良好折衷方案,可在保持较高模型准确性的同时,显著降低内存占用和提高推理速度。INT4 量化更为激进,可实现更高压缩率和更快速度,但通常伴随更明显精度下降,更适用于对资源限制非常严格但对精度要求相对较低的场景。选择合适的量化技术和级别需要在模型大小、推理速度和精度之间进行权衡,通常取决于具体应用场景和硬件条件。
|
||||
|
||||
|
34
paper/latex/figures/llm_milestones.tex
Normal file
34
paper/latex/figures/llm_milestones.tex
Normal file
@ -0,0 +1,34 @@
|
||||
\begin{table}[!ht]
|
||||
\centering
|
||||
\caption{LLM 发展中的关键里程碑事件}
|
||||
\label{tab:llm_milestones}
|
||||
\begin{tabular}{>{\centering\arraybackslash}p{1.5cm}>{\centering\arraybackslash}p{2.8cm}p{10cm}}
|
||||
\toprule
|
||||
\rowcolor[gray]{0.9} \textbf{年份} & \textbf{里程碑} & \textbf{重要性} \\
|
||||
\midrule
|
||||
1966 & ELIZA & 第一个使用 NLP 的聊天机器人,基于关键词模拟对话。 \\
|
||||
\addlinespace[0.5ex]
|
||||
\rowcolor[gray]{0.95} 2017 & Transformer 架构 & 引入自注意力机制和平行处理,使得模型更加高效和上下文感知。 \\
|
||||
\addlinespace[0.5ex]
|
||||
2018 & BERT & 第一个突破性的 LLM,在自然语言理解方面取得了显著进展。 \\
|
||||
\addlinespace[0.5ex]
|
||||
\rowcolor[gray]{0.95} 2018 & GPT-1 & 第一个使用 Transformer 架构进行生成文本的概念验证。 \\
|
||||
\addlinespace[0.5ex]
|
||||
2019 & GPT-2 & 展示了生成令人信服的文本的能力,引发了关于潜在滥用的担忧。 \\
|
||||
\addlinespace[0.5ex]
|
||||
\rowcolor[gray]{0.95} 2020 & GPT-3 & 参数规模显著增大(1750 亿),展示了前所未有的语言理解和生成能力,成为 ChatGPT 的基础。 \\
|
||||
\addlinespace[0.5ex]
|
||||
2022 & ChatGPT & 面向消费者的应用程序,凭借其对话能力使 LLM 引起了主流关注。 \\
|
||||
\addlinespace[0.5ex]
|
||||
\rowcolor[gray]{0.95} 2023 & GPT-4 & 多模态模型,具有更高的准确性和推理能力。 \\
|
||||
\addlinespace[0.5ex]
|
||||
2023 & LLaMA & 流行的开源 LLM,推动了 AI 的普及。 \\
|
||||
\addlinespace[0.5ex]
|
||||
\rowcolor[gray]{0.95} 2025 & DeepSeek-R1 & 在美国境外开发的高性能开源推理模型,凸显了 LLM 开发领域日益激烈的全球竞争。 \\
|
||||
\addlinespace[0.5ex]
|
||||
2025 & Claude 3 & GPT 模型的竞争者,强调乐于助人、诚实和无害,具有强大的推理和多模态能力。 \\
|
||||
\addlinespace[0.5ex]
|
||||
\rowcolor[gray]{0.95} 2025 & Gemini & 一系列多模态 AI 模型,旨在跨不同设备运行并涵盖广泛的用途,包括推理。 \\
|
||||
\bottomrule
|
||||
\end{tabular}
|
||||
\end{table}
|
Loading…
x
Reference in New Issue
Block a user