部署DeepSeek模型,进群交流最in玩法!
立即加群
发布
社区首页 >专栏 >为什么很多大模型训练都离不开CUDA?而DeepSeek却选择绕过CUDA直接使用PTX?

为什么很多大模型训练都离不开CUDA?而DeepSeek却选择绕过CUDA直接使用PTX?

作者头像
用户7353950
发布2025-02-05 15:45:46
发布2025-02-05 15:45:46
1.2K0
举报
文章被收录于专栏:IT技术订阅IT技术订阅

一、CUDA简介

CUDA(Compute Unified Device Architecture)是由NVIDIA公司开发的一种通用并行计算平台和编程模型,旨在充分利用其GPU的强大并行计算能力。自2006年推出以来,CUDA已经成为高性能计算和人工智能领域的重要工具。 CUDA的核心优势在于其能够将计算任务分解为多个小任务,并通过GPU中的多个计算单元(线程)同时处理这些任务,从而显著加速任务的执行。它支持多种高级编程语言,如C、C++、Python等,并提供了丰富的开发工具,包括编译器、调试器和性能分析工具。 二、CUDA的核心组成

CUDA核心:这是NVIDIA开发的并行计算平台和编程模型,用于GPU上的通用计算。它类似于“万能工人”,可以处理多种不同的任务。 Tensor核心:这是专为深度学习中的矩阵运算设计的计算单元,能够加速神经网络中的关键计算过程。 线程和线程块:CUDA程序的基本执行单元是线程,多个线程组成一个线程块,多个线程块组成一个网格。这种结构使得CUDA能够实现高效的并行计算。 三、CUDA在大模型训练中的重要性

大模型训练通常涉及数百万甚至数十亿个参数,需要处理大量的矩阵运算和向量运算。CUDA通过高效利用GPU的并行计算能力,极大地加速了这些计算过程。以下是CUDA在大模型训练中的关键作用: 加速训练过程:深度学习框架如TensorFlow和PyTorch都基于CUDA进行GPU加速。通过CUDA,这些框架能够在GPU上实现高效的矩阵乘法和卷积操作,从而显著缩短训练时间。 优化资源利用:CUDA允许开发者通过线程块和网格的组织来优化资源利用,进一步提升计算效率。 支持大规模并行计算:大模型训练需要处理海量数据,CUDA的并行计算能力能够有效应对这一挑战。 降低训练成本:通过加速训练过程,CUDA能够显著降低训练成本,提高资源利用效率。 四、CUDA在大模型推理中的作用

大模型推理同样需要强大的计算支持,CUDA在这一过程中也发挥着重要作用: 高效推理:CUDA的并行计算能力能够快速处理推理任务,特别是在处理大规模并发请求时表现优异。 减少延迟:CUDA的异步执行能力使得数据传输和计算可以重叠进行,进一步减少了等待时间,提升了整体性能。 支持复杂模型:对于大型深度学习模型(如GPT、BERT等),CUDA能够提供足够的计算能力来加载和运行这些模型。 五、CUDA的优势 高性能计算:CUDA能够显著提升计算性能,特别适用于需要大量数值计算和科学计算的任务。 易用性:CUDA提供了类似于C语言的编程接口,使得开发者能够更容易地上手并进行高效的GPU编程。 广泛的应用支持:CUDA已应用于多个NVIDIA的GPU系列,并在多个领域得到了广泛的应用。 完整的工具链:CUDA提供了包括性能分析工具、调试器以及样例代码和教程在内的完整工具链,为开发者提供了全面的支持环境。

六、很多大模型训练离不开CUDA

大模型训练对CUDA的依赖程度较高,因此很多厂商都选择英伟达的GPU作为硬件,这也是支撑英伟达股价的重要因素。

1. 硬件与软件的协同优化:NVIDIA的Tensor Core专门针对深度学习任务进行了硬件优化,支持混合精度计算。在CUDA的支持下,GPU的矩阵运算性能大幅领先。例如,基于CUDA的A100 GPU在训练速度上比上一代提升了近20倍。

2. 生态系统的稳固性:CUDA的生态远超竞争对手,包括丰富的开发工具和持续更新的工具链。例如,CUDA Toolkit的每次迭代都带来显著的性能提升,最新版本的cuDNN在卷积计算上的性能已提升3倍以上。

3. 行业标准:绝大多数AI框架(如PyTorch、TensorFlow)都基于CUDA,难以短时间内转向其他平台。这种广泛的框架支持使得CUDA在大模型训练中成为事实上的标准。

CUDA作为NVIDIA推出的一种并行计算平台和编程模型,已经在高性能计算和人工智能领域占据了重要地位。它通过高效利用GPU的并行计算能力,显著加速了大模型的训练和推理过程,降低了计算成本,并提高了资源利用效率。CUDA也是构筑英伟达算力护城河的重要组成部分。

DeepSeek绕过CUDA使用PTX训练模型 DeepSeek作为一款新兴的人工智能模型,其在短时间内取得了显著的训练效率提升,引发了业界的广泛关注。其核心技术之一便是绕过了英伟达的CUDA编程框架,转而使用更底层的PTX(Parallel Thread Execution)编程。PTX是英伟达GPU的一种中间指令集架构,位于高级编程语言(如CUDA)和底层机器码之间。这种技术选择为DeepSeek带来了多方面的好处。 一、更精细的硬件控制

PTX作为一种接近汇编语言的中间指令集,允许开发者对GPU进行更细致的硬件层面优化。例如,开发者可以通过PTX直接进行寄存器分配、线程/线程束级别的调整等操作。这些优化在传统的CUDA编程中是无法实现的,因为CUDA主要是一种高级编程语言,虽然易于使用,但在灵活性和控制力上不如PTX。DeepSeek通过PTX实现了寄存器重分配,将每个流处理器的寄存器使用率从78%提升至92%,这种优化显著提升了GPU的资源利用率,从而提高了整体性能。 二、满足复杂训练需求

在大规模模型训练中,尤其是涉及多机多卡的场景,对数据传输、权重管理以及梯度管理等的控制需求非常复杂。PTX语言能够提供这种能力,而CUDA则更多依赖于高级抽象,可能无法满足这些复杂需求。DeepSeek通过PTX优化,将H800 GPU中的132个流处理器中的20个专门用于服务器间的通信任务,而不是传统的计算任务。这种配置极大地提高了数据传输效率,减少了通信延迟,从而显著提升了多机多卡训练的效率。 三、摆脱对英伟达的依赖

尽管PTX是英伟达专为其GPU设计的指令集,但DeepSeek通过PTX编程能够在不依赖CUDA的情况下优化其他GPU平台。例如,AMD已经宣布将DeepSeek V3集成到其MI300X GPU中,这表明DeepSeek的技术具有跨平台兼容性。此外,DeepSeek绕开CUDA的策略也减少了对英伟达技术的依赖,从而降低了潜在的技术垄断风险。在全球科技竞争日益激烈的背景下,这种技术独立性对于DeepSeek的长期发展具有重要意义。 四、提升效率与性能

PTX语言的运行效率极高,尽管其编写难度较大,但DeepSeek通过优化H800 GPU的流水式多流处理器(SMs),实现了通信任务间的高效调度,并采用先进的流水线算法和细粒度调整,使得其在硬件层面达到了超越传统CUDA开发框架的性能。具体来说,DeepSeek通过PTX优化,将全局内存访问延迟从600周期降至450周期,这种优化显著减少了数据传输的时间,从而提高了整体计算效率。 五、应对市场和技术环境的变化

当前GPU市场的竞争加剧,尤其是美国对华制裁加剧了GPU厂商之间的竞争压力。DeepSeek选择PTX编程也是为了更好地适应这一环境,通过掌握底层硬件优化技术来增强自身的竞争力。此外,DeepSeek的技术创新和成本优势也吸引了小米等国内科技公司加入其生态链,进一步推动了国产AI技术的应用。 六、推动国产GPU产业链发展

DeepSeek的适配不仅有助于减少对英伟达GPU的依赖,还可能推动国产GPU产业链的进一步发展。例如,DeepSeek已经与华为昇腾展开合作,通过优化算法和硬件协同,显著降低了运行成本。这种合作不仅验证了国产芯片(如昇腾)的可行性,还为国内算力基建投资提供了新的方向。 七、技术挑战与创新

PTX编程虽然复杂且难以维护,但DeepSeek团队通过技术创新实现了突破。他们不仅掌握了AI算法和计算机系统架构知识,还招聘了擅长PTX语言的程序员,从而能够直接使用PTX进行算法层面的硬件加速。这种技术手段不仅提升了性能,也展示了DeepSeek在硬件适配上的能力。 八、降低训练成本

DeepSeek通过PTX优化,显著降低了训练成本。据分析,其训练成本至少降低了50%,并且训练速度更快。这种成本效益对于大规模AI模型的开发和部署具有重要意义,尤其是在资源有限的情况下,能够更高效地利用现有硬件资源。 DeepSeek的PTX优化策略不仅为当前的AI模型训练带来了显著的性能提升,也为未来的技术发展提供了新的思路。例如,有观点认为,让AI擅长编写汇编语言可能是AI自我改进的一个方向。虽然目前尚不清楚DeepSeek是否使用了AI辅助编写PTX代码,但这种可能性为未来AI技术的自我优化提供了新的方向。 DeepSeek绕过CUDA使用PTX实现的策略,为其带来了多方面的好处,包括更精细的硬件控制、满足复杂训练需求、摆脱对英伟达的依赖、提升效率与性能、应对市场和技术环境的变化、推动国产GPU产业链发展、技术挑战与创新以及降低训练成本等。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2025-02-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 IT技术订阅 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档