From 44af574d97f00462a0b0d5e9c809a7d0b2ccd62c Mon Sep 17 00:00:00 2001 From: zhenghaoz Date: Wed, 2 Jul 2025 21:47:03 +0800 Subject: [PATCH 1/3] Add embedding benchmark --- src/zh/posts/embedding-benchmark.md | 113 ++++++++++++++++++++++++++++ 1 file changed, 113 insertions(+) create mode 100644 src/zh/posts/embedding-benchmark.md diff --git a/src/zh/posts/embedding-benchmark.md b/src/zh/posts/embedding-benchmark.md new file mode 100644 index 0000000..f827ec7 --- /dev/null +++ b/src/zh/posts/embedding-benchmark.md @@ -0,0 +1,113 @@ +--- +icon: zhinengsuanfa +date: 2025-07-05 +category: + - 技术分享 +tag: + - 机器学习 +--- +# 推荐场景下文本嵌入模型性能对比 + +向量嵌入技术可以将图片、文字等信息转换为高维向量,从而能够在搜素推荐等场景下,通过计算向量之间的距离来计算原始图片、文本等原始内容之间的相关性。曾经向量的维度都是供应商决定的固定值,但是现今很多供应商(例如OpenAI、阿里云)都支持输出多种维度的向量。显然,越高的维度可以承载更多的信息量,搜索和推荐的效果也会越好,但是代码是更长的计算时间和更大的存储空间,本文将探索向量维度和使用效果之间的关系,寻找两者之间的平衡点。 + +## 实验指标 + +由于本文属于Gorse推荐系统的技术分享文章,显然在意的是向量维度对于推荐效果的关系。嵌入向量在推荐系统中通常用于相似推荐或者相关推荐,希望嵌入向量之间的距离能够很好地表达推荐物料之前的相似性和相关性。物料之间的相关性和相似度实际上不存在标准答案,在推荐系统中可以使用物料用户之间的重叠程度来近似地衡量物料之间的相似度或者相关性 + + +## 实验结果 + + +::: echarts BF16向量加法性能对比 + +```json +{ + "legend": { + "data": ["text-embedding-v4", "text-embedding-3-large", "nomic-embed-text", "mxbai-embed-large", "bge-m3"] + }, + "xAxis": { + "name": "向量长度", + "data": [64, 128, 256, 512, 768, 1024, 2048] + }, + "yAxis": { + "name": "准确率@100", + "type": "value", + "min": 0.06 + }, + "tooltip": { + "trigger": "item", + "formatter": "{c}" + }, + "series": [ + { + "name": "text-embedding-v4", + "data": [0.070103, 0.084257, 0.086651, 0.091892, 0.096195, 0.097657, 0.102493], + "type": "line", + "smooth": true + }, + { + "name": "text-embedding-3-large", + "data": [null, null, null, null, 0.082344, 0.083165], + "type": "line" + }, + { + "name": "nomic-embed-text", + "data": [null, null, null, null, 0.083899], + "type": "line" + }, + { + "name": "mxbai-embed-large", + "data": [null, null, null, null, null, 0.092035], + "type": "line" + }, + { + "name": "bge-m3", + "data": [null, null, null, null, null, 0.069382], + "type": "line" + } + ] +} +``` + +::: + +629.《后窗》(1954年)由阿尔弗雷德·希区柯克执导,是一部紧张悬疑的惊悚片,讲述了由詹姆斯·斯图尔特饰演的轮椅摄影师L.B.杰弗里斯逐渐确信邻居犯下谋杀案的故事。因腿伤困于公寓的杰弗里斯终日透过后窗窥探邻居生活,对其隐私产生危险的执念。在女友丽莎(格蕾丝·凯利饰)协助下搜集证据时,剧情张力渐增,最终走向探讨偷窥欲、道德与隐私界限的高潮。希区柯克以精妙的镜头语言和叙事手法构建悬疑,使《后窗》成为惊悚片经典。 + +1561.《爱德华大夫》(1945年)是希区柯克执导的心理惊悚片,探索人类心智的复杂性与梦境本质。英格丽·褒曼饰演的精神科医生康斯坦斯被自称新院长的失忆男子约翰(格利高里·派克饰)吸引。当她深入约翰潜意识破解其身份之谜与原院长谋杀案时,也直面了自己的情感与心理障碍。达利设计的超现实梦境场景,结合爱情、执念与心灵迷宫的主题,使影片以悬疑与心理深度俘获观众。 + +1158.1960年希区柯克执导的《惊魂记》是开创性心理惊悚片,讲述挪用公款逃亡的玛丽莲·克兰误入偏僻的贝茨汽车旅馆。旅馆主人诺曼·贝茨表面温顺,实则深受"母亲"操控。影片以悬疑叙事、标志性"浴室"镜头及对身份认同、孤独与人性的探讨闻名。其大师级导演手法与经典配乐,使其成为重塑电影叙事界限的恐怖片里程碑。 + +321.1959年悬疑惊悚片《西北偏北》由希区柯克执导,加里·格兰特饰演广告商罗杰,因被误认为间谍而遭追杀。从纽约到拉什莫尔山的跨国逃亡中,他深陷身份错位与阴谋。影片融合喜剧与悬疑,通过犀利对白和经典场景展现希区柯克对"无辜者受困"主题的拿捏。 + +3295.1950年英国悬疑片《欲海惊魂》以伦敦戏剧界为背景。简·怀曼饰演的演员凯蒂卷入前情人谋杀案调查,在追查真相时陷入情感纠葛。希区柯克标志性的心理张力与反转叙事,让悬念持续至终场。 + +1582.1954年《电话谋杀案》中,托尼精心策划杀妻谋财,计划失败后引发连环反转。格蕾丝·凯利饰演的玛戈成为亮点,影片在密闭空间中展现背叛、欺骗与人际关系的复杂,彰显希区柯克叙事功力。 + +2437.1946年心理惊悚片《螺旋楼梯》由罗伯特·西奥德马克执导,讲述哑女海伦在新英格兰豪宅侍奉时成为连环杀手目标。阴影构图与阴森氛围使其成为黑色电影典范。 + +1554.1953年黑色电影《搭车人》是艾达·卢皮诺执导的首部女性导演同类作品,描述两名钓友被精神病逃犯劫持的猫鼠游戏,荒凉景观中探讨人性恐惧与求生欲。 + +2300.1943年《辣手摧花》中,少女查理发现魅力四射的叔叔可能是连环杀手。希区柯克以田园小镇与暗黑角色的反差营造张力,质疑道德与信任的边界。 + +1913.1988年阿莫多瓦执导的《精神濒临崩溃的女人》以艳丽的马德里为背景,女演员佩帕在追索负心汉时邂逅一系列怪诞角色。影片用荒诞幽默与社会讽刺勾勒女性脆弱与坚韧,奠定导演风格。 + + +288.《π》(1998)是达伦·阿罗诺夫斯基执导的心理惊悚片,讲述天才数学家马克斯·科恩痴迷于寻找宇宙规律的故事。当他发现一组神秘的216位数字后,偏执地认为这是破解现实混沌本质的密钥。在华尔街公司和犹太教派的双重压力下,马克斯逐渐陷入精神崩溃的深渊。影片通过高对比度黑白摄影与梦魇般的配乐,深刻探讨了执念、疯狂与启蒙的悖论。 + +3224.《无声的坠落》(1994)围绕退休儿童心理医生杰克·雷纳(理查德·德莱弗斯饰)展开,他被卷入一起双尸命案调查。唯一目击者自闭症男孩蒂姆(本·福克纳饰)的沟通障碍使案情扑朔迷离。当杰克试图唤醒男孩记忆时,却陷入由蒂姆姐姐西尔维(丽芙·泰勒饰)编织的秘密网络。影片以创伤心理为切口,揭示了人类心智的脆弱边界。 + +1913.《崩溃边缘的女人》(1988)是佩德罗·阿莫多瓦执导的黑色喜剧。女演员佩帕(卡门·毛拉饰)在情人伊万不告而别后,阴差阳错卷入恐怖分子、情敌等荒诞人物构成的关系网中。影片以马德里为舞台,用超现实手法融合社会批判,展现了女性在情感危机中既坚韧又脆妙的生存状态,奠定了阿莫多瓦标志性的视觉风格。 + +1920.《欲望号快车》(1996)是大卫·柯南伯格执导的先锋电影,聚焦詹姆斯与凯瑟琳这对夫妇逐渐沉迷车祸性癖的亚文化圈。影片以冷峻镜头语言探讨科技时代下疼痛与快感的暧昧共生,其挑战伦理的叙事引发关于人际关系本质的深层思考。 + +454.《大开眼戒》(1999)是库布里克遗作,讲述比尔医生(汤姆·克鲁斯饰)在妻子(妮可·基德曼饰)坦承性幻想后,夜探神秘性爱仪式的心理惊魂。通过面具狂欢与贵族密室的隐喻,影片剖开了中产阶级婚姻表象下的欲望暗流。 + +1158.《惊魂记》(1960)希区柯克经典之作,秘书玛丽莲携款潜逃至贝茨汽车旅馆,与受母亲控制的诺曼展开致命邂逅。浴室谋杀戏成为影史标杆,其精神分析叙事重新定义了恐怖片类型。 + +3555.《窥视窗》(1980)赫伯·弗里德执导的心理惊悚片,描绘摄影师丽莎被街对面神秘男子监视后逐渐崩溃的过程。影片通过80年代特有的技术焦虑,探讨了观看与被看的权力关系。 + +2426.《翌晨》(1986)简·方达饰演的过气歌手宿醉后发现床具男尸,在警探(杰夫·布里吉斯饰)协助下追溯真相。这部悬疑片巧妙融合了自我救赎与黑色电影元素。 + +321.《西北偏北》(1959)希区柯克悬念杰作,广告商罗杰(加里·格兰特饰)被误认为间谍后展开横跨美国的逃亡。影片以玉米地飞机追杀和总统山对决等名场面,完美平衡了幽默与惊险。 + +2712.《偷窥狂》(1960)迈克尔·鲍威尔争议之作,记录连环杀手马克用摄影机捕捉受害者恐惧的变态过程。这部超前时代的元电影,尖锐批判了观众对暴力的窥淫癖好。 From ee373d39a674469bda75b040334cc4e31a7a81f8 Mon Sep 17 00:00:00 2001 From: zhenghaoz Date: Fri, 4 Jul 2025 00:07:28 +0800 Subject: [PATCH 2/3] Add data --- src/zh/posts/embedding-benchmark.md | 115 ++++++++++++++++------------ 1 file changed, 65 insertions(+), 50 deletions(-) diff --git a/src/zh/posts/embedding-benchmark.md b/src/zh/posts/embedding-benchmark.md index f827ec7..5903833 100644 --- a/src/zh/posts/embedding-benchmark.md +++ b/src/zh/posts/embedding-benchmark.md @@ -8,12 +8,44 @@ tag: --- # 推荐场景下文本嵌入模型性能对比 -向量嵌入技术可以将图片、文字等信息转换为高维向量,从而能够在搜素推荐等场景下,通过计算向量之间的距离来计算原始图片、文本等原始内容之间的相关性。曾经向量的维度都是供应商决定的固定值,但是现今很多供应商(例如OpenAI、阿里云)都支持输出多种维度的向量。显然,越高的维度可以承载更多的信息量,搜索和推荐的效果也会越好,但是代码是更长的计算时间和更大的存储空间,本文将探索向量维度和使用效果之间的关系,寻找两者之间的平衡点。 +向量嵌入技术可以将图片、文字等信息转换为高维向量,从而能够在搜素推荐等场景下,通过计算向量之间的距离来计算图片、文本等原始内容之间的相关性。其中本文嵌入用到最多,市面上主要的AI服务商都会为他们的用户提供本文嵌入API,另外也有很多开源文本嵌入模型可供自行部署使用。目前主流的文本嵌入模型的评估标准为[MTEB](https://github.com/embeddings-benchmark/mteb),但是[MTEB](https://github.com/embeddings-benchmark/mteb)并没有评估文本嵌入模型在推荐系统中的能力,而本文将尝试评估文本嵌入模型在推荐场景下的表现。 ## 实验指标 -由于本文属于Gorse推荐系统的技术分享文章,显然在意的是向量维度对于推荐效果的关系。嵌入向量在推荐系统中通常用于相似推荐或者相关推荐,希望嵌入向量之间的距离能够很好地表达推荐物料之前的相似性和相关性。物料之间的相关性和相似度实际上不存在标准答案,在推荐系统中可以使用物料用户之间的重叠程度来近似地衡量物料之间的相似度或者相关性 +嵌入向量在推荐系统中通常用于相似推荐或者相关推荐,希望嵌入向量之间的距离能够很好地表达推荐物料之前的相似性和相关性。物料之间的相关性和相似度实际上不存在标准答案,在推荐系统中可以使用物料之间用户的重叠程度$s_{ij}$来近似地衡量物料之间的相似度或者相关性。 +$$ +s_{ij} = \frac{|U_i \cap U_j|}{|U_i \cup U_j|} +$$ + +其中$U_i$和$U_j$分别表示物料$i$和$j$的用户集合,$s_{ij}$的值越大,表示物料$i$和$j$之间的用户重叠度越高。而向量之间的距离可以使用欧式距离计算: + +$$ +d_{ij} = ||v_i - v_j|| +$$ + +其中$v_i$和$v_j$分别表示物料$i$和$j$的嵌入向量。为了衡量嵌入向量之间的距离反馈物料相似度或者相关度的能力,我们可以使用Top-K准确率($Recall@K$),Top-K准确率表示在与物料$i$的向量距离最小的$K$个物料中,有多少比例的物料也在与物料$i$用户重合度最高的$K$个物料列表中。Top-K准确率越高,意味着嵌入向量推荐相似或者相关物料的能力越强。 + +实验使用的数据集为[MovieLens 1M](https://grouplens.org/datasets/movielens/1m/)数据集,包含100万条用户对电影的评分数据。我们将每个电影的简介作为文本内容,使用文本嵌入模型将其转换为向量。然后计算每个电影的向量与其他电影的向量之间的距离,并根据距离进行排序,取Top-K电影。最后计算这些Top-K电影与原始电影在用户重叠度上的Top-K准确率。 + +## 文本嵌入模型 + +开源模型我们选择了Ollama下载量前三的模型,它们分别是: + +- [nomic-embed-text](https://ollama.com/library/nomic-embed-text) +- [mxbai-embed-large](https://ollama.com/library/mxbai-embed-large) +- [bge-m3](https://ollama.com/library/bge-m3) + +商业模型我们选择了阿里云和OpneAI各自的最强文本嵌入模型: + +- [text-embedding-v4](https://bailian.console.aliyun.com/?spm=5176.29597918.J_SEsSjsNv72yRuRFS2VknO.2.52007ca0kyUn9Q&tab=api#/api/?type=model&url=https%3A%2F%2Fhelp.aliyun.com%2Fdocument_detail%2F2712515.html)(阿里云)支持8种向量维度,支持100+主流语种及多种编程语言 +- [text-embedding-3-large](https://openai.com/index/new-embedding-models-and-api-updates/)(OpenAI)同样支持多种向量维度和多种语言 + +::: note + +测试商业模型他需要花费一定的费用,为了控制成本,我们没有测试来自更多服务商的模型。我们开源了[测试脚本](https://github.com/gorse-cloud/embedding4rec),欢迎大家在自己的环境中运行测试脚本来获取更多模型的性能数据。 + +::: ## 实验结果 @@ -27,12 +59,12 @@ tag: }, "xAxis": { "name": "向量长度", - "data": [64, 128, 256, 512, 768, 1024, 2048] + "data": [64, 128, 256, 512, 768, 1024, 2048, 3072] }, "yAxis": { "name": "准确率@100", "type": "value", - "min": 0.06 + "min": 0.1 }, "tooltip": { "trigger": "item", @@ -41,28 +73,29 @@ tag: "series": [ { "name": "text-embedding-v4", - "data": [0.070103, 0.084257, 0.086651, 0.091892, 0.096195, 0.097657, 0.102493], + "data": [0.11969, 0.13873, 0.15280, 0.1627, 0.16674, 0.16946, 0.17262], "type": "line", "smooth": true }, { "name": "text-embedding-3-large", - "data": [null, null, null, null, 0.082344, 0.083165], - "type": "line" + "data": [0.11272, 0.13769, 0.15086, 0.16362, 0.16610, 0.17026, 0.17241, 0.17395], + "type": "line", + "smooth": true }, { "name": "nomic-embed-text", - "data": [null, null, null, null, 0.083899], + "data": [null, null, null, null, 0.15161], "type": "line" }, { "name": "mxbai-embed-large", - "data": [null, null, null, null, null, 0.092035], + "data": [null, null, null, null, null, 0.16595], "type": "line" }, { "name": "bge-m3", - "data": [null, null, null, null, null, 0.069382], + "data": [null, null, null, null, null, 0.11492], "type": "line" } ] @@ -71,43 +104,25 @@ tag: ::: -629.《后窗》(1954年)由阿尔弗雷德·希区柯克执导,是一部紧张悬疑的惊悚片,讲述了由詹姆斯·斯图尔特饰演的轮椅摄影师L.B.杰弗里斯逐渐确信邻居犯下谋杀案的故事。因腿伤困于公寓的杰弗里斯终日透过后窗窥探邻居生活,对其隐私产生危险的执念。在女友丽莎(格蕾丝·凯利饰)协助下搜集证据时,剧情张力渐增,最终走向探讨偷窥欲、道德与隐私界限的高潮。希区柯克以精妙的镜头语言和叙事手法构建悬疑,使《后窗》成为惊悚片经典。 - -1561.《爱德华大夫》(1945年)是希区柯克执导的心理惊悚片,探索人类心智的复杂性与梦境本质。英格丽·褒曼饰演的精神科医生康斯坦斯被自称新院长的失忆男子约翰(格利高里·派克饰)吸引。当她深入约翰潜意识破解其身份之谜与原院长谋杀案时,也直面了自己的情感与心理障碍。达利设计的超现实梦境场景,结合爱情、执念与心灵迷宫的主题,使影片以悬疑与心理深度俘获观众。 - -1158.1960年希区柯克执导的《惊魂记》是开创性心理惊悚片,讲述挪用公款逃亡的玛丽莲·克兰误入偏僻的贝茨汽车旅馆。旅馆主人诺曼·贝茨表面温顺,实则深受"母亲"操控。影片以悬疑叙事、标志性"浴室"镜头及对身份认同、孤独与人性的探讨闻名。其大师级导演手法与经典配乐,使其成为重塑电影叙事界限的恐怖片里程碑。 - -321.1959年悬疑惊悚片《西北偏北》由希区柯克执导,加里·格兰特饰演广告商罗杰,因被误认为间谍而遭追杀。从纽约到拉什莫尔山的跨国逃亡中,他深陷身份错位与阴谋。影片融合喜剧与悬疑,通过犀利对白和经典场景展现希区柯克对"无辜者受困"主题的拿捏。 - -3295.1950年英国悬疑片《欲海惊魂》以伦敦戏剧界为背景。简·怀曼饰演的演员凯蒂卷入前情人谋杀案调查,在追查真相时陷入情感纠葛。希区柯克标志性的心理张力与反转叙事,让悬念持续至终场。 - -1582.1954年《电话谋杀案》中,托尼精心策划杀妻谋财,计划失败后引发连环反转。格蕾丝·凯利饰演的玛戈成为亮点,影片在密闭空间中展现背叛、欺骗与人际关系的复杂,彰显希区柯克叙事功力。 - -2437.1946年心理惊悚片《螺旋楼梯》由罗伯特·西奥德马克执导,讲述哑女海伦在新英格兰豪宅侍奉时成为连环杀手目标。阴影构图与阴森氛围使其成为黑色电影典范。 - -1554.1953年黑色电影《搭车人》是艾达·卢皮诺执导的首部女性导演同类作品,描述两名钓友被精神病逃犯劫持的猫鼠游戏,荒凉景观中探讨人性恐惧与求生欲。 - -2300.1943年《辣手摧花》中,少女查理发现魅力四射的叔叔可能是连环杀手。希区柯克以田园小镇与暗黑角色的反差营造张力,质疑道德与信任的边界。 - -1913.1988年阿莫多瓦执导的《精神濒临崩溃的女人》以艳丽的马德里为背景,女演员佩帕在追索负心汉时邂逅一系列怪诞角色。影片用荒诞幽默与社会讽刺勾勒女性脆弱与坚韧,奠定导演风格。 - - -288.《π》(1998)是达伦·阿罗诺夫斯基执导的心理惊悚片,讲述天才数学家马克斯·科恩痴迷于寻找宇宙规律的故事。当他发现一组神秘的216位数字后,偏执地认为这是破解现实混沌本质的密钥。在华尔街公司和犹太教派的双重压力下,马克斯逐渐陷入精神崩溃的深渊。影片通过高对比度黑白摄影与梦魇般的配乐,深刻探讨了执念、疯狂与启蒙的悖论。 - -3224.《无声的坠落》(1994)围绕退休儿童心理医生杰克·雷纳(理查德·德莱弗斯饰)展开,他被卷入一起双尸命案调查。唯一目击者自闭症男孩蒂姆(本·福克纳饰)的沟通障碍使案情扑朔迷离。当杰克试图唤醒男孩记忆时,却陷入由蒂姆姐姐西尔维(丽芙·泰勒饰)编织的秘密网络。影片以创伤心理为切口,揭示了人类心智的脆弱边界。 - -1913.《崩溃边缘的女人》(1988)是佩德罗·阿莫多瓦执导的黑色喜剧。女演员佩帕(卡门·毛拉饰)在情人伊万不告而别后,阴差阳错卷入恐怖分子、情敌等荒诞人物构成的关系网中。影片以马德里为舞台,用超现实手法融合社会批判,展现了女性在情感危机中既坚韧又脆妙的生存状态,奠定了阿莫多瓦标志性的视觉风格。 - -1920.《欲望号快车》(1996)是大卫·柯南伯格执导的先锋电影,聚焦詹姆斯与凯瑟琳这对夫妇逐渐沉迷车祸性癖的亚文化圈。影片以冷峻镜头语言探讨科技时代下疼痛与快感的暧昧共生,其挑战伦理的叙事引发关于人际关系本质的深层思考。 - -454.《大开眼戒》(1999)是库布里克遗作,讲述比尔医生(汤姆·克鲁斯饰)在妻子(妮可·基德曼饰)坦承性幻想后,夜探神秘性爱仪式的心理惊魂。通过面具狂欢与贵族密室的隐喻,影片剖开了中产阶级婚姻表象下的欲望暗流。 - -1158.《惊魂记》(1960)希区柯克经典之作,秘书玛丽莲携款潜逃至贝茨汽车旅馆,与受母亲控制的诺曼展开致命邂逅。浴室谋杀戏成为影史标杆,其精神分析叙事重新定义了恐怖片类型。 - -3555.《窥视窗》(1980)赫伯·弗里德执导的心理惊悚片,描绘摄影师丽莎被街对面神秘男子监视后逐渐崩溃的过程。影片通过80年代特有的技术焦虑,探讨了观看与被看的权力关系。 - -2426.《翌晨》(1986)简·方达饰演的过气歌手宿醉后发现床具男尸,在警探(杰夫·布里吉斯饰)协助下追溯真相。这部悬疑片巧妙融合了自我救赎与黑色电影元素。 - -321.《西北偏北》(1959)希区柯克悬念杰作,广告商罗杰(加里·格兰特饰)被误认为间谍后展开横跨美国的逃亡。影片以玉米地飞机追杀和总统山对决等名场面,完美平衡了幽默与惊险。 - -2712.《偷窥狂》(1960)迈克尔·鲍威尔争议之作,记录连环杀手马克用摄影机捕捉受害者恐惧的变态过程。这部超前时代的元电影,尖锐批判了观众对暴力的窥淫癖好。 +- 《后窗》(1954年)由阿尔弗雷德·希区柯克执导,是一部紧张悬疑的惊悚片,讲述了由詹姆斯·斯图尔特饰演的轮椅摄影师L.B.杰弗里斯逐渐确信邻居犯下谋杀案的故事。因腿伤困于公寓的杰弗里斯终日透过后窗窥探邻居生活,对其隐私产生危险的执念。在女友丽莎(格蕾丝·凯利饰)协助下搜集证据时,剧情张力渐增,最终走向探讨偷窥欲、道德与隐私界限的高潮。希区柯克以精妙的镜头语言和叙事手法构建悬疑,使《后窗》成为惊悚片经典。 +- 《爱德华大夫》(1945年)是希区柯克执导的心理惊悚片,探索人类心智的复杂性与梦境本质。英格丽·褒曼饰演的精神科医生康斯坦斯被自称新院长的失忆男子约翰(格利高里·派克饰)吸引。当她深入约翰潜意识破解其身份之谜与原院长谋杀案时,也直面了自己的情感与心理障碍。达利设计的超现实梦境场景,结合爱情、执念与心灵迷宫的主题,使影片以悬疑与心理深度俘获观众。 +- 1960年希区柯克执导的《惊魂记》是开创性心理惊悚片,讲述挪用公款逃亡的玛丽莲·克兰误入偏僻的贝茨汽车旅馆。旅馆主人诺曼·贝茨表面温顺,实则深受"母亲"操控。影片以悬疑叙事、标志性"浴室"镜头及对身份认同、孤独与人性的探讨闻名。其大师级导演手法与经典配乐,使其成为重塑电影叙事界限的恐怖片里程碑。 +- 1959年悬疑惊悚片《西北偏北》由希区柯克执导,加里·格兰特饰演广告商罗杰,因被误认为间谍而遭追杀。从纽约到拉什莫尔山的跨国逃亡中,他深陷身份错位与阴谋。影片融合喜剧与悬疑,通过犀利对白和经典场景展现希区柯克对"无辜者受困"主题的拿捏。 +- 1950年英国悬疑片《欲海惊魂》以伦敦戏剧界为背景。简·怀曼饰演的演员凯蒂卷入前情人谋杀案调查,在追查真相时陷入情感纠葛。希区柯克标志性的心理张力与反转叙事,让悬念持续至终场。 +- 1954年《电话谋杀案》中,托尼精心策划杀妻谋财,计划失败后引发连环反转。格蕾丝·凯利饰演的玛戈成为亮点,影片在密闭空间中展现背叛、欺骗与人际关系的复杂,彰显希区柯克叙事功力。 +- 1946年心理惊悚片《螺旋楼梯》由罗伯特·西奥德马克执导,讲述哑女海伦在新英格兰豪宅侍奉时成为连环杀手目标。阴影构图与阴森氛围使其成为黑色电影典范。 +- 1953年黑色电影《搭车人》是艾达·卢皮诺执导的首部女性导演同类作品,描述两名钓友被精神病逃犯劫持的猫鼠游戏,荒凉景观中探讨人性恐惧与求生欲。 +- 1943年《辣手摧花》中,少女查理发现魅力四射的叔叔可能是连环杀手。希区柯克以田园小镇与暗黑角色的反差营造张力,质疑道德与信任的边界。 +- 1988年阿莫多瓦执导的《精神濒临崩溃的女人》以艳丽的马德里为背景,女演员佩帕在追索负心汉时邂逅一系列怪诞角色。影片用荒诞幽默与社会讽刺勾勒女性脆弱与坚韧,奠定导演风格。 + + +- 《π》(1998)是达伦·阿罗诺夫斯基执导的心理惊悚片,讲述天才数学家马克斯·科恩痴迷于寻找宇宙规律的故事。当他发现一组神秘的216位数字后,偏执地认为这是破解现实混沌本质的密钥。在华尔街公司和犹太教派的双重压力下,马克斯逐渐陷入精神崩溃的深渊。影片通过高对比度黑白摄影与梦魇般的配乐,深刻探讨了执念、疯狂与启蒙的悖论。 +- 《无声的坠落》(1994)围绕退休儿童心理医生杰克·雷纳(理查德·德莱弗斯饰)展开,他被卷入一起双尸命案调查。唯一目击者自闭症男孩蒂姆(本·福克纳饰)的沟通障碍使案情扑朔迷离。当杰克试图唤醒男孩记忆时,却陷入由蒂姆姐姐西尔维(丽芙·泰勒饰)编织的秘密网络。影片以创伤心理为切口,揭示了人类心智的脆弱边界。 +- 《崩溃边缘的女人》(1988)是佩德罗·阿莫多瓦执导的黑色喜剧。女演员佩帕(卡门·毛拉饰)在情人伊万不告而别后,阴差阳错卷入恐怖分子、情敌等荒诞人物构成的关系网中。影片以马德里为舞台,用超现实手法融合社会批判,展现了女性在情感危机中既坚韧又脆妙的生存状态,奠定了阿莫多瓦标志性的视觉风格。 +- 《欲望号快车》(1996)是大卫·柯南伯格执导的先锋电影,聚焦詹姆斯与凯瑟琳这对夫妇逐渐沉迷车祸性癖的亚文化圈。影片以冷峻镜头语言探讨科技时代下疼痛与快感的暧昧共生,其挑战伦理的叙事引发关于人际关系本质的深层思考。 +- 《大开眼戒》(1999)是库布里克遗作,讲述比尔医生(汤姆·克鲁斯饰)在妻子(妮可·基德曼饰)坦承性幻想后,夜探神秘性爱仪式的心理惊魂。通过面具狂欢与贵族密室的隐喻,影片剖开了中产阶级婚姻表象下的欲望暗流。 +- 《惊魂记》(1960)希区柯克经典之作,秘书玛丽莲携款潜逃至贝茨汽车旅馆,与受母亲控制的诺曼展开致命邂逅。浴室谋杀戏成为影史标杆,其精神分析叙事重新定义了恐怖片类型。 +- 《窥视窗》(1980)赫伯·弗里德执导的心理惊悚片,描绘摄影师丽莎被街对面神秘男子监视后逐渐崩溃的过程。影片通过80年代特有的技术焦虑,探讨了观看与被看的权力关系。 +- 《翌晨》(1986)简·方达饰演的过气歌手宿醉后发现床具男尸,在警探(杰夫·布里吉斯饰)协助下追溯真相。这部悬疑片巧妙融合了自我救赎与黑色电影元素。 +- 《西北偏北》(1959)希区柯克悬念杰作,广告商罗杰(加里·格兰特饰)被误认为间谍后展开横跨美国的逃亡。影片以玉米地飞机追杀和总统山对决等名场面,完美平衡了幽默与惊险。 +- 《偷窥狂》(1960)迈克尔·鲍威尔争议之作,记录连环杀手马克用摄影机捕捉受害者恐惧的变态过程。这部超前时代的元电影,尖锐批判了观众对暴力的窥淫癖好。 From 71f5874c7cabb1d6ccf13f414cfb2638b214708a Mon Sep 17 00:00:00 2001 From: zhenghaoz Date: Fri, 4 Jul 2025 23:57:28 +0800 Subject: [PATCH 3/3] Add English version --- src/posts/embedding-benchmark.md | 157 ++++++++++++++++++++++++++++ src/zh/posts/embedding-benchmark.md | 83 ++++++++++----- 2 files changed, 214 insertions(+), 26 deletions(-) create mode 100644 src/posts/embedding-benchmark.md diff --git a/src/posts/embedding-benchmark.md b/src/posts/embedding-benchmark.md new file mode 100644 index 0000000..42ab228 --- /dev/null +++ b/src/posts/embedding-benchmark.md @@ -0,0 +1,157 @@ +--- +date: 2025-07-05 +category: + - technical +tag: + - AI/ML +--- +# Text Embedding Benchmark for Recommender Systems + +Embedding models encode multimodal information such as images and text into high-dimensional vectors, enabling the calculation of relationships between multimodal information by measuring the distance between embedding vectors in online services like search engines and recommender systems. Text embeddings are the most widely used. Major AI service providers offer text embedding APIs to their users, and there are also many open-source text embedding models available for self-hosting. The current mainstream evaluation standard for text embedding models is [MTEB](https://github.com/embeddings-benchmark/mteb). However, [MTEB](https://github.com/embeddings-benchmark/mteb) does not assess the capabilities of text embedding models in recommender systems, and this post will attempt to evaluate the performance of text embedding models in recommender systems. + +## Measurement + +Embedding vectors in recommender systems are typically used for similar or related recommendations, with the goal that the distance between embedding vectors accurately reflects the similarity or relevance between items. The de facto relevance or similarity between items does not exist, but in recommender systems, the overlap of users between items, denoted as $s_{ij}$, can be used as an approximate measure of similarity or relevance. + +$$ +s_{ij} = \frac{|U_i \cap U_j|}{|U_i \cup U_j|} +$$ + +Here, $U_i$ and $U_j$ represent the user sets for items $i$ and $j$, respectively. A higher $s_{ij}$ value indicates greater user overlap between items $i$ and $j$. The distance between embedding vectors can be calculated using Euclidean distance: + +$$ +d_{ij} = ||\textbf{v}_i - \textbf{v}_j|| +$$ + +Here, $\textbf{v}_i$ and $\textbf{v}_j$ represent the embedding vectors for items $i$ and $j$, respectively. To evaluate how well the distance between embedding vectors reflects the similarity or relevance between items, we can use Top-K recall ($Recall@K$). Top-K recall measures the proportion of items among the $K$ items with the smallest embedding vector distance from item $i$ that also appear in the list of $K$ items with the highest user overlap with item $i$. Higher Top-K recall indicates stronger capability of embedding vectors to recommend similar or relevant items. + +The dataset used in the experiment is the [MovieLens 1M](https://grouplens.org/datasets/movielens/1m/) dataset, which contains 1 million user ratings for movies. We convert the synopsis of each movie into embedding vectors using a text embedding model. We then calculate the Top-K recall for each movie and take the average of all movies' Top-K recall as the performance measurement for the model in recommender systems. + +## Text Embedding Models + +For open-source models, we selected the top three models by download count on Ollama: + +- [nomic-embed-text](https://ollama.com/library/nomic-embed-text) +- [mxbai-embed-large](https://ollama.com/library/mxbai-embed-large) +- [bge-m3](https://ollama.com/library/bge-m3) + +For commercial models, we chose the strongest text embedding models from Alibaba Cloud and OpenAI: + +- [text-embedding-v4](https://bailian.console.aliyun.com/?spm=5176.29597918.J_SEsSjsNv72yRuRFS2VknO.2.52007ca0kyUn9Q&tab=api#/api/?type=model&url=https%3A%2F%2Fhelp.aliyun.com%2Fdocument_detail%2F2712515.html) (Alibaba Cloud) supports 8 dimensions and over 100 major languages as well as programming languages. +- [text-embedding-3-large](https://openai.com/index/new-embedding-models-and-api-updates/) (OpenAI) also supports multiple dimensions and languages. + +::: note + +Testing commercial models incurs costs, and to control expenses, we did not test models from additional service providers. We have open-sourced the [testing script](https://github.com/gorse-cloud/embedding4rec) and welcome to run it with other models. + +::: + +## Results + +::: echarts Text Embedding Benchmark for Recommender Systems + +```json +{ + "legend": { + "data": ["text-embedding-v4", "text-embedding-3-large", "nomic-embed-text", "mxbai-embed-large", "bge-m3"] + }, + "xAxis": { + "name": "Dimension", + "data": [64, 128, 256, 512, 768, 1024, 2048, 3072] + }, + "yAxis": { + "name": "Recall@100", + "type": "value", + "min": 0.1 + }, + "tooltip": { + "trigger": "item", + "formatter": "{c}" + }, + "series": [ + { + "name": "text-embedding-v4", + "data": [0.11969, 0.13873, 0.15280, 0.1627, 0.16674, 0.16946, 0.17262], + "type": "line", + "smooth": true + }, + { + "name": "text-embedding-3-large", + "data": [0.11272, 0.13769, 0.15086, 0.16362, 0.16610, 0.17026, 0.17241, 0.17395], + "type": "line", + "smooth": true + }, + { + "name": "nomic-embed-text", + "data": [null, null, null, null, 0.15161], + "type": "line" + }, + { + "name": "mxbai-embed-large", + "data": [null, null, null, null, null, 0.16595], + "type": "line" + }, + { + "name": "bge-m3", + "data": [null, null, null, null, null, 0.11492], + "type": "line" + } + ] +} +``` + +::: + +Based on the results, the following conclusions can be drawn: + +1. Under the same dimension, commercial models such as [text-embedding-v4](https://bailian.console.aliyun.com/?spm=5176.29597918.J_SEsSjsNv72yRuRFS2VknO.2.52007ca0kyUn9Q&tab=api#/api/?type=model&url=https%3A%2F%2Fhelp.aliyun.com%2Fdocument_detail%2F2712515.html) and [text-embedding-3-large](https://openai.com/index/new-embedding-models-and-api-updates/) generally outperform open-source models, while the differences between commercial models are minimal. +2. Among open-source models, [mxbai-embed-large](https://ollama.com/library/mxbai-embed-large) performs the best and can be the preferred choice for self-hosting. +3. Dimensionality significantly impacts model performance. As the dimension increases, the Top-K recall of the models generally improves, but the rate of improvement gradually diminishes. It is necessary to balance recommendation precision with computational and storage costs to select an appropriate dimension. + +::: tip + +Unless there are strict computational or storage resource limits, it is recommended to use vector lengths of 512 or higher to achieve better recommendation precision. + +::: + +In addition to quantitative comparisons, we can also intuitively evaluate model performance through recommendation results. Below are lists of similar movies recommended for ["Vertigo"](https://www.imdb.com/title/tt0052357/) using embeddings of two different dimensions from [text-embedding-v4](https://bailian.console.aliyun.com/?spm=5176.29597918.J_SEsSjsNv72yRuRFS2VknO.2.52007ca0kyUn9Q&tab=api#/api/?type=model&url=https%3A%2F%2Fhelp.aliyun.com%2Fdocument_detail%2F2712515.html): + +::: tabs + +@tab 2048 + +| Movie | Year | Director | Genre | +|-------------------------------------------|------|------------------|-------------------------------| +| Rear Window | 1954 | Alfred Hitchcock | Suspenseful Thriller | +| Spellbound | 1945 | Alfred Hitchcock | Psychological Thriller | +| Psycho | 1960 | Alfred Hitchcock | Psychological Thriller/Horror | +| North by Northwest | 1959 | Alfred Hitchcock | Suspense Thriller | +| Stage Fright | 1950 | Alfred Hitchcock | Mystery Thriller | +| Dial M for Murder | 1954 | Alfred Hitchcock | Mystery Thriller | +| The Spiral Staircase | 1946 | Robert Siodmak | Psychological Thriller/Noir | +| The Hitch-Hiker | 1953 | Ida Lupino | Noir Thriller | +| Shadow of a Doubt | 1943 | Alfred Hitchcock | Suspense Thriller | +| Woman on the Verge of a Nervous Breakdown | 1988 | Pedro Almodóvar | Dark Comedy/Drama | + +@tab 64 + +| Movie | Year | Director | Genre | +|-------------------------------------------|------|------------------|------------------------| +| Pi | 1998 | Darren Aronofsky | Psychological Thriller | +| Silent Fall | 1994 | Bruce Beresford | Psychological Thriller | +| Woman on the Verge of a Nervous Breakdown | 1988 | Pedro Almodóvar | Dark Comedy/Drama | +| Crash | 1996 | David Cronenberg | Psychological Drama | +| Eyes Wide Shut | 1999 | Stanley Kubrick | Drama/Thriller | +| Psycho | 1960 | Alfred Hitchcock | Psychological Horror | +| Windows | 1980 | Herb Freed | Psychological Thriller | +| The Morning After | 1986 | Sidney Lumet | Suspense Drama | +| North by Northwest | 1959 | Alfred Hitchcock | Suspense Thriller | +| Peeping Tom | 1960 | Michael Powell | Psychological Horror | + +::: + +For users who have just watched *Vertigo*, the movies recommended by the 2048-dimensional embedding vectors exhibit higher relevance and similarity to *Vertigo*. + +## Conclusion + +This post evaluates the performance of text embedding models in recommender systems. The results indicate that commercial models generally outperform open-source models, with [mxbai-embed-large](https://ollama.com/library/mxbai-embed-large) standing out among open-source models. Dimensionality significantly affects model performance, and it is recommended to use vector lengths of 512 or higher for better recommendation results. diff --git a/src/zh/posts/embedding-benchmark.md b/src/zh/posts/embedding-benchmark.md index 5903833..2d1c5ad 100644 --- a/src/zh/posts/embedding-benchmark.md +++ b/src/zh/posts/embedding-benchmark.md @@ -21,12 +21,12 @@ $$ 其中$U_i$和$U_j$分别表示物料$i$和$j$的用户集合,$s_{ij}$的值越大,表示物料$i$和$j$之间的用户重叠度越高。而向量之间的距离可以使用欧式距离计算: $$ -d_{ij} = ||v_i - v_j|| +d_{ij} = ||\textbf{v}_i - \textbf{v}_j|| $$ -其中$v_i$和$v_j$分别表示物料$i$和$j$的嵌入向量。为了衡量嵌入向量之间的距离反馈物料相似度或者相关度的能力,我们可以使用Top-K准确率($Recall@K$),Top-K准确率表示在与物料$i$的向量距离最小的$K$个物料中,有多少比例的物料也在与物料$i$用户重合度最高的$K$个物料列表中。Top-K准确率越高,意味着嵌入向量推荐相似或者相关物料的能力越强。 +其中$\textbf{v}_i$和$\textbf{v}_j$分别表示物料$i$和$j$的嵌入向量。为了衡量嵌入向量之间的距离反馈物料相似度或者相关度的能力,我们可以使用Top-K准确率($Recall@K$),Top-K准确率表示在与物料$i$的向量距离最小的$K$个物料中,有多少比例的物料也在与物料$i$用户重合度最高的$K$个物料列表中。Top-K准确率越高,意味着嵌入向量推荐相似或者相关物料的能力越强。 -实验使用的数据集为[MovieLens 1M](https://grouplens.org/datasets/movielens/1m/)数据集,包含100万条用户对电影的评分数据。我们将每个电影的简介作为文本内容,使用文本嵌入模型将其转换为向量。然后计算每个电影的向量与其他电影的向量之间的距离,并根据距离进行排序,取Top-K电影。最后计算这些Top-K电影与原始电影在用户重叠度上的Top-K准确率。 +实验使用的数据集为[MovieLens 1M](https://grouplens.org/datasets/movielens/1m/)数据集,包含100万条用户对电影的评分数据。我们将每个电影的简介作为文本内容,使用文本嵌入模型将其转换为向量。然后计算每个电影上的Top-K准确率,最后对所有电影的Top-K准确率取平均值,作为模型在推荐场景下的性能指标。 ## 文本嵌入模型 @@ -50,7 +50,7 @@ $$ ## 实验结果 -::: echarts BF16向量加法性能对比 +::: echarts 推荐场景下文本嵌入模型性能对比 ```json { @@ -104,25 +104,56 @@ $$ ::: -- 《后窗》(1954年)由阿尔弗雷德·希区柯克执导,是一部紧张悬疑的惊悚片,讲述了由詹姆斯·斯图尔特饰演的轮椅摄影师L.B.杰弗里斯逐渐确信邻居犯下谋杀案的故事。因腿伤困于公寓的杰弗里斯终日透过后窗窥探邻居生活,对其隐私产生危险的执念。在女友丽莎(格蕾丝·凯利饰)协助下搜集证据时,剧情张力渐增,最终走向探讨偷窥欲、道德与隐私界限的高潮。希区柯克以精妙的镜头语言和叙事手法构建悬疑,使《后窗》成为惊悚片经典。 -- 《爱德华大夫》(1945年)是希区柯克执导的心理惊悚片,探索人类心智的复杂性与梦境本质。英格丽·褒曼饰演的精神科医生康斯坦斯被自称新院长的失忆男子约翰(格利高里·派克饰)吸引。当她深入约翰潜意识破解其身份之谜与原院长谋杀案时,也直面了自己的情感与心理障碍。达利设计的超现实梦境场景,结合爱情、执念与心灵迷宫的主题,使影片以悬疑与心理深度俘获观众。 -- 1960年希区柯克执导的《惊魂记》是开创性心理惊悚片,讲述挪用公款逃亡的玛丽莲·克兰误入偏僻的贝茨汽车旅馆。旅馆主人诺曼·贝茨表面温顺,实则深受"母亲"操控。影片以悬疑叙事、标志性"浴室"镜头及对身份认同、孤独与人性的探讨闻名。其大师级导演手法与经典配乐,使其成为重塑电影叙事界限的恐怖片里程碑。 -- 1959年悬疑惊悚片《西北偏北》由希区柯克执导,加里·格兰特饰演广告商罗杰,因被误认为间谍而遭追杀。从纽约到拉什莫尔山的跨国逃亡中,他深陷身份错位与阴谋。影片融合喜剧与悬疑,通过犀利对白和经典场景展现希区柯克对"无辜者受困"主题的拿捏。 -- 1950年英国悬疑片《欲海惊魂》以伦敦戏剧界为背景。简·怀曼饰演的演员凯蒂卷入前情人谋杀案调查,在追查真相时陷入情感纠葛。希区柯克标志性的心理张力与反转叙事,让悬念持续至终场。 -- 1954年《电话谋杀案》中,托尼精心策划杀妻谋财,计划失败后引发连环反转。格蕾丝·凯利饰演的玛戈成为亮点,影片在密闭空间中展现背叛、欺骗与人际关系的复杂,彰显希区柯克叙事功力。 -- 1946年心理惊悚片《螺旋楼梯》由罗伯特·西奥德马克执导,讲述哑女海伦在新英格兰豪宅侍奉时成为连环杀手目标。阴影构图与阴森氛围使其成为黑色电影典范。 -- 1953年黑色电影《搭车人》是艾达·卢皮诺执导的首部女性导演同类作品,描述两名钓友被精神病逃犯劫持的猫鼠游戏,荒凉景观中探讨人性恐惧与求生欲。 -- 1943年《辣手摧花》中,少女查理发现魅力四射的叔叔可能是连环杀手。希区柯克以田园小镇与暗黑角色的反差营造张力,质疑道德与信任的边界。 -- 1988年阿莫多瓦执导的《精神濒临崩溃的女人》以艳丽的马德里为背景,女演员佩帕在追索负心汉时邂逅一系列怪诞角色。影片用荒诞幽默与社会讽刺勾勒女性脆弱与坚韧,奠定导演风格。 - - -- 《π》(1998)是达伦·阿罗诺夫斯基执导的心理惊悚片,讲述天才数学家马克斯·科恩痴迷于寻找宇宙规律的故事。当他发现一组神秘的216位数字后,偏执地认为这是破解现实混沌本质的密钥。在华尔街公司和犹太教派的双重压力下,马克斯逐渐陷入精神崩溃的深渊。影片通过高对比度黑白摄影与梦魇般的配乐,深刻探讨了执念、疯狂与启蒙的悖论。 -- 《无声的坠落》(1994)围绕退休儿童心理医生杰克·雷纳(理查德·德莱弗斯饰)展开,他被卷入一起双尸命案调查。唯一目击者自闭症男孩蒂姆(本·福克纳饰)的沟通障碍使案情扑朔迷离。当杰克试图唤醒男孩记忆时,却陷入由蒂姆姐姐西尔维(丽芙·泰勒饰)编织的秘密网络。影片以创伤心理为切口,揭示了人类心智的脆弱边界。 -- 《崩溃边缘的女人》(1988)是佩德罗·阿莫多瓦执导的黑色喜剧。女演员佩帕(卡门·毛拉饰)在情人伊万不告而别后,阴差阳错卷入恐怖分子、情敌等荒诞人物构成的关系网中。影片以马德里为舞台,用超现实手法融合社会批判,展现了女性在情感危机中既坚韧又脆妙的生存状态,奠定了阿莫多瓦标志性的视觉风格。 -- 《欲望号快车》(1996)是大卫·柯南伯格执导的先锋电影,聚焦詹姆斯与凯瑟琳这对夫妇逐渐沉迷车祸性癖的亚文化圈。影片以冷峻镜头语言探讨科技时代下疼痛与快感的暧昧共生,其挑战伦理的叙事引发关于人际关系本质的深层思考。 -- 《大开眼戒》(1999)是库布里克遗作,讲述比尔医生(汤姆·克鲁斯饰)在妻子(妮可·基德曼饰)坦承性幻想后,夜探神秘性爱仪式的心理惊魂。通过面具狂欢与贵族密室的隐喻,影片剖开了中产阶级婚姻表象下的欲望暗流。 -- 《惊魂记》(1960)希区柯克经典之作,秘书玛丽莲携款潜逃至贝茨汽车旅馆,与受母亲控制的诺曼展开致命邂逅。浴室谋杀戏成为影史标杆,其精神分析叙事重新定义了恐怖片类型。 -- 《窥视窗》(1980)赫伯·弗里德执导的心理惊悚片,描绘摄影师丽莎被街对面神秘男子监视后逐渐崩溃的过程。影片通过80年代特有的技术焦虑,探讨了观看与被看的权力关系。 -- 《翌晨》(1986)简·方达饰演的过气歌手宿醉后发现床具男尸,在警探(杰夫·布里吉斯饰)协助下追溯真相。这部悬疑片巧妙融合了自我救赎与黑色电影元素。 -- 《西北偏北》(1959)希区柯克悬念杰作,广告商罗杰(加里·格兰特饰)被误认为间谍后展开横跨美国的逃亡。影片以玉米地飞机追杀和总统山对决等名场面,完美平衡了幽默与惊险。 -- 《偷窥狂》(1960)迈克尔·鲍威尔争议之作,记录连环杀手马克用摄影机捕捉受害者恐惧的变态过程。这部超前时代的元电影,尖锐批判了观众对暴力的窥淫癖好。 +根据实验结果可以得出一下结论: + +1. 在相同维度下,商业模型[text-embedding-v4](https://bailian.console.aliyun.com/?spm=5176.29597918.J_SEsSjsNv72yRuRFS2VknO.2.52007ca0kyUn9Q&tab=api#/api/?type=model&url=https%3A%2F%2Fhelp.aliyun.com%2Fdocument_detail%2F2712515.html)和[text-embedding-3-large](https://openai.com/index/new-embedding-models-and-api-updates/)的性能普遍优于开源模型,而商业模型之间的差异并不大。 +2. 在开源模型中,[mxbai-embed-large](https://ollama.com/library/mxbai-embed-large)的表现最好,可以作为自行部署的首选模型。 +3. 向量维度对模型表现有显著影响,随着向量维度的增加,模型的Top-K准确率普遍提高,但是提高的幅度逐渐减小。需要权衡推荐准确率和计算存储成本,选择合适的向量维度。 + +::: tip + +除非有严苛的计算存储资源限制,否则建议使用512维以上的向量长度,从而获得较好的推荐准确率。 + +::: + +除了量化对比,我们还可以通过推荐结果来直观地感受模型的表现。以下是使用[text-embedding-v4](https://bailian.console.aliyun.com/?spm=5176.29597918.J_SEsSjsNv72yRuRFS2VknO.2.52007ca0kyUn9Q&tab=api#/api/?type=model&url=https%3A%2F%2Fhelp.aliyun.com%2Fdocument_detail%2F2712515.html)两种维度嵌入向量为[《迷魂记》](https://movie.douban.com/subject/1297294/)推荐的相似电影列表: + +::: tabs + +@tab 2048 + +| 电影名称 | 发布年份 | 导演 | 电影类型 | +|----------------|----------|-------------------|------------------| +| 《后窗》 | 1954 | 阿尔弗雷德·希区柯克 | 惊悚片/悬疑 | +| 《爱德华大夫》 | 1945 | 阿尔弗雷德·希区柯克 | 心理惊悚片 | +| 《惊魂记》 | 1960 | 阿尔弗雷德·希区柯克 | 心理惊悚片/恐怖 | +| 《西北偏北》 | 1959 | 阿尔弗雷德·希区柯克 | 悬疑惊悚片 | +| 《欲海惊魂》 | 1950 | 阿尔弗雷德·希区柯克 | 悬疑片 | +| 《电话谋杀案》 | 1954 | 阿尔弗雷德·希区柯克 | 悬疑/犯罪 | +| 《哑女惊魂记》 | 1946 | 罗伯特·西奥德马克 | 心理惊悚片/黑色电影 | +| 《搭便车的人》 | 1953 | 艾达·卢皮诺 | 黑色电影 | +| 《辣手摧花》 | 1943 | 阿尔弗雷德·希区柯克 | 悬疑/惊悚 | +| 《崩溃边缘的女人》 | 1988 | 佩德罗·阿莫多瓦 | 剧情/喜剧/社会讽刺 | + +@tab 64 + +| 电影名称 | 发布年份 | 导演 | 电影类型 | +|-----------------|----------|---------------------|---------------| +| 《死亡密码》 | 1998 | 达伦·阿罗诺夫斯基 | 心理惊悚片 | +| 《沉默的陷阱》 | 1994 | - | 心理悬疑 | +| 《崩溃边缘的女人》 | 1988 | 佩德罗·阿莫多瓦 | 黑色喜剧 | +| 《欲望号快车》 | 1996 | 大卫·柯南伯格 | 先锋电影/心理惊悚 | +| 《大开眼戒》 | 1999 | 斯坦利·库布里克 | 心理惊悚/剧情 | +| 《惊魂记》 | 1960 | 阿尔弗雷德·希区柯克 | 恐怖/心理惊悚 | +| 《窗》 | 1980 | 赫伯·弗里德 | 心理惊悚 | +| 《含冤莫白酒醒时》 | 1986 | - | 悬疑/黑色电影 | +| 《西北偏北》 | 1959 | 阿尔弗雷德·希区柯克 | 悬疑/冒险 | +| 《偷窥狂》 | 1960 | 迈克尔·鲍威尔 | 心理惊悚/元电影 | + +::: + +对于刚看完《迷魂记》的用户来说,2048维的向量推荐的电影和《迷魂记》有着更高的相关性和相似度。 + +## 总结 + +本文对文本嵌入模型在推荐场景下的性能进行了评估,结果表明商业模型在推荐准确率上普遍优于开源模型,而开源模型中[mxbai-embed-large](https://ollama.com/library/mxbai-embed-large)表现较好。向量维度对模型性能有显著影响,建议使用512维以上的向量长度以获得较好的推荐效果。