我一直在阅读关于这个主题的一些文章,并对我应该如何处理它有一些初步的想法,但是如果您有更多在AWS上运行机器学习的经验,我仍然想看看是否有人可以分享评论。我在学校为一位教授做了一个项目,我们决定使用AWS。我需要找到一种成本效益高、效率高的方法在其上部署一个预测模型。
我们希望达到的目标是:
第一次想到我是AWS 。然而,我们将使用"fb预言家“模型来预测结果,并且我们构建了一个定制包用于模型,因此,我不认为笔记本实例会对我们有所帮助。(如果我错了,请纠正我)我的理解是,酿酒师是一个建立和训练模型的环境,但我们已经建立和训练了模型。另外,我们也不会使用AWS预制件模型。
另一件事是,如果我们想使用自定义的包,我们将需要创建容器映像,而我以前从未这样做过,也不确定要做什么。
第二个选项是创建多个lambda函数
第三个选项将结合这两个选项:-当新文件传入时,使用lambda函数在S3桶中的python脚本上触发实现。-使用sagemaker端点推送结果,这意味着我们在sagemaker上托管模型并从那里部署。
我仍然不完全确定如何将预构建的模型和python脚本放在sag研究生实例和主机上。
我希望谁有更多的经验,AWS服务可以帮助我提供一些指导,在更高的成本效益和运行模式的有效方式。
谢谢你!!
发布于 2020-04-08 03:43:18
我想说,这一切都取决于您的模型有多重/您正在运行的数据有多少。你认为Lambda的工作量很可能会减少,这是正确的。让一个lambda启动并运行来完成您需要的事情和Lambda有一个非常慷慨的免费层是非常容易的。问题是:
如果您有大量的数据要运行您的模型,您将需要多个lambda。多个lambda意味着您必须多次加载您的模型,这是浪费工作。如果您使用的是“大数据”,那么一旦您通过了免费的数据层,这将变得非常昂贵。
如果你没有太多的数据,Lambda会很好的工作。我会关注它如下:假设您的数据处理步骤是由您的模型步骤主导的,并且如果您的所有模型交互(加载模型+评估您的所有数据)花费不到15分钟,那么您肯定没问题。如果他们采取更多,你将需要做一个背面的信封计算,以确定你是否会离开兰达免费层。
关于Lambda:你可以从字面上复制粘贴代码来建立一个原型。如果所有数据的执行时间超过15分钟,则需要一种将数据拆分到多个Lambdas之间的方法。以阶跃函数为例。
发布于 2020-04-10 11:42:00
SageMaker是一组服务,每个服务负责机器学习过程的不同部分。您可能想要使用的是SageMaker中的木星笔记本托管版本。在所使用的实例(CPU/GPU、内存和磁盘)的大小方面,您可以获得很大的自由度,并且可以在该实例上安装各种包(例如FB Prophet)。如果你每月需要一次,你可以在这段时间内停止并启动笔记本实例,并在这个实例上“运行”笔记本中的所有单元格。这只会花费你执行死刑的时间。
关于其他选择,在Lambda中运行libraries并不容易,因为可以在Lambda上安装的库的大小限制(以避免长时间的冷启动)。您还可以使用ECS (容器服务),在这里您可以拥有更大的映像,但是您需要知道如何构建代码和端点的Docker映像才能调用它。
https://stackoverflow.com/questions/61091659
复制相似问题