当前位置: 首页 > web >正文

【Token系列】02 | Embedding是怎么“长出来”的?从查表到训练过程全解

02 | Embedding是怎么“长出来”的?从查表到训练过程全解

副标题:如何从字符变成向量,再从向量学会语义


一、什么是 Embedding?

Embedding 是语言模型中用于表示 token 的高维向量
每个 token 本质上是一个编号,Embedding 是将这个编号映射为一个可学习的、具有语义的向量表示。


二、从 Token 到 Embedding 的流程

  1. Token → ID:token 被赋予一个唯一编号,如 "GPT"32874
  2. ID → 向量:模型维护一个 Embedding Table,查表得到向量表示:
    • 示例:Embedding[32874] = [0.23, -0.71, ..., 0.08](通常为768~4096维);
  3. 向量 → 输入模型:这些向量才是 Transformer 的输入。

三、Embedding Table 是什么?

它是一个二维矩阵,结构如下:

参数项数值(示例)
词表大小50,257 个 token
向量维度4096维(GPT-4)
表大小50,257 × 4096

每一行对应一个 token,每一列是该 token 的某个维度特征值。


四、Embedding 是怎么“训练”的?

Embedding 是通过梯度下降 + 反向传播自动学习出来的:

  • 初始化时是随机数;
  • 通过每次预测误差(Loss),反向传播误差信号;
  • 梯度更新时,Embedding 表中使用过的行被调整;
  • 多次迭代后,语义相似的 token 向量逐渐靠近。

例:模型预测“他很[ ]” → 真值是“高兴”,若预测成“伤心”,则“伤心”向量会被远离目标,“高兴”会被吸引靠近。


五、Embedding 有哪些特性?

特性项描述
高语义密度向量距离可表示语义接近性
稠密向量不使用 one-hot,而是每个 token 有实数向量
共享策略GPT 输入输出可共享同一套 embedding 参数表
可视化分析可使用 PCA / t-SNE 降维分析语义聚类关系

六、Embedding 的优化与扩展

  1. 冻结 Embedding:微调时固定原始向量,防止过拟合;
  2. 预训练向量初始化:如加载 GloVe / word2vec 向量;
  3. 多语言融合:跨语言词向量训练共享语义空间;
  4. 低频词建模:对出现次数少的 token 设计特殊正则策略或 fallback机制。

七、总结

Token 是语言的门票,Embedding 是语义的能量条。
Embedding 将离散的语言编号映射为模型能理解的语义空间,为语言模型的理解、记忆与生成奠定了数值基础。


附:Embedding 向量可视化示例

为了直观理解 Embedding 如何表达语义接近关系,我们可以将高维向量(如 768维)通过降维方法(如 t-SNE 或 PCA)投影到二维空间。

示例图:

Embedding 可视化示意图

在这张图中:

  • 同类词(如“高兴”、“开心”、“快乐”)聚集成簇;
  • 反义词(如“伤心”、“痛苦”)位于另一区域;
  • 专有名词(如“清华”、“哈佛”、“斯坦福”)也呈现语义团簇特征。

这种结构证明了:模型确实在向量空间中学习了语义相似性,即便只是通过统计和误差传播训练出来的。

可视化工具推荐:TensorBoard Embedding Projector、UMAP、t-SNE、PCA。

http://www.xdnf.cn/news/2123.html

相关文章:

  • git和github的使用指南
  • 探索具身智能协作机器人:技术、应用与未来
  • 苹果(IOS)手机怎么开启开发者模式(简单明了版)
  • 在QML中获取当前时间、IP和位置(基于网络请求)
  • 机器学习:逻辑回归实现二元分类
  • 【解决】trying to draw too large(147456000bytes) bitmap
  • 当自动驾驶遇上“安全驾校”:NVIDIA如何用技术给无人驾驶赋能?
  • Redis和MQ的区别
  • WEB安全--RCE--webshell bypass
  • 数据分析岗位-相关知识
  • Nginx性能优化:从配置到缓存,全面提升Web服务器性能
  • Datawhale AI春训营二期---使用AI实现老人的点餐效果(关于task2的相关思考)
  • [FPGA Video IP] Video Processing Subsystem
  • 基于Tcp协议的应用层协议定制
  • 软件技术专业
  • CF-Hero:自动绕过CDN找真实ip地址
  • 深入理解 C++ 三法则:资源管理的关键准则
  • Linux基础IO(十一)之动态库(基础IO的最后一篇啦!)
  • 智能座舱背后的秘密:智能座舱测试如何“具身智能”
  • Golang | 自行实现并发安全的Map
  • 在 WSL 安装 OpenFOAM-12
  • 【软件工程】TCP三次握手中的SYN与ACK:核心机制详解
  • 使用ast解ob混淆时关于types的总结
  • leetcode刷题日记——简化路径
  • AI与思维模型【79】——煤气灯效应
  • 深入解析Mlivus Cloud核心架构:rootcoord组件的最佳实践与调优指南
  • 【金仓数据库征文】交通行业的国产化数据库替换之金仓数据库KingbaseES应用实践
  • 【风控】稳定性指标PSI
  • 基于STM32、HAL库的MAX31865模数转换器ADC驱动程序设计
  • 消息队列mq在Mlivus Cloud向量数据库中的关键配置与最佳实践