来源:互联网 更新时间:2026-08-27 14:05
在维也纳举办的ICML会议茶歇期间,一位Jina用户抛出了一个近期在LLM社区引起热议的问题:我们的Jina Embedding模型能不能判断9.11比9.9更小?不少大模型都在这道“送分题”上翻了车。
实话实说,当时我也没法立刻给出肯定的答案。但这个问题让他耿耿于怀,他推测Tokenizer可能是症结所在。这想法立刻触动了我的实验神经——干脆动手测一测,用数据说话。
本文通过一系列实验,系统评估Embedding和Reranker模型在数字比较上的真实能力。为了贴近实际应用场景,我设计了几类有挑战性的测试用例:
实验中选用了jina-embeddings-v2-base-en(2023年10月发布)和jina-reranker-v2-multilingual(2024年6月发布)两个模型,分别观察它们在数字理解方面的表现和短板。话不多说,直接看结果。
完整的实现代码可以在下面的Colab中查看:https://colab.research.google.com/drive/11kUxYhHMLqYhw5HVKEYdHv0EfdZIyBBy
实验设计非常直观。以检查Embedding模型是否理解1到100之间的数字为例:
核心逻辑是:如果差值(i-j)为零,说明i等于j,语义相似度应该最高;随着差值增大,相似度应逐步下降。
Reranker模型的流程类似,区别在于:我们把每个文档依次当作查询,加上Prompt“哪一项最接近...”,将所有其他文档作为候选进行排序。Reranker API返回的相关性得分直接作为语义相似度度量。核心实现代码如下:
def rerank_documents(documents):
reranker_url = "https://api.jina.ai/v1/rerank"
headers = {
"Content-Type": "application/json",
"Authorization": f"Bearer {token}"
}
# 初始化相似度矩阵
similarity_matrix = np.zeros((len(documents), len(documents)))
for idx, d in enumerate(documents):
payload = {
"model": "jina-reranker-v2-base-multilingual",
"query": f"what is the closest item to {d}?",
"top_n": len(documents),
"documents": documents
}
...
左侧是jina-embeddings-v2-base-en的结果,右侧是jina-reranker-v2-multilingual的结果。

在继续解读结果之前,先说明一下怎么看这些散点图。
X轴代表索引差值(i-j),范围是[-100, 100]。由于文档集按顺序排列,|i-j|越小,两个文档在语义上越接近;差值越大,相似度越低。所以你会看到相似度(Y轴)在X=0处达到峰值,然后随着X绝对值增大而线性下降。
青色趋势线显示了每个X值的平均相似度及其标准差。由于文档集是均匀分布的,连续文档间的间隔相等,理论上相似度应该线性下降。
测试负数空间中的语义相似性。数据集为从-1到-100的负整数字符串:documents = [str(-i) for i in range(1, 101)]。下图显示散点图及均值、标准差。
左侧是Embedding模型,右侧是Reranker模型。

测试间隔为1000的数字序列。documents = [str(i*1000) for i in range(1, 101)]。同上,散点图包含均值和标准差。
左侧是Embedding模型,右侧是Reranker模型。

测试偏移后的范围:documents = [str(i+375) for i in range(1, 101)]。
左侧是Embedding模型,右侧是Reranker模型。
测试大数字范围:documents = [str(i+4294967296) for i in range(1, 101)]。
左侧是Embedding模型,右侧是Reranker模型。

测试浮点数:documents = [str(i/1000) for i in range(1, 101)]。
左侧是Embedding模型,右侧是Reranker模型。

测试货币格式:documents = ['$'+str(i) for i in range(1, 101)]。
测试日期格式:today = datetime.today(); documents = [(today + timedelta(days=i)).strftime('%Y-%m-%d') for i in range(100)]。
测试时间格式:now = datetime.now(); documents = [(now + timedelta(minutes=i)).strftime('%H:%M:%S') for i in range(100)]。
从上述图表中可以总结出以下要点:
我们还设计了一个直观有趣的实验:可视化任意数字与零(原点)之间的语义相似性。固定参考点为0的嵌入,观察数字与0之间的相似度是否随数字增大而线性下降。
Google Colab:https://colab.research.google.com/drive/1S9qZQ0jjdKLNUT2GKqPbU4ogpDe6g9Qh
将查询固定为"0"或"与数字零最接近的数字是什么",对所有数字排序,观察相关性得分是否随数字递增而下降。结果如下:
左侧是Embedding模型,右侧是Reranker模型。
虽然实验设置相对简单,但结果揭示了当前模型在数字处理方面的几个基本问题,为后续模型开发提供了宝贵方向。
影响模型数字比较能力的两大关键因素是
来源:HuggingFace上的Tokenizer Playground。
密集检索模型(如Embedding和Reranker)的算术能力,对于涉及RAG以及高级检索和推理的任务至关重要。强大的数字推理能力可以显著提升搜索质量,尤其是在处理JSON这类结构化数据时。
腾讯ima怎么把微信内容一键导入知识库?
Celestia价格预测2026-2032:TIA币能否引领山寨币上涨行情?历史价格回顾
腾讯ima怎么创建共享知识库?
比特币(BTC)核心周期指标复刻历史走势 价格或跌破5.8万美元关键支撑位
比特币 2025 年价格预测:BTC 的未来走势
WorkBuddy微信版怎么获得积分?
5000元起的鼠标哪个最值得入手?
新浪人工智能热点小时报丨2026年07月30日18时_今日实时人工智能热点速递
车载冰箱重置到出厂设置几步?
SPX6900(SPX)币是什么?SPX币价格走势分析及未来展望
腾讯ima知识库怎么分类管理?
短剧《史上最强洪荒修为》剧情介绍
海尔消毒柜自动消毒如何中止
博世壁挂炉关闭暖气怎么操作
男生高性价比充电头?
管线机怎么接云米净水器
kimi提示词专家使用方法新手指南
5000-6000元鼠标有什么推荐?
WorkBuddy积分怎么获得?
Windy卫星云图怎么看?云层变化识别技巧
手机号码测吉凶
本站所有软件,都由网友上传,如有侵犯你的版权,请发邮件haolingcc@hotmail.com 联系删除。 版权所有 Copyright@2012-2013 haoling.cc