如何从零开始理解LLM训练理论?预训练范式、模型推理与扩容技巧全解析
Part 1:预训练——AI的九年义务教育 📚
想象你往峨眉山猴子面前扔了1000本《五年高考三年模拟》-我那时候还在做的题(海量互联网数据),突然有一天它开口唱起《我在东北玩泥巴》,这有意思的过程就是LLM的预训练范式!这时候你的表情就像“啊这河里吗”,但别急,背后是三大杀招:
1️⃣ 分词赛博炼丹术:
文字的量子重组
用tokenizer把"松花江上"炼成[104130, 104104,…]的 数字灵纹,过程堪比:
中文:用菜刀剁碎文言文 → [“松”,“花”,“江”,“上”]
英文:拿激光剑切分单词 → “ChatGPT” → [“Chat”,“G”,“PT”]
二次元:把"哈基米"直接炼成SSR级token✨
这不就是让AI学手语吗?!(手动狗头)
2️⃣ 注意力玄学:
文字的量子纠缠
Transformer里每个字都在上演《三体》剧情:
"周杰伦喝奶茶"名场面:
"喝"和"奶茶"用QK矩阵疯狂贴贴(内积值0.87),多头注意力=AI开8个分身同时嗑CP。
位置编码给每个字烙上时空坐标:“奶茶"在第5位=第5维度暗物质,举个栗子🌰:
当AI看到"苹果”——
第一层:🍎红苹果?
第六层:📱乔布斯的苹果?
第十二层:🌍牛顿的苹果??
3️⃣ 反向传播:
AI一边做题一边用loss值自我PUA,像极了深夜改论文的你——“这个残差太大必须修正!”。
while training: loss = cross_entropy(pred, label) # 天道降下九九雷劫 optimizer.step() # 运转《九转梯度下降大法》 if loss < 1.0: # 金丹初成! print("AI道友突破筑基期!")
韩立渡劫:
残差太大 → “这参数必须修正!”(捏碎玉简.jpg)
梯度消失 → “我韩立的灵力呢??”(吐血三升.mp4)
🔑 常见博客的关键词说人话:自监督学习=AI的电子榨菜,Embedding=文字变形术,MLP=信息加工厂
Part 2:模型推理——文字的量子力学实验 (博主自学过狄拉克量子力学)🧪
当AI学成出山开始"显摆知识",整个过程堪称文字的星际穿越。让我们一同探索这个奇妙的旅程。
输入咒语:文字编码的量子化过程 🔮
当你输入如“东北老铁咋整”这样的文本时,AI内部将经历一个复杂的转换流程:
# 代码视角看编码流程
input_text = "东北老铁咋整"
tokens = tokenizer.encode(input_text) # → [2351, 6670, 8853, 10414]
embeddings = lookup_table[tokens] # 每个token变成768维向量
position_emb = add_position(embeddings) # 给每个字打上时空坐标
量子化过程:
- 原始文本被拆解为token ID(相当于文字DNA)
- 每个token转化为768维向量(相当于文字的量子态)
- 加入位置编码:让AI知道"老铁"在第2个位置
注意力狂欢:文字的星际穿越 🌌
2.1 Transformer层的套娃操作(transformer的人话版解析还在✍🏻zhong)
你的句子会在各层Transformer中经历奇幻漂流:
| 层级 | 处理阶段 | 示例:“东北老铁咋整” |
|---|---|---|
| 第1层 | 基础语法分析 | 识别"东北"是地名,"老铁"是称谓 |
| 第6层 | 语义关联挖掘 | 关联"老铁"→"兄弟"→"帮忙" |
| 第12层 | 文化背景理解 | 结合东北文化推断需要具体建议 |
2.2 注意力矩阵的量子纠缠
当处理到"咋整"时:
Q = query("咋整") # 发出灵魂三问:要啥?啥情况?咋解决?
K = key("老铁") # 回应:是兄弟就来帮我
attention_score = softmax(Q·K/√d) # 计算出0.92的高关联值
注意力热力图 (示意图:显示"咋整"与"老铁"的强相关性)
生成阶段:文字的鱿鱼游戏 🎲
3.1 Softmax概率大逃杀
模型最终输出的是概率分布:
logits = model_output[:, -1, :] # 取出最后一个token的预测结果
probs = softmax(logits) # 转换为概率
可能的结果:
- “锅包肉” → 35%
- “翠花上酸菜” → 28%
- “整个烧烤” → 22%
- …其他 → 15%
3.2 生成策略的三大流派
| 策略 | 工作原理 | 适用场景 |
|---|---|---|
| 贪心搜索 | 永远选择概率最高的词 | 需要确定性的回答 |
| 随机采样 | 按概率分布随机选择(可调温) | 创意文本生成 |
| 束搜索 | 保留多个候选路径综合评估 | 需要连贯长文本 |
温度参数(Temperature)的魔法:
- 高温(1.0+):AI变话痨 → “整点锅包肉?还是铁锅炖大鹅?要不…”
- 低温(0.1-):AI变直男 → “锅包肉”
- 哈尔滨模式(0.0):绝对理性 → 永远输出最高概率词
常见翻车现场与急救指南 🚑
4.1 鬼畜循环:“锅包肉肉肉肉…”
病因诊断:
- 温度过低导致确定性过强
- 重复惩罚机制未开启
急救方案:
generation_config = {"temperature": 0.7, # 调到沈阳常温"repetition_penalty": 1.2, # 开启防复读模式"top_p": 0.9 # 限制选择范围
}
4.2 胡言乱语:“老铁应该量子波动速读”
病因诊断:
- 训练数据污染(混入伪科学内容)
- 上下文窗口过短
解决方案:
- 启用知识检索增强(RAG)
- 添加逻辑约束规则
推理加速秘籍 ⚡
5.1 三阶加速术
| 技术 | 加速原理 | 效果 |
|---|---|---|
| KV缓存 | 记忆历史计算避免重复 | 提速2-3倍 |
| 量化为int8 | 用更小的数字表示模型参数 | 显存占用减半 |
| 动态批处理 | 同时处理多个用户的请求 | 吞吐量提升5x |
5.2 硬件选择指南
- 筑基期: RTX 4090(24G显存可跑7B模型)
- 金丹期: A100 80GB(轻松驾驭70B大模型)
- 元婴期: TPU Pod集群(真正的赛博修仙)
真理时刻:
经过softmax激活函数最终输出概率,选择过程堪称《鱿鱼游戏》——要么生成"锅包肉",要么跳向"翠花上酸菜"。
如果AI突然开始鬼畜循环,请检查temperature参数(参数不要过低)是不是开成"哈尔滨常温"(零下20℃)❄️
Part 3:扩容秘籍——从筑基到渡劫的飞升指南 🚀
想让你的AI从"人工智障"变成"赛博仙人"?试试这些黑科技:
🔥 参数量爆炸术:
- 堆叠Transformer层数=给AI装多层涡轮增压
- 扩展隐藏层维度=让AI拥有刘谦的魔术脑容量
- 数据灌顶大法:直接喂2TB网络文学,让AI学会"哈基米哈基米"🐱
💸 穷逼友好方案:
- LoRA微调:给AI穿定制卫衣不改造本体
- 知识蒸馏:让GPT-4教小模型玩"盗梦空间"
- RAG外挂:直接给AI手机装百度网盘 ,当然是充了svip的。
⚠️ 渡劫预警:
- 遇到OOM(显存爆炸):你的表情会比《狂飙》强哥还狰狞
- 看到loss值过山车:建议备好速效救心丸
- 发现AI写小黄文:功德-10086
Part 4:LLM的进化论的总结🐉
从预训练到推理优化,LLM的发展史就是一部算力碾压+算法骚操作的史诗。但别忘了,模型再强也逃不过Garbage In, Garbage Out的宿命(数据质量才是爹)
相关文章:
如何从零开始理解LLM训练理论?预训练范式、模型推理与扩容技巧全解析
Part 1:预训练——AI的九年义务教育 📚 想象你往峨眉山猴子面前扔了1000本《五年高考三年模拟》-我那时候还在做的题(海量互联网数据),突然有一天它开口唱起《我在东北玩泥巴》,这有意思的过程就是LLM的预…...
[原创]openwebui解决searxng通过接口请求不成功问题
openwebui 对接 searxng 时 无法查询到联网信息,使用bing搜索,每次返回json是正常的 神秘代码: http://172.30.254.200:8080/search?q北京市天气&formatjson&languagezh&time_range&safesearch0&languagezh&locale…...
8 SpringBootWeb(下):登录效验、异步任务和多线程、SpringBoot中的事务管理@Transactional
文章目录 案例-登录认证1. 登录功能1.1 需求1.2 接口文档1.3 思路分析1.4 功能开发1.5 测试2. 登录校验2.1 问题分析2.2 会话技术2.2.1 会话技术介绍2.2.2 会话跟踪方案2.2.2.1 方案一 - Cookie2.2.2.2 方案二 - Session2.2.2.3 方案三 - 令牌技术2.2.3 JWT令牌(Token)2.2.3.…...
2025年山东省职业院校技能大赛(高职组)“云计算应用”赛项赛卷1
“云计算应用”赛项赛卷1 2025年山东省职业院校技能大赛(高职组)“云计算应用”赛项赛卷1模块一 私有云(30分)任务1 私有云服务搭建(5分)1.1.1 基础环境配置1.1.2 yum源配置1.1.3 配置无秘钥ssh1.1.4 基础安…...
MySQL数据库基本概念
目录 什么是数据库 从软件角度出发 从网络角度出发 MySQL数据库的client端和sever端进程 mysql的client端进程连接sever端进程 mysql配置文件 MySql存储引擎 MySQL的sql语句的分类 数据库 库的操作 创建数据库 不同校验规则对查询的数据的影响 不区分大小写 区…...
塔能科技:工厂智慧照明,从底层科技实现照明系统的智能化控制
在全球节能减碳和智慧生活需求激增的背景下,基于“用软件定义硬件,让物联运维更简捷更节能”的产品理念,塔能科技的智慧照明一体化方案如新星般崛起,引领照明行业新方向。现在,我们来深入探究其背后的创新技术。该方案…...
P3398 仓鼠找 sugar【题解】
这是LCA的一个应用,关于LCA P3398 仓鼠找 sugar 题目描述 小仓鼠的和他的基(mei)友(zi)sugar 住在地下洞穴中,每个节点的编号为 1 ∼ n 1\sim n 1∼n。地下洞穴是一个树形结构。这一天小仓鼠打算从从他…...
解决VirtualBox - Error In supR3HardenedWinReSpawn报错
问题描述 VirtualBox7.1.6启动虚拟机时报错: Error In supR3HardenedWinReSpawn NtCreateFile(\Device\VBoxDrvStub) failed: 0xc000000034 STATUS_OBJECT_NAME_NOT_FOUND (0 retries) (rc-101) Make sure the kernel module has been loaded successfully.原因分…...
Android Trace埋点beginSection打tag标签,Kotlin
Android Trace埋点beginSection打tag标签,Kotlin import android.os.Bundle import android.os.Trace import android.util.Log import androidx.appcompat.app.AppCompatActivityclass ImageActivity : AppCompatActivity() {companion object {const val TRACE_TA…...
Linux上用C++和GCC开发程序实现两个不同MySQL实例下单个Schema稳定高效的数据迁移到其它MySQL实例
设计一个在Linux上运行的GCC C程序,同时连接三个不同的MySQL实例,其中两个实例中分别有两个Schema的表结构分别与第三实例中两个Schema个结构完全相同,同时复制两个实例中两个Schema里的所有表的数据到第三个实例中两个Schema里,使…...
Lua的table(表)
Lua表的基本概念 Lua中的表(table)是一种多功能数据结构,可以用作数组、字典、集合等。表是Lua中唯一的数据结构机制,其他数据结构如数组、列表、队列等都可以通过表来实现。 表的实现 Lua的表由两部分组成: 数组部分…...
51页精品PPT | 农产品区块链溯源信息化平台整体解决方案
PPT展示了一个基于区块链技术的农产品溯源信息化平台的整体解决方案。它从建设背景和需求分析出发,强调了农产品质量安全溯源的重要性以及国际国内的相关政策要求,指出了食品安全问题在流通环节中的根源。方案提出了全面感知、责任到人、定期考核和追溯反…...
Jenkins 自动打包项目镜像部署到服务器 ---(前端项目)
Jenkins 新增前端项目Job 指定运行的节点 选择部署运行的节点标签,dev标签对应开发环境 节点的远程命令执行配置 jenkins完整流程 配置源码 拉取 Credentials添加 触发远程构建 配置后可以支持远程触发jenkins构建(比如自建的CICD自动化发布平台&…...
使用AoT让.NetFramework4.7.2程序调用.Net8编写的库
1、创建.Net8的库,双击解决方案中的项目,修改如下,启用AoT: <Project Sdk"Microsoft.NET.Sdk"><PropertyGroup><OutputType>Library</OutputType><PublishAot>true</PublishAot>&…...
第49天:Web开发-JavaEE应用SpringBoot栈模版注入ThymeleafFreemarkerVelocity
#知识点 1、安全开发-JavaEE-开发框架-SpringBoot&路由&传参 2、安全开发-JavaEE-模版引擎-Thymeleaf&Freemarker&Velocity 一、开发框架-SpringBoot 参考:https://springdoc.cn/spring-boot/ 访问SpringBoot创建的网站 1、路由映射 RequestMapping…...
学习笔记08——ConcurrentHashMap实现原理及源码解析
1. 概述 为什么需要ConcurrentHashMap? 解决HashMap线程不安全问题:多线程put可能导致死循环(JDK7)、数据覆盖(JDK8) 优化HashTable性能:通过细粒度锁替代全局锁,提高并发度 对比…...
数据集笔记:NUSMods API
1 介绍 NUSMods API 包含用于渲染 NUSMods 的数据。这些数据包括新加坡国立大学(NUS)提供的课程以及课程表的信息,还包括上课地点的详细信息。 可以使用并实验这些数据,它们是从教务处提供的官方 API 中提取的。 该 API 由静态的…...
SpringBoot新闻推荐系统设计与实现
随着信息时代的快速发展,新闻推荐系统成为用户获取个性化内容的重要工具。本文将介绍一个幽络源的基于SpringBoot开发的新闻推荐系统,该系统功能全面,操作简便,能够满足管理员和用户的多种需求。 管理员模块 管理员模块为系统管…...
谷歌推出PaliGemma 2 mix:用于多任务的视觉语言模型,开箱即用。
去年 12 月,谷歌推出了 PaliGemma 2 ,这是Gemma系列中的升级版视觉语言模型。该版本包含不同大小(3B、10B 和 28B 参数)的预训练检查点,可轻松针对各种视觉语言任务和领域进行微调,例如图像分割、短视频字幕…...
深入浅出Spring Boot框架:从入门到精通
引言 在现代软件开发中,Java 语言及其生态系统一直是构建企业级应用的首选之一。Spring Boot 是 Java 社区中最具影响力的项目之一,它继承了 Spring 框架的优点,并通过简化配置和加速开发流程,使得开发者能够更加专注于业务逻辑的…...
Spring Boot spring-boot-maven-plugin 参数配置详解
一 spring-boot-maven-plugin 插件的5个Goals spring-boot:repackage,默认goal。在mvn package之后,再次打包可执行的jar/war,同时保留mvn package生成的jar/war为.origin;重新打包存在的jar或者war包从而使他们可以在命令行使用…...
linux中断调用流程(arm)
文章目录 ARM架构下Linux中断处理全流程解析:从硬件触发到驱动调用 ⚡**一、中断触发与硬件层响应** 🔌**1. 设备触发中断** 📡 **二、CPU阶段:异常入口与上下文处理** 🖥️**1. 异常模式切换** 🔄**2. 跳转…...
考研复试问题总结-数据结构(1)
1. 说一下你对数据结构的理解 我觉得数据结构不仅仅是存数据的“容器”,更是一种思维方式。其实,在我们写程序时,经常会遇到各种各样的数据操作需求,而不同的数据结构能解决问题的效率和方式都不一样,所以选择合适的数…...
250301-OpenWebUI配置DeepSeek-火山方舟+硅基流动+联网搜索+推理显示
A. 最终效果 B. 火山方舟配置(一定要点击添加) C. 硅基流动配置(最好要点击添加,否则会自动弹出所有模型) D. 联网搜索配置 E. 推理过程显示 默认是没有下面的推理过程的显示的 设置步骤: 在Functions函…...
RuoYi框架介绍,以及如何基于Python使用RuoYi框架
若依框架(RuoYi)是一款基于Spring Boot和Vue.js的开源快速开发平台,广泛应用于企业级应用开发。它提供了丰富的功能模块和代码生成工具,帮助开发者快速搭建后台管理系统。 主要特点 前后端分离:前端采用Vue.js&#x…...
【算法】图论 —— Floyd算法 python
洛谷 B3647 【模板】Floyd 题目描述 给出一张由 n n n 个点 m m m 条边组成的无向图。 求出所有点对 ( i , j ) (i,j) (i,j) 之间的最短路径。 输入格式 第一行为两个整数 n , m n,m n,m,分别代表点的个数和边的条数。 接下来 m m m 行,每行三…...
2.数据结构:2.最大异或对
数据结构 2.数据结构:1.Tire 字符串统计 当前题 最大异或对 #include<algorithm> #include<cstring> #include<iostream>using namespace std;const int N100010,M31*N;// M 表示节点个数,每一个数最多有 31 位int n; int a[N]; i…...
剑指 Offer II 031. 最近最少使用缓存
comments: true edit_url: https://github.com/doocs/leetcode/edit/main/lcof2/%E5%89%91%E6%8C%87%20Offer%20II%20031.%20%E6%9C%80%E8%BF%91%E6%9C%80%E5%B0%91%E4%BD%BF%E7%94%A8%E7%BC%93%E5%AD%98/README.md 剑指 Offer II 031. 最近最少使用缓存 题目描述 运用所掌握的…...
Windows 11【1001问】查看Windows 11 版本的18种方法
随着技术的飞速发展,操作系统作为连接硬件与软件的核心桥梁,其版本管理和更新变得尤为重要。对于用户而言,了解自己设备上运行的具体Windows 11版本不仅有助于优化系统性能,还能确保安全性和兼容性。然而,不同场景和需…...
小程序性能优化-预加载
在微信小程序中,数据预加载是提升用户体验的重要优化手段。以下是处理数据预加载的完整方案: 一、预加载的适用场景 跳转页面前的数据准备 如从列表页进入详情页前,提前加载详情数据首屏加载后的空闲时间 在首页加载完成后,预加载…...
