AI 计算框架为啥不能统一一下,感觉大家都各玩各的

352 天前
 wulili

今年可以说是 AIGC 的元年吧,各种 AI 开源框架都冒出来了,不过有时候折腾起来感觉挺心累的,部署起来要么就是不支持这个 GPU ,要么就是不支持那个系统

系统方面,折腾完了 win ,mac 又出问题,搞定了 mac 吧,Linux 又要再折腾下

硬件方面,NVIDA 玩自己的 CUDA ,苹果玩自己的 Metal ,AMD 这方面好像没啥布局(手里的 A 卡瞬间感觉不香了。。。)

这方面纯小白一个,想问下为啥各种 AI 框架为啥好像很难搞类似于通用计算,为啥不能像游戏那样,不依赖于特定 GPU 硬件加速,是个 GPU 就行,虽然可能不同厂商的速度🈶️差别,但也不至于没有用武之地

要是能统一一下标准该多好

4082 次点击
所在节点    程序员
40 条回复
qrobot
352 天前
你出钱赞助吗?
optional
352 天前
派你和非洲的经济统一一下。
opengps
352 天前
要知道所有的规则都是需要先经历一段野蛮生长阶段才能总结出来。刚起步就统一,时机过早。
jklove123bai
352 天前
搞这个不就是为了未来统一后赚钱?
kaedeair
352 天前
因为游戏都是标准接口,已经有规范了,显卡都要支持 dx ,opengl 还有 vulkan ,不支持你照样也玩不了游戏
artnowben
352 天前
NVIDA 在软件生态上布局十几年了吧,培养了很多 CUDA 程序员,这就是它厉害的地方。
其他厂家,谁能培养这么多自己生态的程序员
pkoukk
352 天前
为啥不能像游戏那样,不依赖于特定 GPU 硬件加速,是个 GPU 就行
这句话就是错误的,游戏渲染流程大概是 游戏->引擎->驱动->显卡
换 GPU 不怎么影响游戏,是因为显卡厂商做了驱动层,引擎只需要面对驱动层就行
你看看 intel 家出的独显适配问题有多少,如果真的所有游戏引擎严格按照 dx11 或者 dx12 执行,哪还有这种适配问题
显卡驱动是非常非常重要的一环,而且很多游戏是有面向 A 卡或者 N 卡做特别优化的
dddd1919
352 天前
有竞争才会有进步,只有一个只会有吃💩的体验
neopenx
352 天前
你要类比也应该类比到 shader 吧。
cuda/metal kernel 本质就是 shader ,你看游戏几十年了,不同 GPU 的 shader 很好统一么
基于 LLVM 可以对 GPU shader 做一个抽象,所以 AI compiler 现在也在干同样的事。
SilentRhythm
352 天前
问题来了,要制定标准,听你的还是听我的?听你的,我有什么好处。
zjhzxhz
352 天前
其实你说的这个"计算框架"(确实不能叫计算框架),基本上的是统一的,因为大家只用 CUDA 。
基于 CUDA ,其实有非常多的 Framework (a.k.a. machine learning framework)。比如 TensorFlow ,PyTorch ,或者 JAX 。

但其实计算框架,大家慢慢也趋于统一开始用 PyTorch (至少学界是这样的)。
但是有一家公司是例外——华为🐶 因为它不能购买 NVIDIA 的显卡,所以它有自己的自研芯片和对应的计算框架——mindspore 。
tyzandhr
352 天前
用人用 metal 训练的?
neopenx
352 天前
@tyzandhr 去年 WWDC 苹果还真秀了下用雷电 4 连接 4 台 M1 Ultra 做数据并行训练
不过也只有 Ultra 级别的 FP32 算力才能摸到 3060 的屁股
MeePawn666
352 天前
你理解这个问题的方式有点问题。“几乎”可以等价转换为: “都是针对图灵机编程,为啥要有这么多编程语言”。 这里的“编程语言”对应你问题中的框架也就是前端,这里的“图灵机”可以理解为各个厂商对图灵机的“实现”,比如 power9, x86 等,对应的是你这里的 CUDA, ROCM 。 编程语言的前端和后端是解耦的,ai 框架也是一样。Pytorch ,jax 说到底是 Dsl,也支持不同的后端 cuda rocm 等。 至于你说为什么不统一,除了很重要的商业因素之外,还有就是没必要统一,毕竟编程语言也没统一啊……
toexplore
352 天前
八仙过海各显神通
lookStupiToForce
352 天前
AMD 有 HPC 和 ROCm 啊
ROCm 对标 CUDA ,也支持 Tensorflow 和 Pytorch
但你就是能用 A 家相同评级的显卡,跑出 N 家十分之一的成绩,这能咋办
neopenx
352 天前
@MeePawn666 这个不仅仅 shader language 的 DSL 不统一问题,各类加速器的都是 ASIC, 都在自家芯片内塞私有硬件和指令集,所以即使有统一的 DSL ,也要根据不同硬件编译 N 个版本的 DSL ,最后搞得 release 啥都能跑的框架二进制有 10GB 以上,谁都不舒服
Alias4ck
352 天前
你在问这个问题的时候,有没有想过为啥操作系统没有统一过
wulili
352 天前
@Alias4ck 感觉和这个还是有点区别,操作系统还能换,一套硬件可以换不同的系统,或者通过虚拟机也能基本解决,但 AI 计算这玩意很多时候非得用特定的硬件,没特定的卡就没法玩了
Xyg12133617
352 天前
@dddd1919 某度表示不服气

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/939393

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX