推荐系统前沿初探:从语义 ID 到多模态大模型

部署运行你感兴趣的模型镜像

最近在企业实习,调研多模态大模型 + 推荐系统的相关工作。mentor 提到一个非常核心的问题:多模态大模型生成的 embedding 是连续的,而传统推荐系统需要离散的语义 ID 才能工作。

听到这个问题,我脑袋里充满了疑惑:

  • 什么是语义 ID?它是怎么生成的?
  • 传统推荐系统为什么需要离散的 ID?
  • 多模态大模型生成 embedding 的原理是什么?
  • 连续的 embedding 又是如何变成离散 ID 的呢?

疑问 1:语义 ID 是什么?

起点:语义 ID 是什么东西?为什么叫它“语义”ID?

解答
语义 ID(Semantic ID)可以理解成商品的“语义指纹”。它是一串离散的符号序列,比如类似 "A3B9C2" 这种固定长度的字符串。它的本质是用离散的形式编码商品的语义信息,相似的商品拥有相似的 ID

举个例子:
假设我们有两件商品——一件蓝色连衣裙和一件绿色连衣裙。通过语义 ID 的映射,它们可能分别对应 "A3B9""A3B8"。从这些 ID 中,我们可以看出它们属于同一大类(连衣裙),但在颜色上有微小的差异。

那么,语义 ID 是如何生成的呢?

  1. 输入:商品的多模态信息,例如文本(标题、描述)和图像(商品图片)。
  2. 处理:将这些信息转换成向量表示(embedding),再通过量化方法将连续向量变成离散 ID。
  3. 输出:一串固定长度的符号序列。

技术实现

  • 假设一个商品的 embedding 是 [0.3, -0.7, 1.2] 这样的连续向量,我们可以通过量化技术(比如哈希映射)找到与其最近的离散符号,最终生成 ID。

为什么叫“语义”ID?
因为这种 ID 是从商品的语义信息中提取出来的,能够反映商品的核心特征。


疑问 2:传统推荐系统为什么需要离散的语义 ID?

起点:多模态大模型可以生成连续 embedding,为什么传统推荐系统一定要用离散的语义 ID?

解答
传统推荐系统讲究的是高效性可扩展性,而离散的语义 ID 正是实现这些目标的关键。

传统推荐系统的工作流程
  1. 召回阶段
    系统会根据用户的兴趣,从海量商品中快速筛选出一个小集合(比如从 1 亿商品中召回 1000 个候选商品)。
    • 技术上,召回通常依赖倒排索引(类似搜索引擎)。离散的语义 ID 可以直接通过哈希索引快速定位到相似商品,召回的速度非常快。
  2. 排序阶段
    对召回的商品进行精细打分,挑选出最优的推荐结果。这一步可能会用到更复杂的模型(比如深度学习)。
离散语义 ID 的优势
  • 空间 - 存储高效:离散 ID 的存储成本很低,1 亿商品的 ID 索引可能只需要 100MB 数据,而连续 embedding 则可能需要 10GB 以上的存储空间。
  • 时间 - 检索快速:哈希查找的复杂度是 O(1),比起连续向量的相似度计算(复杂度 O(n))要快得多。

疑问 3:多模态大模型如何生成连续 embedding?

起点:多模态大模型是如何“理解”商品的,又是怎么生成这些连续 embedding 的?

解答
多模态大模型的强大之处在于,它能够融合商品的多种模态信息(文本、图像等),用一个连续向量(embedding)来表示商品的语义。

工作原理
  1. 输入
    • 文本模态:商品标题、描述等,经过分词后转成 Token。
    • 图像模态:商品图片,通常会被切分成小块(patch),比如一张图片被分成 16x16 的像素块。
  2. 模型结构
    • 文本信息进入 Transformer 网络,生成文本特征向量。
    • 图片信息进入 ViT(Vision Transformer) 或 CNN,生成视觉特征向量。
    • 通过 Cross-Attention 机制,将文本和图像的信息融合在一起,最终得到一个统一的商品向量。
  3. 输出
    一个高维连续向量,比如 768 维的浮点数 [0.2, -0.5, 0.8, ...],其中每一维都可以看作是商品的某种特征。
为什么 embedding 是连续的?

因为模型的训练目标就是让相似的商品在向量空间中距离更近(比如余弦相似度更高)。连续的 embedding 能更细腻地表示商品之间的关系。


疑问 4:如何将连续 embedding 转为离散的语义 ID?

起点:既然推荐系统需要离散的 ID,那连续 embedding 是怎么转过去的?

解答
这一步的核心是量化,即将连续的向量空间“离散化”。以下是一些常见的方法:

1. 局部敏感哈希(LSH)

将 embedding 投影到多个随机超平面上,根据每个超平面的结果(“在上”或“在下”)生成一个离散的哈希码。

2. 乘积量化(PQ)

将高维向量分成多个子向量(比如 768 维 → 8 个 96 维子向量),然后对每个子向量独立量化。
这样可以大大降低存储成本,同时保留向量的相似性。

3. Matryoshka 量化(NEAR2 核心)

将向量分层嵌套量化(比如 512 维 → 256 维 → 128 维 → 64 维),每一层的量化结果都可以作为语义 ID 的一部分。


结语:从连续到离散,推荐系统的平衡之道

通过这次探索,我终于明白了,连续 embedding 和离散语义 ID 是推荐系统中两种不同的技术选择

  • 连续 embedding 更适合表达商品的语义关系,适合深度学习模型的训练。
  • 离散语义 ID 则更高效,支撑了推荐系统的实时性和可扩展性需求。
  • 两者的结合,正是未来多模态推荐系统发展的方向。

希望这篇文章能帮你也对这个领域有更清晰的了解。一起加油吧!

您可能感兴趣的与本文相关的镜像

Qwen3-VL-30B

Qwen3-VL-30B

图文对话
Qwen3-VL

Qwen3-VL是迄今为止 Qwen 系列中最强大的视觉-语言模型,这一代在各个方面都进行了全面升级:更优秀的文本理解和生成、更深入的视觉感知和推理、扩展的上下文长度、增强的空间和视频动态理解能力,以及更强的代理交互能力

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值