语言模型词嵌入矩阵压缩技术
预训练语言模型(PLMs)如BERT、RoBERTa和DeBERTa在特定任务数据上微调后,在自然语言推理、情感分类和问答等任务中表现出卓越性能。PLMs通常包含词嵌入矩阵、带有注意力机制的深度神经网络和输出层。由于词汇表规模庞大,词嵌入矩阵往往占据模型很大比重:例如占BERT模型大小的21%以上,RoBERTa的31.2%。此外,由于词频差异,词嵌入矩阵存在大量冗余。因此,任何能压缩词嵌入矩阵的技术都有可能与其他模型压缩方法互补,提高压缩比。
在知识发现与数据挖掘会议(KDD)上,我们提出了一种压缩PLMs词嵌入矩阵的新方法,结合了低秩近似、新型残差二进制自编码器和新的压缩损失函数。我们在自然语言理解和问答任务上评估了名为LightToken的方法,其词嵌入压缩比(未压缩矩阵与压缩矩阵大小之比)达到25,而先前最佳方法仅达到5。同时,LightToken相比现有矩阵压缩方法准确率更高,在GLUE基准上超出11%,在SQuAD v1.1上超出5%。
理想压缩方法的特征
压缩PLMs词嵌入矩阵的理想方法应具备以下特征:(1) 任务无关性,确保在不同下游任务中有效应用;(2) 模型无关性,可作为模块化组件无缝集成到各种骨干模型中;(3) 与其他模型压缩技术协同兼容;(4) 高压缩比且模型性能下降极小。LightToken满足这些标准,以任务和模型无关的方式生成压缩词嵌入。
秩k SVD近似
许多先前研究强调了奇异值分解(SVD)在有效压缩模型权重矩阵中的效力。SVD将矩阵分解为三个矩阵,其中一个是对角矩阵。对角矩阵中的条目(奇异值)表示每个变量解释的数据方差。通过仅保留高奇异值,可以将高维数据投影到低维子空间。词嵌入矩阵通常具有相对较少的奇异值。因此,我们方法的第一步是使用SVD对词嵌入矩阵进行小k值的秩k近似。
残差哈希
实验中我们发现,仅依赖秩k压缩矩阵虽然提供大幅压缩,但会严重损害下游任务性能。因此LightToken还使用残差二进制自编码器来编码完整词嵌入矩阵与从秩k压缩矩阵重构的矩阵之间的差异。
自编码器被训练输出与输入相同的值,但在此过程中产生输入的压缩向量表示。我们将这些表示约束为二进制:即哈希码。然而二进制码不可微分,因此在模型训练期间,为了使用标准梯度下降学习算法,我们必须用温和的sigmoid激活函数近似二进制值,该函数在低值和高值之间具有陡峭斜率。
在多个训练周期中,温和sigmoid容易饱和:网络中每个节点对每个输入都激活,阻止网络学习非线性函数。因此我们创建了一种新颖的训练策略,其中自编码器训练到接近饱和点,然后对旧残差与新哈希码之间的残差进行训练。最终哈希码实际上是哈希码的串联,每个编码前一个码的残差。
损失函数
通常,像我们这样的模型会被训练以最小化重构词嵌入矩阵与未压缩矩阵之间的欧几里得距离。但我们发现欧几里得距离在某些自然语言处理(NLP)任务和小训练集任务上表现不佳。我们假设这是因为欧几里得距离对嵌入空间中向量之间的角度关注不足,而在NLP任务中角度可能携带语义信息。因此我们提出了一种新的重构损失,作为欧几里得距离的上限。该损失通过重新校准余弦相似度,鼓励模型优先考虑原始嵌入和压缩嵌入之间的对齐。
实验结果
我们在GLUE和SQuAD 1.1两个基准数据集上进行了全面实验。结果清楚表明LightToken显著优于现有基线。具体而言,LightToken实现令人印象深刻的25倍压缩比,同时保持准确率水平。此外,当压缩比提高到103时,准确率损失与原始基准相比仍保持在6%以内的偏差。
研究领域:对话式AI
标签:语言模型、压缩、KDD
会议:KDD 2023
相关出版物:LightToken:面向预训练语言模型的任务和模型无关轻量级词嵌入框架