从四个角度全面认识 ChatGPT

news2024/10/6 8:39:08

在这里插入图片描述

    • 传统语言模型是什么样的?
    • ChatGPT 涌现出了哪些新能力?
    • 这些能力都是怎么做到的?
    • 在 ChatGPT 大模型时代,我们应该怎么做?


当下最引人注目的语言模型 ChatGPT 如火如荼,主要还是因为其能力远远超越了传统模型。本文将对 ChatGPT 与传统模型进行对比,深入探讨 ChatGPT 具备的强大能力以及其背后的技术来源。此外还将介绍面对大语言模型时代我们应该如何去做。

传统语言模型是什么样的?

传统语言模型的实现机制其实很简单,我们可以将它理解为“文字接龙”,当我们输入一个词之后,模型会帮我们去预测下一个词是什么,将这两个词拼接之后继续预测,如此往复就形成了一段一段的整句对话。

那么语言模型究竟是如何学会人类语言机制的呢?当我们向它询问某一个问题时,这个问题就作为了语言模型的输入内容,同理它会去预测下一个单词或字符。每一组这样的数据组合都可以称为一个范例,当这样的范例足够多以后,大预言模型就会涌现出一个新能力:泛化。也就是说同一个问题,它可以自行拓展,比如说我们问:“床前明月光的下一句是什么?”模型回答“疑是地上霜”,这是正确答案。那么这时候如果将问题稍微拓展:“床前明月光的后续内容是什么?”模型也可以理解并处理,这就是所谓的泛化能力。当然这个能力是需要一个长期的训练过程和大量的数据作为支撑的。

过去一直以来的语言模型都是遵循以上机制的,讲的直白一点其实就是一个“文字接龙”机器,你问出的问题它会有对应的答案,即使换个问法可能也是该答案。相信每个人都体会到过某宝/某多/某东的机器人客服,你问一个问题它是这么回答的,换个问法它还是同样的话术,就说气不气。事实上这样的产品就是传统语言模型的典型代表。

ChatGPT 涌现出了哪些新能力?

在 ChatGPT 出世以后,与传统语言模型完全不一样了,ChatGPT 给我们的感觉就是它可以像真人一样和人正常聊天,回答各种各样的问题,甚至能理解人的感情… 很多全新的能力涌现了出来。

第一 ChatGPT 好像 全世界的知识它都会,上知天文下知地理,我们可以向它提问各领域的知识,让它帮我们写代码、写稿子等等。

case1:让 ChatGPT 讲解量子力学知识
插图(提问ChatGPT)
case2:让 ChatGPT 讲解天文学知识
在这里插入图片描述
case3:让 ChatGPT 帮我们写一段 python 代码,调用 ChatGPT
在这里插入图片描述
在这里插入图片描述
python 语言调用 ChatGPT 模型代码如下:

import openai

def chat_with_gpt(prompt):
    # 设置你的OpenAI API密钥
    openai.api_key = 'YOUR_API_KEY'

    # 调用ChatGPT进行对话
    response = openai.Completion.create(
        engine='text-davinci-003',
        prompt=prompt,
        max_tokens=100,
        temperature=0.7,
        n=1,
        stop=None,
        temperature=0.7,
        top_p=1,
        frequency_penalty=0,
        presence_penalty=0
    )

    # 获取模型的回复
    reply = response.choices[0].text.strip()

    return reply

# 提示用户输入对话的起始语句
user_input = input("请输入你的问题或对话的起始语句:")

# 调用ChatGPT进行对话
gpt_reply = chat_with_gpt(user_input)

# 打印模型的回复
print("ChatGPT回复:", gpt_reply)

第二 ChatGPT 具有 接受“被催眠”的能力,所谓“被催眠”,就是当我们不停的告诉 ChatGPT 它是谁、它的特长是什么、它应该做什么事时,它自己就会开始按着这个逻辑去思考。当下的新型职业提示工程师就是基于此能力。

第三 ChatGPT 具有 复杂的推理能力,按道理来说“推理”应该是只有人才能做到的事情,但是现在 ChatGPT 也具备此能力,它也可以根据语义自行推理。

case4:输入一个公考推理题,让 ChatGPT 来解答
在这里插入图片描述
第四 ChatGPT 具有 中立、客观、安全的语言表达能力,当我们询问问题时,ChatGPT 的回答往往是准确客观且非常具有条理性的,同时它也会在一些涉及不良影响的问题上拒绝回答。

case5:询问当下最具潜力的创业项目
在这里插入图片描述

这些能力都是怎么做到的?

ChatGPT 能懂得全世界几乎所有的语言,是以海量的知识和数据作为基础的。简单来说就是将近乎所有的语料(文本)送进大语言模型当中,然后让它去预测下一个词汇是什么,与传统语言模型不同的点在于 ChatGPT 接触的预料数据是极其庞大的。下面这张表是 ChatGPT 历代版本的学习资料与模型大小:

OpenAI学习资料参数量
GPT15GB1.17亿
GPT240GB15亿
ChatGPT45TB+1750亿+

从始至终语言模型的训练机制都没有变,变的只是模型的量级。俗话说“量变引起质变”,相较于传统语言模型,ChatGPT 便是一个质的改变。

ChatGPT 的复杂推理能力源于“分治思想”,将一个大问题分解为一个个的小问题,逐步解决。

为语言模型灌输知识以及其“分治”的问题处理方式,这也就是我们常说的预训练。但是预训练之后也产生了一个问题:由于预训练接触了太多的数据信息,导致模型的回答没有约束,什么都说,不管好的还是不好的!

所以接下来就需要对语言模型进行规范、矫正,让它可以按照我们期望它输出的样子进行输出。具体的方式就是将一大堆人工标注好的范例输入到语言模型当中,这里所说的“人工标注好的范例”是指人为处理过的一些数据,包括答题要求和标准答案等。通过这些范例的大量输入告诉 ChatGPT 应该如何回答。

经过以上三个方面的训练之后,ChatGPT 就已经可以很规范的回答我们的问题了。当然至此想让它具有中立、客观、安全的语言描述能力还是不够的,还需要对 ChatGPT 进行最后的创意引导,具体的做法就是让任何用户对它进行自由提问,然后 ChatGPT 无干预的自由回答,最后人工告诉它哪个回答的好,哪个回答的不好,并分别给予奖励/惩罚。这些做法是在规范 ChatGPT 的表现,使它尽可能的作出符合人类认可的回答。

综上,ChatGPT 大语言模型的训练过程为:预训练→模板规范→创意引导。正是这三个步骤,再基于超大规模的数据造就了今天的最强语言模型 ChatGPT。

在 ChatGPT 大模型时代,我们应该怎么做?

万物都是有两面性的,拥有强大能力的 ChatGPT 也无可避免的存在着一些缺陷:

  • 可能会胡编乱造;
  • 可能会混淆,把一个人身上的事情用到另一个人身上;
  • 无法直接操作,我们没有办法像操作数据库一样去操作它;
  • 还存在一定的安全隐患,如某些机密性的信息;
  • 更新效率低;
  • 无法把语言和现实进行映射。

即使再强,也还有着很大的优化空间。事实上目前还有不少人对 ChatGPT 存在着抵触心理,因为在他们的认知中,ChatGPT 会造成大量的人员失业甚至是替代人类。但我想说的是ChatGPT 并不会让你失业,熟练使用 ChatGPT 的人才会让你失业。我们应该做的是拥抱科技、拥抱 ChatGPT,接受它并优化自己的学习方法,终身学习。

只有我们自身加入到科技发展的进程中,才不会被科技发展所淘汰。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

js中堆的操作和案例!

堆 什么是堆? 堆是一种特殊的完全二叉树。完全二叉树的含义就是每层节点都完全填满,除了最后一层外只允许最右边缺少若干个节点。在 JavaScript 中通常用数组表示堆(按照广度优先遍历顺序)。 最大堆 最小堆 特性 所有的节…

Python入门教程+项目实战-14.4节-lambda表达式

目录 14.4.1 理解匿名函数 14.4.2 lambda表达式 14.4.3 lambda表达式与具名函数 14.4.4 知识要点 14.4.5 系统学习python 14.4.1 理解匿名函数 匿名函数,从其字面意思来进行理解。所谓的匿名即不具名,没有名称。匿名函数,也就是没有函…

chatgpt赋能python:Python编程语言-让生活更有趣

Python编程语言-让生活更有趣 作为一名10年的Python工程师,我可以毫不犹豫地说,Python是一种编辑器最有趣的编程语言之一。作为Python的忠实拥护者和使用者,我深信Python可以让生活变得更轻松,更有趣。 Python简介 Python是一种…

std::function的讲解与实战

一、C语言中的函数指针 先看一个函数指针的例子 test_fun.cpp&#xff1a; #include<iostream>//定义函数指针 typedef int (*func)();using namespace std;int test1(){cout<<"hello, test1"<<endl;return 0; }int test2(){cout<<"h…

第三十五章Java面向对象概念及封装、继承、多态三种特性详解

面向对象简称 OO&#xff08;Object Oriented&#xff09;&#xff0c;20 世纪 80 年代以后&#xff0c;有了面向对象分析&#xff08;OOA&#xff09;、 面向对象设计&#xff08;OOD&#xff09;、面向对象程序设计&#xff08;OOP&#xff09;等新的系统开发方式模型的研究。…

ch10_2控制单元的_微程序设计

1. 微程序设计 1.1 微程序设计思想 使用微程序的设计方式&#xff0c;实现计算机系统的控制器&#xff1b; 微程序的设计&#xff0c;是方便指令集的修改和扩展&#xff1b; 每个节拍发出的控制命令&#xff0c; 实际上就是一个电信号&#xff0c;或者是几个电信号&#xf…

堆的向下调整算法,堆排,TopK问题

文章目录 堆的向下调整算法堆的删除&#xff1a;堆排序向上调整建堆的时间复杂度向下调整建堆的时间复杂度为&#xff1a;TopK问题 堆的向下调整算法 我们在这里都已小堆为例&#xff1a; 在这里我们有一个数组 int array[] {27,15,19,18,28,34,65,49,25,37}; 我们通过把根节…

Oracle VM VirtualBox添加磁盘

文章目录 1、Oracle VM VirtualBox添加磁盘 1、Oracle VM VirtualBox添加磁盘 1.关闭正在启动的Oracle VM VirtualBox 2、选择存储 3、点击最右边 4、选择创建 直接下一步&#xff1a; 直接下一步&#xff1a; 调整需要的大小–创建即可: 此时此刻磁盘加载成功&#xff0…

【综合企业管理平台】网络杂谈(10)之什么是Unicenter TNG?

涉及知识点 什么是 Unicenter TNG&#xff0c;Unicenter TNG的基本管理功能&#xff0c;Unicenter TNG Discovery &#xff0c;深入了解Unicenter TNG技术&#xff0c;综合企业管理平台 Unicenter TNG 。 原创于&#xff1a;CSDN博主-《拄杖盲学轻声码》&#xff0c;更多内容可…

8.串行通信

1.通信接口相关知识&#xff1a; &#xff08;1&#xff09;处理器与外界设备通信的两种方式&#xff1a; 1&#xff09;并行通信&#xff1a; 传输原理&#xff1a;数据各个位同时传输&#xff1b; 优点&#xff1a;速度快&#xff1b; 缺点&#xff1a;占用引脚资源多&…

vue+leaflet笔记之地图网格

vueleaflet笔记之地图网格 本文介绍了Web端使用Leaflet开发库显示地图经纬网和标准图幅网格的方法 (底图来源:天地图)&#xff0c; 地图格网是由间隔均匀的横向线和纵向线组成的网络&#xff0c;用于在地图上识别各个位置。 经纬网通过在地图上描绘纬度和经度格网&#xff0c;…

40.Docker

目录 一、Docker。 &#xff08;1&#xff09;认识Docker。 &#xff08;1.1&#xff09;什么是Docker。 &#xff08;1.2&#xff09;Docker和虚拟机的区别。 &#xff08;2&#xff09;镜像、容器、DockerHub、Docker架构。 &#xff08;3&#xff09;安装Docker&#…

VS+QT+VTK三维曲面网格点选切割

程序示例精选 VSQTVTK三维曲面网格点选切割 如需安装运行环境或远程调试&#xff0c;见文章底部个人QQ名片&#xff0c;由专业技术人员远程协助&#xff01; 前言 这篇博客针对<<VSQTVTK三维曲面网格点选切割>>编写代码&#xff0c;代码整洁&#xff0c;规则&…

DAMA学习笔记1:概念模型-逻辑模型篇

A实体的某个字段指向 B实体的主键, 则称A实体的那个字段为该实体的外键, 一个表里可以有多个外键&#xff0c;也可以没有外键&#xff1b; 被指向的实体称为主实体(主表)&#xff0c;也叫父实体(父表)&#xff0c;负责指向的实体称为从实体(从表)&#xff0c;也叫子实体(子表)…

记录好项目D18

记录好项目 你好呀&#xff0c;这里是我专门记录一下从某些地方收集起来的项目&#xff0c;对项目修改&#xff0c;进行添砖加瓦&#xff0c;变成自己的闪亮项目。修修补补也可以成为毕设哦 本次的项目是个网上商城 一、系统介绍 前台商城系统&#xff1a;包含首页登录、商…

动态规划——下降路径最小和

题目链接 leetcode在线oj题——下降路径最小和 题目描述 给你一个 n x n 的 方形 整数数组 matrix &#xff0c;请你找出并返回通过 matrix 的下降路径 的 最小和 。 下降路径 可以从第一行中的任何元素开始&#xff0c;并从每一行中选择一个元素。在下一行选择的元素和当前…

mmpose冻结参数训练,如何添加find_unused_parameters参数

mmpose冻结参数训练&#xff0c;如何添加find_unused_parameters参数 在backbone下方添加 frozen_stages7即可冻结前7层的参数。要注意对于多卡训练来说还需要添加 find_unused_parameters True。看图片中代码的位置。

回忆雅礼朱哥二三事

少年时代的记忆是最模糊的&#xff0c;却也是最深刻的。一些瞬间在大脑里几十年&#xff0c;那一定是你曾经心动和在乎过的感受。年少求学期间&#xff0c;因对数学的痴迷&#xff0c;和数学有关的一切我都记忆犹新&#xff1a;记得一个人趴在地上解题一下午的投入&#xff0c;…

分析各种富文本框的自动填写方法

怎样自动填写表单中的富文本框&#xff1f; 什么是富文本框&#xff1f;富文本框就是在网页上可以输入带格式的文本输入框。在富文本框中&#xff0c;可以设置使用不同的字体、颜色&#xff0c;可以控制段落、边距&#xff0c;还可以插入图片、表情等。是实现在线编辑不可或缺…

c++ word简单的写文本与画表格只支持docx

简单使用的代码如下所示&#xff1a; #include "stdafx.h" #include <windows.h> #include "minidocx.hpp" using namespace docx; using namespace std; std::string GB2312ToUTF8(const std::string& gb2312) { int len MultiByteToWid…