kean0425 发表于 2023-5-9 14:28:53

一键解锁 ChatGPT 原理与应用

<div id="content"><p>在这段时间,有关大语言模型的消息频频传出,许多人也逐渐了解、甚至开始应用起相关的 AI 软件。那么,你了解 GPT 模型的原理是什么吗?大模型和传统 AI 的区别在于哪里?其应用可以体现于哪些方面?一起来看看作者的分析和解读。</p><p></p><div class="img_box" id="id_imagebox_0" onclick=""><div class="content_img_div perview_img_div"><div align="center"></div></div></div><strong>"</strong>如何充分发挥 ChatGPT 潜能,成为了众多企业关注的焦点。但是,这种变化对员工来说未必是好事情。IBM 计划用 AI 替代 7800 个工作岗位,游戏公司使用 MidJourney 削减原画师人数……此类新闻屡见不鲜。理解并应用这项新技术,对于职场人来说重要性与日俱增。<strong>"</strong><p></p><p><b> 一、GPT 模型原理</b></p><p>理解原理是有效应用的第一步。ChatGPT 是基于 GPT 模型的 AI 聊天产品,后文均简称为 GPT。</p><p>从技术上看,GPT 是一种基于<strong>Transformer 架构的大语言模型(LLM)</strong>。GPT 这个名字,实际上是 "Generative Pre-trained Transformer" 的缩写,中文意为 " 生成式预训练变换器 "。</p><p><b> 1. 大模型和传统 AI 的区别是什么?</b></p><p>传统 AI 模型针对特定目标训练,因此只能处理特定问题。例如,很会下棋的 AlphaGO。</p><p>而自然语言处理(NLP)试图更进一步,解决用户更为通用的问题。可以分为两个关键步骤:自然语言理解(NLU)和自然语言生成(NLG)。</p><p></p><div class="img_box" id="id_imagebox_1" onclick=""><div class="content_img_div perview_img_div" style="display: inline-block;"><div align="center"></div></div></div>以 SIRI 为代表的人工智能助手统一了 NLU 层,用一个模型理解用户的需求,然后将需求分配给特定的 AI 模型进行处理,实现 NLG 并向用户反馈。然而,这种模式存在显著缺点。如微软官方图例所示,和传统 AI 一样,<strong>用户每遇到一个新的场景,都需要训练一个相应的模型,费用高昂且发展缓慢,</strong>NLG 层亟需改变。<p></p><p></p><div class="img_box" id="id_imagebox_2" onclick=""><div class="content_img_div perview_img_div"><div align="center"></div></div></div>大型语言模型(如 GPT)采用了一种截然不同的策略,实现了 NLG 层的统一。秉持着 " 大力出奇迹 " 的理念,将海量知识融入到一个统一的模型中,而不针对每个特定任务分别训练模型,使 AI 解决多类型问题的能力大大加强。<p></p><p></p><div class="img_box" id="id_imagebox_3" onclick=""><div class="content_img_div perview_img_div"><div align="center"></div></div></div><b> 2. ChatGPT 如何实现 NLG?</b><p></p><p><strong>AI 本质上就是个逆概率问题</strong>。GPT 的自然语言生成<strong>实际上是一个基于概率的 " 文字接龙 " 游戏</strong>。我们可以将 GPT 模型简化为一个拥有千亿参数的 " 函数 "。当用户输入 " 提示词(prompt)" 时,模型按照以下步骤执行:</p><p>将用户的 " 提示词 " 转换为 token(准确地说是 " 符号 ",近似为 " 词汇 ",下同)+token 的位置。</p><p>将以上信息 " 向量化 ",作为大模型 " 函数 " 的输入参数。</p><p>大模型根据处理好的参数进行概率猜测,预测最适合回复用户的词汇,并进行回复。</p><p>将回复的词汇(token)加入到输入参数中,重复上述步骤,直到最高概率的词汇是【END】,从而实现一次完整的回答。</p><p>这种方法使得 GPT 模型能够根据用户的提示,生成连贯、合理的回复,从而实现自然语言处理任务。</p><p></p><div class="img_box" id="id_imagebox_4" onclick=""><div class="content_img_div perview_img_div"><div align="center"></div></div></div><b> 3. 上下文理解的关键技术</b><p></p><p>GPT 不仅能理解用户当前的问题,还能基于前文理解问题背景。这得益于 Transformer 架构中的 " 自注意力机制(Self-attention)"。<strong>该机制使得 GPT 能够捕捉长文本中的依赖关系</strong>。</p><p>通俗地说,GPT 在进行文字接龙判断时,不仅基于用户刚输入的 " 提示 ",还会将之前多轮对话中的 " 提示 " 和 " 回复 " 作为输入参数。<strong>然而,这个距离长度是有限的。</strong>对于 GPT-3.5 来说,其距离限制为 4096 个词汇(tokens);而对于 GPT-4,这个距离已经大幅扩展至 3.2 万个 tokens。</p><p><b> 4. 大模型为何惊艳?</b></p><p>我们已经介绍了 GPT 的原理,那么他是如何达成这种神奇效果的呢?主要分三步:</p><p>自监督学习:<strong>利用海量的文本进行自学</strong>,让 GPT 具备预测上下文概率的基本能力。</p><p>监督学习:人类参与,帮助 GPT 理解人类喜好和期望的答案,本质为微调(fine-tune)。</p><p>强化学习:根据用户使用时的反馈,持续优化和改进回答质量。</p><p>其中,自监督学习最关键。因为,大模型的魅力在于其 " 大 " ——大在两个方面::</p><p>训练数据量大:即训练大模型的数据规模,以 GPT-3 为例,其训练数据源为互联网的各种精选信息以及经典书籍,规模达到了 45TB,<strong>相当于阅读了一亿本书。</strong></p><p>模型参数量大:参数是神经网络中的一个术语,用于捕捉数据中的规律和特征。通常,宣称拥有百亿、千亿级别参数的大型模型,指的都是其参数量。</p><p>追求大型模型的参数量是为了利用其神奇的 " 涌现能力 ",实现所谓的 " 量变引起质变 "。</p><p>举例来说,如果要求大模型根据 emoji 猜电影名称,如代表《海底总动员》。可以看到,<strong>当模型参数达到千亿级别时,匹配准确度大幅度提升。</strong>这表明模型参数量的增加对提高模型表现具有重要意义。</p><p></p><div class="img_box" id="id_imagebox_5" onclick=""><div class="content_img_div perview_img_div"><div align="center"></div></div></div>处理其他多类型任务时,也有类似的效果:<p></p><p></p><div class="img_box" id="id_imagebox_6" onclick=""><div class="content_img_div perview_img_div"><div align="center"></div></div></div>如实验所揭示的,只有当模型参数达到千亿级别,大模型的优势才得以凸显。GPT 之外的其他大模型,也有类似的表现。<p></p><p>为什么?</p><p>目前主流观点认为,<strong>要完整完成一个任务,实际上需要经过很多子步骤。</strong>当模型大小不足时,大语言模型无法理解或执行所有步骤,导致最终结果不正确,达到千亿级参数时,其解决问题的全链路能力已经足够。人们以最终结果的正误作为评判标准,导致认为是一种 " 涌现 "。</p><p>在 " 涌现 " 问题上,人与猩猩的比喻很有趣。人<strong>类的大脑容量比猩猩大 3 倍,这种差异使得人类能够进行更复杂的思考、沟通和创造。</strong>两者的结构没有显著差异,这不也是 " 涌现 " 吗?</p><p>GPT-3.5 正是千亿模型,参数达到了 1750 亿。相较于 GPT-3,GPT-3.5 主要针对模型参数进行了微调,使其在问答时更符合人类的习惯。据悉,GPT-4 的模型参数量甚至达到了 GPT-3.5 的五倍之多,这也解释了为何 GPT-4 表现得如此聪明(体验过的人应该都能理解)。下面是 GPT 模型演进历史:</p><p></p><div class="img_box" id="id_imagebox_7" onclick=""><div class="content_img_div perview_img_div"><div align="center"></div></div></div><b> 二、GPT 的局限性</b><p></p><p>综上,GPT 模型具有明显的、突破性的优势。典型的优势包括:①强大的语言理解能力;②极为广泛的知识储备;③学习能力与推理能力等等。这些能力让人们感觉人工智能真正拥有了 " 脑子 ",想象着使用 GPT 解决一切问题。</p><p><strong>然而,若真的要深入应用该技术,有必要了解其局限性,以便在实际应用中取长补短。</strong>主要总结六大局限:</p><p><b> 1. 逻辑不透明</b></p><p>GPT 模型的回答本质上是概率。传统的软件开发中,接口的输入和输出参数都是确定的,而在给定输入参数(即提示词)的情况下,<strong>GPT 的回复却有一定随机性</strong>。</p><p>当大家将 ChatGPT 作为聊天工具使用时,这种不精确可以是用户的谈资;当涉及到商业化软件应用时,设计时就需要特别注意降低不确定性,在大部分产品场景下,用户都很重视确定性。</p><p><b> 2. 短期记忆差</b></p><p>得益于自注意力机制,ChatGPT 具备了多轮对话能力。然而,<strong>它的记忆长度相当有限,</strong>GPT-3.5 模型仅支持向前追溯 4096 个 tokens 用于回复的参考。</p><p>更糟糕的是,这 4096 个 tokens<strong>还包括 ChatGPT 之前回复用户的部分!</strong>这使得其捉襟见肘的记忆更加难堪,堪称电子金鱼。好在 GPT-4 已经将上下文 token 上限扩展至 3.2 万个,一定程度上缓解了这个问题。</p><p></p><div class="img_box" id="id_imagebox_8" onclick=""><div class="content_img_div perview_img_div" style="display: inline-block;"><div align="center"></div></div></div><b> 3. 资源消耗多</b><p></p><p>ChatGPT 的智能需要消耗大量算力,而运行大规模高端显卡需要消耗大量电力。在五年之内,依靠半导体制程的进一步升级和大模型的广泛应用,算力与电力的<strong>边际成本将逐渐转变为固定成本</strong>,也就解决了本问题。</p><p><b> 4. 响应速度慢</b></p><p>由于模型极大,GPT 在回复时也无法做到瞬时响应,正如用户实际体验,ChatGPT 是逐词回复的。企业在设计相关产品时需要特别关注应用场景:</p><p>需要避免将 GPT 用于高并发的场景,<strong>本服务依赖的接口调用并发上限非常低</strong>。</p><p>产品设计上避免用户急切需要结果的应用场景,确保用户能够 " 等得起 "。</p><p><b> 5. 行业认知浅</b></p><p>诚然,ChatGPT 拥有来自互联网和经典书籍的丰富知识。然而,真正的企业级专业知识往往源于特定领域的深入研究和实践,<strong>这些真知灼见无法仅凭互联网上的知识获取</strong>。因此,若希望 GPT 充当企业参谋,只能帮助梳理战略框架,但难以为企业提供颇具洞察的策略建议。</p><p><b> 6. 价值未对齐</b></p><p>在自监督学习阶段,GPT 训练数据英文占比高达 92%。</p><p>在监督学习阶段,传授道德观的工程师主要来自英语世界。</p><p>在强化学习环节,也可能受到恶意用户输入错误价值观的影响。</p><p>因此,<strong>GPT 的 " 精神内核 " 是以西方价值观为基石的</strong>,这可能导致生成的文字难以符合我国的文化背景和价值观。</p><p><b> 三、GPT 的多层应用指南</b></p><p>在深入了解 GPT 模型的原理、及局限性之后,终于可以看看怎么用好这项技术了。我按照感知其能力的直观性,由浅入深将其分为五层,逐层进行介绍。</p><p></p><div class="img_box" id="id_imagebox_9" onclick=""><div class="content_img_div perview_img_div"><div align="center"></div></div></div><b> 第一层:聊天能力</b><p></p><p>在此类用法中,GPT 的回答就是给客户的交付物,是 GPT 模型最简单、最直观的用法。</p><p><strong>1)套壳聊天机器人</strong></p><p>通过使用 OpenAI 官方接口,开发的套壳聊天机器人产品。这类产品之所以存在,原因懂得都懂。否则,用户为何不直接使用 ChatGPT 呢?<strong>此类产品难以形成现象级应用,且竞争激烈。</strong>由于比较灰色且内容未经过滤,网站被封后又换域名的故事将持续上演。</p><p><strong>2)场景化问答</strong></p><p>这种模式对 GPT 的回复场景进行了约束。通过限定提示词、嵌入大量特定领域知识以及微调技术,<strong>使 GPT 能够仅基于某类身份回答特定类型的问题。</strong>对于其他类型的问题,机器人会告知用户不了解相关内容。</p><p>这种用法可以有效约束用户的输入,降低许多不必要的风险,但是想训练一个出色的场景化机器人,也需要投入许多精力。典型应用包括智能客服、智能心理咨询和法律咨询等。微软的 new Bing 正是此类应用的杰出代表,其俏皮傲娇的回复风格,深受网友的爱。</p><p><b> 第二层:语言能力</b></p><p>在本层,我们充分发挥 ChatGPT 的语言天赋,辅助各种基于文字的处理工作。从这一层开始,需要使用 one-shot 或 few-shot(在提示词中给 ChatGPT 一个或多个示例)来提升 ChatGPT 的表现。<strong>与用户的交互不再局限于聊天窗口,</strong>提前预制提示词模板,用户只能输入限定的信息,对应提示词的空槽位。</p><p></p><div class="img_box" id="id_imagebox_10" onclick=""><div class="content_img_div perview_img_div"><div align="center"></div></div></div>预制带槽位提示词模板的应用基本流程如下:<p></p><p></p><div class="img_box" id="id_imagebox_11" onclick=""><div class="content_img_div perview_img_div"><div align="center"></div></div></div><strong>1)文字处理类</strong><p></p><p>此类应用主要有三种用法:</p><p><strong>① 文章提炼</strong></p><p>可以输入文章段落,要求提取段落主旨。但受 token 数限制,<strong>难以总结整篇文章。</strong>也可要求生成短标题、副标题等。在提示词中预留【案例】槽位,让用户输入一些参考案例,GPT 便可以学习相应的风格,进行针对性的输出。</p><p><strong>② 润色 / 改写</strong></p><p>可用于文章的<strong>初步润色</strong>,能够消除错别字、错误标点等。</p><p>改写则可以转换文章风格,如更改成小红书风格等。</p><p><strong>③ 文章扩写</strong></p><p>在有大纲基础上,分段进行文章扩写。受 token 限制,如一次要求过长,输出的扩写难以做到前后呼应。<strong>ChatGPT 本身不会产生新知识,文章扩写难以写出深刻见地,只能生成口水文。</strong>通过给定关键词和案例,<strong>要求生成有规律的短文案,</strong>是应用其文章扩写能力的有效方法。</p><p><strong>2)翻译</strong></p><p>GPT 模型训练时学习了大量语言,具备跨语言能力。无论用何种语言与其沟通,只要理解意图,分析问题能力是不区分语言的。因此,翻译对 GPT 来说很轻松。当然也仅限基本翻译,不要指望其能翻译的 " 信、达、雅 "。</p><p><strong>3)情感分析</strong></p><p><strong>GPT 能理解文字背后的用户情绪。</strong>例如,在客服模块引入 GPT 能力,基于用户语音和文字快速判断情绪状况,提前识别潜在客诉,在情绪爆发前进行有效安抚。</p><p><b> 第三层:文本能力</b></p><p>在这类应用中,GPT 的能力已经超越了语言,它通过大量学习,<strong>凡是与文本相关的任务,都能胜任。</strong>它甚至具备真正的学习能力,使用 few-shot 技巧,能解决训练数据中不存在的问题。本层的应用范围极广,<strong>将迸发出大量极具创造力的产品。</strong>我在这里仅举一些典型例子。</p><p><strong>1)写代码</strong></p><p>ChatGPT 能编写 SQL、Python、Java 等代码,并帮忙查找代码 BUG。与撰写文章的原因类似,不能要求其编写过长的代码。</p><p><strong>2)写提示词</strong></p><p>要求 GPT 创作提示词是与其他 AI 联动的简单方式。例如,要求 GPT 为 midjourney 撰写提示词,已成为非常主流的做法。</p><p><strong>3)数据分析</strong></p><p>ChatGPT 可以直接进行数据分析,或与 EXCEL 配合进行数据分析。它将数据分析操作成本降至极低,大幅提升了数据分析的效率。</p><p><b> 第四层:推理能力</b></p><p>在前几层中,我们已经见识了 GPT 的推理能力。以 GPT 的推理能力替代手动点击操作流,将带来 B 端和 C 端的产品设计的颠覆式变化。个人认为,<strong>短期内 B 端的机会大于 C 端。</strong>经过互联网 20 年的发展,C 端用户的主要需求已基本得到满足,颠覆 C 端用户的操作路径会带来较大的学习成本。而 B 端则有很大的发挥空间,这里将其分为三个阶段:</p><p><strong>1)自动化工作流串联</strong></p><p>利用 ChatGPT 理解人类意图的能力,结合 langChain 技术将提示词和公司内各项工作的网页链接整合。员工无需寻找各种链接,在需要执行相关操作时,会自动跳转到相应页面,进行下一步操作。<strong>以 ChatGPT 为智慧中枢,实现将 B 端各类操作有机整合。</strong>下图为设计思路的示例。</p><p></p><div class="img_box" id="id_imagebox_12" onclick=""><div class="content_img_div perview_img_div"><div align="center"></div></div></div><strong>2)AI 辅助决策</strong><p></p><p>以第一个阶段为基础,将对应页面的部分功能与 GPT 联动。这样,在员工执行操作时,部分功能可以由 AI 实现,成倍提升效率。微软 Copilot 正是这类产品的代表,比如可以实现在 Excel 中说明自己想要进行的数据分析,无需寻找相关公式,数据分析就自动做好了。</p><p><strong>3)全自动 AI 工作流</strong></p><p>本阶段目前还处于演示层面,呈现了未来的愿景。如前文所述,<strong>GPT 很难解决特定领域的细节问题</strong>,除非针对某个场景进行大量的微调与私有数据部署。AutoGPT、AgentGPT 都属于此类。</p><p><b> 第五层:国产大模型</b></p><p>AI 技术是科学而非神学,大模型的原理也不是秘密。美国能做到,我国不仅能,而且有必要。只要训练数据质量达标,模型参数突破千亿便具备推理能力,突破八千亿可与 GPT-4 匹敌。采用大量中文语料和中文微调,我国必将拥有符合本国文化背景、价值观的大模型。</p><p>然而,路漫漫其修远兮,困难也是极多的,如:<strong>训练成本极高、训练数据质量要求高、模型优化复杂、马太效应明显等。</strong>因此,预计在未来五年内,中国最多只会有 3 家知名大模型服务商。</p><p>大模型是 AI 时代的基础设施,大部分公司选择直接应用,直接获取商业价值。<strong>在这个大背景下,愿意投身自有大模型的公司就更加难能可贵了。</strong>在此,我谨代表个人向那些勇于投身于自有大模型建设的国内企业表示敬意。</p><p><b> 四、总结</b></p><p>总的来看,ChatGPT 是一款跨时代的产品。不同层面对 GPT 技术的应用,体现出了一些共性的机会。我总结了三项未来具有巨大价值的能力。</p><p><b> 1. 问题分解技术</b></p><p>鉴于 GPT 回复的限制在于最多只能基于 32,000 个 tokens,因此有效地将问题分解成子问题并交由 GPT 处理显得尤为关键。未来的工作模式可能将问题拆解为子问题,再组装子问题的解决方案。在具体实施时,还需要对子问题的难度进行判断,有些问题可以交给一些小模型处理,这样就可以有效的控制应用成本。</p><p><b> 2. 三种调优方法</b></p><p>想要让 GPT 在多个层面上发挥特定的作用,主要有三种交互方式,成本从低到高分别为:</p><p></p><div class="img_box" id="id_imagebox_13" onclick=""><div class="content_img_div perview_img_div"><div align="center"></div></div></div><strong>① 提示词优化</strong><p></p><p>通过探索找到最优提示词模板,预留特定槽位以供用户输入。仅通过提示词优化就能实现广泛功能,许多基于 GPT 的产品,其底层就是基于特定提示词的包装。好的提示词需包含角色、背景、GPT 需执行的任务、输出标准等。根据业界的研究,好的提示词能使 GPT3.5 结果的可用性由 30% 飙升至 80% 以上。提示词优化毫无疑问是这三种方法中最重要的。</p><p><strong>② embedding</strong></p><p>这是一种搭建自有知识库的方法,将自建知识库使用 embedding 技术向量化,这样 GPT 就能基于自有数据进行问答。</p><p><strong>③ 微调(finetune)</strong></p><p>通过输入大量问答,真正教会 GPT 如何回答某类问题,成本较前两者更高。优势在于将提示词的短期记忆转化为私有模型的长期记忆,从而释放宝贵的 Token 以完善提示词其他细节。</p><p>以上三种方式并不冲突,在工程实践中往往互相配合,特别是前两种。</p><p><b> 3. 私有数据积累</b></p><p>私有数据集的价值得到进一步提升,各行业可基于此对 GPT 进行二次包装,解决特定领域问题。建议使用微软 Azure 提供的 GPT 接口,搭建带有私有数据的大语言模型产品。因<strong>微软面向 B 端的 GPT 服务为独立部署,不会将私有数据用于大模型训练,</strong>这样可以有效保护私有数据。毕竟私有数据一旦公开,价值将大打折扣。</p><p>凭借以上几项能力加持,大语言模型可以充分释放在解决依赖电脑的重复性劳动的生产力。我将下一个时代(3 年内)的业务运转模式总结如下图:</p><p></p><div class="img_box" id="id_imagebox_14" onclick=""><div class="content_img_div perview_img_div"><div align="center"></div></div></div><strong>企业会根据三大能力衍生出三大类角色:</strong><p></p><p><strong>① 问题分解者</strong></p><p>这类角色很清楚大语言模型能力的边界,能够将一个业务问题有效的分解为 GPT 能处理的子问题,并能根据问题结果,将子问题进行拼装。</p><p><strong>② 提示工程师</strong></p><p>这类角色深谙与 GPT 沟通之道,能够根据不同的问题类型,给出有效的提示词模板,极大提升 GPT 的输出质量。</p><p><strong>③ 知识拥有者</strong></p><p>这类角色有大量的行业 knowhow,并且能够将知识进行结构化,传授给 GPT。对应现在的领域专家。</p><p>在这种模式的推动下,GPT 将会成为企业提效的重要帮手,可以解决大量重复劳动,可以提供有价值的参考。<strong>但人的主观能动性仍起决定性作用</strong>。</p><p><b> 五、写在最后</b></p><p>以 GPT-4 为代表的 AI 技术当前的水平,带来的效率提升已经令人震惊,更遑论其仍以飞快的速度进化。从技术革命的发展史来看,一项大幅度提效的新技术出现,<strong>往往先惠及 B 端,而后才慢慢在 C 端开始释放巨大的价值。</strong>这是由企业对效率天然的敏感性所决定的,而改变 C 用户的习惯需要大量学习成本与场景挖掘,滞后效应较强。举三个例子:</p><p>回顾第一次工业革命,蒸汽机的出现先导致了纺织女工的大量失业,而后才挖掘到各种 C 端场景,推动了社会生产力的大幅度上升。</p><p>ChatGPT 可以更快的生成口水文,<strong>但是 C 端用户对阅读的诉求没有增加。</strong>对于营销号公司来说,效率提升了,所需要的小编变少了。</p><p>MidJourney 可以快速出游戏贴图,<strong>但是这并不会导致更多的人爱玩游戏,</strong>那么需要画师就少了。</p><p>一场信息化企业的效率革命就要到来了,<strong>依靠电脑的重复劳动将会消失,</strong>因为大模型最擅长学习固定的套路。正如我文初所说,像 IBM 公司缩减 7800 个编制的案例,只会发生的越来越频繁。</p><p>AI 时代真的已经到来。每个岗位都需要思考、学习,如何让 AI 成为工作上的伙伴。</p><p>校对:臧 1、小宇、GPT-4</p><p>本文由 @AI 时代新产品 原创发布于人人都是产品经理。未经许可,禁止转载。</p><p>题图来自 Unsplash,基于 CC0 协议</p><div id="recommend_bottom"></div><div id="article_bottom"></div></div>
页: [1]
查看完整版本: 一键解锁 ChatGPT 原理与应用