点击下方
卡片
,关注
「3D视觉工坊」
公众号
选择
星标
,干货第一时间送达
来源:计算机视觉工坊
添加小助理:cv3d001,备注:方向+学校/公司+昵称,拉你入群。文末附3D视觉行业细分群。
扫描下方二维码,加入
「3D视觉从入门到精通」知识星球
(
点开有惊喜
)
,星球内凝聚了众多3D视觉实战问题,以及各个模块的学习资料:
近20门秘制视频课程
、
最新顶会论文
、计算机视觉书籍
、
优质3D视觉算法源码
等。想要入门3D视觉、做项目、搞科研,欢迎扫码加入!
转自 | 新智元
【导读】
DeepSeek模型开发竟绕过了CUDA?最新爆料称,DeepSeek团队走了一条不寻常的路——针对英伟达GPU低级汇编语言PTX进行优化实现最大性能。业界人士纷纷表示,CUDA护城河不存在了?
原本DeepSeek低成本训出的R1,就已经让整个硅谷和华尔街为之虎躯一震。
而现在又曝出,打造这款超级AI,竟连CUDA也不需要了?
根据外媒的报道,他们在短短两个月时间,在2,048个H800 GPU集群上,训出6710亿参数的MoE语言模型,比顶尖AI效率高出10倍。
这项突破不是用CUDA实现的,而是通过大量细粒度优化以及使用英伟达的类汇编级别的PTX(并行线程执行)编程。
这则消息一出,再次掀翻AI圈,网友对其策略纷纷表示震惊:
「在这个世界上,如果有哪群人会疯狂到说出『CUDA太慢了!干脆直接写PTX吧!』这种话,绝对就是那些前量化交易员了。」
还有人表示,如果DeepSeek开源了CUDA替代品,这将意味着什么?
英伟达PTX(并行线程执行)是专门为其GPU设计的中间指令集架构,位于高级GPU编程语言(如CUDA C/C++或其他语言前端)和低级机器代码(流处理汇编或SASS)之间。
PTX是一种接近底层的指令集架构,将GPU呈现为数据并行计算设备,因此能够实现寄存器分配、线程/线程束级别调整等细粒度优化,这些是CUDA C/C++等语言无法实现的。
当PTX转换为SASS后,就会针对特定代的英伟达GPU进行优化。
在训练V3模型时,DeepSeek对英伟达H800 GPU进行了重新配置:
在132个流处理器多核中,划分出20个用于服务器间通信,主要用于数据压缩和解压缩,以突破处理器的连接限制、提升事务处理速度。
为了最大化性能,DeepSeek还通过额外的细粒度线程/线程束级别调整,实现了先进的流水线算法。
这些优化远超常规CUDA开发水平,但维护难度极高。然而,这种级别的优化恰恰充分展现DeepSeek团队的卓越技术实力。
这是因为,在全球GPU短缺和美国限制的双重压力下,DeepSeek等公司不得不寻求创新解决方案。
有开发者认为,「底层GPU编程才是正确的方向。优化得越多,就越能降低成本,或在不增加额外支出的情况下,提高可用于其他方面进步的性能预算」。
这一突破对市场造成了显著冲击,部分投资者认为新模型对高性能硬件的需求将会降低,可能会影响英伟达等公司的销售业绩。
然而,包括英特尔前掌门人Pat Gelsinger等在内的行业资深人士认为,AI应用能够充分利用一切可用的计算能力。
对于DeepSeek的这一突破,Gelsinger将其视为在大众市场中,为各类低成本设备植入AI能力的新途径。
那么,DeepSeek的出现是否意味着前沿LLM的开发,不再需要大规模GPU集群?
谷歌、OpenAI、Meta和xAI在计算资源上的巨额投资是否最终将付诸东流?AI开发者们的普遍共识并非如此。
不过可以确定的是,在数据处理和算法优化方面仍有巨大潜力可以挖掘,未来必将涌现出更多创新的优化方法。
随着DeepSeek的V3模型开源,其技术报告中详细披露了相关细节。
该报告记录了DeepSeek进行的深度底层优化。简而言之,其优化程度可以概括为「他们从底层重新构建了整个系统」。
如上所述,在使用H800 GPU训练V3时,DeepSeek对GPU核心计算单元(流处理器多核,简称SM)进行了定制化改造以满足特定需求。
在全部132个SM中,他们专门划分出20个用于处理服务器间通信任务,而非计算任务。
这种定制化工作是在PTX(并行线程执行)层面进行的,这是英伟达GPU的低级指令集。
PTX运行在接近汇编语言的层面,能够实现寄存器分配和线程/线程束级别调整等细粒度优化。然而,这种精细的控制既复杂又难以维护。
这也是为什么开发者通常会选择使用CUDA这类高级编程语言,因为它们能为大多数并行编程任务提供充分的性能优化,无需进行底层优化。
但是,当需要将GPU资源效能发挥到极致并实现特殊优化需求时,开发者就不得不求助于PTX。
虽然但是,技术壁垒依然还在
对此 ,网友Ian Cutress表示:「Deepseek对于PTX的使用,并不会消除CUDA的技术壁垒。」
CUDA是一种高级语言。它使代码库的开发和与英伟达GPU的接口变得更简单,同时还支持快速迭代开发。
CUDA可以通过微调底层代码(即PTX)来优化性能,而且基础库都已经完备。目前绝大多数生产级的软件都是基于CUDA构建的。
PTX更类似于可以直接理解的GPU汇编语言。它工作在底层,允许进行微观层面的优化。
如果选择使用PTX编程,就意味着上文提到的那些已经建好的CUDA库,都不能用了。这是一项极其繁琐的任务,需要对硬件和运行问题有深厚的专业知识。
但如果开发者充分了解自己在做什么,确实可以在运行时获得更好的性能和优化效果。
那些希望从计算负载中提升额外10-20%性能或功耗效率的开发者,比如在云端部署模型并销售token服务的企业,确实都已经将优化从CUDA层面深入到了PTX层面。他们愿意投入时间是因为,从长远来看这种投入是值得的。
需要注意的是,PTX通常是针对特定硬件型号优化的,除非专门编写适配逻辑,否则很难在不同硬件间移植。
除此之外,手动调优计算内核也需要极大的毅力、勇气,还得有保持冷静的特殊能力,因为程序可能每运行5000个周期就会出现一次内存访问错误。
当然,对于确实需要使用PTX的场景,以及那些收到足够报酬来处理这些问题的开发者,我们表示充分的理解和尊重。
至于其他开发者,继续使用CUDA或其他基于CUDA的高级变体(或MLIR)才是明智的选择。
https://www.tomshardware.com/tech-industry/artificial-intelligence/deepseeks-ai-breakthrough-bypasses-industry-standard-cuda-uses-assembly-like-ptx-programming-instead
https://x.com/Jukanlosreve/status/1883304958432624881
https://x.com/IanCutress/status/1884374138787357068
本文仅做学术分享,如有侵权,请联系删文。
3D视觉交流群,成立啦!
目前我们已经建立了3D视觉方向多个社群,包括
2D计算机视觉
、
最前沿
、
工业3D视觉
、
SLAM
、
自动驾驶
、
三维重建
、
无人机
等方向,细分群包括:
工业3D视觉
:相机标定、立体匹配、三维点云、结构光、机械臂抓取、缺陷检测、6D位姿估计、相位偏折术、Halcon、摄影测量、阵列相机、光度立体视觉等。
SLAM
:视觉SLAM、激光SLAM、语义SLAM、滤波算法、多传感器融合、多传感器标定、动态SLAM、MOT SLAM、NeRF SLAM、机器人导航等。
自动驾驶
:深度估计、Transformer、毫米波|激光雷达|视觉摄像头传感器、多传感器标定、多传感器融合、3D目标检测、路径规划、轨迹预测、3D点云分割、模型部署、车道线检测、Occupancy、目标跟踪等。
三维重建
:3DGS、NeRF、多视图几何、OpenMVS、MVSNet、colmap、纹理贴图等
无人机
:四旋翼建模、无人机飞控等
2D计算机视觉
:图像分类/分割、目标/检测、医学影像、GAN、OCR、2D缺陷检测、遥感测绘、超分辨率、人脸检测、行为识别、模型量化剪枝、迁移学习、人体姿态估计等
最前沿
:具身智能、大模型、Mamba、扩散模型、图像/视频生成等
除了这些,还有
求职
、
硬件选型
、
视觉产品落地、产品、行业新闻
等交流群
添加小助理: cv3d001,备注:
研究方向+学校/公司+昵称
(如
3D点云+清华+小草莓
), 拉你入群。