ColossalAI/README-zh-Hans.md

12 KiB
Raw Blame History

Colossal-AI

logo

Colossal-AI: 一个面向大模型时代的通用深度学习系统

论文 | 文档 | 例程 | 论坛 | 博客

Build Documentation CodeFactor HuggingFace badge slack badge WeChat badge

| English | 中文 |

目录

为何选择 Colossal-AI

James Demmel 教授 (加州大学伯克利分校): Colossal-AI 让分布式训练高效、易用、可扩展。

(返回顶端)

特点

Colossal-AI 为您提供了一系列并行组件。我们的目标是让您的分布式 AI 模型像构建普通的单 GPU 模型一样简单。我们提供的友好工具可以让您在几行代码内快速开始分布式训练和推理。

(返回顶端)

并行训练样例展示

ViT

  • 14倍批大小和5倍训练速度张量并行=64

GPT-3

  • 释放 50% GPU 资源占用, 或 10.7% 加速

GPT-2

  • 降低11倍 GPU 显存占用,或超线性扩展(张量并行)
  • 用相同的硬件训练24倍大的模型
  • 超3倍的吞吐量

BERT

  • 2倍训练速度或1.5倍序列长度

PaLM

OPT

请访问我们的 文档例程 以了解详情。

推荐系统模型

  • Cached Embedding, 使用软件Cache实现Embeddings用更少GPU显存训练更大的模型。

(返回顶端)

单GPU训练样例展示

GPT-2

  • 用相同的硬件训练20倍大的模型

  • 用相同的硬件训练120倍大的模型 (RTX 3080)

PaLM

  • 用相同的硬件训练34倍大的模型

(返回顶端)

推理 (Energon-AI) 样例展示

  • OPT推理服务: 无需注册免费体验1750亿参数OPT在线推理服务

(返回顶端)

Colossal-AI 成功案例

生物医药

加速 AlphaFold 蛋白质结构预测

  • FastFold: 加速AlphaFold训练与推理、数据前处理、推理序列长度超过10000残基

(返回顶端)

安装

从官方安装

您可以访问我们下载页面来安装Colossal-AI在这个页面上发布的版本都预编译了CUDA扩展。

从源安装

此文档将与版本库的主分支保持一致。如果您遇到任何问题,欢迎给我们提 issue :)

git clone https://github.com/hpcaitech/ColossalAI.git
cd ColossalAI

# install dependency
pip install -r requirements/requirements.txt

# install colossalai
pip install .

如果您不想安装和启用 CUDA 内核融合(使用融合优化器时强制安装):

NO_CUDA_EXT=1 pip install .

(返回顶端)

使用 Docker

从DockerHub获取镜像

您可以直接从我们的DockerHub主页获取最新的镜像,每一次发布我们都会自动上传最新的镜像。

本地构建镜像

运行以下命令从我们提供的 docker 文件中建立 docker 镜像。

在Dockerfile里编译Colossal-AI需要有GPU支持您需要将Nvidia Docker Runtime设置为默认的Runtime。更多信息可以点击这里。 我们推荐从项目主页直接下载Colossal-AI.

cd ColossalAI
docker build -t colossalai ./docker

运行以下命令从以交互式启动 docker 镜像.

docker run -ti --gpus all --rm --ipc=host colossalai bash

(返回顶端)

社区

欢迎通过论坛, Slack, 或微信加入 Colossal-AI 社区,与我们分享你的建议和问题。

做出贡献

欢迎为该项目做出贡献,请参阅贡献指南

真诚感谢所有贡献者!

贡献者头像的展示顺序是随机的。

(返回顶端)

快速预览

几行代码开启分布式训练

parallel = dict(
    pipeline=2,
    tensor=dict(mode='2.5d', depth = 1, size=4)
)

几行代码开启异构训练

zero = dict(
    model_config=dict(
        tensor_placement_policy='auto',
        shard_strategy=TensorShardStrategy(),
        reuse_fp16_shard=True
    ),
    optimizer_config=dict(initial_scale=2**5, gpu_margin_mem_ratio=0.2)
)

(返回顶端)

引用我们

@article{bian2021colossal,
  title={Colossal-AI: A Unified Deep Learning System For Large-Scale Parallel Training},
  author={Bian, Zhengda and Liu, Hongxin and Wang, Boxiang and Huang, Haichen and Li, Yongbin and Wang, Chuanrui and Cui, Fan and You, Yang},
  journal={arXiv preprint arXiv:2110.14883},
  year={2021}
}

(返回顶端)