我们都知道,大语言模型(LLM)能够以一种无需模型微调的方式从少量示例中进修,这种方式被称为「上下文进修」(In-context Learning)。这种上下文进修现象目前只能在大模型上观察到。比如 GPT-4、Llama 等大模型在非常多的领域中都表现出了杰出的本能,但还是有很多场景受限于资源或者实时性要求较高,无法使用大模型。
那么,惯例大小的模型是否具备这种才能呢?为了探索小模型的上下文进修才能,字节和华东师大的研究团队在场景文本辨别任意上举行了研究。
目前,在实际应用场景中,场景文本辨别面临着多种挑战:不同的场景、文字排版、形变、光照变化、字迹模糊、字体多样性等,因此很难训练一个能应对所有场景的统一的文本辨别模型。
一个直接的解决办法是收集相应的数据,然后在具体场景下对模型举行微调。但是这一过程需要重新训练模型,计算量很大,而且需要针对不同场景需要保存多个模型权重。如果文本辨别模型也能具备上下文进修才能,面对新的场景,只需要少量标注数据作为提醒,就能提升在新场景上的本能,那么上面的问题就迎刃而解。不过,场景文本辨别是一个资源敏感型任意,将大模型当作文本辨别器非常耗费资源,通过初步的实验,研究人员得到的观察是传统的大模型训练格式在场景文本辨别任意上并不适用。
为了解决这个问题,来自字节跳动和华东师大的研究团队提出了自进化文本辨别器,E2STR(Ego-Evolving Scene Text Recognizer),一个融合了上下文进修才能的惯例大小的文本辨别器,无需微调即可快速顺应不同的文本辨别场景。
论文地址:https://arxiv.org/pdf/2311.13120.pdf
E2STR 配备了一种上下文训练和上下文推理模式,不仅在惯例数据集上达到了 SOTA 的水平,而且可以使用单一模型提升在各个场景中的辨别本能,实现对新场景的快速顺应,甚至超过了经过微调后专用模型的辨别本能。E2STR 证明,惯例大小的模型足以在文本辨别任意中实现有效的上下文进修才能。
格式
图 1 介绍了 E2STR 的训练和推理流程。
1. 基础文本辨别训练
基础文本辨别训练阶段采用自回归框架训练视觉编码器和语言解码器,目的为了获取文本辨别才能:
2. 上下文训练
上下文训练阶段 E2STR 将根据文中提出的上下文训练范式举行进一步训练。在这一阶段,E2STR 会进修理解不同样本之间的联系,从而从上下文提醒中获取推理才能。
如图 2 所示,这篇文章提出 ST 策略,在场景文本数据中举行随机的分割和转换,从而生成一组 "子样本"。子样本在视觉和语言方面都是内在联系的。这些内在联系的样本被拼接成一个序列,模型从这些语义丰富的序列中进修上下文知识,从而获取上下文进修的才能。这一阶段同样采用自回归框架举行训练:
3. 上下文推理
针对一个尝试样本,该框架会从上下文提醒池中选择 N 个样本,这些样本在视觉隐空间与尝试样本具有最高的相似度。具体来说,这篇文章通过对视觉 token 序列做平均池化,计算出图像 embedding I 。然后,从上下文池中选择图像嵌入与 I 的余弦相似度最高的前 N 个样本,从而形成上下文提醒。
上下文提醒和尝试样本拼接在一起送入模型,E2STR 便会以一种无训练的方式从上下文提醒中学得新知识,提升尝试样本的辨别准确率。值得注意的是,上下文提醒池只保留了视觉编码器输出的 token,使得上下文提醒的选择过程非常高效。此外,由于上下文提醒池很小,而且 E2STR 不需要训练就能直接举行推理,因此额外的消耗也降到了最低限度。
实验
实验从三个角度举行:分别是传统文本辨别集、跨域场景辨别、困难样本修正。
1. 传统数据集
从训练集中随机抽取很少的样本(1000 个,训练集 0.025% 的样本数量)组成上下文提醒池,在 12 个常见的场景文本辨别尝试集中举行的尝试,结果如下:
可以发现 E2STR 在辨别本能差不多已经饱和的传统数据集上依然有所提升,超越了 SOTA 模型的表现。
2. 跨域场景
跨域场景下每个尝试集仅提供 100 个域内训练样本,无训练和微调对比结果如下,E2STR 甚至超过了 SOTA 格式的微调结果。
3. 困难样本修正
研究人员收集了一批困难样本,对这些样本提供了 10%~20% 的标注,对比 E2STR 的无需训练的上下文进修格式和 SOTA 格式的微调进修格式,结果如下:
可以发现,相比于微调格式,E2STR-ICL 大大降低了困难样本的错误率。
未来展望
E2STR 证明了使用合适的训练和推理策略,小模型也可以拥有和 LLM 类似的 In-context Learning 的才能。在一些实时性要求比较强的任意中,使用小模型也可以对新场景举行快速的顺应。更重要的是,这种使用单一模型来实现对新场景快速顺应的格式使得构建统一高效的小模型更近了一步。