一、定义
Embedding(嵌入)是一种将高维、离散或非结构化数据(如文本、图像、类别标签)映射到低维连续向量空间的技术。
这些向量能捕捉原始数据的语义或特征信息,并使得相似的对象在向量空间中距离更近。
通俗比喻: 给每个词语/物品发一张智能身份证,身份证号码(向量)隐含其特征。
通过模型(如 Word2Vec)将单词转换为向量:
二、Embedding 的应用案例
1.搜索与推荐: 把用户浏览记录转为向量,匹配相似商品
2.智能客服: 将用户问题映射到知识库答案的向量空间
3.人脸识别: 将人脸图像编码为 128 维向量(如 FaceNet)
4.病历分析: 医疗文本 Embedding 辅助诊断(如腾讯觅影)
5.合同审查: 法律条文 Embedding 快速匹配相似案例
6.以图搜图: 图片 Embedding 相似度匹配(电商找同款)
7.信贷评估: 将消费记录转为信用风险向量
三、静态 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年提出的模型,首次实现了真正意义上的上下文感知的词向量表示
四、大模型生成embedding怎么做?
大模型embedding VS 小模型embedding
1.简介:
BERT: 更适合需要双向上下文理解的任务,通过微调获得高性能
LLM: 在零样本场景和生成任务中表现优越,但需设计合理的Embedding提取策略
2.原理与结构差异
BERT的Embedding生成原理:
模型结构: 基于Transformer编码器,使用双向自注意力机制。
预训练任务: Masked Language Model(MLM)和 Next Sentence Prediction (NSP)。
Embedding来源:
Token-level: 每个token的隐藏状态(最后一层或多层平均)。
Sentence-level: 通常取[CLS]token的隐藏状态作为句子表示,或通过池化(平均/最大池化)所有token的隐藏状态
LLM(如Qwen)的Embedding生成原理:
模型结构: 基于Transformer解码器,使用单向自注意力(仅关注左侧上下文)
预训练任务: 自回归语言建模(预测下一个token)。
Embedding来源:
通常取最后一层所有token的隐藏状态,或最后一个token的隐藏状态作为序列表示(需根据任务调整)
五、计算步骤对比
1.BERT的计算流程:
输入处理:
Tokenization后生成 input ids 和attention mask
前向传播:
提取Embedding
[CLS]token: cls_embedding =last hidden_state[:,0,:]
平均池化:mean embedding =last hidden state.mean(dim=1)
2.LLM(如Qwen)的计算流程:
输入处理:Tokenization生成 input ids。
前向传播:
提取Embedding:
最后一个token: last_token_embedding=last_layer[:,-1,:]
平均池化: mean embedding=last layer.mean(dim=1)
3.优缺点
4.应用场景
BERT Embedding:
文本分类、实体识别(NER)、语义相似度(需微调或Sentence-BERT)。
短文本理解任务(如问答系统)
LLM Embedding:
零样本/少样本学习(如文本分类、聚类)
生成任务的前置表示(如文本摘要、对话系统)
长文本表示(需结合池化策略)
5.改进方法
BERT的改进:
池化策略优化: 使用动态掩码池化、加权平均(如BERT-Whitening)
对比学习: SimCSE通过Dropout生成正样本,提升句子表示区分度
多层融合: Concatenate最后几层的隐藏状态(如BERT-4-8层)
LLM的改进:
双向化改造: 在特定层引入双向注意力(如UniLM)
中间层利用: 结合多层表示(如取第16层和第24层的平均)
微调策略: 通过Adapter或LORA适配下游任务,避免全参数微调
6.实现代码示例
六、如何训练大模型,使LLM具有语义表征能力?
基于Qwen2.5训练商品语义表征模型的完整流程(以电商场景构建商品向量检索系统为例)
简介: 某跨境电商平台需要为3000万SKU建立语义检索系统,要求将商品标题、描述、属性等文本信息编码为768维向量,支持多语言相似商品检索。
过对比学习对齐语义空间,利用Qwen2.5强大的语言理解能力,结合业务数据特性进行针对性优化,需要注意的是,实际部署时要做好版本管理和AB测试。
1.训练阶段
原始数据采集
商品标题(中/英/西/法等多语言)
商品描述(结构化+非结构化文本)
- 商品类目三级标签
- 用户搜索点击日志(正样本对)
- 人工标注的相似商品对(5万组)
数据预处理:
2.模型选择与改造
基座模型: Qwen2.5-7B(平衡效果与推理成本)
改造方案:
在Transformer顶层增加Mean Pooling层
添加可学习的[CLS]token
输出层接768维投影层(L2正则化)
3.训练策略设计
对比学习框架(Triplet Loss +InfoNCE)
Batch构造策略:
在线困难样本控掘(Online Hard Mining)
跨语言负样本生成(同品类不同语言商品)
混合训练数据:
4.分布式训练配置
硬件: 8xA100 80GB(NVLink互联)
并行策略:
5.评估与调优
离线评估指标:
多维度评估
业务效果
商品搜索CTR提升23%
长尾商品曝光量增加45%
平均响应时间<80ms(A10 GPU)
优化方案
1.多语言对齐: 通过共享subword词汇表实现跨语言映射
2.属性增强: 将商品规格参数(如"256GB ROM")转换为结构化提示