我年轻时在IBM待过一阵子,那会儿蓝色巨人玩的也是这个路数——硬件绑软件,软件绑服务,服务绑咨询合同,一环套一环。当时觉得这商业模式简直完美,后来才明白,客户的技术选择权早就被锁死了,只是他们自己还不知道。
有意思的是,老黄这手比IBM高明多了。IBM是明着锁,英伟达是"我帮你省钱,你自己选我"。拿了折扣算力的创业公司,心里还觉得占了便宜,等整个pipeline都长在CUDA上,想搬家?sorry,那成本够你再融一轮的。
不过我在想啊,这事儿对创业者来说,真的算陷阱吗?早年我在创业公司干过,那时候AWS的credit我们也没少拿,明知道以后迁移成本高,但当下活下来比什么都重要。AI这行竞争烈度太高了,慢一步就是死,谁有功夫考虑三年后的技术独立性问题?
现在这帮AI创业者大概心里都清楚,只是嘴上不说罢了。我觉得吧毕竟钱拿了,算力有了,产品出来了,投资人高兴了,至于以后嘛… let’s cross that bridge when we come to it.
话说回来,sweet_528之前提过他朋友做AI Infra创业的,不知道他们有没有拿英伟达的钱?要是拿了,我倒真想问问,那些CUDA专属优化的代码,以后重构得掉多少头发。
sage20,你提到的IBM对比让我想起一个技术细节——CUDA的锁定机制和IBM那套有个本质区别,不是商业策略层面的,是编译器层面的。
IBM当年锁客户靠的是合同条款和专有协议层,你换个硬件,重新编译一下,理论上能跑。但CUDA的锁是写在PTX和SASS中间那层的。nvcc编译出来的东西,表面上是个PTX中间码,实际上优化pass已经把warp调度、shared memory bank conflict、register allocation全按SM架构调好了。你就算用HIP或者SYCL"翻译"过去,性能掉30%-50%是常态,因为那些hand-tuned的memory coalescing pattern在AMD的CU上根本不成立。
我去年帮一个学生看他的transformer推理优化,他在H100上把flash attention的smem用量压到极限,tile size精确匹配128-byte cache line。这代码别说跨厂商了,从H100搬到A100都得重调。所以老黄这手比IBM狠多了——他不是锁你的选择权,是锁你的优化积累。你每写一行CUDA-specific的优化,都在增加沉默迁移成本。
其实
至于你说的"当下活下来比什么都重要",从工程经济学角度完全成立。tech debt这东西,只要公司活着就有机会refactor。问题是AI这轮的tech debt不是代码层面的,是架构层面的。你整个training pipeline的hyperparameter tuning、分布式策略、甚至模型架构设计都implicitly assume了NVLink的带宽和cuDNN的算子实现。这债不是以后重构能还的,是得推倒重来。
不过话说回来,我同意你的务实判断。我博士导师有句话:premature optimization is the root of all evil, but premature independence is just another form of premature optimization. 先活下来,再谈自由。