• 娄尚
    2025-03-14 来自北京
    能具体讲讲基于deepseek搭建本地的知识库、或者基于推理功能在项目中的实际的应用

    作者回复: 后面的项目会讲

    
    1
  • 麦耀锋
    2025-03-14 来自广东
    老师,您提供的raycluster的yaml里面,只看到将设置workerGroup的 `rayStartParams: num-gpus: "1"`, 我的理解,在headerGroup的配置里面也应当设置上吧,否则header怎么能用上gpu资源呢?另外,为何对cpu/memory的limit配置,header配置4/16G,而worker配置14/60G呢?我的理解中,header既包含worker process,也包含管理的process,所以,理论上header所需求的资源不应该比worker少?

    作者回复: 你好,经过我们实测,如果 worker 设置了num-gpus: "1",header那里不设置,也能占上GPU卡,所以这里就没写。至于CPU 内存的问题,是因为我没有额外的CPU节点,导致我的kube-operator还有其他的一些组件都是部署在header所在的GPU节点上的,所以header的CPU和内存就设置的少了,这个正常生产中应该是独占节点的。

    
    
  • willmyc
    2025-03-14 来自广东
    head 节点运行在一个 GPU 节点上,并参与计算 numOfHosts: 2 rayStartParams: num-gpus: "1"

    作者回复: numOfHosts: 2 会产生两个worker节点,启动模型时会报错

    
    
  • grok
    2025-03-14 来自美国
    云阳大佬,请您指点一下,提供些最佳实践? 我现在k8s有30个node,每个node有多张显卡(比如6张RTX4090)。想法是先拉起来一个模型副本(这可能只占用2~4个node),提供服务。一旦“一个模型不够用了”,就拉起来第二个副本,又不够用了就拉起来第三个,如此往复。之后使用的人一旦少了,就销毁多余的副本,只留一个模型在线。(因为我这30个node还有其他的任务,不可能一上来就拉起来好几个模型副本,太浪费显存了) 问题一:这个东西一般怎么设计?您的团队用什么metric判断“何时一个模型不够用”?是同时进来的request数量?还是GPU的load?还是其他的metrics? 问题二:这个东西怎么实现?是写yaml吗然后kubectl apply?您的团队用什么工具? 希望大佬不吝分享,多讲讲细节,帮帮新手。

    作者回复: 你好,这个我们目前没有遇到过这种场景,所以没法给你完善的方案,只能给你一点个人的思路。其实这个事就和以前用operator去控制tomcat的副本数是差不多的。比如一个tomcat能处理的请求是50,那超过50,就会由operator自动再创建出一个tomcat来。你这个也是类似,具体每个模型能处理多少并发,需要你们自己测试后确定

    
    