4 嵌入(Embeddings)

还记得吗?我们已经把一个能够预测“叶子”还是“花”的简单神经网络,成功的用来预测句子的“下一个输出字符”,从而构建了一个初步的语言模型:

但这个简单模型离真正的现代语言模型还相差甚远,需要大量的优化创新,今天首先来看现代语言模型的一个基础概念:嵌入(Embedding)与向量(Vectors)。

你可能在RAG(检索增强生成)应用中了解了如何利用嵌入与向量实现语义检索。但请注意嵌入是语言模型得以工作的基础而非RAG。

01 从简单的字符映射到嵌入

在前面的模型中,输入采用简单的数字编码,字符通常被表示为任意的数字。例如,a = 1b = 2,依此类推。这种方法虽然简单,但存在明显的缺陷:这些数字没有任何语义信息,无法捕捉字符之间的丰富的语义关系或上下文。

“嵌入” 就是为了解决这个问题。**嵌入是一种将字符、单词或符号映射到一组数字的方法。****这些数字不是随意选择的,而是通过训练模型学习得到的。**核心思想是:通过优化输入表示,使模型能够更好地捕捉语言的结构和语义。

这里的一组数字我们称为“向量”,向量是一个有序的数字集合。 例如,一个长度为10的向量可以表示为 [0.1, 0.2, 0.3, …, 0.10]。注意,每个数字在向量中的位置是固定的,交换位置会得到不同的向量。就像前面的“叶子 / 花朵”的数据,如果交换叶子的 R 和 G 值,就会得到不同的颜色,也就不再是同一个向量。

02 嵌入(向量表示)是如何训练出来的?

那么这些输入的数字(即向量)表示如何被训练出来的呢?答案是**与神经网络的权重训练类似,即通过梯度下降来获得最优的向量表示。**还记得权重的训练过程吗:

  1. 输入数据:将字符或单词输入模型。

  2. 计算输出:通过神经网络计算输出结果。

  3. 计算损失:将输出与预期结果进行比较,计算损失(即误差)。

  4. 调整权重:通过梯度下降调整模型的权重,以最小化损失,开始新一轮训练。

  5. 多轮迭代:经过多轮的迭代,最终将会把权重调整到一个合适的值。

所以嵌入的训练过程也是类似:

  1. 初始化嵌入:首先为每个字符分配一个随机的向量,即一组数字。

  2. 输入到网络:我们将这些向量传递到神经网络中进行处理。

  3. 优化向量:与优化权重类似,通过计算损失函数,来优化这些嵌入向量的值。通过梯度下降,不断调整这些向量,使得模型输出更接近我们期望的结果。

随着训练的进行,这些向量会逐渐变得更加“智能”,它们会捕捉到每个字符的语义特征,并且这种嵌入方式可以在不同的模型中复用。例如,如果我们为字符“a”学习到的向量是[0.2, 0.5, 0.1, 0.3],那么每次我们遇到字符“a”时,模型都会使用这个向量进行处理,而不必每次重新随机初始化。

03 向量如何输入神经网络?

假设我们为每个字符分配一个长度为10的向量。那么,如果输入“humpty dumpt”这一串12个字符,就需要将每个字符的向量拼接起来,形成一个长度为120的输入层(12字符 × 10数字/字符)。

  • 输入层的扩展:原本的输入层可能只有12个神经元(每个字符对应一个神经元),但现在扩展到了120个神经元。每个字符的向量被依次排列,输入到网络中。

  • 所有的嵌入向量长度必须相同,否则我们就无法将所有字符组合输入到网络中。例如,“humpty dumpt” 和下一次迭代中的 “umpty dumpty”,在这两种情况下,我们都要向网络中输入 12 个字符,如果这 12 个字符不是都由长度为 10 的向量表示,我们就无法可靠地将它们全部输入到 120 个长度的输入层中。

04 嵌入矩阵

为了方便管理和使用嵌入向量,这里引入嵌入矩阵的概念。

  • 什么是嵌入矩阵?**嵌入矩阵是一个二维数组,其中每一列对应一个字符或单词的向量。**例如,假设我们有26个字母,每个字母的向量长度为10,那么嵌入矩阵的大小就是 10 × 26。

图片来自原文

  • 如何使用嵌入矩阵?**当我们需要表示某个字符时,只需查找嵌入矩阵中对应的列。**例如,字母“a”的向量就是嵌入矩阵的第一列。

嵌入矩阵不仅可以用于字符,还可以用于单词、符号,甚至更复杂的语言单元。它的灵活性使得嵌入成为现代语言模型的核心组件之一。通过嵌入将词汇转换成的向量还有一个特征,**这些向量可以捕捉到词汇之间的相似性。**例如,词汇的嵌入向量可以捕捉到“king”和“queen”之间的语义关系,即它们的嵌入向量距离非常接近。

从最初的简单数字表示到高维度嵌入向量,嵌入技术让神经网络能够更好地理解和处理复杂的语言信息,为进一步生成自然流畅的人类语言奠定基础。

截至目前我们探讨的嵌入仍然是基于单个字符,这存在一定的局限性,我们将在下一篇中探讨:如何基于更大的单元(sub-word)生成向量?

零基础如何学习AI大模型

领取方式在文末

为什么要学习大模型?

学习大模型课程的重要性在于它能够极大地促进个人在人工智能领域的专业发展。大模型技术,如自然语言处理和图像识别,正在推动着人工智能的新发展阶段。通过学习大模型课程,可以掌握设计和实现基于大模型的应用系统所需的基本原理和技术,从而提升自己在数据处理、分析和决策制定方面的能力。此外,大模型技术在多个行业中的应用日益增加,掌握这一技术将有助于提高就业竞争力,并为未来的创新创业提供坚实的基础。

大模型典型应用场景

AI+教育:智能教学助手和自动评分系统使个性化教育成为可能。通过AI分析学生的学习数据,提供量身定制的学习方案,提高学习效果。
AI+医疗:智能诊断系统和个性化医疗方案让医疗服务更加精准高效。AI可以分析医学影像,辅助医生进行早期诊断,同时根据患者数据制定个性化治疗方案。
AI+金融:智能投顾和风险管理系统帮助投资者做出更明智的决策,并实时监控金融市场,识别潜在风险。
AI+制造:智能制造和自动化工厂提高了生产效率和质量。通过AI技术,工厂可以实现设备预测性维护,减少停机时间。

这些案例表明,学习大模型课程不仅能够提升个人技能,还能为企业带来实际效益,推动行业创新发展。

学习资料领取

如果你对大模型感兴趣,可以看看我整合并且整理成了一份AI大模型资料包,需要的小伙伴文末免费领取哦,无偿分享!!!
vx扫描下方二维码即可
加上后会一个个给大家发

在这里插入图片描述

部分资料展示

一、 AI大模型学习路线图

整个学习分为7个阶段
在这里插入图片描述
请添加图片描述

二、AI大模型实战案例

涵盖AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,皆可用。
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

三、视频和书籍PDF合集

从入门到进阶这里都有,跟着老师学习事半功倍。
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

四、LLM面试题

在这里插入图片描述
在这里插入图片描述

五、AI产品经理面试题

在这里插入图片描述

😝朋友们如果有需要的话,可以V扫描下方二维码联系领取~
在这里插入图片描述

👉[CSDN大礼包🎁:全网最全《LLM大模型入门+进阶学习资源包》免费分享(安全链接,放心点击)]👈

Logo

欢迎加入 MCP 技术社区!与志同道合者携手前行,一同解锁 MCP 技术的无限可能!

更多推荐