对于ML任务,我通常要比较几种模型。伪代码可以是这样的:
preprocesssing
for model in models:
model.fit(X_train,y_train)
postprocessing and evaluation
我想知道是否有(python)框架可以通过以下方式改进此功能:
我在这里发现了一个相关的问题:Train multiple different sklearn models in parallel,但它并没有完全回答我的问题。我深信,这方面肯定已经有了一个框架。你知道吗
首先,
对于一些主要的歧义消除
介于
纯粹的 一个“公正”——
[CONCURRENT]
和一个真实的-
[PARALLEL]
,kindly review remarks在你的博客里下一个主题:
1)培训:
不同的ML模型(主要)和相同的模型(具有相邻的超参数设置)在不同的运行时持续时间内进行处理,因此真正的-
[PARALLEL]
调度基本上是不可能实现的,“just”-[CONCURRENT]
处理在许多ML管道自动化工具中是可行的。除了最初的视图之外,您可能还知道,Python GIL stepped问题通常都是通过multiprocessing
和/或进入distributed-system体系结构来逃避的,正是因为性能问题。你知道吗2)序列化:
有人可能会提醒,除了一些独特的“友好”异常之外,所有的通用SER/DES操作本质上都是纯的-[串行的],位于Complexity ZOO的
O( N )
域的“温和”区域。你知道吗3)显示进度:
professional/HPC ML管道的非核心部分,但是如果愿意为一些这样的信息支付
[TIME]
-域成本,最好间接报告到一些distributed-systemML管道处理监视器中,而不是将进度条“嵌入”-ML管道中,这是非常昂贵的,如果真的在寻找浪费了纳秒的专业ML管道基础设施。虽然这似乎是一个很好的原型设计思想,但一旦全局搜索空间和问题规模进入运行时范围(几个[CPU*weeks]
),即使是每个周期天真地浪费的几纳秒也会成为一种乐趣。你知道吗4)XML美化模型组件:
我不能笼统地说,因为我看不到任何来自“昂贵的”非核心XML或-*-美化模型描述的实用程序。你知道吗
过去60年的高级HPC聚焦、低延迟精心制作的处理从未使用过单一的非核心功能来追求最终的处理性能,这在具有
n ~ ( 3, 6+ ); m ~ ( 1, 4+ )
的缩放搜索空间中根本没有位置。抱歉直截了当和开放-希望你会喜欢这些观点(市场营销可能会广播恰恰相反,但事实很重要)。你知道吗
相关问题 更多 >
编程相关推荐