Other -- ChatGPT 原理

本文为个人理解,帮助小白(本人就是)了解正在创建新时代的 AI 产品,如文中理解有误欢迎留言。

[参考链接--](https://baijiahao.baidu.com/s?id=1765556782543603120&wfr=spider&for=pc)

1. 了解一些基本概念

  1. 大语言模型(Large Language Model,LLM)
           
    是指使用大量文本数据训练的深度学习模型,可以生成自然语言文本或理解语言文本的含义。大语言模型可以处理多种自然语言任务,如文本分类、问答、对话等,是通向人工智能的一条重要途径。
  2. GPT(Generative Pre-Trained Transformer,生成式预训练变换器
           是一种基于互联网的、可用数据来训练的、文本生成的深度学习模型。
  3. Transformer
    Transformer 模型是一种基于自注意力机制的深度学习模型,它可以用于各种自然语言处理任务.
  4. 语言信息处理(LIP,Language Information Processing)
           
    是语言学与计算机科学交叉形成的一门以计算语言学理论为基础,具有广泛应用价值的语言工程学科,是应用语言学的重要组成部分。有时也称作自然语言处理(NLP, Natural Language Processing)自然语言理解(NLU, Natural Language Understanding)术语辨析:自然语言处理是上位概念,包括理解和生成,而语言信息处理可以分别理解为语言信息 | 处理” 和 “语言 | 信息处理”。 前者指的是对各种语言信息进行处理, 后者指对语言本身进行信息化的处理。
    NLP 相关产品(如 ChatGPT)将其拆分为两个关键步骤:自然语言理解(NLU,Natural Language Understanding)和自然语言生成(NLG,Natural Language Generation)。下文详解。
  5. LLM 和 NLP 间关系
           在 NLP 领域,LLM 被视为一种重要的基础模型,它可以为各种自然语言处理任务提供强大的支持。LLM 与 NLP 之间有着密切的联系。LLM 可以通过学习大量文本数据来掌握语言知识和语法规则,这使得它在许多 NLP 任务中表现出色。例如,在文本分类、情感分析、文本摘要、机器翻译等任务中,LLM 都展现出了极高的性能和效果。此外, LLM 还可以从海量文本中提取语义信息和知识,这有助于提高 NLP 应用的准确性和效率。
  6. GPT 和 LLM 关系
           GPT 模型可以看作是 LLM 的一种实现方式。GPT 模型使用    Transformer 结构进行训练,这种结构可以学习文本生成过程中的长距离依赖关系和上下文信息。通过训练 GPT 模型,我们可以生成高质量的文本,这有助于提高 NLP 应用的效率和准确性。
           其次,LLM 和 GPT 模型之间也存在一些差异。GPT 模型强调生成文本的能力,它通过预测文本的后续内容来生成文本。而 LLM 则更注重从海量文本中学习语言规律和知识,它可以通过无监督学习来提高性能和效率。因此,在具体应用中,我们需要根据任务的不同来选择适合的模型。
  7. Transformer 和 LLM 及 GPT 间的关系
    Transformer是 LLM和 GPT 模型的基础。无论是 LLM 还是 GPT 模型,它们的核心结构都是基于 Transformer 模型搭建的。通过在海量文本数据上进行训练,Transformer模型可以学习到文本中的语义信息和语法规则,从而为各种NLP任务提供支持。
  8. 传统 AI 和现在的基于 LLM 的 AI 的联系
           传统 AI也要训练,但专注于某一个领域,因此只能处理特定问题。也就是一个完整的模型数据量相对较小。如很会下棋的 AlphaGO,它的输入可能就是一个开始下棋的命令。
    那么以传统 AI 理念衍生出的 NLP 相关产品概念拆分为两个关键步骤:自然语言理解(NLU)自然语言生成(NLG,Natural Language Generation
    如:
           以 SIRI 为代表的人工智能助手统一了 NLU 层,用一个模型理解用户的需求,然后将需求分配给特定的 AI 模型进行处理,实现 NLG 并向用户反馈。然而,这种模式存在显著缺点。如微软官方图例所示,和传统 AI 一样,用户每遇到一个新的场景,都需要训练一个相应的模型,费用高昂且发展缓慢,NLG 层亟需改变。
           基于 LLM 的 AI也要训练,但专注的是通用领域(也就是人类所能了解的所有知识,如下象棋、画图等等),那么也就意味着它需要进行各种不同领域的训练(这个训练就基于 LLM )。同时这种模型都是针对用户输入的文本或语音进行理解处理后回复相应的结果给用户。
    如:

           大型语言模型(如GPT)采用了一种截然不同的策略,实现了 NLG 层的统一。秉持着“大力出奇迹”的理念,将海量知识融入到一个统一的模型中,而不针对每个特定任务分别训练模型,使 AI 解决多类型问题的能力大大加强。
    以 GPT-3 为例,其训练数据源为互联网的各种精选信息以及经典书籍,规模达到了 45 TB,相当于阅读了一亿本书。GPT-4的模型参数量甚至达到了GPT-3.5的五倍之多,这也解释了为何GPT-4表现得如此聪明(因为它啥都知道啊,你要是看过那么多资料并且全都记住,那你比它牛多了,别人问你啥你都能多少知道点)。​​​​​​
           总结:
           由上可知以特定领域数据训练实现的 NLP 相关的 AI 产品一套下来占用空间很小,响应速度会快,而基于 LLM 实现的 NLP 相关的 AI 产品占用空间会特别大,响应速度可想而知会相对较慢。

2. 了解什么是 NLP 类的 AI 产品(以 ChatGPT 为例)

        ChatGPT 是基于 GPT 模型的 AI 聊天产品,一般也称为 GPT。也就是上文提到的 NLP 相关的 AI 产品。输入主要是人类输入的文本或语音,然后进行相应的处理并返回结果给用户。

3. 了解 NLP 类 AI 产品的实现原理( ChatGPT 为例)

上文提过 NLP 由 NLU 和 NLG 组成。

NLU 都是 基于 LLM 的,大都大差不差,但是注意这里有一个 语言类型的区别,即 中文 和 英文的区别,如 ChatGPT 等美国的 NLP 产品的训练数据主要是英文,而国内如文心一言基于中文的数据,那么输入相同的文本或语音就会有很大的差别,如果大家都用同一个数据源去训练,也会因为不同公司对 NLG 的不同实现而呈现出不同的结果。

3.1 理解 NLG (ChatGPT为例)

        不同 NLP 产品类公司产品好不好用的最大区别就是 NLG 的实现区别,也是这类公司的核心技术。

  1. 一个简单地 NLG 实现的例子
    AI 本质上就是个逆概率问题。以 GPT 的自然语言生成实际上是一个基于概率的“文字接龙”游戏。我们可以将GPT模型简化为一个拥有千亿参数的“函数”。当用户输入“提示词(prompt)”时,模型按照以下步骤执行:
    ①将用户的“提示词”转换为token(准确地说是“符号”,近似为“词汇”,下同)+ token的位置。
    ②将以上信息“向量化”,作为大模型“函数”的输入参数。
    ③大模型根据处理好的参数进行概率猜测,预测最适合回复用户的词汇,并进行回复。
    ④将回复的词汇(token)加入到输入参数中,重复上述步骤,直到最高概率的词汇是【END】,从而实现一次完整的回答。这种方法使得GPT模型能够根据用户的提示,生成连贯、合理的回复,从而实现自然语言处理任务。
  2. 上下文理解的关键技术
    GPT 不仅能理解用户当前的问题,还能基于前文理解问题背景。这得益于 Transformer 架构中的“自注意力机制(Self-attention)”。该机制使得 GPT 能够捕捉长文本中的依赖关系。通俗地说,GPT 在进行文字接龙判断时,不仅基于用户刚输入的“提示”,还会将之前多轮对话中的“提示”和“回复”作为输入参数。然而,这个距离长度是有限的。对于 GPT-3.5 来说,其距离限制为 4096 个词汇(tokens);而对于 GPT-4,这个距离已经大幅扩展至 3.2 万个tokens。
    这也就是不同公司 NLP 类产品间存在差异的地方,

       3. 等等其他技术

当然这两个只是很小的例子来帮助理解 NLP 产品 NLG 的实现。

4. 基于大模型的 ChatGPT 为何如此惊艳

①自监督学习:利用海量的文本进行自学,让 ChatGPT 具备预测上下文概率的基本能力。

②监督学习:人类参与,帮助 ChatGPT 理解人类喜好和期望的答案,本质为微调(fine-tune)【不同公司 NLG 的实现】。

③强化学习:根据用户使用时的反馈,持续优化和改进回答质量。

其中,自监督学习最关键。因为,大模型的魅力在于其“大”——大在两个方面:

训练数据量大

即训练大模型的数据规模,以ChatGPT -3为例,其训练数据源为互联网的各种精选信息以及经典书籍,规模达到了 45TB相当于阅读了一亿本书

模型参数量大

参数是神经网络中的一个术语,用于捕捉数据中的规律和特征。通常,宣称拥有百亿、千亿级别参数的大型模型,指的都是其参数量。

追求大型模型的参数量是为了利用其神奇的“涌现能力”,实现所谓的“量变引起质变”。举例来说,如果要求大模型根据emoji猜电影名称,如代表《海底总动员》。可以看到,当模型参数达到千亿级别时,匹配准确度大幅度提升。这表明模型参数量的增加对提高模型表现具有重要意义。

  只有当模型参数达到千亿级别,大模型的优势才得以凸显。GPT 之外的其他大模型,也有类似的表现。

为什么?

        目前主流观点认为,要完整完成一个任务,实际上需要经过很多子步骤。当模型大小不足时,大语言模型无法理解或执行所有步骤,导致最终结果不正确,达到千亿级参数时,其解决问题的全链路能力已经足够。人们以最终结果的正误作为评判标准,导致认为是一种“涌现”。

       在“涌现”问题上,人与猩猩的比喻很有趣。人类的大脑容量比猩猩大3倍,这种差异使得人类能够进行更复杂的思考、沟通和创造。两者的结构没有显著差异,这不也是“涌现”吗?

       ChatGPT -3.5正是千亿模型,参数达到了1750亿。相较于 ChatGPT -3,ChatGPT -3.5主要针对模型参数进行了微调,使其在问答时更符合人类的习惯。据悉,ChatGPT -4 的模型参数量甚至达到了 ChatGPT -3.5的五倍之多,这也解释了为何 ChatGPT -4 表现得如此聪明(体验过的人应该都能理解)。下面是GPT模型演进历史:

5. 基于 LLM 的 GPT 的优势及其局限性

5.1 优势

GPT模型具有明显的、突破性的优势。

典型的优势包括:

①强大的语言理解能力;

②极为广泛的知识储备;

③学习能力与推理能力等等。

这些能力让人们感觉人工智能真正拥有了“脑子”,想象着使用GPT解决一切问题。

5.2 局限性

1.逻辑不透明

GPT模型的回答本质上是概率。传统的软件开发中,接口的输入和输出参数都是确定的,而在给定输入参数(即提示词)的情况下,GPT的回复却有一定随机性。当大家将ChatGPT作为聊天工具使用时,这种不精确可以是用户的谈资;当涉及到商业化软件应用时,设计时就需要特别注意降低不确定性,在大部分产品场景下,用户都很重视确定性。

2.短期记忆差

得益于自注意力机制,ChatGPT具备了多轮对话能力。然而,它的记忆长度相当有限,GPT-3.5模型仅支持向前追溯4096个tokens用于回复的参考。更糟糕的是,这4096个tokens还包括ChatGPT之前回复用户的部分!这使得其捉襟见肘的记忆更加难堪,堪称电子金鱼。好在GPT-4已经将上下文token上限扩展至3.2万个,一定程度上缓解了这个问题。


 

3.资源消耗多

ChatGPT的智能需要消耗大量算力,而运行大规模高端显卡需要消耗大量电力。在五年之内,依靠半导体制程的进一步升级和大模型的广泛应用,算力与电力的边际成本将逐渐转变为固定成本,也就解决了本问题。

4.响应速度慢

由于模型极大,ChatGPT 在回复时也无法做到瞬时响应,正如用户实际体验,ChatGPT是逐词回复的。企业在设计相关产品时需要特别关注应用场景:

①需要避免将 ChatGPT 用于高并发的场景,本服务依赖的接口调用并发上限非常低。

②产品设计上避免用户急切需要结果的应用场景,确保用户能够“等得起”。

5.行业认知浅

诚然,ChatGPT 拥有来自互联网和经典书籍的丰富知识。然而,真正的企业级专业知识往往源于特定领域的深入研究和实践,这些真知灼见无法仅凭互联网上的知识获取。因此,若希望ChatGPT 充当企业参谋,只能帮助梳理战略框架,但难以为企业提供颇具洞察的策略建议。

6.价值未对齐

①在自监督学习阶段,以 ChatGPT 为例 训练数据英文占比高达92%。

②在监督学习阶段,以 ChatGPT 为例 传授道德观的工程师主要来自英语世界。

③在强化学习环节,也可能受到恶意用户输入错误价值观的影响。

因此,目前主流 NLP 类产品(以 ChatGPT 为例)的“精神内核”是以西方价值观为基石的,这可能导致生成的文字难以符合我国的文化背景和价值观。

6. NLP 类 AI 产品的应用

详请百度吧。

7. 总结

总之是个足以创建时代的产品,简单点预测依靠电脑的重复劳动将会消失,因为大模型最擅长学这个了。所以 AI 时代真的已经到来。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/232770.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

MySQL进阶学习--day02

存储引擎介绍 1. InnoDB1.1 介绍1.2 特点1.3 文件1.4 逻辑存储结构 2. MyISAM2.1 介绍2.2 特点2.3 文件 3. Memory3.1 介绍3.2 特点3.3 文件 4. 区别及特点5. 存储引擎选择6. InnoDB引擎与MyISAM引擎的区别 ? 上篇文章我们介绍了什么是存储引擎,以及如何在建表时如…

来自OpenAI的官方解释:ChatGPT中的GPTs与Assistants API的区别是什么?有什么差异?

本文原文来自DataLearnerAI的官方网站: 来自OpenAI的官方解释:ChatGPT中的GPTs与Assistants API的区别是什么?有什么差异? | 数据学习者官方网站(Datalearner)https://www.datalearner.com/blog/1051701996595465 OpenAI发布的产…

玩转大数据11:数据可视化与交互式分析

1. 引言 数据可视化和交互式分析是大数据领域中的重要方面。随着大数据时代的到来,数据量越来越大,数据类型越来越复杂,传统的数据处理和分析方法已经无法满足我们的需求。数据可视化可以将复杂的数据以简单、直观的方式呈现出来&#xff0c…

建筑学VR虚拟仿真情景实训教学

首先,建筑学VR虚拟仿真情景实训教学为建筑学专业的学生提供了一个身临其境的学习环境。通过使用VR仿真技术,学生可以在虚拟环境中观察和理解建筑结构、材料、设计以及施工等方面的知识。这种教学方法不仅能帮助学生更直观地理解复杂的建筑理论&#xff0…

DM8/达梦 数据库管理员使用手册详解

1.1DM客户端存放位置 Windows:DM数据库安装目录中tool文件夹和bin文件夹中。 Linux:DM数据库安装目录中tool目录和bin目录中。 1.2DM数据库配置助手 1.2.1Windows创建数据库 打开数据库配置助手dbca 点击创建数据库实例 选择一般用途 浏览选择数据库…

关于振动试验

这是试验的说明(来自gbt4710-2009) 这是试验的参数: 一、试验方向: 振动试验中有几个方向 除有关规范另有规定外,应在产品的三个互相垂直方向上进行振动试验。 一般定义产品长边为X轴向,短边为Y轴向&…

【AIGC】Midjourney高级进阶版

Midjourney 真是越玩越上头,真是给它的想象力跪了~ 研究了官方API,出一个进阶版教程 命令 旨在介绍Midjourney在Discord频道中的文本框中支持的指令。 1)shorten 简化Prompt 该指令可以将输入的Prompt为模型可以理解的语言。模型理解语言…

听GPT 讲Rust源代码--src/tools(11)

File: rust/src/tools/rust-analyzer/crates/hir/src/lib.rs 在Rust源代码中,rust/src/tools/rust-analyzer/crates/hir/src/lib.rs文件的作用是定义了Rust语言的高级抽象层次(Higher-level IR,HIR)。它包含了Rust语言的各种结构和…

Nginx基础篇:Nginx搭建、Nginx反向代理、文件服务器部署配置。

Nginx Linux系统安装以及反向代理的配置 简介优点nginx 环境安装常用Nginx 命令nginx 文件服务器搭建 简介 Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。Nginx是由伊戈尔赛索耶夫为俄罗斯访问量第二的Rambler.ru站点…

画对比折线图【Python】

出这一期想必是我做某个课程作业遇到了。 由于去各个官网下载对比图要钱,我还是不想花钱的!真讨厌!浅浅水一期。 以下是要做的对比图的数据: 代码: from matplotlib import pyplot as plt#设置中文显示plt.rcParams[…

ava即时编译器原理解析及实践

Java即时编译器原理解析及实践 导读 常见的编译型语言如C,通常会把代码直接编译成CPU所能理解的机器码来运行。而Java为了实现“一次编译,处处运行”的特性,把编译的过程分成两部分,首先它会先由javac编译成通用的中间形式——字…

【智能家居】智能家居项目

智能家居项目目录 项目目录结构 完整而典型的项目目录结构 CMake模板 CMake编译运行 README.md 项目说明文档 智能家居项目目录 【智能家居】面向对象编程OOP和设计模式(工厂模式) 【智能家居】一、工厂模式实现继电器灯控制 【智能家居】二、添加火灾检测模块(…

temu发货单在哪里打印

在Temu平台上,打印发货单是进行订单发货的重要步骤之一。通过打印发货单,您可以方便地记录订单信息并与物流公司进行配合。以下是在Temu平台上打印发货单的详细步骤和注意事项。 先给大家推荐一款拼多多/temu运营工具——多多情报通 多多情报通是拼多多…

【python可视化系统源码】基于爬虫与可视化的电影推荐系统课题背景、目的、意义、研究思路、研究方法

该项目含有源码、文档、PPT、配套开发软件、软件安装教程、项目发布教程等学习内容。 目录 一、项目介绍: 二、文档学习资料: 三、模块截图: 四、开发技术与运行环境: 五、代码展示: 六、数据库表截图&#xff1a…

C语言 位运算符 + 应用

常用的位运算符 按位与 快速判断整数的奇偶性 奇数的二进制表示的最低位为1,偶数的二进制表示的最低位为0。 int num 9; if (num & 1) {// num 是奇数 } else {// num 是偶数 }按位异或 交换两个变量的值 int a 5; int b 7; a a ^ b; b a ^ b; a a ^ …

项目一 分析并设计学生管理数据库

项目一 分析并设计学生管理数据库 1,做好管理数据库的知识准备 1.1,初识数据库 **1,DBMS:**数据库管理系统(Database Management System)。数据库 是通过DBMS创建和操作的 容器。 **2,DB:**数据库(data…

【数据结构第 6 章 ③】- 用 C 语言实现邻接表并简单介绍十字链表和邻接多重表

目录 一、邻接表 1.1 - ALGraph.h 1.2 - ALGraph.c 1.3 - Test.c 二、十字链表 三、邻接多重表 一、邻接表 邻接表(Adjacency List)是图的一种链式存储结构。在邻接表中,对图中每个顶点建立一个单链表,第 i 个单链表中的结…

用modelbox server启动流程图,暴露Restful接口

背景 假设你已经搭建了modelbox开发容器,能够使用webUI构建流程图。如果没有请参考昇腾npu上构建modelbox webUI开发容器教程。 现在,本文会说明,如何在终端用命令的方式将流程图暴露为服务,并能够在本地用postman访问。 本文参…

二分查找|双指针:LeetCode:2398.预算内的最多机器人数目

作者推荐 本文涉及的基础知识点 二分查找算法合集 滑动窗口 单调队列:计算最大值时,如果前面的数小,则必定被淘汰,前面的数早出队。 题目 你有 n 个机器人,给你两个下标从 0 开始的整数数组 chargeTimes 和 runnin…

java学习part41泛型

164-泛型-泛型的理解及其在集合、比较器中的使用_哔哩哔哩_bilibili 1.泛型 泛型可以加,加了不用也可以 2.例子 2.1List泛型 2.2Map泛型 新特性var 类似c的auto,可以根据后面赋值推断类型,在这种类型很复杂的时候可以提高可读性 3.自定义泛型…