通常,DevOps中的一个重要主题是我们如何照顾软件伪像的自动创建和交付。

随着数据科学的兴起,出现了一种新型伪像-代表训练有素的神经的单义二进制Blob网络或其他机器学习模型。这样的Blob可以具有许多GB的大小,并且其创建尚未标准化AFAIK,这使组织回到了CI之前的时代。尽管如此,它们的版本和相关的训练数据(语料库)也趋于迅速增长。 />

评论

我看不到Java上下文中的大blob和uberjar之间的区别。同样的做法也适用,文物的大小几乎没有理由发挥作用。

嗨-我以为从2gb到uber-jars,您会告诉他们微服务架构的故事,或者?
我只是说350Go的dB快照与5Mo罐不同,它必须存储在任何地方,并且工件存储库可以处理

我同意-仅仅因为生成的程序很大,并不意味着它仍然没有像其他所有东西一样进行编译,版本控制和存储(尽管可能会有一些存储方面的挑战),所以我看不到这是如何“将组织带回到CI之前的时代”如果组织如此认为,我不确定他们是否真正了解DevOps / CI。

#1 楼

我个人认为Artefact Repository(推荐的用于管理人工制品的DevOps工具)不适用于受过训练的神经网络或其他人工制品。

文物的大小可能对特定文物存储库有一些上限,但是在这种情况下,它是技术或政策上的限制,而不是基本/原则上的限制。 >对于将DevOps方法应用于这些人工制品的生产过程,我认为,即使不是全部,大多数人也可以同样适用,只要这些人工制品是通过某种方式生产的:支持变更版本控制的规范(等同于软件源代码)
通过可重复和可自动化的过程构建
,并使用某种可重复和可自动化的验证(类似于QA)进行验证,最终使用一些支持数据(在这种情况下,训练数据,例如,等同于数据库快照)

侧面说明:整体软件代码交付仍然很重要,并且可以通过DevOps方法完美地维护(需要谨慎),并非所有内容都可以在微服务中拆分。大小不足以使DevOps不适用。

评论


完美的答案。我将所有重型模型存储在git lfs中,并在必要时将其拉出[无服务器范式] :)

– Dawny33♦
17年9月14日在2:41

@ Dawny33但您现在是否考虑放弃git lfs?

– Peter Muryshkin
17年9月14日在7:38

@ J.Doe到目前为止对lfs很好。如果我找到一个更好的替代方案,可能会采取行动。

– Dawny33♦
17年9月14日在8:14

那么我不明白为什么您说的答案是“完美”,而它却建议使用人工制品存储库? @ Dawny33

– Peter Muryshkin
17-09-14在8:16



DVC被认为是git-lfs的更好替代品

– Shcheklein
18年6月20日在21:06

#2 楼

我建议您看一下DVC-一种用于数据科学项目的开源版本控制系统。

它完美处理的基本功能之一就是管理数据文件(以及代码)-输入,输出(模型),中间结果。从语义上讲,它类似于git-lfs,但与git-lfs不同,它能够管理100GB之类的文件,更重要的是它不依赖专有存储/格式。它是完全开源的,并且与任何网络存储作为服务器兼容,可以保留数据文件-S3,GCP云存储,SSH,FTP等。