大白话AI科普:大家一直说的Embedding(嵌入)是什么?

0 阅读5分钟

一、定义

Embedding(嵌入)是一种将高维、离散或非结构化数据(如文本、图像、类别标签)映射到低维连续向量空间的技术。

img

这些向量能捕捉原始数据的语义或特征信息,并使得相似的对象在向量空间中距离更近。

通俗比喻: 给每个词语/物品发一张智能身份证,身份证号码(向量)隐含其特征。

通过模型(如 Word2Vec)将单词转换为向量:

img

二、Embedding 的应用案例

1.搜索与推荐: 把用户浏览记录转为向量,匹配相似商品

2.智能客服: 将用户问题映射到知识库答案的向量空间

3.人脸识别: 将人脸图像编码为 128 维向量(如 FaceNet)

4.病历分析: 医疗文本 Embedding 辅助诊断(如腾讯觅影)

5.合同审查: 法律条文 Embedding 快速匹配相似案例

6.以图搜图: 图片 Embedding 相似度匹配(电商找同款)

7.信贷评估: 将消费记录转为信用风险向量

img

三、静态 vs 动态 Embedding(传统身份证 vs 变色龙身份证)

1.静态 Embedding(如 Word2Vec)

特点: 每个词只有唯一固定的向量,无法区分多义词

2.BERT 的动态 Embedding(上下文敏感)

特点: 同一个词在不同语境中向量实时变化

# 水果场景: "苹果"→ [0.2, -1.5,3.8, 0.9]

# 科技场景: "苹果"→> [1.7,0.3, -2.1,4.2]

效果: 模型能感知"苹果"在句子中的真实含义

注① Word2Vec: Google 在 2013年提出的模型,用于生成词向量

注② BERT: Google 在 2018年提出的模型,首次实现了真正意义上的上下文感知的词向量表示

img

四、大模型生成embedding怎么做?

大模型embedding VS 小模型embedding

1.简介:

BERT: 更适合需要双向上下文理解的任务,通过微调获得高性能

LLM: 在零样本场景和生成任务中表现优越,但需设计合理的Embedding提取策略

2.原理与结构差异

BERT的Embedding生成原理:

模型结构: 基于Transformer编码器,使用双向自注意力机制。

预训练任务: Masked Language Model(MLM)和 Next Sentence Prediction (NSP)。

img

Embedding来源:

Token-level: 每个token的隐藏状态(最后一层或多层平均)。

Sentence-level: 通常取[CLS]token的隐藏状态作为句子表示,或通过池化(平均/最大池化)所有token的隐藏状态

LLM(如Qwen)的Embedding生成原理:

模型结构: 基于Transformer解码器,使用单向自注意力(仅关注左侧上下文)

预训练任务: 自回归语言建模(预测下一个token)。

Embedding来源:

通常取最后一层所有token的隐藏状态,或最后一个token的隐藏状态作为序列表示(需根据任务调整)

img

五、计算步骤对比

1.BERT的计算流程:

输入处理:

添加特殊token: CLSSEP

Tokenization后生成 input ids 和attention mask

前向传播:

img

提取Embedding

[CLS]token: cls_embedding =last hidden_state[:,0,:]

平均池化:mean embedding =last hidden state.mean(dim=1)

2.LLM(如Qwen)的计算流程:

输入处理:Tokenization生成 input ids。

前向传播:

img

提取Embedding:

最后一个token: last_token_embedding=last_layer[:,-1,:]

平均池化: mean embedding=last layer.mean(dim=1)

3.优缺点

img

4.应用场景

BERT Embedding:

文本分类、实体识别(NER)、语义相似度(需微调或Sentence-BERT)。

短文本理解任务(如问答系统)

LLM Embedding:

零样本/少样本学习(如文本分类、聚类)

生成任务的前置表示(如文本摘要、对话系统)

长文本表示(需结合池化策略)

img

5.改进方法

BERT的改进:

池化策略优化: 使用动态掩码池化、加权平均(如BERT-Whitening)

对比学习: SimCSE通过Dropout生成正样本,提升句子表示区分度

多层融合: Concatenate最后几层的隐藏状态(如BERT-4-8层)

LLM的改进:

双向化改造: 在特定层引入双向注意力(如UniLM)

中间层利用: 结合多层表示(如取第16层和第24层的平均)

微调策略: 通过Adapter或LORA适配下游任务,避免全参数微调

6.实现代码示例

img

六、如何训练大模型,使LLM具有语义表征能力?

基于Qwen2.5训练商品语义表征模型的完整流程(以电商场景构建商品向量检索系统为例)

简介: 某跨境电商平台需要为3000万SKU建立语义检索系统,要求将商品标题、描述、属性等文本信息编码为768维向量,支持多语言相似商品检索。

过对比学习对齐语义空间,利用Qwen2.5强大的语言理解能力,结合业务数据特性进行针对性优化,需要注意的是,实际部署时要做好版本管理和AB测试。

img

1.训练阶段

原始数据采集

商品标题(中/英/西/法等多语言)

商品描述(结构化+非结构化文本)

  • 商品类目三级标签
  • 用户搜索点击日志(正样本对)
  • 人工标注的相似商品对(5万组)

数据预处理:

img

2.模型选择与改造

基座模型: Qwen2.5-7B(平衡效果与推理成本)

改造方案:

在Transformer顶层增加Mean Pooling层

添加可学习的[CLS]token

输出层接768维投影层(L2正则化)

img

3.训练策略设计

对比学习框架(Triplet Loss +InfoNCE)

Batch构造策略:

在线困难样本控掘(Online Hard Mining)

跨语言负样本生成(同品类不同语言商品)

混合训练数据:

img

4.分布式训练配置

硬件: 8xA100 80GB(NVLink互联)

并行策略:

img

img

5.评估与调优

离线评估指标:

img

多维度评估

img

业务效果

商品搜索CTR提升23%

长尾商品曝光量增加45%

平均响应时间<80ms(A10 GPU)

优化方案

1.多语言对齐: 通过共享subword词汇表实现跨语言映射

2.属性增强: 将商品规格参数(如"256GB ROM")转换为结构化提示

img