音频媒体文件

清除
标签搜索结果 for "PyTorch"
Stanford CS224N: NLP with Deep Learning | Spring 2024 | Lecture 4 - Dependency Parsing
2025-05-15 21:09

该讲座主要讨论了人类语言句子的句法结构和依存句法分析。讲座首先回顾了传统的短语结构文法(或称上下文无关文法),即通过词性(如名词、形容词、限定词、介词)将词语组合成更大的单元(如名词短语、介词短语),并逐步构建句子结构。随后,讲座重点转向了依存文法,这种方法关注词语之间的修饰和论元关系,确定句子中的核心词(head)以及修饰或依赖于该核心词的其他词语。讲座强调,这两种表示方法都可以用来分析句子的结构,理解词语如何组合以及相互修饰。讲座还提及,后续的作业将要求学生使用PyTorch构建一个神经依存句法分析器,并鼓励学生参加PyTorch教程。

NLP Dependency Parsing Syntactic Structure Dependency Grammar Neural Networks Treebanks Transition-based Parsing Graph-based Parsing Embeddings PyTorch
已摘要 阅读时间:9 分钟(3003 个字) 1 summary version
Stanford CS224N: NLP with Deep Learning | Spring 2024 | Lecture 3 - Backpropagation, Neural Network
2025-05-15 21:07

斯坦福CS224N课程第二周周二的讲座主要回顾了作业一的提交情况,并介绍了作业二的内容。作业二包含三个主要部分:一是通过数学计算理解神经网络的运作原理;二是学习依存句法分析,涉及语言结构和语言学知识;三是开始使用PyTorch深度学习框架。为此,课程将在周五提供PyTorch的入门教程。 讲座接着深入探讨了神经网络的数学基础,强调了神经网络通过层级结构学习中间表征的重要性。与传统机器学习模型不同,神经网络能够自我组织中间层的表征,以更好地服务于最终任务。讲座解释了神经网络中层的计算过程,包括输入向量与权重矩阵的乘法、加上偏置项,以及通过非线性激活函数得到下一层的输出。 最后,讲座重点讨论了非线性激活函数的作用和发展。从早期因无法提供梯度而难以学习的阈值函数,到后来广泛应用的具有平滑梯度的Sigmoid和Tanh函数。Sigmoid函数输出非负,而Tanh函数可以视为Sigmoid的缩放和平移。尽管这些函数有效,但指数运算较为耗时。因此,后续发展出计算更简便的Hard Tanh,并最终引出了目前常用的ReLU(Rectified Linear Unit)激活函数。ReLU在负数区输出为零(梯度为零),在正数区输出等于输入(梯度为1)。尽管ReLU在负数区存在“神经元死亡”问题,但其简洁的梯度和在实践中的有效性使其成为主流选择,因为它能促进梯度的反向传播并实现某种程度的神经元特化。

Deep Learning Neural Networks Backpropagation Gradient Descent Activation Functions Matrix Calculus Computation Graphs PyTorch Automatic Differentiation Gradient Checking
已摘要 阅读时间:10 分钟(3265 个字) 1 summary version
Stanford CS336 Language Modeling from Scratch | Spring 2025 | 06 Kernels, Triton
2025-05-13 17:44

该讲座聚焦于为语言模型编写高性能GPU代码。内容首先回顾GPU基础架构,包括流式多处理器(SM)、线程、内存层级(DRAM、缓存、寄存器文件)、线程块和线程束(warps),并强调了算术强度的重要性。讲座重点阐述了基准测试和性能分析在识别与解决代码瓶颈方面的核心作用,主张在优化前进行充分的分析。演讲者计划演示使用CUDA(C++)、Triton以及PyTorch的即时编译器(JIT)编写内核,并对比它们的性能,同时深入分析底层的PTX代码,最终可能实现一个快速的softmax函数。此外,讲座提及了课程作业,特别是与GPU内核和并行计算相关的第二项作业,并将使用一个简单的多层感知机(MLP)模型作为示例进行演示。

GPU编程 语言模型 高性能计算 Triton CUDA PyTorch 性能优化 性能分析 核函数融合 PTX GPU架构 深度学习
已摘要 阅读时间:7 分钟(2174 个字) 1 summary version
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