深入探索像ChatGPT这样的大语言模型-01-Base Model-Pretraining阶段

devtools/2025/3/4 11:22:51/

参考

【必看珍藏】2月6日,安德烈·卡帕西最新AI普及课:深入探索像ChatGPT这样的大语言模型|Andrej Karpathy

fineweb知乎翻译介绍

fineweb-v1原始连接
fineweb中文翻译版本
Chinese Fineweb Edu数据集

查看网络的内部结果,可以参考如下
https://bbycroft.net/llm
https://playground.tensorflow.org/

复现gpt2https://github.com/karpathy/llm.c/discussions/677

这些操作很多都是在云端操作

https://www.ai-galaxy.cn/
https://www.aliyun.com/product/ecs/gpu

首个大规模、可商用的中文指令数据开源

GPT等大模型是如何训练的-01-Base Model-Pretraining阶段

Base Model -Pretraining阶段

Step 1: download and 

preprocess the internet

语言模型的性能毋庸置疑取决数据集

的三个维度:质量、规模、多样性,所以我们会说”数据是一切“,也会说”Good Data Is All You Need“,当然也会唠叨“垃圾进,垃圾出”(garbage in,garbage out)。这都说明数据的重要性。

数据集是地基工程,说不好听是下水道工程,我们看到更多是大模型光鲜亮丽的一面。我们看不到背后数据集的脏活累活。做开源数据集值得我们更多的掌声和尊敬。

虽然我们看到了一些零星中文数据集,但跟海量英文数据集还是相差很大。中国拥有海量的互联网数据,但高质量的开源中文语料和数据集寥寥无几,很多中文语料是基于英文翻译过来,所以我们看到不论是国外大模型还是国内大模型,中文答案总感觉比较生硬,缺少中文的博大精深。

HuggingFace是值得尊敬,前段时间发布了FineWeb开源数据集——一个 15万亿Tokens的开源数据集(占用44TB硬盘空间)!FineWeb 是一个大规模过滤的英文高质量的网络数据集,其性能优于所有当前同等规模的数据集,包括C4、Dolma-v1.6、The Pile 和 SlimPajama 等等。HuggingFace训练了 200 多个消融模型来精心制作此数据集,仔细解析和过滤 Common Crawl。所有配方、数据、消融模型、超参数都是开源的。
在这里插入图片描述

fineweb-v1原始连接
fineweb中文翻译版本
Chinese Fineweb Edu数据集

网页中的文本
在这里插入图片描述
这些文本如何给如神经网络?可以对其进行编码,比如UTF8
计算机的底层是二进制,可以进行如下编码
在这里插入图片描述
这个编码的问题是符号只有0和1,比如表示一个字母需要8位,长度比较长,我们想要较短的编码,可以把连续的8个01当作一个字节。
在这里插入图片描述
这样,8个01有0-255个表达,用这个来表示每个字符,长度减少了很多
,我们可以把这0-255当作唯一的ID,对应具体的字符
当然,不仅仅使用数字,也可以用emoij表示这些具体的字符
在这里插入图片描述
在现金的语言模型中,项要继续缩短序列的长度,这个算法的工作原理是寻找连续的字节霍符号,查看上面的116 会发现116后面经常跟着32,可以把116 32组合程一个新符号 比如组合一个256的ID用来替换 116 32。多次迭代这个过程,每次迭代,我们都减小长度,增加符号的大小,实际中100000是一个较好的符号数量,GPT的符号数量是100277个。

Step 2: tokenization分词

在这里插入图片描述

可以使用如下连接查看分词效果
https://tiktokenizer.vercel.app/
如果访问不变,可以查看如下案例

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
大小写不同,以及多个符号都会影响分词后的结果
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
fineweb大约有15万亿个参数

过程也可以让大模型给出答案
对"hello world"进行tokenizer操作,采用deepseek-r1采用的分词模型,并返回分词后的id
在这里插入图片描述

Step3:neural network training

在这里插入图片描述

神经网络接收输入的token,这里为4个,也可以很长,比如8000个,有的支持100w个token约75w字,阿里的通义千文支持1000w。token越大消耗越大。
在这里插入图片描述这里针对4个token,预测100277个结果,每个结果对应不同的概率,如3962对应词为post 有4%的改了。对于输入序列我们知道正确答案为3962,我们希望3962的概率更好,其它的概率更低,这就是我们会更新神经网络的权重,使得下次计算过程后,3962的概率更高为5%,19348的概率更低为1%。这个更新的过程,不仅发生在这个token上,还发生在数据集的每一个token上。
在这里插入图片描述
因此我们会分批次,窗口的更新这个参数,这一切都是并行的,根据训练集中的数据,训练后,使得预测的token与统计模式一致

neural network internals

在这里插入图片描述
输入为1-8000个token,参数为weight,通过一个函数,这个函数只有可并行,可优化,容易计算,得到一个随机的结果,然后通过上面的步骤返回更新,使得预测的结果符号统计。

查看网络的内部结果,可以参考如下
https://bbycroft.net/llm
https://playground.tensorflow.org/

Step4:inference

在这里插入图片描述

根据每个token预测下一个,比如91的下一个为860
根据91 860预测下一个,为287
根据91 860 287 预测下一个为11579
根据91 860 287 11579预测下一个为13659
这个13659与数据集中的3962是不同的,这个过程是随机的
有时会成功复现数据集中数据,
有时一个token不同后,就会得到不同的token序列,会得到不同的文章

实际情况下,我们会尝试训练多种不同的网络,设置和尺寸,会进行大量的神经网络训练,一旦得到满意的参数,就可以使用模型进行推理,这些大模型都是有较好的权重参数,然后基于这些权重进行推理

Demo:reproducing OpenAI’s GPT-2

在这里插入图片描述

在这里插入图片描述
是一个transformer网络,有16亿参数,现在的大模型可能有一万亿的参数,
最大的上下文长度为1024,现在的可能有100w,更大的上下文意味着预测的更好
gpt2在1000亿的tokens进行的训练,现在的fineweb有15w亿的tokens

复现gpt2
复现gpt2https://github.com/karpathy/llm.c/discussions/677

在这里插入图片描述
随着数据集质量的提升,硬件的发展,软件的发展,现在训练gpt2的成本笑了很多
在这里插入图片描述
每次更新需要3s,一共要更新32000步骤,损失时在逐渐降低
每次处理100w左右的tokens,一共32000步,处理的总tokens约330亿个。
以下是第1次运行20次后,验证输出的结果在这里插入图片描述这个是更新400次后,验证输出的结果
在这里插入图片描述
会发现好了很多,如果更新万32000次,效果会很不错,这个过程需要1-2天。

这些操作很多都是在云端操作

https://www.ai-galaxy.cn/
https://www.aliyun.com/product/ecs/gpu
在这里插入图片描述目前网上公布了H100计算卡的真身,可以看到元器件密密麻麻,基本上没有空隙的地方,计算卡的中心自然是H100 GPU核心,拥有800亿个晶体管,而旁边则是最新的HBM 3显存,共计有六颗,最高可以提供80GB的显存,而显存带宽更是达到了恐怖的3TB/s,而目前消费级显卡中最强劲的产品为RTX 3090 Ti,拥有24GB的显存,显存带宽为1TB/s。
除此之外,H100计算卡拥有128个FP32计算单元,相当于18432颗CUDA,与A100计算卡相比规格提升也十分地恐怖,应该来说现在就差H100计算卡的实际性能表现公布于众了。当然根据现在的情报,游戏显卡将不会采用琥珀架构而是Ada架构,不过应该设计思路差不多,预计在今年9月正式和大家见面。
售价方面,H100计算卡的售价为4745950日元,相当于24.2万元人民币

截止目前,世界五大科技公司的2024年拥有的算力,以及2025年的预测:

微软有75万-90万块等效H100,明年预计达到250万-310万
谷歌有100万-150万块等效H100,明年预计达到350万-420万
Meta有55万-65万块等效H100,明年预计达到190万-250万
亚马逊有25万-40万块等效H100,明年预计达到130万-160万
xAI有10万块等效H100,明年预计达到55万-100万

很多的大模型公司

在这里插入图片描述

大模型公司很多,他们发布的模型为base模型,本质上就是一个令牌模拟器,很多公司不会发布base模型,他们想发布的是助手模型。

gpt22019年发布了一个base模型

https://github.com/openai/gpt-2
这个连接中包含两个主要内容,一个python代码,描述了模型网络的结果
一个是参数,包含15亿的参数,这些参数是经过训练的,就是调音器的旋钮
模型参数的下载可以从大模型社区
https://www.modelscope.cn/models
在这里插入图片描述

Base model in the wild

在这里插入图片描述
gpt2在1000亿个tokens训练了16亿的参数
llama3在15万亿的tokens上训练了4050亿的参数

在这里插入图片描述
以上显示Llama发布了base模型和Iinstruct模型
对于base模型,会根据token生成下一个token
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
会发现同样的问题,答案都不一样,这是因为base模型就是根据token生成下面的token,类似生成一个网页内容。
类似重复学习到的统计模型,base不能完成对话。
现在的base模型还不是很有用,但这个base模型已经记住了很多知识,可以预测下一个token了。
在这里插入图片描述
比如文巴黎的十个景点
在这里插入图片描述
base模型会根据输入自动续写接下来的内容,生成的内容可能是互联网中见过的,互联网的全部内容都做了一个整体的印象,保存在着4500亿个参数中。
再比如打开wiki百科,复制斑马主页的相关信息
在这里插入图片描述
可以发现,base模型基本复现了wiki百科的内容,base模型从记忆中背诵了这个内容,但最终还是会偏离。网络参数是如何记住这些内容,并没有明确的表示。
wiki百科是高质量的来源,在训练时,wiki百科文档会被优先抽取出来作为训练数据。比如wiki百科看了10遍。
大模型的查看到的数据都截至与某一时间节点,针对未来的问题,模型会在概率性的方式下进行最佳的预测,但无论什么,都是幻想,类似平行宇宙。
在这里插入图片描述
尽管base模型模型不是助手模型,但可以通过提示词对其进行设计,比如提供10个单词以及对应的韩文翻译,给如base模型,base模型会从中学习到一些东西,叫上下文学习,并给出对应的翻译,而且是正确的翻译。
提示词就是如此,读者可以基于提示词生成一个助手,这个过程可以基于大模型给出提示。

我在使用llama的base模型,请给出一个提示词的方法,使得base模型可以成为一个助手模型

你是一个知识渊博、乐于助人的AI助手,能够回答各种主题的问题,包括但不限于科技、文化和生活常识。你的目标是尽可能详细而准确地回答用户的问题,并且以友好、专业的态度与用户交流。当你不确定答案时,请诚实地表达,并建议用户提供更多信息或者尝试其他查询方式。例如:
用户:太阳是由什么组成的?
助手:太阳主要由氢和氦组成,这两种元素占据了太阳质量的大部分。除此之外,还有少量的重元素如氧、碳、氮等。

以上就完成了一个base模型,base模型本质上就是一个internet document simulator 互联网文档模拟器


http://www.ppmy.cn/devtools/164440.html

相关文章

物联网同RFID功能形态 使用场景的替代品

在物联网(IoT)和自动识别技术领域,除了RFID标签外,还有一些其他技术产品可以在形态和大小上与RFID标签相似,同时提供类似或更强大的功能。以下是几种能够替代RFID标签的产品: 一、NFC标签 NFC(…

亚马逊新品推广革命:如何用DeepBI的AI智能系统实现从0到爆单的跨越式增长?

引言:传统运营的困局与AI的破局之道 在亚马逊平台,80%的新品倒在了冷启动阶段。传统运营模式下,卖家需要投入数百小时进行市场调研、广告测试和数据分析,却常常陷入三大困境: 选品盲人摸象:依赖经验判断&…

Axure PR 9 中继器 03 翻页控制

大家好,我是大明同学。 接着上期的内容,这期内容,我们来了解一下Axure中继器图表翻页控制。 预览地址:https://pvie5g.axshare.com 翻页控制 1.打开上期RP 文件,在元件库中拖入一个矩形,宽值根据业务实际…

Redis 的几个热点知识

前言 Redis 是一款内存级的数据库,凭借其卓越的性能,几乎成为每位开发者的标配工具。 虽然 Redis 包含大量需要掌握的知识,但其中的热点知识并不多。今天,『知行』就和大家分享一些 Redis 中的热点知识。 Redis 数据结构 Redis…

mysql空间占用

1、查询数据库占用空间 可以通过查询 information_schema 系统数据库中的 SCHEMATA 表和 TABLES 表来获取数据库占用的空间大小。 SELECT table_schema AS 数据库名称,SUM(data_length index_length) / 1024 / 1024 AS 占用空间(MB) FROM information_schema.TABLES GROUP BY…

Docker详解

目录 前言 一、Docker核心概念 1. 镜像 2. 容器 3.容器 vs 虚拟机 4. 仓库 5. 容器与宿主机文件交互 二、数据卷与挂载 1.挂载 2.数据卷 3.数据卷挂载 4.本地目录挂载 5. 挂载模式对比 三、容器网络 1. 网络模式 2. 自定义网络 3. 端口映射 四、Dockerfile与…

Matlab中使用GUIDE工具开发图形用户界面(GUI)

文章目录 1. 初识GUIDE工具1.1 .m 和 .fig的区别和联系1.2 GUIDE工具的详细介绍1.3 GUI控件的属性1.4 自动生成的 .m 文件1.5 回调函数 2. GUI中常见的函数2.1 get 和 set 函数2.2 handles.Tag2.3 OpeningFcn 和 OutputFcn2.4 Callback2.5 CreateFcn 和 DeleteFcn2.6 ButtonDow…

BUU43 [BJDCTF2020]The mystery of ip 1

前置知识: X - Forwarded - For注入 X - Forwarded - For(XFF)是一个 HTTP 头字段,用于记录客户端的真实 IP 地址。当客户端请求经过代理服务器时,代理服务器会将客户端的 IP 地址添加到 X - Forwarded - For 头中。…