ollama 允许与Slurm集成

ljo96ir5  于 2个月前  发布在  其他
关注(0)|答案(2)|浏览(42)

Slurm是一个用于管理并调度计算机集群上工作负载的实用程序。许多学术机构使用它来分配计算资源。我想知道是否可以实现一个接口,允许通过Slurm作业加载的模型使用聊天界面。这样,您的请求将被排队,当计算完成时,Ollama将输出结果。有多种方法可以实现这一点:

  • 允许单个响应子命令,该命令启动服务器、运行查询并在接收到输出时杀死服务器,例如:
$ ollama singlerun mistral --message "what is the meaning of life"
[answer]
  • 将Slurm调度集成到Ollama中
  • 为Ollama编写一个 Package 器,实现上述第1点。

我希望就这个主题与社区进行讨论。

jw5wzhpr

jw5wzhpr1#

就我个人而言,我会选择不同的路线。在过去的一年左右的时间里,我反复问自己,在集群计算环境中进行简单的LLM推理的最佳方法是什么。但我从未感到有必要与作业调度器集成,原因有以下几点:

  • 额外的复杂性,没有固有的收益
  • 对于短暂或非常短暂的作业(如针对单个查询运行推理)的资源分配完全没有意义,即使GRES中有很多专用交互式队列。即使这对相关方来说不重要,我也想象系统管理员会自然地对调度器的开销感到不满。与其为这种短暂的作业分配资源,还不如从交互式作业中调用ollama以获得更好的效果
  • 从我的理解来看,对于大多数LLMs,针对专用硬件的单用户推理实际上本质上是浪费资源,因为你很可能不会利用推理批处理的好处
  • ollama以及它所基于的llama.cpp/GGML库更适合于在消费级硬件上启用推理,而不是在集群上,这是我认为两者各自独立意图的一部分。大多数中心已经安装了HF Transformers、ONNX和其他后端作为针对各种网络架构进行推理的模块,这些都是用企业级硬件构建并考虑到扩展性的。

总的来说,我认为这是一个不合适的选择,并建议不要使用,只是因为你有其他更实用的选择,我强烈建议你考虑这些选择。但我也可能是以错误的方式看待这个问题 某种程度上,这是不可否认的有时是我自己的特点... 我愿意听取其他人对此的看法,并听取是否有一些需求/约束我没有考虑到。
编辑:再想一下,我可能过于草率地说不应该在集群环境中使用llama.cpp/GGML进行推理,因为在你有大约4-40GB VRAM可用的情况下,它是完全有效的。同样,ollama对于方便性也有一些意义。我仍然不能支持使用这种短暂的作业,但如果是一个专门用于一个群体的小(少于十几个节点)集群,对他们来说可能有意义,而我无权对此发表意见。

brqmpdu1

brqmpdu12#

我相信这个改进是有价值的。

相关问题