Chat-GPT很火!非常火!国内和它的概念挂上钩的股票都几个涨停! 很神秘,但是作为理工科人士,还是得了解下他的原理,才不至于感觉到心底发虚。
科技界充斥着GPT3的炒作。大规模的语言模型(如GPT3)的能力开始让我们惊讶。尽管对于大多数企业来说,在客户面前展示这些模型还不完全可靠,但这些模型正显示出一定会加速自动化进程和智能计算机系统的可能性的聪明火花。让我们消除GPT3的神秘光环,了解它是如何训练的以及它是如何工作的。
用一句话描述GPT3的原理,就是:经过训练的语言模型生成文本。
我们可以选择将一些文本作为输入传递给它,这会影响它的输出。输出是根据模型在训练期间“学习”的内容生成的,在训练期间,模型扫描了大量文本。
训练是将模型暴露于大量文本的过程。这一进程已经完成。你现在看到的所有实验都来自一个经过训练的模型。据估计,它的成本为355 GPU年,成本为460万美元。
高达3000亿文本标记的数据集用于生成模型的训练示例。该模型通过一个实例给出。我们只向它展示特征,并要求它预测下一个单词。
模型的预测将是错误的。我们计算其预测中的误差并更新模型,以便下次它做出更好的预测。
重复数百万次这个过程,它得预测将越来越好。
请注意:这是对GPT-3工作原理的描述,而不是对其新奇之处的讨论(主要是荒谬的规模)。该体系结构是基于本文的变压器-解码器模型。
GPT3的参数是海量的。它用1750亿个数字(称为参数)编码它从训练中学到的东西。这些数字用于计算每次运行时要生成的令牌。
未经训练的模型从随机参数开始,训练可以找到导致更好预测的值。这些数字是模型中数百个矩阵的一部分。预测主要是大量的矩阵乘法。
为了阐明这些参数是如何分布和使用的,我们需要打开模型并查看内部。
GPT3宽2048个令牌。这是它的“上下文窗口”。这意味着它有2048个轨道,令牌沿着这些轨道进行处理。让我们沿着紫色的轨道走,看看系统如何处理“robotics”一词并产生“a”?
高层的步骤是这样的:
1将单词转换为表示单词的矢量(数字列表)
2计算预测值
3将结果向量转换为单词
GPT3的重要计算发生在其96个变压器解码器层的堆栈中。所有这些层就是“深度学习”中的“深度”。每个层都有自己的1.8B参数来进行计算。这就是“魔法”发生的地方。
我们不在乎第一个单词的输出。当输入完成后,我们开始关心输出。我们将每一个词都反馈到模型中。
这是令人印象深刻的,它是这样工作的。因为您只需等待GPT3的微调完成。可能性将更加惊人。
微调实际上会更新模型的权重,以使模型更好地执行某项任务。
网友评论