大型语言模型训练浅析  第1张图1:Transformer架构

输入序列首先被转换为密集的向量表示,称为嵌入,它捕捉到了输入中单词之间的关系。

变换器块结构的核心部分是多头自我关注机制,它允许模型关注输入序列的不同部分以捕捉其关系和依赖性。

在自我注意机制之后,输出被送入前馈神经网络,该网络执行非线性转换以产生新的表示。

为了稳定训练过程,每一层的输出都被归一化,并加入一个残差连接,使输入直接传递给输出,让模型学习输入的哪些部分是最重要的。

这些组件被重复多次,形成一个深度神经网络,它可以处理长序列的文本,并为各种语言任务产生高质量的输出,如文本生成、问题回答和翻译。

开发人员继续通过实施新技术来开发大型语言模型,以:

训练大型语言模型有四个步骤:

第一步是收集训练数据集,也就是训练LLM的资源。数据可以来自不同的来源,如书籍、网站、文章和公开数据集。

寻找数据集的流行公共来源有:

然后需要对数据进行清理,并为训练做准备。这可能涉及到将数据集转换为小写字母,删除停顿词,并将文本标记为构成文本的标记序列。

大型模型,如谷歌的BERT和OpenAI的GPT-3都使用了转化器深度学习架构,这是近年来复杂的NLP应用的共同选择。模型的一些关键元素,如:

需要在配置转换器神经网络时指定。配置可以取决于所需的用例和训练数据。模型的配置直接影响到模型的训练时间。

模型在预处理的文本数据上使用监督学习进行训练。在训练过程中,模型被呈现出一连串的词,并被训练为预测该序列中的下一个词。该模型根据其预测和实际的下一个词之间的差异来调整其权重。这个过程要重复数百万次,直到模型达到令人满意的性能水平。

由于模型和数据的规模都很大,因此需要巨大的计算能力来训练模型。为了减少训练时间,我们使用了一种叫做模型并行的技术。模型并行使一个大型模型的不同部分分散在多个GPU上,允许用AI芯片以分布式方式训练模型。

通过将模型分为较小的部分,每个部分都可以被并行训练,与在单个GPU或处理器上训练整个模型相比,训练过程更快。这导致更快的收敛和更好的整体性能,使得训练比以前更大的语言模型成为可能。常见的模型并行化类型包括:

从头开始训练一个大型的语言模型需要大量的投资,一个更经济的选择是对现有的语言模型进行微调,使其适合你的具体使用情况。据估计,GPT-3的单次训练费用约为500万美元。

训练结束后,模型将在一个未被用作训练数据集的测试数据集上进行评估,以衡量模型的性能。根据评估结果,该模型可能需要通过调整其超参数、改变结构或在更多的数据上进行训练来提高其性能,进行一些微调。

LLM的训练由两部分组成:预训练和特定任务训练。预训练是训练的一部分,使模型能够学习语言中的一般规则和依赖关系,这需要大量的数据、计算能力和时间来完成。论文中讨论的大型语言模型需要配备几个人工智能芯片的超级计算机系统(例如,英伟达DGX A100起价199,999美元)。一旦加上维护和电力成本,大型语言模型的预训练就是一笔数百万数量级的投资。

为了让企业更容易获得大型语言模型,LLM开发人员正在为希望利用语言模型的企业提供服务。英伟达的NeMO就是这些服务的一个例子,它提供预训练的LLM,用于微调和特定任务训练,以适应特定的使用情况。特定任务训练为模型增加了一个额外的层,需要更少的数据、功率和时间来进行训练;使大型模型能够为企业所用。新的特定任务层是通过来训练的,其目的是用较少的训练数据获得准确的输出。

由于该模型已经经过预训练,并且熟悉语言,因此,少数几次学习是一种可行的方法,可以将特定领域的单词和短语教给该模型。

下面的视频介绍了NVIDIA的NeMO LLM服务。