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 时代真的已经到来。

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ST-Link usb communication error 解决,如何解决STlink驱动连不上的错误

电脑连接不上ST-Link,怎么办,以下方法可以一条一条试试。 方法1 重启电脑。 方法2 确信自己的电脑驱动是装好了的,没有装好,可以看下面这个链接的驱动装一下。 http://www.openedv.com/docs/tool/dap/ST-LINKV2.html 能在设…

linux驱动开发——内核调试技术

目录 一、前言 二、内核调试方法 2.1 内核调试概述 2.2 学会分析内核源程序 2.3调试方法介绍 三、内核打印函数 3.1内核镜像解压前的串口输出函数 3.2 内核镜像解压后的串口输出函数 3.3 内核打印函数 四、获取内核信息 4.1系统请求键 4.2 通过/proc 接口 4.3 通过…

[LeetCode周赛复盘] 第 119 场双周赛20231209

[LeetCode周赛复盘] 第 119 场双周赛20231209 一、本周周赛总结100130. 找到两个数组中的公共元素1. 题目描述2. 思路分析3. 代码实现 100152. 消除相邻近似相等字符1. 题目描述2. 思路分析3. 代码实现 100147. 最多 K 个重复元素的最长子数组1. 题目描述2. 思路分析3. 代码实…

解SQL联结:左联结

今天我们用下面的表来学习左联结。其中, 学生表(student):用来记录学生的基本信息 成绩表(score):用来记录学生选修课程的成绩 1.什么是左联结? 左联结,会将左侧表中的数…

如何为游戏角色3D模型设置纹理贴图

在线工具推荐: 3D数字孪生场景编辑器 - GLTF/GLB材质纹理编辑器 - 3D模型在线转换 - Three.js AI自动纹理开发包 - YOLO 虚幻合成数据生成器 - 三维模型预览图生成器 - 3D模型语义搜索引擎 当谈到游戏角色的3D模型风格时,有几种不同的风格&#xf…

Python 云服务器应用,Https,定时重启

Python 云服务器应用,Https,定时重启 环境搭建Python模块模块导入生成Flask实例GET处理启动服务器打开网页验证 GET接入证书 支持https申请证书下载证书保留 xxx.crt 和 xxx.key文件就可以了 copy到python项目目录ssl_context 配置 宝塔面板操作在www目录下新建python工作目录在…

【Linux】如何对文本文件进行有条件地划分?——cut命令

cut 命令可以根据一个指定的标记(默认是 tab)来为文本划分列,然后将此列显示。 例如想要显示 passwd 文件的第一列可以使用以下命令:cut –f 1 –d : /etc/passwd cut:用于从文件的每一行中提取部分内容的命令。-f 1&…

JAVA+SSM+springboot+MYSQL企业物资库存进销存管理系统

。该系统从两个对象:由管理员和员工来对系统进行设计构建。主要功能包括首页、个人中心、员工管理、项目信息管理、仓库信息管理、供应商管理、项目计划管理、物资库存管理、到货登记管理、物资出库管理、物资入库管理等功能进行管理。本企业物资管理系统方便员工快…

计算机视觉 基于Open3D了解用于网格和点云邻域分析的KD树和八叉树

一、简述 距离计算和邻域分析是理解网格和点云的形状、结构和特征的重要工具。我们这里要基于一些3D库来提取基于距离的信息并将其可视化。 与深度图或体素相比,点云和网格表示 3D 空间中的非结构化数据。点由它们的 (X, Y, Z) 坐标表示,在 3D 空间中可能彼此靠近的两…

SQL命令---添加新字段

介绍 使用sql语句为表添加新字段。 命令 alter table 表名 add 新字段名 数据类型;例子 向a表中添加name字段,类型为varchar(255)。 alter table a add name varchar(255);下面是执行添加有的表结构:

100基于matlab的双线性变换法设计的切比雪夫II型低通滤波器语音信号

基于matlab的双线性变换法设计的切比雪夫II型低通滤波器语音信号,对加噪的语音信号进行降噪。数据可更换自己的,程序已调通,可直接运行。 100matlab切比雪夫II型低通滤波器 (xiaohongshu.com)

Activity从下往上弹出视差效果实现

其实这篇文章是转至简书上的大佬的,加上我自己的代码实践了下发现可行,于是就分享下 先看效果 介绍: 其实有很多方法都可以实现这种效果,popwindow,Dialog,BottomSheetDialogFragment,BottomSheetDialog等…