MosaicML-面向生成式AI的机器学习平台

2024-08-23 10:04

本文主要是介绍MosaicML-面向生成式AI的机器学习平台,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

前段时间,大数据巨头 Databricks 宣布已签署最终协议,将以13亿美元的价格,收购位于旧金山的人工智能初创公司MosaicML 。这篇文章来自 MosaicML官方的技术博客,是对 MosaicML 大模型训练平台的一个简单介绍。
AIGC领域最大收购:Databricks 13亿美元买下MosaicML,成立仅2年员工60人-36氪
​36kr.com/p/2319199142134407

https://www.mosaicml.com/blog/train-custom-gpt-diffusion-models
​www.mosaicml.com/blog/train-custom-gpt-diffusion-models
MosaicML 平台旨在应对训练 ChatGPT、LaMDA 和 Stable Diffusion 等大模型的挑战。这篇文章详细分析了训练这些模型的困难,并展示了 MosaicML 平台如何使 AI 大模型的训练变得更加轻松。

如今,像 ChatGPT、LaMDA 和 Stable Diffusion 这样的 AI 大模型为初创企业和成熟企业提供了新的发展或者腾飞机会。

然而,对于许多公司和机构来说,训练这些模型过于复杂和昂贵,需要特定的专业知识和工具。因此,只有少数几家公司拥有训练这些模型的能力。我们建立了 MosaicML 平台,以使大规模的模型训练更加容易。现在,各种规模的公司和机构都可以训练自己行业的特定大模型,拥有完整的模型所有权,并且不用担心数据隐私问题。

  1. AI大模型训练面临的挑战

基础设施方面的挑战:如GPU可用性不足、软件工具栈的复杂性、数百个GPU的扩展以及容错能力,使得训练大模型变得困难
什么使得训练大模型如此困难?

  1. GPU 的可用性

训练大模型需要大量先进的 GPU。举例来说,Meta 公司的拥有 1750 亿参数的 OPT-175 模型在 1024 个 NVIDIA A100 GPU 上进行了为期 33 天的训练。类似地,谷歌的拥有 1370 亿参数的 LaMDA 模型在 1024 个 TPU 上进行了长达 57 天的训练。

GPU 往往一卡难求。并且,一旦选择了某家云服务商并最终获得所需的 GPU 访问权限,专有工具如 AWS SageMaker Model Parallel Library 会使您难以将模型训练迁移到另一家云服务商(微软云或者谷歌云)。

  1. 工具栈的复杂性

一旦有了 GPU 集群,就需要一个工具栈来协调数千个 GPU 的分布式训练任务。以下是一个大模型工具栈的简介(为简单起见,省略了与 ML 训练无关的部分)。

一个大模型工具栈的简介
配置这种技术工具栈中每一部分的组件都是棘手且容易出错的。比如,错误配置 InfiniBand 驱动程序,可能会导致训练速度减慢 5 倍!

  1. 横向扩展

训练拥有数十亿参数的大模型往往需要在至少数百个 GPU 上进行操作,以使大模型能够放进 GPU 显存并在合理的时间内完成训练。

在如此多的 GPU 上进行分布式训练是一项具有挑战性的任务,它涉及到需要选择合适的并行策略(数据并行、张量并行和流水线并行),并集成实现对应并行策略的工具库(DeepSpped 或者 Megatron),调整训练的超参数如 global batch size 等,并确保不会因为 GPU 显存不足或其他错误导致训练崩溃。

大模型分布式训练是非常脆弱的,一个错误的选择可能导致运行失败或生成无用的模型。

  1. 容错性

部署软件工具栈和配置分布式训练只是个开始。在庞大的计算基础设施上运行如此复杂的软件工具栈涉及许多操作上的挑战,需要处理各种奇怪的故障。

在 Meta AI 的 OPT-175B 训练日志中,他们描述了训练过程中发生的 100 多次重启。他们的日志揭示了训练过程中遇到的运维挑战:

2021年5月12日…从 checkpoint_15_45000 恢复训练需要 50 分钟! 2021年11月18日…无法连续训练超过 1-2 天… 许多故障需要手动检测和修复,浪费了计算资源和研究人员的时间…"
清华大学 KEG 团队负责训练大语言模型 GLM-130B,也分享了类似的经验:

2022年1月…频繁的随机硬件故障… 2022年3月…无法启动超过 2,000 个计算节点 => 通过调整 Linux 内核 TCP 参数克服这一问题并支持 6,000 个节点的训练…
正如上文所示(以及我们自己的经验所学),训练大语言模型极易出现诸如 GPU 或网络故障、软件工具中的错误和错误配置、影响模型收敛的loss波动等错误。这些错误会导致显著的延迟,并消耗大量宝贵的时间和金钱进行调试和故障排除。

  1. MosaicML Platform: 为 AI 大模型训练而生
    为了解决这些挑战,我们建立了 MosaicML 平台,该平台已被斯坦福大学 CRFM 和 StabilityAI 等组织使用,用于在各自安全环境中使用自己的数据训练 LLMs。

2.1 一个稳定可靠的大模型工具栈
我们从头开始设计了 MosaicML 平台,以解决训练工具栈内各个部分的问题:从驱动程序和工具包一直到 K8S 作业编排和分布式训练。
在这里插入图片描述

MosaicML 平台提供了一系列大模型工具栈
我们的平台提供了必要的基础设施,可以部署和编排跨任意数量 GPU 的训练作业,同时处理故障检测和自动恢复,实现快速恢复。它还包括一个 Runtime,提供经过性能测试的 Docker 镜像,配置了最新的 GPU 驱动程序,一个分布式训练框架(Composer)和一个流式数据加载器(StreamingDataset),可与多种数据格式和云存储配合使用。

我们不断更新和测试 MosaicML 平台,以确保提供的工具栈内所有部分都经过优化,并能无缝协同工作。

2.2 在多云上进行训练
MosaicML 平台通过使训练作业能够在任何主要云服务商上运行而无需更改代码,从而使客户摆脱了对特定云服务商的依赖。我们使客户能够在他们自己的云环境中训练模型,以确保我们永远不会看到他们的训练数据。

为了实现在多个云上的无缝使用和部署,我们设计了具有三部分架构的平台:客户端界面、控制平面和计算平面。

The MosaicML platform has three parts: the client interfaces, the control plane, and the compute plane.
客户端界面
在这里插入图片描述

包括用于启动和管理训练作业的 Python API 和命令行界面。
提供 Web 控制台以管理访问、用户和团队,以及进行使用账户、配额管理和计费。
控制界面

托管 MosaicML 多节点编排、故障检测和恢复逻辑。
编排跨本地集群或云服务商(如 AWS、OCI、GCP、Azure 和 CoreWeave)的训练。
管理应用逻辑和元数据,如运行配置、日志等。
计算界面

支持分布式训练。
与云服务商无关:可部署到任何 Kubernetes 集群,包括本地。
保护数据隐私:客户的训练数据永远不会离开他们的虚拟私有云(VPC)。
无状态且无需在不同集群之间同步数据集和代码。数据集在流式传输的同时,用户代码、Docker 镜像和其他对象会在运行时动态加载。
借助 MosaicML平台,在不同云服务商间进行训练就像在运行提交中更改一个参数一样简单。以下是使用MosaicML CLI(MCLI)的示例:

动图封面
Change cloud providers with a single parameter in your run submission.
2.3 无缝扩展训练模型的规模
跨多个节点和更大模型规模的训练扩展不仅仅是生成一堆作业。为了使扩展“正常运作”,我们解决了整个工具栈中的一系列挑战,包括编排、优化的并行配置和稳定的数据加载模块。我们使客户能够在少数几个 GPU 上运行实验,然后扩展到数百个GPU进行完整的模型训练,无需进行代码更改!

动图
Scale from 1B to 30B parameters with our optimized configurations.
我们使用 Kubernetes 构建了 MosaicML 编排工具,因为它使我们能够实现多云操作,并且非常适合管理大量计算工作负载。然而,Kubernetes 缺乏 LLM 训练所需的功能,如跨节点(“gang-scheduling”)和跨集群调度。为解决此问题,我们实现了自己的调度程序,以优化大规模训练作业的编排。

在 MosaicML 调度到作业后,MosaicML 训练运行时会进行以下操作:

通过配置优化网络和设置多进程来处理在多个节点间分配作业。
自动确定如何将模型和数据批次(data batch)适应 GPU 显存,并实现自动梯度累积,无需调整 batch size 以避免 CUDA 内存溢出错误。
使用我们的流式数据集处理大规模的流式训练数据 - 只需指向您的云存储桶并开始训练。

Auto-gradient accumulation figures out how much of the data batch can fit in memory at once.
2.4 运行监控:自动故障检测与快速恢复
训练大模型容易出现错误,经常会遇到从硬件崩溃到 NCCL 超时再到 loss 激增等各种失败。我们在整个工具栈上进行全面的监控,快速检测问题并使用自动优雅恢复从最新的 Checkpoint 重新开始训练,让用户无需盯着监视并手动重新运行失败的作业。

重新启动作业涉及几个耗时(和浪费金钱!)的步骤,比如重新拉取 Docke r镜像、下载最新的 Checkpoint 和重新运行数据加载器。为了最大程度减少 GPU 空闲时间并在从故障中恢复时为客户节省成本,我们采用了几种加速作业恢复的技术,比如 Docker 镜像预取和缓存以及数据加载器的 fast-forwarding。

MosaicML 平台会自动处理 LLM 训练的所涉及到的所有方面,让我们的客户可以专注于训练他们的模型。

  1. 使用 MosaicML
    使用MosaicML平台,训练大语言模型就像将我们的平台指向一个 S3 存储桶并启动一个“训练运行”一样简单。

  2. 首先,安装一些SDK工具。

$ pip install mosaicml-cli
Collecting mosaicml-cli

Successfully installed mosaicml-cli-0.2.36
2. 安装 SDK 包到本地后,从 MosaicML 控制台获取您的 API 密钥,然后使用 Python SDK 在本地环境中设置您的 API 密钥。

import mcli.sdk as msdk
msdk.initialize(api_key=‘your-api-key’)
3. 接下来,您需要配置用于训练所需的集成。这些集成包括 GitHub 用于将代码拉取到训练集群;对象存储,比如 AWS S3 用于训练数据、访问和 Checkpoint 的存储;容器注册表,比如 Docker Hub 用于拉取容器镜像;以及实验跟踪工具,比如 CometML 或 Weights & Biases。了解更多支持的集成和如何在我们的文档中设置它们。

We integrate with all of your favorite tools.
4. 添加了所有配置后,现在是时候使用 MCLI 或者 Python SDK 启动训练任务了。下面的代码片段使用 Python SDK 和这个示例配置。

from mcli.api.runs import RunConfig, create_run

Load your run configuration

See https://github.com/mosaicml/examples for examples

run_config = RunConfig.from_file(‘mcli-1b.yaml’)

Configure the number of GPUs and cluster to train on

run_config.gpus = 32
run_config.cluster = ‘aws-us-east-1’

Launch!

created_run = create_run(run_config)
要了解更多关于使用 MosaicML 进行训练的信息和资料,可以访问 MosaicML 官网获得更多资料。

https://www.mosaicml.com/
​www.mosaicml.com/

来源https://zhuanlan.zhihu.com/p/660840489
发布于 2023-10-12 11:24・IP 属地浙江

这篇关于MosaicML-面向生成式AI的机器学习平台的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1099073

相关文章

HarmonyOS学习(七)——UI(五)常用布局总结

自适应布局 1.1、线性布局(LinearLayout) 通过线性容器Row和Column实现线性布局。Column容器内的子组件按照垂直方向排列,Row组件中的子组件按照水平方向排列。 属性说明space通过space参数设置主轴上子组件的间距,达到各子组件在排列上的等间距效果alignItems设置子组件在交叉轴上的对齐方式,且在各类尺寸屏幕上表现一致,其中交叉轴为垂直时,取值为Vert

Ilya-AI分享的他在OpenAI学习到的15个提示工程技巧

Ilya(不是本人,claude AI)在社交媒体上分享了他在OpenAI学习到的15个Prompt撰写技巧。 以下是详细的内容: 提示精确化:在编写提示时,力求表达清晰准确。清楚地阐述任务需求和概念定义至关重要。例:不用"分析文本",而用"判断这段话的情感倾向:积极、消极还是中性"。 快速迭代:善于快速连续调整提示。熟练的提示工程师能够灵活地进行多轮优化。例:从"总结文章"到"用

流媒体平台/视频监控/安防视频汇聚EasyCVR播放暂停后视频画面黑屏是什么原因?

视频智能分析/视频监控/安防监控综合管理系统EasyCVR视频汇聚融合平台,是TSINGSEE青犀视频垂直深耕音视频流媒体技术、AI智能技术领域的杰出成果。该平台以其强大的视频处理、汇聚与融合能力,在构建全栈视频监控系统中展现出了独特的优势。视频监控管理系统EasyCVR平台内置了强大的视频解码、转码、压缩等技术,能够处理多种视频流格式,并以多种格式(RTMP、RTSP、HTTP-FLV、WebS

AI绘图怎么变现?想做点副业的小白必看!

在科技飞速发展的今天,AI绘图作为一种新兴技术,不仅改变了艺术创作的方式,也为创作者提供了多种变现途径。本文将详细探讨几种常见的AI绘图变现方式,帮助创作者更好地利用这一技术实现经济收益。 更多实操教程和AI绘画工具,可以扫描下方,免费获取 定制服务:个性化的创意商机 个性化定制 AI绘图技术能够根据用户需求生成个性化的头像、壁纸、插画等作品。例如,姓氏头像在电商平台上非常受欢迎,

【前端学习】AntV G6-08 深入图形与图形分组、自定义节点、节点动画(下)

【课程链接】 AntV G6:深入图形与图形分组、自定义节点、节点动画(下)_哔哩哔哩_bilibili 本章十吾老师讲解了一个复杂的自定义节点中,应该怎样去计算和绘制图形,如何给一个图形制作不间断的动画,以及在鼠标事件之后产生动画。(有点难,需要好好理解) <!DOCTYPE html><html><head><meta charset="UTF-8"><title>06

从去中心化到智能化:Web3如何与AI共同塑造数字生态

在数字时代的演进中,Web3和人工智能(AI)正成为塑造未来互联网的两大核心力量。Web3的去中心化理念与AI的智能化技术,正相互交织,共同推动数字生态的变革。本文将探讨Web3与AI的融合如何改变数字世界,并展望这一新兴组合如何重塑我们的在线体验。 Web3的去中心化愿景 Web3代表了互联网的第三代发展,它基于去中心化的区块链技术,旨在创建一个开放、透明且用户主导的数字生态。不同于传统

学习hash总结

2014/1/29/   最近刚开始学hash,名字很陌生,但是hash的思想却很熟悉,以前早就做过此类的题,但是不知道这就是hash思想而已,说白了hash就是一个映射,往往灵活利用数组的下标来实现算法,hash的作用:1、判重;2、统计次数;

AI一键生成 PPT

AI一键生成 PPT 操作步骤 作为一名打工人,是不是经常需要制作各种PPT来分享我的生活和想法。但是,你们知道,有时候灵感来了,时间却不够用了!😩直到我发现了Kimi AI——一个能够自动生成PPT的神奇助手!🌟 什么是Kimi? 一款月之暗面科技有限公司开发的AI办公工具,帮助用户快速生成高质量的演示文稿。 无论你是职场人士、学生还是教师,Kimi都能够为你的办公文

Andrej Karpathy最新采访:认知核心模型10亿参数就够了,AI会打破教育不公的僵局

夕小瑶科技说 原创  作者 | 海野 AI圈子的红人,AI大神Andrej Karpathy,曾是OpenAI联合创始人之一,特斯拉AI总监。上一次的动态是官宣创办一家名为 Eureka Labs 的人工智能+教育公司 ,宣布将长期致力于AI原生教育。 近日,Andrej Karpathy接受了No Priors(投资博客)的采访,与硅谷知名投资人 Sara Guo 和 Elad G

综合安防管理平台LntonAIServer视频监控汇聚抖动检测算法优势

LntonAIServer视频质量诊断功能中的抖动检测是一个专门针对视频稳定性进行分析的功能。抖动通常是指视频帧之间的不必要运动,这种运动可能是由于摄像机的移动、传输中的错误或编解码问题导致的。抖动检测对于确保视频内容的平滑性和观看体验至关重要。 优势 1. 提高图像质量 - 清晰度提升:减少抖动,提高图像的清晰度和细节表现力,使得监控画面更加真实可信。 - 细节增强:在低光条件下,抖