大型语言模型如何工作?

简介: 大型语言模型如何工作?

引言

本文旨在以浅显易懂的方式,向读者阐释大型语言模型(LLM)的工作原理。

我们首先看一下文档补全器模型的工作原理:

user prompt:
A banana is

model response:
an elongated, edible fruit

然后,文档生成器模型的工作原理如下:

user prompt:
I want to buy a new car

model response:
What kind of car do you want to buy?

了解上面两个模型的不同之处。

第一个模型是文档补全器,只会根据最有可能成为下一个字符的内容来补全提示。这是我们用一部分互联网数据训练的基础模型。

第二个模型是文档生成器,会根据提示问题生成更像人类的回答。这就是 ChatGPT 模型。

ChatGPT 模型是一种推理模型,能够根据提示问题生成响应。它与基础模型的区别在于增加了两个训练步骤:微调和从人类反馈中进行强化学习。

预训练:基础模型

这正是 AI 革命的核心,也是其神奇之处。训练模型的过程是向它提供大量数据,并让它从中学习。

如 GPT-3 论文所述,基础模型是在大量互联网数据上训练的。对于像你我这样的个人来说,这并不容易。它不仅需要获取数据,还需要大量的计算能力,比如 GPU 和 TPU。

但不用担心,我们仍然可以在自己的电脑上学习训练一个小型 GPT 模型。

LLM 训练的创新之处在于引入了 Transformer 架构,这使得模型能够在保留输入各部分之间关键上下文关系的同时,从海量数据中学习。

通过保持这些联系,模型可以基于提供的上下文有效推断新的见解,不论是单词、句子、段落,还是更多。凭借这一能力,LLM 训练为自然语言处理和生成任务开辟了新的可能性,使机器能够更好地理解和回应人类的交流。

以下是用于训练基础模型的 Transformer 架构示意图:

这是一个基于神经网络的模型训练,结合了一些旧的和新的技术,包括:标记化、嵌入、位置编码、前馈、归一化、 softmax 、线性变换,尤其是多头注意力机制。

这是你我都非常感兴趣的部分。我们想要明确了解该架构的理念以及具体的训练过程。因此,从下一篇文章开始,我们将深入探讨用于训练基础模型的论文、代码和数学原理。

微调:训练助手

微调是一种非常巧妙的技术实现。据我所知,OpenAI可能是首个采用这种方法的机构。其核心思想虽然简单,但执行起来非常高效:聘请人工标注员来构建大量的问答对话对(比如达到10万对)。接着,将这些对话对输入到模型中,让模型通过它们进行学习。

这个过程就是所谓的微调。想象一下,当模型经过这10万个对话样本的训练后,它将能够像人类一样进行回应!现在,让我们来审视一下这些经过标注的对话样本:

Human labeled Q&A

Q: What is your name?
A: My name is John.
Human labeled Q&A

Q: What's the capital of China?
A: China's capital is Beijing.
Human labeled Q&A

Q: Summarize the plot of the movie Titanic.
A: The movie Titanic is about a ship that sinks in the ocean.

通过向模型灌输这些回应风格,模型对相关上下文的回应概率将大幅提升,从而能够针对用户的提问给出回应。我们通过让模型在多样化的对话风格中进行训练,提高了它对用户提示给出恰当且相关回答的可能性。

这就是语言模型能够表现得如此聪明且接近人类的原因;它们通过学习模仿现实对话的节奏和模式,能够令人信服地与用户进行互动对话。

下面是一个图表,展示了从基础模型的预训练到助手模型微调过程中的一些关键亮点:

RLHF:根据人类反馈进行强化学习

2022 年 1 月,OpenAI 发表了他们关于对齐语言模型以遵循指令的作品。在他们的博客文章中,他们描述了如何根据人类反馈进一步微调模型:

这个问题稍显复杂。核心思想在于让模型通过人类的反馈进行学习。不同于直接提供大约10万个预标记的问答对,我们收集用户提出的问题和模型给出的回答,然后由人类对这些回答进行排序。将这些经过排序的对话作为最理想的问答样本,再次输入模型,让模型学习这些样本以提升其整体性能。

OpenAI在其博客中介绍了这一过程:

为了使我们的模型更加安全、更有帮助、更符合预期,我们采用了一种称为人类反馈强化学习(RLHF)的技术。我们的客户通过API提交提示后,我们的标注者会展示出期望的模型行为,并对我们模型生成的多个回答进行排序。然后,我们利用这些数据对GPT-3进行微调。

以下是一个基础模型与经过微调/RLHF处理后的模型响应的对比示例:

你可以看到,没有fine-tune和RLHF,模型只是一个文档补全器。

Prompt 工程

尽管采用了微调和人类反馈强化学习(RLHF),模型有时仍需额外辅助才能生成我们期望的回答。这正是提示工程大显身手的地方。

简单来说,我们可以通过精心构思提示来引导模型给出我们想要的答案,有时这甚至可以在不进行微调的情况下实现。

如果你不想深入数学和编程的复杂性,那么专注于提示工程是个不错的选择,因为它仅通过更巧妙地设计提示,就能让大型语言模型(LLM)发挥出最佳性能。

现在,让我们通过一个实例来进一步了解:

prompt: The sky is
output: blue.

prompt: Complete the sentence:The sky is
output: blue during the day and dark at night.

精心设计的Prompt能够引导模型完成诸如解决数学问题或概括文本等复杂工作。因此,Prompt工程在大型语言模型(LLM)的生态系统中发挥着至关重要的作用

总结

你已经耐心阅读到这里,我确信要完全理解这些信息需要花费一些时间,尤其是对于那些新接触大型语言模型(LLM)领域的读者。

相关文章
|
JSON JavaScript 前端开发
小白一眼就能懂的JSON简介与基本使用指南
小白一眼就能懂的JSON简介与基本使用指南
|
5月前
|
人工智能 安全 Serverless
再看 AI 网关:助力 AI 应用创新的关键基础设施
AI 网关作为云产品推出已有半年的时间,这半年的时间里,AI 网关从内核到外在都进行了大量的进化,本文将从 AI 网关的诞生、AI 网关的产品能力、AI 网关的开放生态,以及新推出的 Serverless 版,对其进行一个全面的介绍,期望对正在进行 AI 应用落地的朋友,在 AI 基础设施选型方面提供一些参考。
1004 76
|
2月前
|
数据采集 人工智能 文字识别
PDF 转 Markdown 神器:MinerU 2.5 (1.2B) 部署全攻略
MinerU是由OpenDataLab推出的开源PDF解析工具,支持精准布局分析、公式识别与表格提取。本文详解其2.5-2509-1.2B版本在Linux下的部署流程,涵盖环境搭建、模型下载、核心配置及实战应用,助你高效处理复杂PDF文档,提升AI数据清洗效率。
1021 3
|
人工智能 JSON API
一张图读懂大模型应用是如何工作的,一图胜千言
用一张图,带你轻松读懂大模型应用的工作原理。不需要复杂的代码和艰深的理论,只需要一张图,就能让你对大模型有一个全新的认识
一张图读懂大模型应用是如何工作的,一图胜千言
|
传感器 机器学习/深度学习 人工智能
一文读懂大语言模型(上)
一文读懂大语言模型
671 0
|
机器学习/深度学习 人工智能 算法
【AI系统】AI芯片驱动智能革命
本课程深入解析AI模型设计演进,探讨AI算法如何影响AI芯片设计,涵盖CPU、GPU、FPGA、ASIC等主流AI芯片,旨在全面理解AI系统体系,适应后摩尔定律时代的技术挑战。
768 5
|
机器学习/深度学习 人工智能 自然语言处理
一文讲懂大模型推理技术细节
本文介绍了大模型推理在自然语言处理(NLP)领域的原理与应用。大模型推理利用如GPT、BERT等预训练模型,通过深度学习中的Transformer结构和自注意力机制,实现文本分类、情感分析等多种任务。文章提供了使用Hugging Face的Transformers库进行文本分类的示例代码,并展望了大模型推理技术未来的发展潜力。
|
数据采集 Java 数据安全/隐私保护
Spring Boot 3.3中的优雅实践:全局数据绑定与预处理
【10月更文挑战第22天】 在Spring Boot应用中,`@ControllerAdvice`是一个强大的工具,它允许我们在单个位置处理多个控制器的跨切面关注点,如全局数据绑定和预处理。这种方式可以大大减少重复代码,提高开发效率。本文将探讨如何在Spring Boot 3.3中使用`@ControllerAdvice`来实现全局数据绑定与预处理。
331 2
|
机器学习/深度学习 人工智能 自然语言处理
【大模型】什么是大型语言模型(LLM)?
【5月更文挑战第4天】【大模型】什么是大型语言模型(LLM)?
|
算法 Java Go
【经典算法】LeetCode 67. 二进制求和(Java/C/Python3/Golang实现含注释说明,Easy)
【经典算法】LeetCode 67. 二进制求和(Java/C/Python3/Golang实现含注释说明,Easy)
569 2

热门文章

最新文章