计算环境快照
计算环境快照
无服务器 GPU、人工智能驱动的移动应用程序、民主化人工智能……
A compute landscape snapshot for Machine learning from the perspective of a small business or a practitioner. Figure illustrates various compute choices, starting with discovery of state-of-art models (SOTA). Following discovery of a model, the choices to interact with it without writing code are illustrated. This is followed by choices to tinker with a model using notebooks, train or fine-tune it. A new category of “serverless GPU” players (e.g. Replicate, banana etc.) have emerged for cloud deployment of models —user pays just for model inference time without having to explicitly provision a machine. Another deployment category offering API endpoints (OpenAI, Co:here etc.) is catering to the requirement of using large language models for tasks.Choices for rapid prototyping and deployment of models on phones like PlayTorch are also emerging. The company listings shown in the compute options above are not exhaustive, They are just samples representative of the categories. Image by Author using public logos of respective sites.
概述
模型创建和部署的计算环境正在经历快速转型,部分原因是创建引人注目的应用程序的目标,其中计算成本是主要限制因素。
由机器学习 (ML) 提供支持的应用程序已变得司空见惯——经过训练的模型在幕后用于解决广泛的任务。 GPU 等高性能计算 (HPC) 的用例、用户体验和成本决定了用于训练和部署模型的计算选择。例如,依赖大型模型的应用程序别无选择,只能在云中计算。另一方面,在智能手机上运行的实时对象检测应用程序需要一个小而快的模型——在云中运行的模型将是次优的用户体验。
这篇文章是从从业者或小企业的角度对计算领域的快照。
一个人如何利用最先进的 (SOTA) 解决方案来完成一项任务,尤其是在 SOTA 记录经常因快速进展而被打破的领域?
具体来说,这篇文章研究了具有成本效益的计算选项,以
- 发现和互动 (没有代码) 具有用于任务的最先进模型
- 修补匠 (笔记本) 具有特定的最先进模型
- 可选择根据自定义数据进行训练或微调
- 最后部署它
如前所述,高性能计算 (HPC) 的成本限制了公司、从业者甚至研究人员的目标。例如,训练大型语言模型甚至视觉模型(例如最近用于生成艺术的扩散模型)超出了我们大多数人的范围,因为成本可能在数十万甚至数百万美元之间.另一方面,在某些情况下,使用大型模型的蒸馏/量化版本进行推理是可能的,即使在具有加速卡和足够内存的笔记本电脑上也是如此。
虽然一些成熟的企业 MLOps 参与者声称已经从培训、部署、监控和改进的成本优化了整个模型周期,但实际上他们并没有。这导致了新的初创公司的出现,它们试图解决模型生命周期的特定部分,从而有机会降低成本。
研究所需的高性能计算正在由像这样的初创公司解决 稳定 .ai 为研究和开发者社区提供资金。 稳定性.ai 最近在推特上引发了一阵兴奋,因为它通过它资助的一个实体公开发布了一个模型—— 梦想工作室 . 稳定扩散 从文本输入生成逼真的图像。这是一个在 256 个 GPU 上训练的扩散模型 一个月花费60万 . Stability.ai 对人工智能民主化的贡献远远超出了资助这个生成模型的训练,这是与研究人员的合作努力 Compvis 集团 - 海德堡大学。 例如,创建从 Common Crawl 获取的 50 亿个图像链接的 LAION 数据集 由资助 稳定性.ai。构成 Stability.ai 生态系统的实体正在为语言、图像音频、视频、3D 和生物学构建开放模型。例如,除了 梦想工作室 , EleutherAI 和 卡珀AI 已经发表 代码 和 公共检查站模型 使用喜欢 GPT-Neox , 而其他人喜欢 和谐 , OpenBioML 正在进行中。
Entities constituting Stability.ai ecosystem fostering open creation and sharing of models by funding research groups. Images are public logos of the 各自的站点
下面详细介绍了适用于从业者或小型企业的经济高效的计算选项。
发现任务的最新模型
带代码的论文 使得为一项任务找到最先进的论文变得非常容易。它是迄今为止唯一一个根据性能基准整合和组织 SOTA 模型的站点。快速浏览以下来自的汇总统计数据 带代码的论文 说明了可用于构建符合代码和模型发布许可证的应用程序的大量模型。例如,50% 的论文有 Github 回购,近三分之一(84,160)的回购(314,760 ) 与论文一起发布官方代码。这些论文还涵盖了分布在 16 个类别中的 2,634 个独特任务。
Stats generated from 带代码的论文. Image by Author.
但是,查找和跟踪具有已发布代码和预训练模型的 SOTA 论文需要额外的努力,原因如下
- 最先进模型的官方代码可能不会发布——只有论文。可能有可以利用的代码的非官方实现,但有时重现结果可能具有挑战性。
- 即使发布了官方代码,用于产生结果的模型也可能不会发布。我们必须自己训练模型——我们只能从模型的 Github 存储库中找到这一事实。
- 即使模型被发布,许可也可能对用于商业目的的模型施加限制,尽管很大一部分 Github 发布具有许可许可。
- 对于感兴趣的任务,可能有多个最先进的模型。任务的每个数据集都是一个基准。我们必须选择在更接近我们对用例感兴趣的数据分布的数据集上表现最佳的模型。例如,语义分割任务具有适用于各种数据集的 SOTA 模型,例如自然发生的图像、医学图像、鸟瞰图图像等。模型选择取决于基准数据集与我们的用例的接近程度。通常,由于数据集的多样性以及数据集带来的挑战,特定任务类别的 SOTA 分数存在很大差异。
- 定期检查 SOTA 更新 带代码的论文 可能很麻烦,特别是在跟踪多个任务的最新技术或对最终成为最新技术的同一篇论文进行增量改进时。依靠社交媒体更新进行 SOTA 更新可能是不够的——我们可能会错过一些更新,因为并非所有作者都写了他们的工作。即使他们这样做了,一些模型往往比其他模型更受关注,甚至超越了更好的替代品。这方面的一个例子是稳定的扩散模型,它可能是目前社交媒体中最受关注的模型。它依赖于 2020 年 12 月发表的 SOTA 论文,该论文展示了使用 VQGAN 学习码本。 VQGAN 从其学习的码本表示重建图像是 不知不觉地接近 与原始图像相比,远优于 DALL-E 中使用的 dVAE 的重建质量。尽管如此,VQGAN 的工作和 扩散模型 利用 VQGAN 的 DALL-E 在社交媒体上大为黯然失色 . Stability.ai 资助 VQGAN 模型研究人员创建 稳定扩散 ——一个潜在的文本到图像模型改变了这一点。这 VQGAN 论文 现在是聚光灯下,因为它是第一阶段 稳定扩散模型 .
带代码的任务 补语 带代码的论文 通过在一定程度上解决上述问题,发现带有代码的 SOTA 模型。 带代码的任务 发表 日常的 和 每周合并 通过具有官方代码发布的论文更新对 SOTA 的更改。这些更新通知预训练/微调模型的可用性、模型训练的数据集、与模型交互的应用程序链接、 谷歌 Colab 笔记本 修补模型、云部署容器等。
像这样的网站 拥抱的脸 ,尝试通过基于任务自动训练大约 15 个模型的预选列表来规避对 SOTA 模型的搜索。但这仅适用于少数任务(< 20),而在 带代码的论文 (2,634)。此外,这些预先选择的模型包括用户上传的模型,在大多数情况下,它们没有关于它们在基准测试中的表现的信息。
使用代码和已发布模型发现和跟踪 SOTA 的链接:
带代码的论文, 带代码的任务 — for discovering and tracking SOTA models. Images by Author using **** public logos of the respective sites.
“无代码”与任务的最新模型交互
在某些情况下,可以通过在网站上展示流行模型的应用程序与 SOTA 模型进行交互以完成任务,例如 拥抱的脸 , 复制.ai 以及具有开放游乐场的特定任务站点,例如 开放人工智能 , 合作:这里 , AI21 , 稳定性.ai 等等。任务特定站点列表可能会随着时间的推移而增长。
用于与任务的最新模型交互的链接
拥抱的脸, 复制.ai — for interacting with open source models. Images by Author using public logos of the respective sites.
开放人工智能, 稳定性.ai, 合作:这里, AI21, 鹅AI — examples of playgrounds for task specific models. This list is not only incomplete, it is likely to grow with time. Images by Author using **** public logos of the respective sites.
修补特定的最先进模型
基于模型大小、计算和存储需求的修补选择可以是以下一项或多项
- 谷歌公司 (自由的) , 谷歌 Colab 专业版 (每月订阅) , 卡格尔 (自由的) , 纸空间 (免费和付费等级) 等。在 Google Colab/Colab Pro 的情况下,GPU 的选择不受用户控制,而 纸空间 允许 GPU 选择 (选择受定价层限制) . 纸空间 有 最近与 Graphcore 合作 在称为 IPU 的 HPC 机器上提供模型构建、训练和部署。 基地 有免费和付费层,如 Paperspace,没有明确的选择 GPU 的选项。 Baseten 不提供像 Paperspace 这样的模型训练选项——它允许构建应用程序来部署模型。
- HPC 云提供商。 当模型很大或数据存储/计算需求很高时,这可能是唯一的选择。高性能计算云提供商有很多,其中一些针对个人用户和公司,而另一些仅针对企业市场。下面的这个 HPC 列表侧重于前者。
- HPC 硬件供应商提供的云计算产品。 虽然 Nvidia GPU 是迄今为止大多数 HPC 云提供商提供的唯一云中 HPC 硬件,但来自 AMD , 张量 等公司正在与 Nvidia 争夺硬件市场份额,尤其是在云计算领域。在 HPC 频谱的高端,是来自 大脑 , 桑巴诺娃 和 图形核心 但他们似乎并没有通过云产品直接针对最终用户,尽管 Graphcore 最近有 通过纸空间 和去年 通过拥抱脸 .
HPC hardware vendors competing with Nvidia for market share in the hardware, particularly in the cloud. Images by Author using **** public logos of the respective sites.
- HPC 的软件加速计算替代方案 .这是一个由 Colossal AI 等初创公司创建的相当新的空间 (前几天筹集了6M) . Colossal AI 加速计算,特别是变压器模型,例如,使 8B 参数模型能够在标准 GPU 上运行。他们只是 发布了 Meta 的 OPT-175B 的演示 在使用他们的软件优化的硬件上运行。
巨大的人工智能 is the lead player to date in software accelerated computing. Images by Author using **** public logos of the respective sites.
修补模型的链接
谷歌公司, 谷歌 Colab 专业版, 纸空间, 基地. Baseten unlike others in this category allows for building apps with models for deployment. Images by Author using public logos of the respective sites.
High Performance 计算 (HPC) 云提供商. Some of the providers like lambdalabs are experiencing full capacity use of their GPUs at present. Image by Author
训练模型
训练模型具有相同的选择,例如根据模型大小、计算、数据存储需求、训练 epoch 数量等进行修补。但是,训练更有可能需要在云中使用 HPC。撇开成本不谈,大多数 HPC 提供商的产品都将可配置的 GPU 数量限制为 8 个。配置超出该数量的 GPU 通常需要与提供商协商价格。这 8 台机器的限制是个人或小公司可以承受的支出限制的粗略阈值,将此类 HPC 用户与其他有能力提供数十甚至数百个 GPU 的用户区分开来。
如前所述,Hugging Face 为选定任务提供自动训练选项。
谷歌公司, 谷歌 Colab 专业版, 纸空间. Images by Author using public logos of the respective sites.
部署模型
迄今为止,虽然部署模型主要是在云中,但越来越多的小型模型被部署在智能手机等终端用户设备上。下面分别对这两种情况进行考察。
在云端部署模型
考虑到 HPC 计算的成本,在部署由模型支持的应用程序时,由需求驱动的预配计算变得至关重要。如前所述,虽然 无服务器 CPU 无服务器 GPU 市场已经存在了一段时间,直到最近才几乎消失。初创公司喜欢 复制.ai , 管道.ai , 香蕉开发 正试图填补这一空白。它们可以经济高效地部署模型,而无需显式地为机器配备 GPU (无服务器 GPU — 这个短语在本文中用作所有形式的高性能计算的统称) .用户只需在使用 GPU 时为其付费。 算法 是早期的提供者 无服务器 GPU 被收购 数据机器人 去年。
部署大型语言模型的挑战开辟了大型模型托管的另一个市场。用户可以直接使用托管在云中的预训练模型或其自定义微调版本,也托管在云中。在部署过程中对这些模型的访问是通过一个计量 API——托管模型方法的收入来源。 OpenAPI 允许在云中微调大型模型,并通过计量 API 访问模型。
使用无服务器 GPU 在云中部署的链接
Serverless GPU options — 复制.ai, 管道.ai, 香蕉开发 Images by Author using public logos of the respective sites.
部署时 API 驱动访问大型模型的链接
开放人工智能, 合作:这里, AI21, 鹅AI —examples of hosting large models and offering metered API access. In the case of OpenAI users can fine tuned a model on custom data. The fine tuned model is also hosted in the cloud and accessed through a metered API. Images by Author using **** public logos of the respective sites.
在智能手机上部署模型
随着硬件的不断改进,智能手机能够在手机上本地运行某些应用程序的模型。 手电筒 最近宣布了一个工具包,用于快速原型化由模型驱动的应用程序。模型会根据需要下载到设备并缓存。即使在老一代 iPhone 上,实时对象检测和分类的快速用户体验也证明了我们可能会看到更多由设备上运行的模型驱动的移动应用程序。虽然任何现有的 iPhone 或 Android 应用程序都可以捆绑模型 — PlayTorch 值得注意的方面是易于创建和部署由模型驱动的应用程序。
用于在智能手机上创建和部署模型驱动应用程序的链接
PlayTorch — for deploy model powered apps on phones. Images by Author using public logos of the respective sites.
最后的想法
计算领域正在见证许多方面的快速转型——从硬件到新的商业模式,通过计量 API 解决大型模型部署的挑战,或者使用用户上传的带有“无服务器 GPU”的模型来降低推理成本。虽然这种转变在一定程度上是由创建引人注目的应用程序的目标所推动的,但推动进步的主要驱动力可能是开放和协作的创新。
可以毫不夸张地说,与科学或工程学科的任何其他社区不同,机器学习社区的进步在很大程度上归功于花费数十万美元训练的论文、代码甚至模型的公开共享。最近大型语言模型要求增加培训支出的趋势,以及培训甚至视觉模型的高成本,似乎威胁到这种开放共享文化,至少对经过培训的模型而言。像 Stability.ai 这样的初创公司正试图通过开放访问和发布经过训练的模型来应对这种威胁。这是通过资助研究小组的合作来实现的,否则这些研究小组考虑到成本将无法进行此类工作 (除非他们决定为一家财力雄厚的公司工作) ,并利用公开发布的训练模型作为改进应用程序的一种手段,这些应用程序出于商业目的的访问成为收入来源。
这种开放策略似乎对机器学习社区产生了影响。最终用户是 释放他们的创造力 通过直接与云中的训练模型进行交互,或者在某些情况下将模型下载到他们的笔记本电脑上并进行修改。
A work or art titled “voyage through time” created by 桑德斯汀布鲁日. Select Individual images are the output of stable diffusion model created with text input and carefully chosen random seeds. Then interpolation in latent space is performed to create the continuous effect between those images. Video created by 桑德斯汀布鲁日 and publicly posted on twitter.
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明