LLM预训练过程-简明版本

news2025/4/20 14:05:14

文章总结自视频:【1080P】安德烈·卡帕西:深入探索像ChatGPT这样的大语言模型|Andrej Karpathy_哔哩哔哩_bilibili

1. 准备训练集

详细的数据集准备方法可参考视频,或者huggingFace

2. 分词(Tokenizer)

分词(Tokenization) 是将连续的自然语言文本(如句子、段落)分割成有意义的独立单元(称为 “词” 或 “Token”)的过程。这些单元可以是词语、子词(如词缀)、字符甚至字节,具体取决于语言特性和模型需求。

分词的本质是将人类语言的 “模糊性” 转化为机器可计算的 “离散符号”,其质量直接决定了 NLP 系统的上限。

分词工具:https://tiktokenizer.vercel.app/ 

 如下,gpt-4o分词工具,将"hello, how are you?"分成6个tokens,分别是:

24912, 11, 1495, 553, 481, 30

 deepseek-r1分词情况(中文)如下。

 那么一次分词器需要多少个不同的tokens来表示编码所有文本内容呢?gpt需要100277个。

3. 训练

语言模型训练的核心逻辑:基于上下文序列,预测下一个 token 的概率分布,并通过监督学习优化模型参数。

如下上下文输入的是前4个tokens(逐渐增加输入tokens,理论上可以无限多个,但是实际计算量太大,会限制输入个数作为最大上下文长度),下一个token是3962,预测此token的概率。网络输出的是一个 100277维度的概率分布,每一个位置表示下一个是对应token的概率。如下3962位置的概率是4%,目标是通过有监督学习使得此概率越大越好。

注意:这样训练得到的只是一个base model;他只会根据输入,随机概率出后续内容。它不是instruct model。如下图所示,直接复制输入维基百科内容,base model会填充后续的维基百科内容内容。这些base model非常删除记忆训练的数据,所以输入前面的内容,他会补充后续的内容。

4. 推理

LLM 的自回归特性:生成下一个 Token 时,始终基于已生成的历史内容,逐步扩展序列,直至满足终止条件(如达到指定长度或生成结束符)。

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

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

相关文章

mingw32编译ffmpeg

ffmpeg https://gitee.com/mirrors/ffmpeg.git 使用msys2的mingw32 pacman -S mingw-w64-x86_64-toolchain compile ./confiure --enable-static --disable-shared --enable-gpl --target-oswin32 mingw32-make -j4 提示编译错误,msys2里面的路径是/d/tools/msys2…

MAVEN解决版本依赖冲突

文章目录 一、依赖冲突概念1、什么是依赖冲突2、依赖冲突的原因3、如何解决依赖冲突 二、查看依赖冲突-maven-helper1、安装2、helper使用1、conflicts的阅读顺序(从下向上看)2、dependencies as List的阅读顺序(从下向上看)3、de…

Linux Bash 单命令行解释 | 文件操作 / 字符串操作 / 重定向

注:本文为 “Linux Bash” 相关文章合辑。 中文引文,未整理。 英文引文,机翻未校。 第一部分:文件操作 1. 清空文件(清除文件大小为 0) $ > file这行命令使用输出重定向操作符 >。输出重定向造成文…

在终端中用code命令打开vscode并加载当前目录了

注册code命令 启动 VSCode 编辑器,按 shift command p输入 shell command,选择 Install ‘code’ command in PATH 选项, 安装code 命令 此操作会把 code 命令添加到系统的环境变量里。 打开 iTerm2 终端 在 iTerm2 中,cd 代码库根目录, …

ESMFold对决AlphaFold:蛋白质-肽相互作用预测的新进展

今天向大家介绍的这篇文章题目为:“Protein−Peptide Docking with ESMFold Language Model”,近期发表在JCTC上。 本文主要研究 ESMFold 语言模型在蛋白质-肽对接中的应用。通过探索多种对接策略,评估其在预测蛋白质-肽相互作用方面的性能&a…

win终端添加git-bash,支持linux的shell语法

git的git-bash支持很多linux的语法,比如ll,rm等等,用着很方便,比cmd、ps用着习惯 点击下箭头,设置 添加新配置 配置 地址为git地址\bin\bash.exe,不要用根目录的git-bash.exe,这个会打开新弹窗后…

wpf中DataGrid组件每一行的背景色动态变化

背景描述:存在多个轧辊,其中有的轧辊是成对的,成对的辊ROLL_NO这个变量的值相同,有的轧辊是单个暂时没有配对的。成对的辊北京颜色交替突出显示,单个辊不需要设置背景色。 实现: 换辊的时候给成对的辊分配相…

002-告别乱码-libiconv-C++开源库108杰

本课文包含三个视频! 为什么中文版Windows是编程出现乱码的高发地带?怎么用 libiconv 把国标编码的汉字转换成宇宙统一码?怎么简化 libiconv 那些充满坑的 纯C 函数API? 1. 安装 libiconv 通常,你在 MSYS2 中安装过 G…

DeepSeek赋能智慧交通:城市交通流量智能预测与优化,开启智能出行新时代

在数字化转型的浪潮中,智慧交通正成为提升城市运行效率、改善居民出行体验的关键领域。 DeepSeek作为人工智能领域的前沿技术,凭借其强大的数据分析、智能决策和多模态交互能力,正在为智慧交通注入新的活力,推动交通管理从“经验…

Token登录授权、续期和主动终止的方案(Redis+Token(非jwtToken))

1、RedisToken方案的授权 1.1 基本原理 登录后使用UUID生成token,前端每次请求都会带上这个token作为授权凭证。这种方案是能自动续签,也能做到主动终止。所以很多项目用的都是RedisToken方案,简单方便问题少。缺点就是需要依赖Redis和数据…

强大的数据库DevOps工具:NineData 社区版

本文作者司马辽太杰, gzh:程序猿读历史 在业务快速变化与数据安全日益重要的今天,生产数据库变更管理、版本控制、数据使用是数据库领域的核心挑战之一。传统的解决方式往往采用邮件或即时通讯工具发起审批流程,再通过堡垒机直连数…

【动态规划篇】1137. 第 N 个泰波那契数

前言: 动态规划问题一般分为五步: 先确定一个状态表示根据状态表示来推导状态方程初始化填表顺序返回值 ①状态表示 先创建一个以为数组,起名为dp,这个一维数组就叫做dp表 把dp表填满,填满后的某个值就是我们想要的结果状态表…

网络信息安全专业(710207)网络安全攻防实训室建设方案

一、引言 随着信息技术的飞速发展,网络空间安全已成为国家安全的重要组成部分,对网络信息安全专业人才的需求日益增长。为满足网络信息安全专业(专业代码710207)的教学需求,提升学生在网络安全攻防领域的实践能力&…

【Linux】:线程池

朋友们、伙计们,我们又见面了,本期来给大家带来线程池相关的知识点,如果看完之后对你有一定的启发,那么请留下你的三连,祝大家心想事成! C 语 言 专 栏:C语言:从入门到精通 数据结构…

共享内存(System V)——进程通信

个人主页:敲上瘾-CSDN博客 进程通信: 匿名管道:进程池的制作(linux进程间通信,匿名管道... ...)-CSDN博客命名管道:命名管道——进程间通信-CSDN博客 目录 一、共享内存的原理 二、信道的建立 …

ctfhub-HTTP协议

请求方式 它要我们使用CTF**B Method,其实就是ctfhub方式 我们直接抓包试一试,把GET改成CTFHUB,在发送到repeater 在repeater处点击发送,得到响应 302跳转 点击“give me flag"没有任何变化,我们抓个包试试 我们把它发送到repeater&…

【TMS570LC4357】之工程创建

备注:具体资料请在官网海淘.TMS570LC4357资料 在线文档Hercules Safety MCU Resource Guide — Hercules Safety MCUs Documentation XDS100 Debug Probe (ti.com) Git https://git.ti.com/git/hercules_examples/hercules_examples.git https://git.ti.com/cgit/h…

一种改进的Estimation-of-Distribution差分进化算法

为了充分利用差分进化(DE)的强大开发和estimation-of-distribution算法(EDA)的强大探索,提出了一种混合estimation-of-distribution算法的改进差分进化IDE-EDA。首先,提出了一种新的协同进化框架&#xff0…

[数据结构]排序之希尔排序( 缩小增量排序 )

希尔排序法又称缩小增量法。希尔排序法的基本思想是: 先选定一个整数,把待排序文件中所有记录分成个 组,所有距离为的记录分在同一组内,并对每一组内的记录进行排序。然后,取,重复上述分组和排序的工 作。当…

进程(下)【Linux操作系统】

文章目录 进程的状态R状态:S状态:D状态:T状态t状态Z状态:孤儿进程X状态: 进程的优先级如果我们要修改一个进程的优先级重置进程优先级 进程切换进程的调度 进程的状态 在内核中,进程状态的表示&#xff0c…