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

大语言模型(LLM)入门笔记:嵌入向量与位置信息

一、嵌入向量(Embeddings):让计算机"看懂"文字

1. 什么是嵌入向量?

你可以把嵌入向量理解成文字的"数字翻译器"。计算机看不懂"猫""狗"这些文字,只能处理数字,嵌入向量就负责把文字转换成一串数字(比如[0.2, 0.5, -0.3]),同时还保留了文字的意思。

2. 为什么需要嵌入向量?

  • 举个例子:用"One-Hot编码"表示"猫"可能是[1,0,0,0,...](一万个数字里只有一个1),不仅浪费空间,还无法表示"猫"和"狗"都是动物的关系
  • 嵌入向量的优势
    • 维度小(通常几百维),计算快
    • 语义相似的词,向量也相似("猫"和"狗"的向量很接近)
    • 能体现语义关系(比如"国王"-“男人”+“女人"≈"女王”)

3. 两种常见的嵌入向量

类型特点例子
上下文无关同一个词在任何句子里向量都一样Word2Vec、GloVe
上下文相关同一个词在不同句子里向量不同LLM(如BERT、GPT)中的嵌入

通俗例子
"苹果"在"我吃苹果"和"苹果手机"中,上下文无关嵌入会给出相同向量,而上下文相关嵌入会给出不同向量(因为意思不同)

4. 在LLM中的作用

嵌入向量是模型处理文本的"第一道工序",所有文字都要先变成嵌入向量,模型才能开始后续计算。

二、位置信息(Positional Information):让模型知道"谁先谁后"

1. 什么是位置信息?

位置信息就是给句子中的每个词打上"位置标签",告诉模型这个词在句子中排第几。

2. 为什么需要位置信息?

  • 关键原因:LLM的核心组件(Transformer)是"并行计算"的,默认不知道词的顺序
  • 举个例子
    "我爱你"和"你爱我"用词完全相同,但意思相反,全靠词的顺序决定

3. 两种常见的位置编码方式

  • 绝对位置编码(Transformer原论文用):
    给每个位置(第1个、第2个…)分配一个固定向量,用正弦/余弦函数生成,位置越近向量越相似

  • 相对位置编码(GPT等模型用):
    不关心词在"第几个",只关心词之间的"距离"(比如A在B前面3个位置),更符合人类理解习惯

4. 在LLM中的作用

位置信息+嵌入向量,就像给模型同时提供了"词的意思"和"词的顺序",模型才能理解句子结构(比如主谓宾关系)。

三、小白必知的注意点和易错点

关于嵌入向量

  1. 维度不是越高越好
    维度太高会增加计算量,通常根据任务选择(比如768维、1024维)

  2. 一词多义要靠上下文
    刚开始学容易以为一个词只有一个向量,实际上在LLM中,同一个词在不同语境下向量不同

  3. 预训练模型需要微调
    通用的嵌入向量在专业领域(如医学、法律)效果不好,需要针对性调整

关于位置信息

  1. 超过长度会失效
    每个模型都有最大处理长度(比如GPT-3是2048个词),超过这个长度,位置信息会出错

  2. 不是简单的序号
    刚开始可能以为位置编码就是1、2、3…其实是复杂的数学设计,目的是让模型更好地理解位置关系

  3. 与嵌入向量的结合方式
    通常是"相加"而不是"拼接",这样能同时保留语义和位置信息

常见误解

  • ❌ 错误:嵌入向量只能表示单词
    ✅ 正确:可以表示任何文本单元(字、词、短语、句子甚至段落)

  • ❌ 错误:位置信息不重要,模型自己能猜出来
    ✅ 正确:没有位置信息,模型会把"我打你"和"你打我"当成一个意思

四、代码示例

1. 词嵌入示例(用Gensim库)

from gensim.models import Word2Vec
from sklearn.metrics.pairwise import cosine_similarity# 训练数据:几个简单句子
sentences = [["猫", "是", "一种", "动物"],["狗", "是", "一种", "动物"],["苹果", "是", "一种", "水果"]
]# 训练Word2Vec模型(生成嵌入向量)
model = Word2Vec(sentences, vector_size=100, window=5, min_count=1, workers=4)# 获取词向量
cat_vec = model.wv["猫"]
dog_vec = model.wv["狗"]
apple_vec = model.wv["苹果"]# 计算相似度(值越大越相似)
print(f"猫和狗的相似度: {cosine_similarity([cat_vec], [dog_vec])[0][0]:.4f}")  # 结果会比较大
print(f"猫和苹果的相似度: {cosine_similarity([cat_vec], [apple_vec])[0][0]:.4f}")  # 结果会比较小

代码说明:这个例子能直观展示"语义相似的词,向量也相似"的特点

2. Transformer位置编码实现

import numpy as np
import matplotlib.pyplot as pltdef positional_encoding(position, d_model):"""生成Transformer原论文中的位置编码"""angle_rads = np.arange(position)[:, np.newaxis] / np.power(10000, np.arange(d_model)[np.newaxis, :] / np.float32(d_model))# 偶数索引用正弦,奇数用余弦angle_rads[:, 0::2] = np.sin(angle_rads[:, 0::2])angle_rads[:, 1::2] = np.cos(angle_rads[:, 1::2])pos_encoding = angle_rads[np.newaxis, ...]return pos_encoding# 可视化位置编码(能看到不同位置的编码模式)
pos_encoding = positional_encoding(50, 128)
plt.figure(figsize=(12, 8))
plt.pcolormesh(pos_encoding[0], cmap='viridis')
plt.xlabel('嵌入向量维度')
plt.xlim((0, 128))
plt.ylabel('位置')
plt.title('位置编码可视化')
plt.colorbar()
plt.show()

代码说明:运行后会显示一个彩色矩阵,每行代表一个位置的编码,能看到位置越近,颜色模式越相似

五、总结:嵌入向量 vs 位置信息

对比项嵌入向量位置信息
核心功能表示"词的意思"表示"词的顺序"
比喻文字的"数字指纹"队伍的"编号牌"
模型依赖所有LLM都必须有基于Transformer的LLM必须有
常见问题一词多义处理长文本位置信息衰减

简单说:嵌入向量让模型"懂词义",位置信息让模型"懂语法",两者结合是LLM理解语言的基础。

http://www.dtcms.com/a/490691.html

相关文章:

  • 网站设计济南做网站的一定要开80或8080端口
  • 【Spring Boot从入门到精通】原理、实战与最佳实践
  • uni-app 入门学习教程,从入门到精通,uni-app 基础知识详解 (2)
  • Pyspark分布式访问NebulaGraph图数据库
  • FPGA----petalinux的Ubuntu文件系统移植
  • 宜昌网站建设厂家wordpress 扁担
  • TensorFlow2 Python深度学习 - 卷积神经网络示例2-使用Fashion MNIST识别时装示例
  • Eureka: Human-Level Reward Design via Coding Large Language Models 译读笔记
  • 随时随地看监控:我的UptimeKuma远程访问改造记
  • 关于网站篡改应急演练剧本编写(模拟真实场景)
  • 河北省企业网站建设公司企业管理系统软件有哪些
  • JVM的classpath
  • RVO优化
  • ethercat 环型拓扑(Ring Topology)
  • 颠覆PD快充、工业控制与智能家电等领域高CTR,高隔离电压高可靠性光电耦合器OCT1018/OCT1019
  • 【机器学习入门】8.1 降维的概念和意义:一文读懂降维的概念与意义 —— 从 “维度灾难” 到低维嵌入
  • 黄骅市旅游景点有哪些盐城网站关键词优化
  • 对于网站建设的调查问卷爱南宁app官网下载
  • 一文读懂 YOLOv1 与 YOLOv2:目标检测领域的早期里程碑
  • 在 Windows 10/11 LTSC等精简系统中安装Winget和微软应用商店,Windows Server安装Microsoft Store的应用
  • A2A架构详解
  • 基础 - SQL命令速查
  • logo图片素材大全sem和seo都包括什么
  • 把 AI“缝”进布里:生成式编织神经网络让布料自带摄像头
  • 岳阳建网站长沙网站优化价格
  • [Sora] 分布式训练 | 并行化策略 | `plugin_type` | `booster.boost()`
  • Linux系统函数link、unlink与dentry的关系及使用注意事项
  • 安卓手机 IP 切换指南:告别卡顿,轻松换 IP
  • 微服务拆分:领域驱动设计,单体应用如何平滑迁移?
  • 企业网站推广的形式有哪些福州网站推广排名