Transformer:下一代语言模型的改变
目录
- 简介 🌟
- 什么是神经网络?
- 人工智能与语言模型的关系
- 使用神经网络预测语言
- 词嵌入与词向量化
- 训练大型语言模型的挑战
- Transformer: 改变游戏规则 🌟
- 转换器的工作原理
- 语言模型的高级推理能力
- 训练大型语言模型的实践
- 语言模型的局限性与未来展望
- 语言模型在创作中的应用
- 语言模型在编程中的应用
- 语言模型在音乐中的应用
- 结论 🌟
- FAQ 🌟
简介 🌟
欢迎回来!上次我们介绍了神经网络及其在逼近任意函数方面的应用。现在,我们将应用神经网络来模拟语言,这涉及到拟合这类问题——给定一些文本,我们想要预测最后一个单词。我们将使用某种神经网络来实现这一目标,首先需要将单词转化为数值,以使神经网络能够理解它们。你可以使用按字母顺序编号的方式来表示每个单词,但这会导致诸如"顶点"和"最高点"这样的近义词得到完全不同的编号。更好的方法是将语义上相似的单词映射到相似的编号或向量上。用于实现此功能的方法称为词嵌入,而且它们可以在网上方便地找到。那么,现在我们准备设计一个大型的语言神经网络,或许可以是这样的结构...
使用神经网络预测语言
💡 问题求解示例:以一句缺少最后一个单词的句子为例,你能猜出下一个单词是什么吗?我敢打赌只根据这四个单词,你就能猜到它是什么。这是一个关键的洞察,你只需要关注单词的子集即可。那么,如果我们能训练一个神经网络来解决这个"注意力问题"呢?我们可以通过使用一个注意力网络来实现这一点,该网络将输入单词并输出在0到1之间的注意力权重。我们将这些权重与单词本身相乘,然后将结果输入到下一个单词预测网络中。那么,如何训练注意力网络呢?
先让我们回到我们最喜欢的例子,假设我留下了最后一个单词,你能猜到它是什么吗?我敢打赌,只需要这四个单词,你就能猜到它是什么。这是一个关键的洞察,你只需要关注单词的子集。那么,如果我们能训练一个神经网络来解决这个"注意力问题"呢?我们可以通过使用一个注意力网络来实现这一点,该网络将输入单词并输出在0到1之间的注意力权重。我们将这些权重与单词本身相乘,然后将结果输入到下一个单词预测网络中。那么,如何训练注意力网络呢?
💡 转变思路:你可以雇佣一些人来注释有关韵律和其他单词关联的文本,并将其用作训练数据,但这听起来非常麻烦。事实证明,有一种更好的方法。让我们一起训练这两个网络...
Transformer: 改变游戏规则 🌟
实际上,预测网络在告诉注意力网络它需要学习什么以更好地预测下一个单词。例如,如果网络预测了"brown"而不是"red",因为"brown"与"bed"不押韵,因此反向传播算法可能会尝试增加对"bed"的注意力,减少导致选择"brown"的权重。这种方法非常有效,被称为"Transformer",而这个结合的网络被称为"Transformer"。虽然完整的架构相当复杂,但我将带你了解基本原理。
注意网络的实现方式与我刚才描述的方式有所不同,它是通过逐个处理单词进行操作的。我们从处理单词"still"开始,网络估计出每个其他单词与"still"的相关程度并将这些注意力得分编码为0到1之间的值。然后,我们将这些单词的加权和编码为上下文向量"c"。其他单词以相同的方式进行处理,例如,单词"changed"具有不同的依赖模式,导致其自己的上下文向量。最终,注意网络为每个单词生成一个上下文向量。然后,将这些上下文向量与原始单词一起输入到预测网络中。
练习开始啦
Length reduced to: 18000
for evaluation