公告栏
文章列表
【斯坦福 CS336】Assignment-1:Transformer 模型构建与训练
# 概述
本篇博客基于 2025 斯坦福 CS336 课程的第一章节作业要求,系统梳理了其中关于 Transformer 模型构建与训练的核心内容。该部分涵盖了词嵌入层、RoPE 位置编码、注意力机制等基础模块,并在此基础上逐步搭建一个标准的 Transformer 模型,同时实现相应的优化器等,完成语言模型的端到端训练流程。
原始作业内容包含了大量底层模块的实现,例如线性层、交叉熵损失函数等,旨在帮助初学者通过亲手实践加深对原理的理解。由于本文定位为总结与梳理,因此不会面面俱到,而是选取我个人认为较为关键、具有代表性的部分进行介绍与归纳。
# Transformer 基础模块
本章节将介
more...【斯坦福 CS336】Assignment-1:BPE 分词器算法原理与实现
# 概述
在自然语言处理领域,分词器(Tokenizer) 承担着至关重要的 “桥梁” 作用:它将人类的自然语言(字符串)转化为大型语言模型能够识别和处理的整数序列。该整数序列就是大模型的输入,而 token 指的就是这些整数数字。
在众多分词策略中,字节对编码(Byte Pair Encoding, BPE) 以其高效、可控的词汇表构建机制,成为了现代预训练模型(如 BERT,GPT,T5 等)的基石。BPE 成功解决了传统分词方法在处理海量词汇和未登录词时的痛点。
本篇博客基于 2025 斯坦福 CS336 课程的第一章节作业要求,整理 BPE 分词器的原理与实现流程,并从零开始实现一个基
more...【斯坦福 CS336】第一章:模型架构与基础
# 概述
本章是 2025 斯坦福 CS336 课程的第一章,也是本系列笔记的开篇章节。我们将介绍模型架构与基础知识,探讨模型设计的核心原则和常见的架构模式,为后续章节的学习奠定基础。
事先声明,本笔记并不会覆盖课程中的所有细节,不属于手把手的教程,而是重点总结和提炼出核心内容,帮助大家更好地理解和应用所学知识。好了,废话不多说,我们直接进入正题。
本系列笔记的代码仓库位于链接。
# Tokenizer
Tokenizer 是自然语言处理中的一个重要组件,负责将文本转换为模型可以理解的输入格式。这部分内容属于模型架构的基础知识,理解 Tokenizer 的工作原理对于设计和优化模型至关
more...PyTorch 模型训练之并行篇
现如今,深度学习模型的规模和复杂度正以前所未有的速度增长,从简单的线性模型到如今动辄数百数千亿参数的大模型,单 GPU 的计算能力已难以满足高效训练的需求。并行训练技术应运而生,它合理分配计算任务到多个 GPU 或多台机器上,显著提升了训练效率。本文将介绍 PyTorch 中几种常见的并行训练方法,包括数据并行(Data Parallel)、分布式数据并行(Distributed Data Parallel,DDP)、Hugging Face 的 Accelerate 工具库等。通过对比和代码示例,帮助读者快速掌握这些技术的原理和使用方法。
# 前期准备
为了演示不同的并行训练方案,首先需要准
more...强化学习的数学原理
强化学习(Reinforcement Learning, RL)是机器学习的核心范式之一,其核心目标是通过智能体与环境的动态交互,自主习得最优决策策略,以最大化长期累积奖励。
本文系统梳理了强化学习算法的相关数学原理,希望能对强化学习的理解有所帮助。同时,本文省略了部分基础知识的介绍,把重点放在强化学习经典算法和数学理解上,对复杂的证明和推导予以省略。
# 基础概念
智能体(Agent):决策主体,通过观察环境状态选择动作。例如,游戏 AI 中的角色控制器。
环境(Environment):也称为模型,是智能体交互的外部世界,提供状态信息和反馈奖励。环境可以是物理世界(如机器人导航场景)或虚拟
more...Python 多进程编程
许多实际应用场景涉及到大规模数据的处理,这往往离不开并行计算。Python 的 multiprocessing 模块是一个强大而实用的工具,利用多核处理器的优势,将任务分配给多个进程并同时执行,从而提高程序的性能和效率。本文将详细总结如何使用 multiprocessing 模块来实现多进程编程。
# 概述
现代操作系统如 MacOS,UNIX,Linux,Windows 等,都是支持 “多任务” 的操作系统,即可以同时运行多个任务。
在单核 CPU 环境中,多任务执行是轮流让各个任务占用 CPU 交替执行。由于 CPU 调度执行速度非常快,从而有多个任务同时执行的效果。
在多核
more...





