数值感知嵌入

Reddit r/LocalLLaMA 模型

摘要

一种通过重写分词器和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)
查看原文

相似文章

数字已经自带嵌入

arXiv cs.LG

介绍了Adelic保运算嵌入(AOE),一种无需训练的表示方法,通过结合实数值与p-adic展开来编码数字,保留加法和乘法结构。在Weaving Pattern基准上实现了完美准确率。

Transformer学习Mestre-Nagao启发式方法

arXiv cs.LG

本文训练了一个两层Transformer编码器,利用Frobenius迹将有理椭圆曲线按秩分类,准确率超过99%。机械可解释性揭示该模型学习了Mestre-Nagao启发式方法,并将注意力集中在素数位置上,表明Transformer能够学习数论算法。