基因组学工作流程,第6部分:成本预测 架构博客

基因组学工作流程第六部分:成本预测

关键要点:在基因组学工作流程中,成本预测对科学家决策至关重要。本篇文章介绍了如何通过历史数据训练机器学习ML模型,以预测未来工作流程的成本。通过此解决方案,团队可以在应用程序使用上提高成本意识并支持企业资源规划,且有助于避免预算超支。

基因组学工作流程运行于大量计算资源池上,并以PB级的数据集作为输入。工作流程的运行成本可能高达数十万美元。鉴于如此大的规模,科学家希望在决策之前,能够估算出他们基因组学工作流程运行的预计成本。

在本系列的第六部分中,我们将基于第五部分中提出的基准测试概念进行讨论。您将了解到如何利用历史数据训练机器学习模型,以便预测未来的运行成本。尽管我们聚焦于基因组学,但这种设计模式可以广泛应用于任何计算密集型工作流程的使用场景。

用例

在大型生命科学组织中,多组研究团队通常使用相同的基因组学应用程序。共享资源的实际使用成本通常只是周期性地显示或回收费给研究团队。

在这篇博客的情境中,科学家希望根据以下输入参数预测未来工作流程的成本:

输入参数工作流名称输入数据集大小预计输出数据集大小

根据我们的经验,科学家可能不知道如何根据这些参数可靠地估算计算成本。这是因为工作流程运行成本与输入数据集大小并不线性相关。例如,某些工作流程步骤可能高度可并行化,而其他步骤则不然。否则,科学家们可以简单地使用AWS定价计算器或通过编程方式与AWS价格列表API进行交互。为解决此问题,我们使用ML模型来建模相关性模式并预测工作流程成本。

基因组学工作流程,第6部分:成本预测 架构博客

预测基因组学工作流程运行成本的商业利益

成本预测带来了以下好处:

根据财务影响优先安排工作流程运行提高应用程序用户的成本意识和节俭性通过将估算数据集成到管理报告和批准流程中,支持企业资源规划并预防预算超支

前提条件

要构建此解决方案,您必须在AWS上运行工作流,并在每次工作流运行后收集实际成本数据。此设置在本系列博客的第三部分和第五部分中进行了演示。这些数据为解决方案的成本预测模型提供了训练数据。

解决方案概览

该解决方案包括一个友好的用户界面、预测使用参数的ML模型,以及一个元数据存储机制,以估算工作流程的运行成本。我们使用在第三部分中提到的自动工作流管理器和在第五部分中描述的基准测试解决方案。有关历史工作流程开始及其成本的数据作为我们的ML模型的训练和测试数据存储在Amazon DynamoDB中。我们使用AWS Amplify来托管无服务器用户界面,并使用像React这样的库/框架来构建它。

科学家在Amplify前端React应用程序中输入有关其基因组学工作流程运行的必要参数。后者向Amazon API Gateway REST API发起请求。这会调用AWS Lambda函数,后者调用一个AWS SageMaker托管端点以返回预测成本。

每个工作流程都对应一个训练好的ML模型

DynamoDB表中的每个工作流程都有一个训练好的对应ML模型,针对特定的使用场景。将模型分开处理简化了模型开发过程。该解决方案定期训练ML模型,以提高它们的整体准确性和性能。一个Amazon EventBridge Scheduler中的规则定期调用模型训练任务,一个AWS Step Functions状态机则自动化模型训练过程。

实施注意事项

当科学家提交请求包括他们运行的工作流程名称时,API Gateway使用Lambda集成。Lambda函数从一个DynamoDB表中检索记录,该表跟踪SageMaker托管的端点。该表的分区键是工作流名称表示为workflowname,如下例所示:

通过输入参数,Lambda函数调用SageMaker托管端点并将推断值返回至前端。

自动化模型训练

我们的Step Functions状态机用于模型训练,利用原生SageMaker SDK的集成。它按以下步骤运行:

状态机调用一个SageMaker训练作业来训练一个新的ML模型。训练作业使用来自DynamoDB表的历史工作流程运行数据。在训练作业完成后,输出的ML模型将存储至一个Amazon Simple Storage ServiceAmazon S3桶中。状态机将新模型注册到SageMaker模型注册表。一个Lambda函数比较新模型与之前版本在训练数据集上的性能。如果新模型的表现优于之前的模型,状态机创建一个新的SageMaker托管端点配置,并将端点名称放入DynamoDB表中。否则,状态机向一个Amazon Simple Notification ServiceAmazon SNS主题发送通知,表示没有更新。

结论

在这篇博客中,我们演示了基因组学研究团队如何构建一个价格估算器,以预测基因组学工作流程运行成本。这个解决方案基于历史工作流运行的数据训练每个工作流程的ML模型。一个状态机帮助自动化整个模型训练过程。您可以利用这个价格估算,提升您组织的成本意识,并降低预算超支的风险。

我们的解决方案特别适合希望预测个别工作流程运行价格的团队。如果您希望预测共享应用基础设施的整体消耗,建议部署一个使用AWS Forecast的预测工作流程。博客文章使用AWS Step Functions为Amazon Forecast构建工作流程提供了使用Amazon Forecast工作流的具体用例细节。

相关信息

基因组学工作流程第1部分:自动化启动基因组学工作流程第2部分:简化Snakemake启动基因组学工作流程第3部分:自动化工作流管理器基因组学工作流程第4部分:处理归档数据基因组学工作流程第5部分:自动化基准测试基因组学工作流程第7部分:使用AWS HealthOmics分析公共RNA测序数据使用AWS Step Functions为Amazon Forecast构建工作流程AWS上的基因组学Amazon基因组学CLI

标签: 基因组学

Rostislav Markov

Rostislav 是AWS专业服务的首席架构师。作为AWS产业的技术领导者,他与AWS客户和合作伙伴合作推进他们的云转型计划。在工作之外,他喜欢与家人一起户外活动,打网球和滑雪。

蓝快加速器

Matt Noyce

Matt Noyce是高级应用架构师,主要与AWS专业服务中的医疗和生命科学客户合作。他与客户一起构建、架构和设计满足其业务需求的解决方案。在业余时间,Matt喜欢跑步、远足和探索新城市及地点。