2024 年 8 月 29 日

加速您的 AI:PyTorch 2.4 现在支持 Intel GPU 以加快工作负载

我们有激动人心的消息!PyTorch 2.4 现在支持英特尔® 数据中心 GPU Max 系列和 SYCL 软件堆栈,这使得加速您的 AI 工作流程(包括训练和推理)变得更加容易。此更新允许您以最少的编码工作量获得一致的编程体验,并扩展 PyTorch 的设备和运行时功能,包括设备、流、事件、生成器、分配器和守卫,以无缝支持流式设备。此增强简化了 PyTorch 的部署...

阅读更多

2024 年 8 月 20 日

启用 Opacus 中的快速梯度裁剪和幽灵裁剪

介绍和背景差分隐私随机梯度下降(DP-SGD)是训练具有差分隐私的机器学习模型的规范方法。它涉及对其非私有对应物,随机梯度下降(SGD)的以下两种修改。按样本梯度裁剪:在每个小批量中裁剪梯度,确保其范数在每次迭代中不超过预指定的值,“裁剪范数”,C。添加噪声...

阅读更多

2024 年 8 月 7 日

FlexAttention:PyTorch 的灵活性加上 FlashAttention 的性能

理论上,注意力就是一切。然而在实践中,我们还需要像 FlashAttention 这样的优化注意力实现。尽管这些融合的注意力实现大大提高了性能并实现了长上下文,但这种效率是以灵活性为代价的。您不能再通过编写几个 PyTorch 操作符来尝试新的注意力变体——您通常需要编写一个新的自定义内核!这就像为机器学习研究人员举办的一场“软件彩票”...

阅读更多

2024 年 7 月 30 日

介绍 torchchat:在笔记本电脑、台式机和手机上加速本地LLM推理

今天,我们发布了 torchchat 库,展示了如何无缝且高效地在笔记本电脑、台式机和手机上运行 Llama 3、3.1 以及其他大型语言模型。在我们的之前博客文章中,我们展示了如何使用原生 PyTorch 2 通过 CUDA 以优异的性能运行LLMs。Torchchat 在此基础上扩展了更多目标环境、模型和执行模式。此外,它还提供了易于理解的导出、量化以及评估等重要功能...

阅读更多

2024 年 7 月 30 日

使用 PyTorch 进行大型语言模型的量化感知训练

在本博客中,我们展示了 PyTorch 中针对大型语言模型的端到端量化感知训练(QAT)流程。我们展示了 PyTorch 中的 QAT 如何能够在 hellaswag 上恢复高达 96%的精度下降,在 wikitext 上恢复高达 68%的困惑度下降,与后训练量化(PTQ)相比,对于 Llama3 来说。我们介绍了 torchao 中的 QAT API,并展示了用户如何利用 torchtune 进行微调。图 1:在 C4 数据集(en 子集)上微调的 Llama3-8B(...)

阅读更多

2024 年 7 月 24 日

PyTorch 2.4 版本发布博客

我们很高兴地宣布 PyTorch® 2.4(发布说明)的发布!PyTorch 2.4 为 torch.compile 添加了对最新版 Python(3.12)的支持。AOTInductor 冻结为运行 AOTInductor 的开发者提供了更多基于性能的优化,允许序列化 MKLDNN 权重。此外,还引入了一个新的默认 TCPStore 服务器后端,使用 libuv,这应该会显著减少运行大规模作业的用户初始化时间。最后,一个新的 Python Cu...

阅读更多

2024 年 7 月 22 日

深入探讨 Hopper TMA 单元在 FP8 GEMMs 中的应用

摘要 Hopper(H100)GPU 架构被誉为“首个真正异步的 GPU”,它包含一个全新的、完全异步的硬件复制引擎,用于在全局内存和共享内存之间进行大量数据移动,称为张量内存加速器(TMA)。虽然 CUTLASS 通过其异步管道范式内置了对 TMA 的支持,但 Triton 通过实验性 API 公开了 TMA 支持。在这篇文章中,我们将深入探讨 TMA 的工作原理,以便开发者了解新的异步...

阅读更多