关于云计算:SkyPilot构建在多云之上的-ML-和数据科学可节约-3-倍以上成本

89次阅读

共计 3191 个字符,预计需要花费 8 分钟才能阅读完成。

作者:Zongheng Yang(在加州大学伯克利分校研发 SkyPilot)

整顿:高现起

导读:用于 ML 和数据迷信的云计算曾经比拟艰难,如果你想要通过老本优化削减老本,你的整体老本包含资源和人力,可能会不降反增。不想在机器闲置时进行?因为这样你可能须要重复的启停,并且重新配置环境或者筹备数据。想要通过应用抢占实例降低成本?解决抢占实例的调度问题也可能会花上几周工夫。如何很好的利用地区之间的微小价格差别,或者不同云厂商之间更大的价格差别来降低成本?

如果云上有一个简略、对立的 ML 和数据迷信接口,具备老本效益、容错性、多区域和多云,是不是会更好?明天就给大家介绍一个我的项目,会从以下几个方面开展:

  • SkyPilot 我的项目介绍
  • SkyPilot 工作原理
  • SkyPilot 应用场景为什么多云成为新常态?
  • 尝试 SkyPilot

以下为具体内容。

SkyPilot 我的项目介绍

SkyPilot,由加州大学伯克利分校的 Sky Computing 实验室主导研发的一个开源框架,用于在任何云上无缝且经济高效地运行 ML 和数据迷信批处理作业。它的指标是让云比以往任何时候都更容易应用,老本更低,并且全程不须要云计算相干的专业知识。

近一年多来,SkyPilot 始终在加州大学伯克利分校的天空计算实验室踊跃开发。它被 10 多个组织用于各种用例,包含:GPU/TPU 模型训练(老本节俭 3 倍)、分布式超参数调优以及 100 多个 CPU 抢占实例上的生物信息学批处理作业(在继续应用的根底上老本节俭 6.5 倍)。

SkyPilot 工作原理

给定一个作业及其资源需要(CPU/GPU/TPU),SkyPilot 会主动找出哪些地位(可用区 / 区域 / 云厂商)具备运行该作业的计算能力,而后将其发送到老本最低的地位执行。

SkyPilot 将作业发送到最佳地位(可用区、区域、云厂商)以取得更好的价格和性能。SkyPilot 主动执行云上正在运行的作业的沉重工作:

  • 牢靠地配置集群,如果产生容量或配额谬误,主动故障转移到其余地位
  • 将用户代码和文件(从本地或云存储桶)同步到集群
  • 治理作业排队和执行

SkyPilot 还大大减少了一直增长的云费用,通常缩小 3 倍以上:

  • 主动找到所需资源的 最便宜的可用区 / 区域 / 云厂商(节俭约 2 倍的老本)
  • Managed Spot,通过应用抢占实例节俭约 3-6 倍的老本,并主动从抢占中复原
  • Autostop,主动清理闲暇集群——可防止的云超支的最大贡献者

    SkyPilot 的应用场景

在过来的几个月里,逐步向来自 10 多个组织的数十名 ML/ 数据迷信从业者和钻研人员举荐了 SkyPilot。从用户反馈中,看到该零碎的确解决了他们遇到的常见痛点。

呈现了几种应用场景,从交互式开发到跨区域或跨云厂商运行许多的我的项目,再到横向扩大:

SkyPilot 已被用于交互式开发(例如,运行 Jupyter 的 CPU 服务器)、治理许多我的项目(能够在不同的云厂商)或扩大数百个作业。

在 GPU 和 TPU 上进行 ML 训练和超参数调整

伯克利人工智能研究所 (BAIR) 和斯坦福大学的当先机器学习团队始终在应用 SkyPilot 在云端运行机器学习训练。用户通常在不更改代码的状况下启动他们现有的 ML 我的项目。牢靠地配置 GPU 实例、在集群上排队许多作业以及同时运行约 100 个超参数试验是用户反馈的次要长处。此外,用户在 AWS 上运行的雷同作业只需更改一个参数就能够在 GCP/Azure 上运行。

用户还应用 SkyPilot 在谷歌的 TPU 上训练大模型。钻研人员能够通过 TRC 程序申请收费的 TPU 拜访权限,而后应用 SkyPilot 疾速上手 TPU。

CPU 抢占实例上的生物信息学批处理作业,老本节俭 6.5 倍

生物研究所 Salk 的科学家们始终在应用 SkyPilot 在抢占实例上运行每周定期执行的批处理作业工作。这些作业别离操作序列的不同局部,之前始终以一种令人难堪的状况并行。应用 SkyPilot 的 Managed Spot 性能之后,Salk 的科学家们能够在数百个 CPU 抢占实例上进行计算,与应用按需实例相比老本升高了 6.5 倍,并且与应用忙碌的本地集群相比显著缩短了工作解决工夫。Salk 用户反馈到,通过抽象化云计算技术,SkyPilot 让他们可能更专一于科学研究而非云端技术细节问题。

应用 SkyPilot 构建基于多云的利用

一些行业合作伙伴曾经在 SkyPilot 的 API 之上构建了更多云厂商的 lib 库。SkyPilot 使更多利用从第一天起就能够应用与云厂商无关的界面在不同的云上运行(这与 Terraform 等工具造成比照,后者尽管功能强大,但专一于较低级别的基础设施而不是作业,并且须要特定于云厂商的模板)。开发人员喜爱开箱即用地在不同云厂商牢靠地配置和运行作业的能力,这样他们就能够专一于利用的业务逻辑,而不是相熟各个云厂商的性能操作。

为什么多云成为新常态?

多云和多区域的增长趋势促使构建了 SkyPilot。出于策略起因,企业组织越来越多地应用多个私有云,例如更高的可靠性、防止云供应商锁定、更强的议价能力等。

即便从用户(例如,机器学习工程师或数据科学家)的角度来看,也有很多理由能够依据工作负载应用多云:

缩小开销

应用雷同 / 类似硬件的最优惠价格的云厂商能够主动节俭大量老本。以 GPU 为例。在 2022 年底时,Azure 领有最便宜的 NVIDIA A100 GPU 实例,GCP 和 AWS 别离收取 8% 和 20% 的溢价。

            雷同配置硬件的云价格差别。每个云最便宜区域的按需价格。

CPU 也存在价格差别。对于最新的通用实例(雷同的 vCPU/ 内存),差别可能超过 50%(见上图)。

利用一流的硬件

正处于计算机体系结构的新黄金时代,专用硬件正在推动性能和效率的大幅晋升。毫不奇怪,云厂商越来越多地提供定制硬件以从竞争中怀才不遇。例子包含:

  • GCP 用于高性能 ML 训练的 TPU
  • 用于经济高效的 ML 推理的 AWS Inferentia 和用于 CPU 工作负载的 Graviton 处理器
  • 用于秘密计算的 Azure 英特尔 SGX

应用更适宜工作负载的硬件,能够显著的降低成本或进步性能,个别这些硬件位于不同的云厂商那里。

减少稀缺资源的可用性

现实的云实例很难取得。应用 NVIDIA V100 和 A100 等高端 GPU 的按需实例常常售罄。具备 GPU 或大量 CPU 的抢占实例甚至简直不可能取得。依据教训,个别须要期待几小时或者几天的工夫能力获取这些稀缺资源。

为了进步胜利获取此类资源的机会,一种天然的办法是应用多云。(假如每个云有 40% 的机会提供资源;应用 3 个云将机会减少到 1–0.6³ = 78%。)

单云用户也想要多个区域

乏味的是,上述所有益处也都实用于单云的多个区域:

(1) 不同可用区 / 区域的价格差别也很大。对于一般的 GPU/CPU,跨区按需价格差别可能高达 20%(见下图)。对于现货实例,价格差别很容易超过 3 倍。简略地说:用户能够通过在同一个云厂商跨多个可用区 / 区域购买来降低成本。

    云内价格差别。(“+20%”示意最贵的区域免费是最便宜的区域的 1.2 倍。)

(2) 硬件 / 服务产品因云区域而异。例如,GCP 的 TPU V3 仅在其 35 个寰球区域中的 2 个区域可用。

(3) 扩散从多个区域获取稀缺资源更容易胜利。

尝试 SkyPilot

我的项目地址:https://github.com/skypilot-org/skypilot

以上是文章的次要内容,作为交融云 / 多云治理 / 公有云 /FinOps 厂商,云联壹云会继续关注这些畛域的动静,分享相干的信息和技术,能够通过的官网(yunion.cn)或关注的公众号(云联壹云)来获取最新的信息,感激大家的工夫。

原文地址:https://www.yunion.cn/article/html/20230515.html

其余举荐浏览

Flexera 2023 云状态报告解读
新品公布 | Cloudpods 3.10 版本上线!
企业面对 FinOps,到底能做些什么?总结了 4 个方面

正文完
 0