我正处于使用Kubernetes部署深度学习模型的阶段。我的问题如下:
1:Kubernetes是否支持并行处理?在对数据进行预处理之后,需要运行具有不同超参数集的深度学习模型。是否可以在不同的Pod上并行运行它,以及它的python代码是什么??
如果特定的Pod在运行时发生故障或损坏,是否可以使另一个Pod(原始Pod的副本)自动运行?
此外,如果特定的Pod达到一定百分比的GPU(阈值),是否会使另一个Pod自动运行?
在这方面,我需要您的帮助。我在这方面找到了很多教程。另外,寻找执行所有这些操作的python代码。
谢谢
答案 0 :(得分:0)
似乎没有对该问题进行过任何先前的研究,并且您不是新成员-因此,为了将来,请尝试提出具体问题,以解决您遇到的问题,因为这表明您已经付出了努力。问问题。我将尝试从Kubernetes的角度回答,因为我还没有机会在Kubernetes上使用深度学习。
Kubernetes不支持并行处理。群集是一组“独立”节点,每个节点都有自己的内存和CPU,但它们通过网络连接,可以一起使用以解决一项常见任务。您可以根据需要运行多个吊舱/作业。在ML here的上下文中以及在Kubernetes here上进行深度学习的示例中对此有更多了解。
Pod作为Kubernetes中的基本构建块,也表示集群上正在运行的进程。他们就是我们所说的牛。我们认为它们是短暂的实体,可以随意替换或丢弃。通常的做法是不创建Pod本身,而是例如通过Deployments来确保您始终有指定数量的Pod运行(当一个死亡时,将在其上创建另一个Pod以保持指定的数目)。您可以找到有关控制器here的更多信息:
他们可以负责复制和推出并提供自我修复 集群范围内的功能。
集群中不同GPU的最小和最大数量,格式为 ::。群集自动缩放器不会将群集扩展到超过 这些数字。可以多次通过。当前仅此标志 在GKE上工作。