在这里插入图片描述

大家好,我想做这个视频已经有一段时间了。这是一个全面但面向普通观众的介绍,介绍像ChatGPT这样的大型语言模型。我希望通过这个视频让大家对这种工具的工作原理有一些概念性的理解。

首先,我们来谈谈你在这个文本框里输入内容并点击回车后背后的运作机制。我们应该输入什么?这些生成出来的词又是怎么回事?它是如何工作的?你到底是在和什么交流?
在这里插入图片描述

我们将从构建像ChatGPT这样的东西开始讲起,在这个过程中,我会提到一些这些工具在认知心理学方面的影响。

预训练数据(互联网)​
在这里插入图片描述

预训练阶段是整个过程的第一步。预训练阶段的第一步是从互联网下载和处理数据。为了让大家对这个有个直观的感受,我推荐大家看看这个网址。有一家公司叫Hugging Face,他们收集、整理并创建了一个名为FineWeb的数据集。他们在这个博客文章里详细介绍了FineWeb数据集的构建过程。像OpenAI、Anthropic和Google等主要的LLM提供商内部也有类似的数据集。
在这里插入图片描述

我们试图从互联网上获取大量高质量的文本,这些文本来源公开可用,并且我们希望文档的种类非常丰富,因为我们希望模型能包含大量的知识。实现这个目标其实很复杂,需要多个步骤。比如FineWeb数据集最终大概是44TB的磁盘空间。虽然互联网非常大,但我们处理的是文本,并且经过了严格的筛选。
在这里插入图片描述

Common Crawl是一个从2007年开始就一直在抓取互联网的组织。截至2024年,他们索引了27亿个网页。他们有很多爬虫在互联网上抓取数据,从一些种子网页开始,顺着链接不断抓取并索引信息。Common Crawl的数据很原始,需要经过很多处理步骤,比如URL过滤,去除恶意网站、垃圾网站等;文本提取,把HTML代码转化为纯文本;语言过滤,比如FineWeb会用语言分类器筛选出英语占比超过65%的网页;还有去重和去除个人身份信息等操作。
在这里插入图片描述

标记化(Tokenization)​

在把文本输入神经网络之前,我们需要决定如何表示这些文本并将其输入。我们的技术要求文本是一维符号序列,并且符号数量有限。我们先把文本转化为UTF - 8编码的原始比特,然后通过字节对编码算法等方式将文本转化为有限的符号序列。比如GPT - 4使用了大约10万个可能的符号。

神经网络的输入输出

我们把文本序列用标记器转化为标记序列后,就进入神经网络训练阶段。我们希望模型学习标记在序列中的统计关系。我们会从数据中选取一定长度的标记窗口,预测下一个标记。开始时神经网络是随机初始化的,我们会根据预测结果和真实标签调整网络参数,让正确答案的概率更高。

神经网络内部

神经网络的输入是变长标记序列,输出是对下一个标记的预测概率。这些参数就像DJ调音台上的旋钮,通过调整参数来优化模型的预测结果。现代神经网络有数十亿个参数,训练过程就是不断调整这些参数使其与训练数据的统计模式相匹配。

推理(Inference)​

推理阶段是从模型中生成新数据。我们从一些起始标记开始,根据模型的概率分布采样下一个标记,不断重复这个过程。由于采样和随机性的存在,生成的结果具有一定的随机性,可能与训练数据不完全相同。

GPT - 2:训练和推理

GPT - 2是OpenAI发布的第二代Transformer神经网络,有16亿个参数,最大上下文长度为1242个标记,训练了约1000亿个标记。我曾尝试复现GPT - 2,训练成本在2019年估计约为40000美元,现在可以做得更好且成本更低。

Llama 3.1基础模型推理

我们还可以使用一些大科技公司训练好的模型。比如Llama 3,它是Meta发布的450亿参数模型,训练了15万亿个标记。Meta还发布了Instruct版本,使其成为一个助手模型。我们可以与基础模型交互,但它还不是完整的助手,只是一个标记自动补全工具,并且结果是随机的。虽然它能提供一些知识,但这些知识是模糊、概率性的,而且可能存在幻觉。不过,通过巧妙的提示设计,基础模型也可以在一些实际应用中发挥作用,比如构建翻译应用等。甚至可以通过特定的提示结构让基础模型扮演助手的角色。

最后,我们来回顾一下从预训练到后训练的过程。我们希望训练像ChatGPT这样的LLM助手,预训练阶段主要是获取互联网文档,将其分割成标记,然后用神经网络预测标记序列。

参考

https://www.youtube.com/live/7xTGNNLPyMI

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

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

相关文章

Ubuntu 下 nginx-1.24.0 源码分析 - ngx_conf_add_dump

ngx_conf_add_dump 定义在src\core\ngx_conf_file.c static ngx_int_t ngx_conf_add_dump(ngx_conf_t *cf, ngx_str_t *filename) {off_t size;u_char *p;uint32_t hash;ngx_buf_t *buf;ngx_str_node_t *sn;ngx_conf_dump_t *cd;has…

Oracle 导出所有表索引的创建语句

在Oracle数据库中,导出所有表的索引创建语句通常涉及到使用数据字典视图来查询索引的定义,然后生成对应的SQL语句。你可以通过查询DBA_INDEXES或USER_INDEXES视图(取决于你的权限和需求)来获取这些信息。 使用DBA_INDEXES视图 如…

快速搭建多语言网站的 FastAdmin 实践

快速搭建多语言网站的 FastAdmin 实践 引言 在全球化的背景下,越来越多的网站需要支持多种语言,以便满足不同用户的需求。FastAdmin 是一个基于 ThinkPHP 的快速后台开发框架,提供了丰富的功能和灵活的扩展性,非常适合用于快速搭…

Python 实战:构建分布式文件存储系统全解析

Python 实战:构建分布式文件存储系统全解析 在当今数据爆炸的时代,分布式文件存储系统凭借其高可扩展性、高可靠性等优势,成为了数据存储领域的热门选择。本文将详细介绍如何使用 Python 构建一个简单的分布式文件存储系统。从系统架构设计&…

【综合项目】api系统——基于Node.js、express、mysql等技术

目录 0 前言 1 初始化 2 注册登录 2.1 注册 2.1.1 功能:密码加密(2.3.3) 2.1.1.1 操作 2.1.1.2 bcryptjs详解 2.1.2 插入新用户(2.3.4) 2.1.3 优化:表单数据验证(2.5) …

tableau之标靶图、甘特图和瀑布图

一、标靶图 概念 标靶图(Bullet Chart)是一种用于显示数据与目标之间关系的可视化图表,常用于业务和管理报告中。其设计旨在用来比较实际值与目标值,同时展示额外的上下文信息(如趋势)。 作用 可视化目标…

Linux下的网络通信编程

在不同主机之间,进行进程间的通信。 1解决主机之间硬件的互通 2.解决主机之间软件的互通. 3.IP地址:来区分不同的主机(软件地址) 4.MAC地址:硬件地址 5.端口号:区分同一主机上的不同应用进程 网络协议…

网络七层模型—OSI参考模型详解

网络七层模型:OSI参考模型详解 引言 在网络通信的世界中,OSI(Open Systems Interconnection)参考模型是一个基础且核心的概念。它由国际标准化组织(ISO)于1984年提出,旨在为不同厂商的设备和应…

530 Login fail. A secure connection is requiered(such as ssl)-java发送QQ邮箱(简单配置)

由于cs的csdN许多文章关于这方面的都是vip文章,而本文是免费的,希望广大网友觉得有帮助的可以多点赞和关注! QQ邮箱授权码到这里去开启 授权码是16位的字母,填入下面的mail.setting里面的pass里面 # 邮件服务器的SMTP地址 host…

Sqlserver安全篇之_TLS的证书概念

证书的理解 参考Sqlserver的官方文档https://learn.microsoft.com/zh-cn/sql/database-engine/configure-windows/certificate-overview?viewsql-server-ver16 TLS(Transport Layer Security)传输层安全和SSL(Secure Sockets Layer)安全套接字层协议位于应用程序协议层和TCP/…

【SQL】掌握SQL查询技巧:数据分组与排序

目录 1. GROUP BY 1.1 定义与用途1.2 示例说明1.3 注意事项1.4 可视化示例 2. ORDER BY 2.1 定义与用途2.2 升序说明(默认)2.3 降序排序2.4 多列排序2.5 可视化示例 3. GROUP BY 与 ORDER BY 的结合使用4. 可视化示例总结 在数据库管理中,S…

SOME/IP-SD -- 协议英文原文讲解6

前言 SOME/IP协议越来越多的用于汽车电子行业中,关于协议详细完全的中文资料却没有,所以我将结合工作经验并对照英文原版协议做一系列的文章。基本分三大块: 1. SOME/IP协议讲解 2. SOME/IP-SD协议讲解 3. python/C举例调试讲解 5.1.3.1 E…

NameError: name ‘libpaddle‘ is not defined

问题场景: Error: Can not import paddle core while this file exists: C:\Users\Admin\AppData\Roaming\Python\Python38\site-packages\paddle\fluid\libpaddle.pyd Traceback (most recent call last): File "C:\Users\Admin\AppData\Roaming\Python\Pyth…

青少年编程与数学 02-010 C++程序设计基础 11课题、程序结构

青少年编程与数学 02-010 C程序设计基础 11课题、程序结构 一、C程序结构二、main函数1. main 函数的基本形式1.1 无参数形式1.2 带参数形式 2. 参数解释3. 示例3.1 无参数形式3.2 带参数形式 4. 编译和运行4.1 编译4.2 运行 5. main 函数的返回值6. 总结 三、预处理指令1. #in…

【Linux】learning notes(3)make、copy、move、remove

文章目录 1、mkdir (make directory)2、rmdir (remove directory)3、rm(remove)4、>5、touch 新建文件6、mv(move)7、cp(copy) 1、mkdir (make…

智能AI替代专家系统(ES)、决策支持系统(DSS)?

文章目录 前言一、专家系统(ES)是什么?二、决策支持系统(DSS)是什么?1.决策支持系统定义2.决策系统的功能与特点3.决策支持系统的组成 三、专家系统(ES)与决策支持系统(D…

实现Python+Django+Transformers库中的BertTokenizer和BertModel来进行BERT预训练,并将其应用于商品推荐功能

一、环境安装准备 #git拉取 bert-base-chinese 文件#创建 虚拟运行环境python -m venv myicrplatenv#刷新source myicrplatenv/bin/activate#python Django 集成nacospip install nacos-sdk-python#安装 Djangopip3 install Django5.1#安装 pymysql settings.py 里面需要 # 强制…

Qt Creator + CMake 构建教程

此教程基于: Qt 6.7.4Qt Creator 15.0.1CMake 3.26.4 Qt 6 以下的版本使用 CMake 构建可能会存在一些问题. 目录 新建窗体工程更新翻译添加资源软件部署(Deploy) 此教程描述了如何一步步在 Qt Creator 中使用 CMake 构建应用程序工程. 涉及 新建窗体工程, 更新翻译, 添加资源, …

5个GitHub热点开源项目!!

1.自托管 Moonlight 游戏串流服务:Sunshine 主语言:C,Star:14.4k,周增长:500 这是一个自托管的 Moonlight 游戏串流服务器端项目,支持所有 Moonlight 客户端。用户可以在自己电脑上搭建一个游戏…

【Mark】记录用宝塔+Nginx+worldpress+域名遇到的跨域,301,127.0.0.1,CSS加载失败问题

背景 想要用宝塔搭建worldpress,然后用域名直接转https,隐藏掉ipport。 结果被折磨了1天,一直在死活在301,127.0.0.1打转 还有css加载不了的情况 因为worldpress很多是301重定向的,所以改到最后我都不知道改了什么&am…