音频媒体文件

清除
标签搜索结果 for "矩阵乘法"
Stanford CS336 Language Modeling from Scratch | Spring 2025 | 05 GPUs
2025-05-13 16:31

演讲者首先介绍了课程作业的安排,并点明本次讲座的核心内容是图形处理器(GPU)。GPU对语言模型的运行至关重要,讲座旨在揭开CUDA和GPU的神秘面纱,帮助理解其工作原理及性能波动的原因,例如为何在特定矩阵乘法规模下GPU会变慢。学习目标包括让听众熟悉GPU,并能够利用CUDA等工具加速算法,例如理解FlashAttention这类高效算法的构建基础。演讲者提及了硬件发展的重要性,指出深度学习的进步得益于更快的硬件、更优的利用率和并行化。接着,演讲回顾了计算能力扩展的历史,从早期依赖登纳德缩放定律(Dennard scaling)提升CPU单核性能,到该趋势饱和后,转向并行计算的必要性,这也是GPU发展的关键。演讲者对比了CPU和GPU的设计理念:CPU侧重于低延迟,拥有复杂的控制单元以快速完成单个任务;而GPU则侧重于高吞吐量,通过大量并行计算单元(如ALU)同时处理多个任务,即使单个任务延迟可能更高,但总体处理效率更高。最后,演讲者初步介绍了GPU的内部结构,核心概念是流式多处理器(SM),每个SM包含多个流处理器(SP),SM负责控制逻辑和任务分发,而SP则对不同数据执行相同的指令,实现大规模并行计算。

GPU 语言模型 高性能计算 CUDA 内存瓶颈 并行计算 性能优化 FlashAttention 分块 重计算 矩阵乘法 硬件加速
已摘要 阅读时间:11 分钟(3809 个字) 2 summary versions
Stanford CS336 Language Modeling from Scratch | Spring 2025 | 02 Pytorch, Resource Accounting
2025-05-13 16:30

该讲座介绍了使用PyTorch从头构建语言模型的过程,并重点关注了模型训练中的资源效率问题,特别是内存和计算资源的使用。讲座通过示例计算(如训练大型模型的耗时、特定硬件可训练的最大模型参数量)强调了进行资源估算(“餐巾纸数学”)的重要性,以便有效控制成本。讲座内容不涉及Transformer架构的具体细节,而是聚焦于PyTorch的基本构件和资源核算方法,旨在培养学员的效率意识和实践能力。 在内存核算方面,讲座详细讨论了张量(Tensor)作为存储参数、梯度、优化器状态等数据的基本单元,及其不同浮点数表示对内存占用的影响。具体对比了`float32`(单精度,默认,4字节)、`float16`(半精度,2字节,动态范围受限,可能导致训练不稳定)、`bfloat16`(脑浮点数,2字节,具有类似`float32`的动态范围但精度较低,适合深度学习计算)以及`fp8`(8位浮点数,更小,适用于H100等新硬件以追求极致优化)等数据类型。讲座建议在计算中使用`bfloat16`以平衡效率和稳定性,而参数和优化器状态的存储仍推荐使用`float32`以保证训练稳定性。

语言模型 PyTorch 资源核算 内存核算 计算核算 浮点精度 BF16 FLOPs 矩阵乘法 混合精度训练 优化器状态 模型规模
已摘要 阅读时间:11 分钟(3692 个字) 2 summary versions