Skip to content

前期调研报告

Author:张海川

前期调研中会包含许多最终被否定掉的题目以及未被使用的题目。

题目一 apple mlx 优化

通过调研知道,apple mlx 是一款类似于 pytorch 的深度学习框架,与其底层的 GPU 加速 mps 或是英伟达 cuda 不同,mlx 提供的是更高层级的框架,并且在 github 上为开源项目。

该项目主要针对 apple m 系列芯片,实现统一内存模型 ‌,即数据在 CPU 和 GPU 间共享,避免传统框架(如 PyTorch)中频繁的数据拷贝开销。同时,其可同时在 CPU、GPU 和 Apple 的神经网络引擎上运行,开发者无需手动分配计算资源 ‌,这对于分布式的推理能起到很大的帮助。

初步的想法是对于 mlx 的性能进行优化,主要优化方向在多设备分布式推理的情况下,但目前对于 mlx 的性能水平对比 pytorch 并没有找到资料,并且部分网站对于 mlx 不足之处的说明仍停留在 2024 年 5 月份,而至今该项目已经新增七万行代码且删除两万行代码,其中的较为容易改进的不足之处可能已经被优化,并且项目本身代码量大,复杂性高,整体上手难度大,最终可能很难达到 30% 的性能提升,所以该题目暂且不考虑。

题目二 基于 RDMA 的分布式操作系统

RDMA 是一种网络通信协议,允许计算机直接访问远程主机的内存,‌ 无需操作系统内核介入 ‌,实现零复制数据传输。‌RDMA 自 2000 年产生以来一直在改进和完善,现在已经是成熟的技术,并且已经有许多方面的应用。如用于气象模拟、基因测序等需高速数据交互的场景 ‌ 的高性能计算。同时也有 ‌ 分布式存储 ‌ 提升 SSD 访问效率的方案(如腾讯云 NVMe 方案)。

该技术支持的传输速度最高甚至可以超过 pci 通道。现已有基于 RDMA 的内存管理系统,该系统主要用于分布式大模型推理。可选方向是针对其中的 IO 部分进行优化,另一可选方向是基于内存将操作系统部署在内存上并且灵活调用 cpu 资源。

该选题最大的问题是涉及 RDMA 的网卡以及多设备,这些都是我们目前不具备的,可能后期进行实机部署会遇到困难,并且我们对 RDMA 并不熟悉。

题目三 云端协同推理的本地优化

该题目来源于部分网络平台在 deepseek 推理时会采用部分本地算力和云端算力协调推理,但推理时能调用的本地算力有限,仍有很大的优化空间。

在云端协同推理时,本地主要处理低延迟敏感、隐私要求高的计算,云端承担大规模密集计算,通过协同架构实现整体效率最大化 ‌。可实际上能利用的本地算力测试只有一个物理核心与十个左右的线程。并且由于本地端端加入,推理会变得不稳定,极有可能出现速度降低与推理异常中断的情况发生。 对以上的情况推测原因如下:

  • 深度学习框架的动态负载均衡 ‌:自动分配计算任务至空闲核心,例如优先使用 ANE 执行矩阵运算,GPU 处理并行分支,CPU 管理内存调度 ‌。
  • ‌ 操作系统调度限制 ‌:操作系统可能只使用 10%-20% CPU 核心资源用于浏览器 os 进程。并且默认不采用 GPU 加速。
  • WebGPU、WASM 优化问题:推理时可能本地端采用的优化选项很少,并没有采用一些加速策略。