文章预览
1 前言 来自:炼钢AI 此篇文章出自论文《Patch-Level Training for Large Language Models》,主要思路非常简单,就是把相邻的token embedding进行压缩聚合后输入到LLM中,进而缩短序列的长度加速训练,实验结果显示这种训练速度更快的训练方法,能比原始的LLM训练方法效果还要好,比较出乎预料。。。 论文链接:https: //arxiv.org/abs/2407.12665 代码链接:https: //github.com/shaochenze/PatchTrain/tree/main 2 方法 首先给下patch的定义, 将相邻的patch_size个token embedding取平均后的embedding,被称作patch 。seq_length长的token序列最终会转换为num_patches长的patch序列,代码如下。 num_patches = seq_length // self.patch_size inputs_embeds = inputs_embeds.view(batch_size, num_patches, self.patch_size, -1 ).mean( 2 ) 训练分为两个阶段: (1)将输入转换为patch粒度,并进行预测下一个patch训练 (2)加载第一阶段的
………………………………