当前位置: 首页 > news >正文

ChatGPT From Zero To Hero - LLM学习笔记(一) - 详解

如何训练一个chatGPT from zero to hero,主要来源是Karpathy 大神的视频
在这里插入图片描述

一、预训练 (Pretraining)

Unsupervised Training — 让模型“学会说话”

Step 1: Download and preprocessing the internet 下载并清洗互联网数据
  • 从开放语料抓取:Common Crawl、Wikipedia、Books、GitHub、StackExchange、ArXiv
  • 去重、过滤低质量和有害内容
  • 保证语料领域、语言分布均衡

现代大模型的预训练通常使用 10~15 万亿 tokens 的数据,覆盖多领域文本。


Step 2: Tokenization

Transform the raw data into unique IDs sequences
把原始文本转成唯一的 token ID 序列

模型看到的是 token 而不是字母,因此它对拼写和数字敏感度低,容易数错。


Step 3: Neural network training
  1. Give you an intuition of the process of training
    在这里插入图片描述

    Take a window of tokens → predict the next token
    取一个 token 窗口,让模型预测下一个 token

  2. Model structure
    Transformer Decoder 堆叠,包含多层自注意力和前馈网络
    可视化参考:LLM Visualization

  3. 训练目标 / Objective
    最小化交叉熵损失 (Cross-Entropy Loss),优化下一个 token 的概率分布


Demo: Reproducing OpenAI’s GPT-2

推荐入门用 nanoGPT 复现小型 GPT-2 模型,几百行代码即可跑通。


二、后训练 (Post-training)

Supervised Training — 让模型“学会对话”

  1. Make some conversations
    收集高质量对话语料,让模型学会对话风格
  2. Encoding conversations
    用特殊 token 表示角色切换:
<|im_start|>user
What is 2+2?
<|im_end|>
<|im_start|>assistant
4
<|im_end|>

Hallucinations 幻觉问题

  1. What is & Why it is?
    Hallucination = 模型编造不存在的事实,只因它按概率预测最可能的下一个词
  2. How to solve it?
  • Allow the model to say “I don’t know”
  • 设计事实一致性训练:给模型真假陈述,强制学会拒绝编造
  • 更好的方案:让模型调用工具,如搜索、数据库,得到事实后再回答
who is Orson Kovacs?

→ 将搜索结果插入上下文,让模型更新回答


RLHF (Reinforcement Learning with Human Feedback)

通过人类反馈或奖励模型对回答排序,用 PPO/DPO 调整参数,让模型更符合人类偏好
目标:有用 Helpful + 无害 Harmless + 诚实 Truthful


三、SFT(Supervised Fine-tuning)

Problems Practice — 让模型“刷题

  • 收集特定任务的数据集:数学题、逻辑推理、代码挑战
  • 从简单到复杂,逐步训练(Curriculum Learning)
  • 可结合 Chain-of-Thought 提示,提升推理稳定性
    效果:显著提升模型在数学、推理、专业考试上的表现

四 Demo 资源推荐

References:
1. Karpathy 大神讲解

http://www.jsqmd.com/news/16904/

相关文章:

  • 基于Java+SSM+Django数字工坊课程教学网站(源码+LW+调试文档+讲解等)/数字工坊/课程教学/网站链接/在线课程/学习资源/视频教程/教育平台/数字艺术/学习网站/课程资料/ - 详解
  • 框架架构的多维赋能——论其对自然语言处理深层语义分析的影响与启示
  • 路径规划算法学习Day1:深度优先搜索算法(DFS)
  • 深入理解 Java和Go语法和使用场景(指南十一) - 指南
  • .seq 是 TestStand Sequence File(测试序列文件) 的扩展名。
  • 使用 robocopy 命令备份还原数据速度统计
  • 顺天地之自然
  • 第2章 人工智能项目的核心特征与挑战
  • 深入解析:【办公类-115-04】20250920职称资料上传03——压缩课题结题报告PDF的大小(控制在200MB以内)
  • Mac 打开终端方式
  • 《青云志》
  • 树状数组和线段树基础
  • 详细介绍:Vue Router路由
  • AVR 单片机批量编程脚本(.bat)
  • PWN手的成长之路-20-cgpwn2
  • C++ofstream写文件bug
  • Debian13中使用Virtual-box安装Window10虚拟机并设置USB直通
  • 2024长城杯决赛-溯源取证1
  • [Agent] ACE(Agentic Context Engineering)和Dynamic Cheatsheet学习笔记
  • 2025年9月模拟赛整合
  • AI元人文构想研究:理论溯源、跨学科审视与技术路径探析
  • NPM(更新中)
  • 第1章 人工智能项目概述
  • 底噪测试 labview能测试吗
  • Linux反弹shell解析
  • 2025-10-18 MX-S 模拟赛 赛后总结【MX】
  • 零基础Linux快速上手03
  • clickhouse搭建单机版和集群版本
  • snr db是啥
  • 零基础Linux快速上手02