ChatGPT原理剖析

这篇具有很好参考价值的文章主要介绍了ChatGPT原理剖析。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

ChatGPT常见误解

1. 罐头回应

由开发者准备好的罐头回应:

ChatGPT原理剖析

下面是一个问答,让ChatGPT讲一个关于人工智慧的笑话,但可以看出来,这个笑话的笑点显然和我们平常人不太一样,显得笑点非常奇怪:

ChatGPT原理剖析

2. 网络搜寻重组

你搜寻之后,ChatGPT从网上搜寻答案,整理重组给你想要的答案:

ChatGPT原理剖析

但实际上,多数ChatGPT的答案在网络上都找不到一模一样的句子,甚至很多是幻想出来的。

比方说这个例子:

ChatGPT原理剖析

这些网站看上去有模有样,但其实都是虚构的,不是真实存在的。

官方也给出了回应,说ChatGPT是没有连网的:

ChatGPT原理剖析

ChatGPT真正做的事——文字接龙

ChatGPT真正在做的事情一言以蔽之就是文字接龙,可以把它理解成一个函数,输入一些东西就输出一些东西。可以输入一个句子,输出一个词汇的几率,然后做取样,举例:

ChatGPT原理剖析

它是从一个几率分布中做取样,所以它每次产生的答案是有随机性的。

那现在来看,它也只能回答一个字呀,它是怎么回答一个句子的呢?

ChatGPT原理剖析

它会将原来输出的字作为添加到输入当中去,然后继续产生新的输出,一直反复,知道最后选择出一个结束的符号为止。

ChatGPT原理剖析

那它怎么知道我们之前跟它说的话呢?其实原理是一样的,同一则对话的历史记录都会被作为输入,接入其中。

ChatGPT原理剖析

这个函数会非常复杂,可能有1700亿个以上的参数!

这么一个复杂且神奇的函数f是怎么形成的呢?

ChatGPT原理剖析

是通过大量网络上的资料以及人类的指导下,训练出来的,当神奇函数f找到后,ChatGPT就不需要联网了。我们平常使用的时候,就是测试,测试的时候就不需要上网搜集资料了。

ChatGPT背后的关键技术——预训练(Pre-train)

  • 预训练(Pre-train)又叫自督导式学习(Self-supervised Learning)或基石模型(Foundation Model)

其中ChatGPT中的P就是这个意思:

ChatGPT原理剖析

一般机器是怎样学习的?

以一个英文翻译成中文为例,我们需要提供大量的成对的句子,提供给机器:

ChatGPT原理剖析

这种学习成为督导式学习。

有了成堆资料机器会自动找到函数f:

ChatGPT原理剖析

然而要将一般的机器学习步骤运用在ChatGPT上,我们需要给它提供大量的学习资料,但人类老师提供的资料也许是不足够的,当有人问到它之前没有遇到过得问题,那么它也无法回答:

ChatGPT原理剖析

所以ChatGPT还运用到了另外一个技术,可以无痛制造成对资料

实际上,网络上的很多句子,都能形成成对的问答:

ChatGPT原理剖析

其实ChatGPT是在GPT基础上继续发展而来的,从2018年的GPT到后来的GPT2.0,GPT3.0都只是用到了网络上的大量数据,当然每一代都比上一代要多用很多的数据。但是效果并不那么好,之后加入了人类老师的指导变成了ChatGPT:

ChatGPT原理剖析

这其中,在没有人类老师指导的情况下,学习大量网络上的数据,此时称之为预训练(自督导式学习),而在人类老师的指导下呢,就称之为微调(finetune)。

当然,ChatGPT还有用到增强式学习:

ChatGPT原理剖析

当人类老师比较懒不想教AI的时候,或者人类老师也不知道标准答案的时候,就可以使用增强式学习(Reinforcement Learning,RL)这个时候我们只需要点个赞,或者点个踩就可以,比较省事。

ChatGPT带来的研究问题

1. 如何精准提出需求

  • 当我们不能精准提出需求的时候:

ChatGPT原理剖析

  • 当我们精准提出需求的时候:

ChatGPT原理剖析

2. 如何更改错误

ChatGPT原理剖析

如何让ChatGPT修改一个错误,并且不会导致其他错误,这是一个新的主题,叫做:Neural Editing

ChatGPT原理剖析

3. 侦测AI生成的物件

ChatGPT原理剖析

4. 不小心泄露秘密?

有时候这个大型语言模型也许会泄露秘密?

ChatGPT原理剖析

ChatGPT原理剖析

有时候我们不小心告诉它一些东西,有没有办法让它遗忘呢?这是一个新的研究主题,这个主题叫做:Machine Unlearning文章来源地址https://www.toymoban.com/news/detail-407695.html

到了这里,关于ChatGPT原理剖析的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Spring Boot 常见的底层注解剖析

    Spring Boot 是一个用于创建独立的、基于Spring框架的Java应用程序的框架。它提供了许多注解,用于配置和定制应用程序的行为。以下是一些常见的Spring Boot底层注解的剖析: @SpringBootApplication :这是一个组合注解,用于标记一个主要的Spring Boot应用程序类。它包括 @Configuration 、

    2024年02月14日
    浏览(31)
  • 深度剖析5种最常见的指数估值算法

    前面一篇文章发起了一个关于指数低估算法的投票,结果发现感兴趣的人还真不少 既然大家这么感兴趣,那今天就让我来 纱布擦屁股——给你漏一手 首先先来看几个我们常用的基金平台:蛋卷、天天基金、雪球 1、雪球估值 雪球的估值结果分为三种:低估、适中和高估。对

    2024年02月05日
    浏览(25)
  • 【SpringBoot】| Spring Boot 常见的底层注解剖析

    目录 一:Spring Boot 常见的底层注解 1. 容器功能 1.1 组件添加 方法一:使用@Configuration注解+@Bean注解 方法二:使用@Configuration注解+@Import注解  方法三:使用@Configuration注解+@Conditional注解  1.2 原生xml配置文件引入 @ImportResource注解 1.3 配置绑定 方法一:@Component注解 + @Configu

    2024年02月17日
    浏览(33)
  • 【数据结构---排序】庖丁解牛式剖析常见的排序算法

    排序在我们生活中处处可见,所谓排序,就是使一串记录,按照其中的某个或某些的大小,递增或递减的排列起来的操作。 常见的排序算法可以分为四大类:插入排序,选择排序,交换排序,归并排序;其中,插入排序分为直接插入排序和希尔排序;选择排序分为直接

    2024年02月16日
    浏览(48)
  • Flutter原理篇:GestureDetector原理深度剖析及手势原理(上)

    今天我们来讲讲GestureDetector的深度剖析,只有了解原理了,才能知道手势冲突如何解决以及如何更灵活的运用手势。 我们先来看看GestureDetector的内部结构 1. GestureDetector 只是一个包装类,最终还是由 Listener 的 RenderPointListener 执行事件的操作 2.点击事件开始时会首先执行 RawG

    2024年04月27日
    浏览(26)
  • 异或运算的基本介绍以及使用技巧,剖析常见的异或题目

    异或运算,符号为‘^’,直接对底层二进制串进行运算,比算术运算快得多,规则为:相同为0,不同为1。 假设N为任意实数 性质1:0 ^ N = N 性质2:N ^ N = 0 性质3:异或运算满足交换律与结合律 重点:我们可以将异或运算理解为二进制的无进位相加!也就是说,当两个数异或

    2024年02月08日
    浏览(34)
  • ptmalloc底层原理剖析

    目录 一、概述 二、基础了解 2.1 32位进程默认内存布局 2.2 brk  sbrk  mmap 三、内存管理 2.1 结构 2.1.1 main_area 与 non_main_area 2.1.2 malloc_chunk 2.1.3 空闲链表bins 2.1.4 初始化 2.2 内存分配与释放 2.3 使用注意 三、ptmalloc、tcmalloc与jemalloc实现机制对比分析 ptmalloc是开源 GNU C Library (gli

    2024年02月16日
    浏览(32)
  • CVE-2023-28708 原理剖析

    这应该不是一个严重的漏洞,可能评分只能为低,因为并没有什么卵用。 话不多说,直接进入正题 我的复现环境: tomcat-8.5.50 首先我们得简单写一个servlet,当然不写也没事,因为我们的分析到不了处理servlet这一步,只用tomcat默认提供的ROOT就行 首先我们需要在web.xml中注册

    2024年02月09日
    浏览(27)
  • SpringMVC组件原理剖析

    主要剖析DispatcherServlet(前端控制器 )初始化的过程,还有DispatcherServlet执行主流程 DispatcherServlet初始化做了两件事情 获得了一个 SpringMVC 的 ApplicationContext容器 注册了 SpringMVC的 九大组件 前端控制器DispatcherServlet是SpringMVC的入口,也是SpringMVC的大脑,主流程的工作都是在此完

    2024年02月08日
    浏览(30)
  • ClickHouse原理剖析

    ClickHouse是一款开源的面向联机分析处理的列式数据库,其独立于Hadoop大数据体系,最核心的特点是极致压缩率和极速查询性能。同时,ClickHouse支持SQL查询,且查询性能好,特别是基于大宽表的聚合分析查询性能非常优异,比其他分析型数据库速度快一个数量级。 ClickHouse核心

    2024年02月16日
    浏览(22)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包