苹果MLX机器学习框架原本专为Apple Silicon设计,现正新增CUDA后端支持。这意味着开发者将能直接在NVIDIA显卡上运行MLX模型,这具有重大意义。
该项目由GitHub开发者@zcbenz主导(消息源自AppleInsider),他数月前开始CUDA支持的原型开发。此后他将项目拆分为多个模块,逐步合并至苹果MLX的主分支。
该后端仍在开发中,但矩阵乘法、softmax、归约、排序和索引等核心运算已实现支持并通过测试。
什么是CUDA?
简而言之,CUDA(统一计算架构)是NVIDIA硬件上的Metal:这套计算平台专为该公司显卡设计,可充分发挥其高性能并行计算能力。
对多数用户而言,CUDA是在NVIDIA显卡上运行机器学习任务的标准方案,贯穿整个ML生态圈,从学术研究到商业部署无不使用。即便是非深度学习领域也逐渐熟知的PyTorch和TensorFlow等框架,都依赖CUDA实现GPU加速。
为何苹果MLX现在支持CUDA?
由于MLX深度集成于苹果平台的Metal框架,最初并未考虑在macOS系统外运行。
但CUDA后端的加入改变了这一局面,研究人员和工程师得以在Mac本地通过Metal和Apple Silicon进行原型开发,随后将相同代码部署至仍主导机器学习训练任务的NVIDIA显卡集群。
当然目前仍存在限制,多数功能尚在开发中。例如并非所有MLX算子都已完成移植,AMD显卡支持也需时日。
尽管如此,无需重写代码即可在NVIDIA显卡运行MLX程序,为快速测试、实验和研究用例开启了大门,这正是AI开发者梦寐以求的。
如需体验该功能,GitHub上有详细说明。