LLM

Transformer

https://jalammar.github.io/illustrated-transformer/

简介

人工智能就是使用计算机技术来实现人类智能的技术,在一般教材定义为研究与构建智能体。智能体就是 Intelligent agent,或简称 agent,它通过模仿人类思维和认知来解决特定任务或通用任务,解决特性任务的智能体被称为弱人工智能,或狭义人工智能(ANI),而解决通用任务的智能体被称为强人工智能,或通用人工智能(AGI)。机器学习是人工智能的一个分支,它通过数据进行学习并改进系统。而深度学习则又是机器学习的一个分支,它使用神经网络技术进行机器学习。

Untitled

将深度神经网络看成是多层多个神经元的组合,由前文可以了解,每一层输出结果跟权重、偏置和激活函数有关,而对于深度神经网络的输出还跟层数等数值相关。在深度神经网络中,这些数值可以分为两类,一类是层数、激活函数、优化器等,称为超参数(hyperparameter),它由工程师设定;另一类是权重和偏置,称为参数(parameter),它是在深度神经网络训练过程中自动得到的,寻找到合适的参数就是深度学习的目的。

Untitled

但问题是,一个深度神经网络包含了海量的参数,而且修改一个参数将影响其他的参数行为,因此如何找到这些参数的正确取值是个难事。我们要找出参数正确取值,并让模型能够准确输出,那就需要有一个方法能够衡量模型输出与期望输出的差距。因此深度学习训练中使用损失函数(loss function)来衡量,损失函数也被称为目标函数或代价函数。损失函数通过比较深度神经网络的预测值与真实目标值,得到损失值,来表示该神经网络模型在这个训练样本上的效果好坏。

Untitled

深度学习的方法是将损失值作为反馈信号,来对参数进行微调,以降低当前样本训练的损失值。实现这种调节的便是优化器,它来实现如梯度下降等优化算法,通过反向传播方式来更新各层神经元节点的参数。

Untitled

我们在人工智能领域看到的大部分内容其实都是机器学习:赋予计算机系统从实例中学习的能力。我们把通过编程从实例中学习的机器称为 "神经网络"。它们学习的一种主要方式是通过大量实例来学习,比如告诉它们图像中有什么--我们称之为分类。如果我们想教一个网络如何识别大象,这就需要人类向网络介绍大象长什么样的大量实例,并给这些照片打上相应的标签。模型就是这样学会区分大象和图像中的其他细节的。语言模型是另一种类型的神经网络。语言模型基本上可以预测一连串单词的下一个单词是什么。我们在大量文本中训练这些模型,以便它们更好地理解下一个词可能是什么。改进语言模型的一种方法--但不是唯一的方法--是给它更多的 "阅读"--或在更多的数据上训练它--就像我们如何从我们研究的材料中学习一样。如果你开始输入短语 "玛丽踢了一个......",经过足够数据训练的语言模型可以预测出 "玛丽踢了一个球"。如果没有足够的训练,它可能只能预测出一个 "圆形物体",或者只能预测出它的颜色是 "黄色"。训练语言模型所涉及的数据越多,它就会变得越细致,也就越有可能准确地知道玛丽最有可能踢了什么。生成式模型可以从所展示的示例中吸取经验教训,并根据这些信息创造出全新的东西。因此,"生成 "这个词就诞生了!大型语言模型(LLM)是生成式人工智能的一种,因为它们能以自然语言的形式生成新颖的文本组合。