详细内容或原文请订阅后点击阅览
我从头开始构建法学硕士时学到的 6 件事,没有任何教程可以教给你
从排名稳定的扩展到量化稳定性:从统计和架构上深入探讨为现代 Transformers 提供支持的优化。文章《我从头开始构建法学硕士时学到的 6 件事,没有教程教给你》首先出现在《走向数据科学》上。
来源:走向数据科学法学硕士席卷了全世界。人们大多使用法学硕士的精美 API,他们输入提示,得到答案。他们错过的是它所具有的架构重要性以及它可以表现出色以及需要改进的地方。引擎盖下隐藏着决定速度、成本和功能的非显而易见的设计选择;如果您想要构建、微调或优化这些模型,那么这些选择至关重要。
我仅使用 PyTorch 从头开始实现了 GPT-2,以端到端地理解架构。除此之外,我还添加了 LoRA(低阶适配器)、RoPE(旋转位置嵌入)、KV 缓存等。在实施过程中,有几个时刻让我摸不着头脑,我不断地记录所有这些时刻。今天我将分享其中最重要的 6 个。要更深入地了解该架构,您可以在我之前的深入探讨中找到。
1. LoRA 与 RsLoRA(排名稳定):
LoRA 通过仅训练两个低秩矩阵 B 和 A 来微调模型,其形状为 (dimension,rank) 和 (rank,dimension),同时保持原始权重冻结 (W) [1]。这大大减少了可训练参数的数量(在我的例子中,仅占所有权重的 0.18%)。
与 LoRA 相关的有 alpha (α) 和rank (r),其中 alpha/rank 充当缩放因子。公式如下:
该比例因子决定了微调参数的重要性。如果 alpha 为 32,等级为 16,则缩放因子为 2,因此权重的重要性为 2 倍。因此,该比例因子可以变化。下面给出了一个视觉想法:
但正如 Kalajdzievski 报告的那样,LoRA 存在一个问题,他认为如果等级持续增加,将微调参数除以等级最终会降低权重重要性 [2]。简单来说:随着排名的增长,个体权重更新会缩小,LoRA 会在您没有意识到的情况下悄悄变得不那么有效。
因此,当我们增加“r”时,B*A 的方差会按比例增加:
\[
\begin{对齐}
&= r \cdot c \\
\end{对齐}
