ChatGPT原理剖析

news2024/11/21 20:48:24

文章目录

  • ChatGPT常见误解
    • 1. 罐头回应
    • 2. 网络搜寻重组
  • ChatGPT真正做的事——文字接龙
  • ChatGPT背后的关键技术——预训练(Pre-train)
    • 一般机器是怎样学习的?
  • ChatGPT带来的研究问题
    • 1. 如何精准提出需求
    • 2. 如何更改错误
    • 3. 侦测AI生成的物件
    • 4. 不小心泄露秘密?

ChatGPT常见误解

1. 罐头回应

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

在这里插入图片描述

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

在这里插入图片描述

2. 网络搜寻重组

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

在这里插入图片描述

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

比方说这个例子:

在这里插入图片描述

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

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

在这里插入图片描述

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

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

在这里插入图片描述

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

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

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

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

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

在这里插入图片描述

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

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

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

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

在这里插入图片描述

一般机器是怎样学习的?

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

在这里插入图片描述

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

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

在这里插入图片描述

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

在这里插入图片描述

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

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

在这里插入图片描述

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

在这里插入图片描述

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

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

在这里插入图片描述

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

ChatGPT带来的研究问题

1. 如何精准提出需求

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

在这里插入图片描述

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

在这里插入图片描述

2. 如何更改错误

在这里插入图片描述

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

在这里插入图片描述

3. 侦测AI生成的物件

在这里插入图片描述

4. 不小心泄露秘密?

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

在这里插入图片描述

在这里插入图片描述

有时候我们不小心告诉它一些东西,有没有办法让它遗忘呢?这是一个新的研究主题,这个主题叫做:Machine Unlearning

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

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

相关文章

众人围剿,GPT-5招惹了谁

目录 千人呼吁暂停AI训练代表人物分析反对原因分析信息安全人身安全失业利益 总结 GPT-4 火爆全球,引发了人工智能大浪潮。过去的一个月,OpenAI、微软、谷歌加上百度不断释放王炸,所有人都相信,AI 的就是未来的生产力。俗话说&…

如何在本地搭建Maven环境并整合进IDEA中以及创建web工程?【2023最新版】

编译软件:IntelliJ IDEA 2019.2.4 x64 操作系统:win10 x64 位 家庭版 Maven版本:apache-maven-3.6.3 目录 一. 为什么要使用Maven?1.1 获取jar包1.2 添加jar包1.3 使用Maven便于解决jar包冲突及依赖问题 二. 什么是Maven?三. 如何…

Elasticsearch查询文档--常见API篇(附详细代码和案例图文)

前言:大家好,我是小威,24届毕业生,在一家满意的公司实习。本篇文章将介绍Elasticsearch在Java中的几种API的使用,这块内容不作为面试中的重点。 如果文章有什么需要改进的地方还请大佬不吝赐教👏&#x1f4…

Linux Ansible任务控制(循环判断、处理程序、失败任务)

目录 Ansible的Loop循环 简单的Loop循环 数组列表方式的Loop循环 字典方式的Loop循环 基于外部变量的Loop循环 Ansible的When判断 通过魔法变量、事实变量作为条件 通过剧本执行结果的变量来作为条件 Ansible处理程序 Ansible处理失败任务 处理失败任务ignore_error…

语义分割学习笔记(二)转置卷积

目录 1.转置卷积Transposed Convolution概念 2.转置卷积操作步骤 3.转置卷积参数 4.实战案例 推荐课程:转置卷积(transposed convolution)_哔哩哔哩_bilibili 感谢霹雳吧啦Wz,真乃神人也。 1.转置卷积Transposed Convolutio…

分类预测 | MATLAB实现WOA-CNN鲸鱼算法优化卷积神经网络数据分类预测

分类预测 | MATLAB实现WOA-CNN-LSTM鲸鱼算法优化卷积长短期记忆网络数据分类预测 目录 分类预测 | MATLAB实现WOA-CNN-LSTM鲸鱼算法优化卷积长短期记忆网络数据分类预测分类效果基本描述程序设计参考资料 分类效果 基本描述 1.Matlab实现WOA-CNN多特征分类预测,多特…

SimpleCG库安装使用

SimpleCG库是一个简单的Windows图形库,对GDI及窗口和消息机制进行了简单封装,从而达到类似Turbo C图形库的调用方法,目的是为了初学C语言的同学能快速上手图形界面编程。使用对象包括所有初学C语言的同学,尤其是中学生&#xff0c…

PAT B1049

PAT B1049 题目 给定一个正数数列,我们可以从中截取任意的连续的几个数,称为片段。例如,给定数列 { 0.1, 0.2, 0.3, 0.4 },我们有 (0.1) (0.1, 0.2) (0.1, 0.2, 0.3) (0.1, 0.2, 0.3, 0.4) (0.2) (0.2, 0.3) (0.2, 0.3, 0.4) (0…

【】lambda表达式

文章目录 lambda表达式lambda概念lambda表达式的格式关于捕获列表常见问题: 使用lambda表达式交换两个数lambda表达式底层原理 lambda表达式 lambda概念 lambda表达式本质是一个匿名函数(因为它没有名字),恰当使用lambda表达式可以让代码变得简洁.并且可以提高代码的可读性 例…

字节后端入门 - Go 语言原理与实践

1.1什么是Go语言 1.2Go语言入门 环境 1.3基础语法 1.3.1变量 var name"value" 自己推断变量类型; 也可以显式类型 var c int 1 name: type(value) 常量: const name "value" g : a"foo" 字符串拼接 1.3.2 if else {}花括号…

Java——多线程和锁

多线程 前言:当我们打开一个网站时,不同部分的加载并不是先后出现的,是并行出现的,没有出现一个地方没加载完,别的地方就也加载不出来这种事。这个就是多线程并行运行。 当其中一个线程发生阻塞时,操作系统会自动执行…

系统集成项目管理工程师 笔记(第12章:项目沟通管理和干系人管理)

文章目录 12.1.2 沟通的方式 404沟通管理计划的编制过程12.2.2 制订沟通管理计划的工具 4114、沟通方法 12.3.2 管理沟通的工具 41312.4.2 控制沟通的技术和方法 4163、会议 12.5.1 项目干系人管理所涉及的过程 420项目干系人管理的具体内容:(1&#xff…

C/C++文件操作/IO流

学习任务: ⭐认识文件。⭐学习C语言中文件如何打开和关闭。⭐学习C语言中文件的读写方法(包括顺序读写和随机读写)。⭐学习C语言文件操作中如何判断文件读取结束。⭐简单了解FILE缓冲区。⭐认识流。⭐学习C的IO流,包括标准IO流和文…

【CMake】给一个库添加用法需求(Usage Requirements)

3. 给一个库添加用法需求(Usage Requirements) 1. usage requirements 目标参数的用法要求(不知道有没有更好的翻译方式)可以更好地控制库或可执行的链接,并包括行,同时还可以更好地控制CMAKE内部目标的传…

【哈士奇赠书活动 - 17期】-〖uni-app跨平台开发与应用从入门到实践〗

文章目录 ❤️‍🔥 赠书活动 - 《uni-app跨平台开发与应用从入门到实践》❤️‍🔥 编辑推荐❤️‍🔥 抽奖方式与截止时间❤️‍🔥 赠书活动 → 获奖名单 ❤️‍🔥 赠书活动 - 《uni-app跨平台开发与应用从入门到实践》…

日志技术-Logback

一. 日志是什么: 输出语句的弊端:它只能在控制台展示,它不能记录在本地文件当中。 日志可以将程序运行过程中的信息直接记录在文件里面,做永久存储。 性能较好,简单来说就是运行的速度会比较快。 二. 日志技术体系、L…

3_docker应用部署:MySQL-Tomcat-Nginx-Redis

Docker 应用部署 一、部署MySQL 案例需求:在Docker容器中部署MySQL,并通过外部mysql客户端操作MySQL Server。 分析: 容器内的网络服务和外部机器不能直接通信 外部机器和宿主机可以直接通信 宿主机和容器可以直接通信 当容器中的网络服…

iOS 17 开放侧载,微信双开要来了?

关于苹果北京时间 6 月 6 日召开的 WWDC23 全球开发者大会,外媒彭博记者 Mark Gurman 带来了最新消息。 大致更新概览 他认为,本次 WWDC23 大会将会主要推出这几款产品和软件:iOS 17、iPadOS 17、macOS 14、watchOS 10、新的 MacBooks 、混…

文件上传下载系列——如何实现文件秒传

文章目录 🎃简介: 👻核心思想: MD5是什么? 实现步骤: 🎄实操: 1、java生成文件MD5码 2、javascript生成文件MD5码 ⛳️基于秒传的分片上传下载 上传: 下载&…

Afkayas.1(★)

软件运行 要输入正确的Name和Serial 查壳 一个VB程序,没有加壳 载入OD 直接开搜索字符串。 这里看到了错误的提示,“You Get It”应该就是成功的字符串了。 前面的“AKA-”应该是在什么时候拼接的字符串 去成功的字符串附近看看 这个字符串上面…