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 训练无关的部分)。

一个大模型工具栈的简介
配置这种技术工具栈中每一部分的组件都是棘手且

### Hadoop Streaming 使用教程 #### 基础命令结构 Hadoop Streaming 的基本调用方式如下所示: ```bash $HADOOP_HOME/bin/hadoop jar hadoop-streaming.jar [options] ``` 其中 `[options]` 是一系列配置参数,用于指定输入路径、输出路径、Mapper 和 Reducer 脚本等内容[^1]。 #### Python MapReduce 实现 为了通过 Python 编写并执行 MapReduce 作业,在命令行中指定了 `hadoop-streaming.jar` 文件的具体位置后,可以通过 `-file` 参数上传本地的 Mapper 和 Reducer 脚本至集群环境,并利用 `-mapper` 及 `-reducer` 来定义这些脚本的名字。例如: ```bash hadoop jar /path/to/hadoop-streaming.jar \ -file mapper.py -mapper 'python3 mapper.py' \ -file reducer.py -reducer 'python3 reducer.py' \ -input input_path -output output_path ``` 这里假设 `/path/to/hadoop-streaming.jar` 需要替换为实际安装环境中该 JAR 包的确切路径[^2]。 #### 多个输入目录支持 当有多个不同的数据源需要处理时,可以多次使用 `-input` 参数来添加额外的数据集。这允许一次性的批量处理来自不同地方的数据而无需事先合并它们。语法形式如下: ```bash hadoop jar hadoop-streaming.jar \ -input '/user/data/source1' \ -input '/user/data/source2' \ -output results_directory ``` 此特性极大地提高了灵活性和效率,尤其是在面对分布式存储系统中的多级层次化文件夹结构时非常有用[^3]。 #### 数据流过程解析 在整个计算过程中,Mapper 输出的结果会先经过排序阶段再传递给 Reducer 进行聚合操作。具体来说就是 Mapper 将其产生的中间键值对直接写出到磁盘上的临时文件里;随后 Sorting 组件读取这些文件并对相同 key 的记录做局部汇总;最后 Reduce 接收已经按 Key 分组好的部分结果继续后续逻辑运算直至最终产出完整的统计报表[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值