介绍
在本文中,我们将使用 CUDA 在 GPU 上训练 AI 模型,本质上是从头开始实现 AI,假设几乎没有任何先验知识。
首先,我们将探索现代计算机的一些核心组件,然后深入研究 GPU,描述它是什么、它如何工作以及它对 AI 有何用处。然后,我们将介绍 CUDA。我们将描述 CUDA 是什么,并解释它如何让我们编写同时利用 CPU 和 GPU 的应用程序。一旦我们了解了 CUDA 编程的工作原理,我们将使用 CUDA 构建、训练和测试分类任务上的神经网络。
这对谁有用?任何想要深入透彻理解人工智能的人。
这篇文章有多高级?鉴于主题比较高级,这篇文章可能更适合那些有一定机器学习经验的人。不过,如果你没有机器学习经验,你肯定会通过阅读这篇文章学到很多东西。只要逐节阅读并多用 Google 搜索即可。
先决条件:基本软件开发技能。了解一些 C++ 知识可能会有帮助,但不是必需的。熟悉衍生品的一般概念也很有用。
为什么 CUDA 值得学习
在深入研究这篇大文章之前,我想先回答一下许多数据科学家可能想到的一个问题。“如果我能直接使用 PyTorch,为什么还要使用 CUDA?”
PyTorch 是一个机器学习库,允许在 GPU 上创建、训练和运行高级 AI 模型。很大程度上,过去几年 AI 的许多快速进步都归功于 PyTorch 的易用性和强大功能。
但是,在 AI 发展的前沿,PyTorch 并不总是足够的。例如,Flash Attention通过重新设计 PyTorch 在 CUDA 中的注意力实现,将注意力速度提高了 10 倍。本文不是关于 Fl