数值感知嵌入
摘要
一种通过重写分词器和MLM微调来使嵌入模型感知数字顺序的技术,在数字排序基准上达到59%的准确率。
如果你查看'一辆500马力的车'、'一辆1,200马力的车'和'一辆73马力的车'的嵌入之间的余弦相似度,你很快就会意识到嵌入模型对数字顺序完全没有概念。(我测试了Qwen和基于ModernBERT的嵌入)这主要源于分词器的处理方式,以及在MLM预训练阶段,对数似然损失过度奖励精确预测而非数量级预测。我尝试通过重写数字的默认分词器/预测头,并在300M tokens(其中约4M个数字)上进行MLM微调来缓解这一问题,而且该方法有效。核心思想是使用正则表达式匹配数字模式,并以对数数量级来表示它们。每个数字被平滑编码到128个桶中(相邻桶之间线性插值),并为这128个桶分别分配一个嵌入字典条目。解码过程大致相同:我使用了一个分类-回归头,包含128个输出桶和光滑交叉熵损失。将MLM预训练模型转化为嵌入模型是最有趣的部分。我尝试过JEPA但失败了,于是采用了编码器/解码器结构,效果良好。经过6个H100小时的训练后,最终结果:在我自己的基准测试中(这句话完全是个危险信号,不是吗?),它能够正确地对三元组句子进行排序,准确率为59%,而ModernBERT(均值池化)为38%,BGE-base-v1.5(CLS)为34%。在提取数字密集的HTML表格中的结构化/定量数据方面,它的表现也相当不错。该模型(训练尚不充分)在此处:[https://huggingface.co/edereynal/financial\_bert](https://huggingface.co/edereynal/financial_bert) 如果您对完整的工程细节感兴趣,请查看博客文章。技术上讲,内容相当密集,但我认为很有趣:[https://www.eloidereynal.com/p/i-spent-1-year-trying-to-predict](https://www.eloidereynal.com/p/i-spent-1-year-trying-to-predict)
相似文章
数字已经自带嵌入
介绍了Adelic保运算嵌入(AOE),一种无需训练的表示方法,通过结合实数值与p-adic展开来编码数字,保留加法和乘法结构。在Weaving Pattern基准上实现了完美准确率。
向LLM讲述数字:用于时间序列预测的多小波数字嵌入
提出TempoWave,一种即插即用的时间小波数字接口,将时间序列观测值映射为基于多小波系数的逐位嵌入,改进了基于LLM的时间序列预测,并在多个基准上达到最先进水平。
连续性与序数性的重要性:约束时间序列令牌以利用大语言模型进行有效时间序列分析
本文提出COM方法,该方法对时间序列令牌嵌入施加连续性和序数性约束,以提升基于令牌的时间序列大语言模型的性能。
通过层特定位置嵌入缩放缓解Transformer中的位置偏差
介绍LPES,一种层特定位置嵌入缩放方法,通过使用贝塞尔曲线的遗传算法为每层分配不同的缩放因子,缓解LLM中的“中间丢失”问题,无需微调或增加延迟即可实现高达11.2%的准确率提升。
Transformer学习Mestre-Nagao启发式方法
本文训练了一个两层Transformer编码器,利用Frobenius迹将有理椭圆曲线按秩分类,准确率超过99%。机械可解释性揭示该模型学习了Mestre-Nagao启发式方法,并将注意力集中在素数位置上,表明Transformer能够学习数论算法。