【AICon】AI 基础设施、LLM运维、大模型训练与推理,一场会议,全方位涵盖! >>> 了解详情
写点什么

想彻底改变云行业!Spark 发源地 UC 伯克利分校再推开源项目应对云成本飙升:平均降至三分之一

  • 2022-12-14
    北京
  • 本文字数:2994 字

    阅读完需:约 10 分钟

想彻底改变云行业!Spark发源地UC伯克利分校再推开源项目应对云成本飙升:平均降至三分之一

近日,加州大学伯克利分校的 Sky Computing 实验室发布了开源框架 SkyPilot,这套框架能够在任何云环境上无缝、且经济高效地运行机器学习与数据科学批量作业,适用于多云和单云用户。SkyPilot 的目标是大大降低云使用门槛、控制运行成本,而且全程无需任何云基础设施专业知识。


SkyPilot GitHub 地址:

https://github.com/skypilot-org/skypilot


据悉,Sky Computing 实验室研发了一年多的时间,SkyPilot 现在已经被 10 多家组织用于多种不同的场景,包括:GPU/TPU 模型训练(将成本降低至三分之一)、分布式超参数调优及百余个 CPU 竞价实例上的生物信息学批量作业 (循环运行成本降低至 1/6.5)等。

将云成本平均降至三分之一?


根据官方介绍,只要给定一项作业及其资源需求(CPU/GPU/TPU),SkyPilot 就能自动找出哪些位置(区 / 区域 / 云)具备运行该作业的计算资源,之后将负载发送至成本最低的位置执行。



SkyPilot 自动在云端执行各项作业,主要包括:


  • 以高可靠方式交付集群,如果发生容量或配额错误,则自动故障转移至其他位置。

  • 将用户代码及文件(从本地或云存储桶)同步至集群。

  • 管理作业排队和执行。


根据官方数据,SkyPilot 能帮助用户大幅减少云成本,一般均可降至三分之一左右:


  • 自动寻找能够提供所需资源的最便宜区 / 区域 / 云(将成本降低至二分之一);

  • Managed Spot 功能通过使用竞价实例将成本降低至三分之一到六分之一,并可在发生资源抢占时自动恢复;

  • Autostop 可自动清理空闲集群,化解这一造成云超支的最大“凶手”。


过去几个月来,该实验室逐渐将 SkyPilot 交付给 10 多个组织的数十位机器学习 / 数据科学从业者和研究人员手中。SkyPilot 已被广泛用于交互式开发(例如运行 Jupyter 的 CPU 服务器)、管理各类项目(跨多云环境),甚至扩展至数百项作业。



比如,伯克利 AI 研究所(BAIR)和斯坦福大学的领先机器学习团队,一直在使用 SkyPilot 在云端运行机器学习训练。他们通常会在不更改代码的情况下启动自己的现有机器学习项目,而 SkypIlot 可以配置 GPU 实例、打理集群上的作业排队,并同时运行上百个超参数试验。此外,对于运行在 AWS 上的作业,用户只需要修改一个参数即可将其转由 Google Cloud Platform/Azure 运行。

作为“云际经纪人”的角色


SkyPilot 开发者和博士后研究员 Zongheng Yang 介绍道,构建 SkyPilot 的初衷就是为了契合多云和多区域的发展趋势。他指出,组织越来越倾向于使用多云环境,借此获得更高可靠性、避免云服务商锁定、掌握更强的谈判杠杆等。


Zongheng 对多云带来的成本优势进行了解释。他表示,在硬件相同 / 相似的前提下,选择价格最优的云服务能够节约大量成本。


以 GPU 为例,截至 11 月份时,Azure 的英伟达 A100 GPU 实例价格最低,GCP 和 AWS 分别要比其高出 8% 和 20%。CPU 同样存在价格差异:对于最新的通用实例(配备同样的 vCPU 和内存),不同云服务商的定价差异可能超过 50%。因此,为某项任务选择最合适的云厂商和相应硬件,无疑能显著降低成本、提高性能。



不同硬件的云价格差异,取各家云平台最低价区域内的按需实例价格


用过的开发者可能知道,AWS EC2 instance 的时候经常出现 Insufficient Capacity 错误,即 AWS 这个区没有用户需要的资源了。实际上,优质的云实例资源非常稀缺,搭载英伟达 V100 和 A100 等高端 GPU 的按需实例并不常有,更不要说附带 GPU 或强劲 CPU 的竞价实例。根据经验,用户往往需要等待几十甚至上百小时才能获取如此宝贵的资源。


为了提高获取此类资源的机会,靠谱的办法就是使用多云。假设每家云厂商有 40% 的概率可以提供优质资源,则使用 3 家云服务商就会把成功概率提升至 78%(1–0.6³)。


当然,这些对于跨多个区域的单云用户也同样适用。


首先,不同区 / 区域间的价格差异也很大。对于普通的 GPU/CPU 资源,跨区按需实例的价差可能高达 20%。对于竞价实例,价差更是轻松达到 3 倍。简单来讲,用户可以在同一云服务商的多个区 / 区域间进行选择以降低设施成本。



云内价格差异,“+20%”代表最贵区域的收费比最便宜区域高出 20%


其次,硬件 / 服务产品因云区域而异。例如,GCP 在全球部署有 35 个区域,但 TPU V3 只登陆了其中 2 个区域。另外,跨多个区域时,获取稀缺资源的成功率也更高。


但是不管有多少好处,跨云 / 区域运营确实会极大提升基础设施的管理复杂性。加州大学 AMPLab、RISELab 和现在的 Sky Computing Lab 团队在使用公有云运行机器学习、数据科学、系统、数据库和安全方面的项目时就体会到了。


“使用一个云已经够难了,使用多云会加重最终用户的操作负担,SkyPilot 的开发人员就是想要减轻这种负担。”Zongheng 说道。

“Sky Computing”构想


“今天,越来越多的计算和数据正在进入云端。”Databricks 联合创始人、领导 Sky Computing Lab 的伯克利计算机科学教授 Ion Stoica 说道:“没有回头路可走。”


Stoica 还是 AMPLab 共同创始人、Spark 的核心设计者。他在去年提出了“Sky Computing”构想,这一构想的实质就是想让开发人员构建多云应用程序像构建在单个云上运行的应用程序一样容易。



Sky Computing 与互联网对比


Sky Computing 构想的底层是云兼容层,通过抽象出云计算服务,使在该层之上开发的应用程序无需更改即可在不同的云上运行。兼容层可以从当前很多 OSS 解决方案中构建出来,如操作系统 Linux,集群资源管理器 Kubernetes、Mesos,数据库 MySQL、Postgres,⼤数据执⾏引擎 Spark、Hadoop,机器学习库 PyTorch 、Ten sorflow,通⽤分布式框架 Ray、Erlang 等等。


云兼容层之上云间层,用户可以指定有关其作业应在何处运行的策略。云间层之上是对等层,旨在让云间可以通过建立高速连接互相传递数据,使数据传输又快又便宜,实现更大的工作流动自由。


Sky Computing Lab 的成立就是要建立一个以服务为中介的双向市场,为用户识别和使用最适合他们需求的多云组合。云计算领域的一些知名企业,如谷歌、IBM、英特尔、三星 SDS 和 VMware 都是该实验室的创始赞助商。该实验室的团队包括 60 多名伯克利教职员工和学生。



为彻底改变云行业,加州大学伯克利分校启动 Sky Computing Lab


作为该实验室的产品,SkyPilot 就是 Sky Computing 构想下的产品之一。目前,已经有企业在 SkyPilot 的编程化 API 上构建多云库,这些应用程序从设计之初就具备了跨云能力,可以通过云中立接口驰骋在不同云环境之间。另外,Stoica 参与研发的项目 Skyplane 可以以 10 Gbps 的速度在云 / 区域之间迁移大型数据集,同时压缩数据来降低费用。

结束语


“我已经在 ML 项目中使用 SkyPilot 3 个月了,它确实和听起来一样棒。启动和管理计算的整体体验是经过深思熟虑且符合人体工程学的。”开发者“donnygreenberg”说道。


但并不是所有人叫好,除了对产品本身的质疑外,还有很多人因云成本负担而对云本身失去信心。“有时,人们会发现,先租赁设备直到可以低价购买,并以传统方式托管通常比支付无休止的云费用要便宜得多。”开发者“walrus01”表示。还有人直呼被当时云“降低成本”的炒作迷住了,云实际上并不适合所有企业。


一方面,业内在努力解决各种问题。另一方面,如何消除人们现在的怀疑,也是云提供商需要思考的问题。


参考链接:


https://medium.com/@zongheng_yang/skypilot-ml-and-data-science-on-any-cloud-with-massive-cost-savings-244189cc7c0f

https://www.infoq.cn/article/WIm2YhkS1I3z6Zds8tcq

https://news.ycombinator.com/item?id=33964285


2022-12-14 15:396975

评论

发布
暂无评论
发现更多内容

Sentinel的注解支持 - @SentinelResource使用详解

麦洛

sentinel SpringCloud Alibaba

在项目启动时(无request)获取Tomcat端口号

waitmoon

Java

【译】ECMAScript 2021: 最终功能集确定

清秋

JavaScript ecmascript 翻译 ES6 新闻

tensorflow实现两种图像风格融合 即神经风格迁移

AI_robot

Java面试过了京东五面之后,发现掌握了这些技术也没有那么难

钟奕礼

Java 编程 程序员 架构 面试

tensorflow实现cifar10彩色图像多类别分类

AI_robot

iOS开发:git上传代码到开源中国的步骤,以及pod的更新方法

花花

ios

tensorflow实现低分辨率灰度图像分类算法

AI_robot

看完这篇文章,你起码对分析视频卡顿有点思路了

小驰笔记

android 音视频 camera 引航计划

推荐16款强大的Twitter视频下载器(2021精选)

科技猫

twitter 软件 网站 分享 视频下载

云图说|将源端MongoDB业务搬迁至华为云DDS的几种方式

华为云开发者联盟

mongodb 数据迁移 华为云文档数据库服务 DDS 文档数据库

tensorflow实现像素级图像分割算法

AI_robot

最全Java架构师技能树:Java编程+网络+设计模式+数据库+分布式

钟奕礼

Java 编程 程序员 架构 面试

NodeJs中Buffer与Stream理解

小风以北

stream 原理 Node buffer

UUID不失精度,长度改进

waitmoon

Java uuid

这可能是全网关于Camera慢动作录像(SlowMotion)介绍最全的文章了

小驰笔记

android 音视频 camera 引航计划

深入分析小程序运行环境框架原理

小风以北

小程序 编译原理 框架 工作原理

民国最出名的女作家,为什么是她?

了了Vita

Spring Boot集成 Sentinel 实现接口流量控制

麦洛

微服务 sentinel spring cloud alibaba

NodeJs 介绍

小风以北

nodejs 新特性

《月亮与六便士》:给你500万,你会用它买套房子还是周游世界?

了了Vita

优秀软件设计的特征

这就是编程

一个数组通过配置随机抽取组成小数组

waitmoon

Java

Android 高通Camx架构学习 - 第1章

小驰笔记

android 音视频 camera 引航计划

tensorflow实现CNN模型垃圾分类算法

AI_robot

区块链底层Baas平台搭建,区块链政务底层平台开发

最新阿里蚂蚁金服四面(已拿offer)Java技术面经总结

钟奕礼

Java 编程 程序员 架构 面试

Tensorflow实现Transformer模型将葡萄牙语翻译成英语

AI_robot

随机数环设想

waitmoon

Java

如何在游戏中快速集成聊天功能

LeanCloud

游戏开发 即时通讯 聊天室 sdk

阿里天猫3面(Java研发):GC回收+Redis Hash算法+架构部署+秒杀等

钟奕礼

Java 编程 程序员 架构 面试

想彻底改变云行业!Spark发源地UC伯克利分校再推开源项目应对云成本飙升:平均降至三分之一_开源_褚杏娟_InfoQ精选文章