文章主题:Stable Diffusion, AIGC, Latent Diffusion model, Colossal-AI
点击下方卡片,关注“FightingCV”公众号
回复“AI”即可获得超100G人工智能的教程
点击进入→FightingCV交流群
来源 | 机器之心编辑部
如何更好、更快和更便宜地实现训练、微调 AIGC 模型,已成为 AIGC 商业化和应用爆发的最大痛点。
Colossal-AI 基于在大模型民主化的专业技术积累,开源完整 Stable Diffusion 预训练和个性化微调方案,预训练时间加速和经济成本降低 6.5 倍,个性化微调硬件成本降低 7 倍!在个人电脑的 RTX 2070/3050 上即可快速完成微调任务流程,让 Stable Diffusion 等 AIGC 模型的触手可及。
开源地址:
https://github.com/hpcaitech/ColossalAI
火爆的 AIGC 赛道与高昂成本
🔥🚀AIGC🔥🚀:引领AI潮流的璀璨明珠✨——探索未来创作新纪元!🌍🔍在人工智能的浪潮中,#AI-Generated Content (AIGC)无疑是耀眼的明星,它以#StableDiffusion, #Midjourney, #NovelAI, #DALL-E 等创新技术为引擎,驱动着图文交织的跨界革命。🔥每一步突破都引发全球热议,引领行业风向标!📈🌍从概念到实践,AIGC正逐步渗透进我们的日常生活,它不仅颠覆了艺术创作的传统边界,还在教育、娱乐等领域展现出无限可能。📚🎨学生通过AI生成作品,教师则能享受高效批改;游戏设计师借助AI巧手,构建出令人惊叹的游戏世界。🎮🌟🔍然而,这股热潮并非没有挑战——如何确保内容的真实性和版权问题,是当前亟待解决的议题。💡但正是这些挑战催生了更智能、更合规的未来解决方案。🌱SEO优化提示:使用行业关键词如”AI生成内容”, “跨模态应用”, “创新技术”, “艺术创作边界”, “教育影响”等。记得,你的目标是提供高质量的内容,同时保持语言流畅和吸引人!💪
Stable Diffusion 生成图像
🎨🚀 AIGC引领未来浪潮:AI新引擎激活创新风暴!🔍随着AIGC(人工智能生成内容)的崛起,它正成为AI领域崭新的里程碑,引领一场席卷文本、音频、图像乃至游戏与元宇宙的革命性变革。各界翘首以盼,期待在这些丰富多样的技术场景中,涌现颠覆性的应用和突破性进展。🚀AIGC的商业化潜力犹如一颗璀璨明珠,预计市场规模将超越万亿美元,这无疑为初创企业带来了前所未有的机遇。像Stability AI与Jasper这样的创新者,仅用短短几年时间就崭露头角,凭借其在该领域的颠覆性技术,迅速吸引了巨额投资,一跃成为独角兽,引领着行业风向。💰🌟让我们共同见证这一AI浪潮如何塑造未来,赋能创新,为世界带来无限可能!🌐🚀
AI 模型规模与性能的同步增长
但高昂的硬件需求和训练成本仍严重阻碍着 AIGC 行业的快速发展。AIGC 应用的出色表现通常建立在 GPT-3 或 Stable Diffusion 等大模型之上,并针对特定下游任务和应用进行微调。以大火的 Stable Diffusion 为例,尽管其背后的 Stability AI 成立不久,却维护了超过 4000 个英伟达 A100 的 GPU 集群,并已为此支出超过 5000 万美元的运营成本,仅 Stable Diffusion v1 版本的模型单次训练便需要 150000 个 A100 GPU Hour。
Diffusion model
🌟Diffusion models, first introduced in the groundbreaking paper 📝Deep Unsupervised Learning using Nonequilibrium Thermodynamics 📊(2015), have seen significant evolution with the publication of Denoising Diffusion Probabilistic Models (DDPM) in 2020. This innovation propelled them to unprecedented heights, revolutionizing the field of generative tasks. Notably, models like DALL-E 2, Imagen, and Stable Diffusion have outperformed traditional generators like GANs, VAEs, and ARs, delivering exceptional results that surpass expectations. 🚀🔍These advanced models have proven their prowess in generating high-quality content, thanks to their unique ability to capture complex patterns and generate realistic outputs. Their impact on the industry has been nothing short of groundbreaking, shifting the game in favor of data-driven and physics-inspired approaches. 💡SEO optimized: “Unleash the Power of Diffusion Models: A Game-Changer in Generative Tasks 🌟DDPM’s Evolution: Outperforming GANs & VAEs 📊DALL-E 2, Imagen, Stable Diffusion: The Future of AI Generation 🚀”
🎨🎨扩散模型的运作原理🌟🌟:它由两部分巧妙交织——前向噪声侵蚀与后向清晰重构。首先,对图像进行深度的`(+)`高斯模糊,一步步将细节抹去,直至变成一片随机的`(?)`。然后,通过 `(U-Net)` 系列网络的逐层`(→)`修复,如魔术般将这混沌逐步转化为清晰的图像,这就是训练中的核心步骤。每一像素的回归都是对艺术与科技的精湛融合致敬!🌍💻
Latent Diffusion model
对比传统端到端的深度学习模型,扩散模型的训练过程无疑更为复杂,以 Stable Diffusion 为例,除了扩散模型本身,还有一个 Frozen CLIP Textcoder 来输入 text prompts,以及一个 Autoencoder 实现将高分辨率图像压缩到潜在空间(Latent Space),并在每个 time step 计算 loss。这对训练方案的显存开销,计算速度都提出了更大的挑战。
更低成本——预训练加速与少资源微调
预训练优化
对于预训练而言,一般 batch size 越大,训练速度也越快,Diffusion model 也是类似的。Colossal- AI 通过 ZeRO,Gemini, Chunk-based 内存管理等策略以及 Flash Attention 模块优化 Cross-attention 计算,极大地降低了 Diffusion model 的训练的显存开销,使用户在 10G 显存的消费级显卡(如 RTX3080)上就可以训练 Diffusion model,在 A100 这样的专用显卡上最大可以直接支持单卡 Batch Size 256 的训练, 对比 stable-diffusion-v1-1 的 FP32 的 DistributedDataParallel (DDP) 训练可以提速 6.5 倍。这意味着数百万美元的训练成本可降低 6.5 倍,极大降低 AIGC 行业训练成本和入场门槛!
Acceleration of Colossal-AI to Stable Diffusion
个性化微调优化
🌟【掌握未来AI艺术】🎨💡探索Stable Diffusion背后的惊人力量:尽管它凭借5850亿对图片文本的强大LAION-5B数据集训练,挑战了存储空间的极限(240TB!),但创新技术与模型复杂性共同铸就了其高昂的预训练成本。🌟🔍稳定性团队的巨额投资显而易见:超过5000万美元,他们部署了整整4,000块A100 GPU,只为确保最稳定的AI生成体验。🚀但对于广大的AI内容创作者和爱好者,明智的选择是转向开源权重,个性化定制任务路径。💡无需负担高昂初始成本,只需少量资源,就能在微调的道路上大放异彩。💻别忘了,创新与效率并存,每个人都能在AI艺术的世界中找到属于自己的创作之路。🌍#StableDiffusion #AI内容微调 #开源权重优势
但其他现有的开源 finetune 方案中使用的训练并行方式主要为 DDP,这导致训练过程中显存占用极大,即使微调也需要至少使用 RTX 3090 或 4090 最高端的消费级显卡才能启动。同时,现阶段开源的很多训练框架并没有给出完整的训练配置与脚本,需要用户花费额外时间进行烦琐的补全和调试。
不同于其他解决方案,Colossal-AI 是首个同时开源完整的训练配置参数和训练脚本的方案,让用户可以随时训练出针对新下游任务的最新版细分模型,使用更加灵活且应用范围更广。而且由于 Colossal-AI 引入显存优化等技术,仅在普通个人电脑的单张消费级显卡上(如 GeForce RTX 2070/3050 8GB),即可快速完成微调任务流程,相比 RTX 3090 或 4090 可降低约 7 倍硬件成本,大大降低了使用 Stable Diffusion 等 AIGC 模型的门槛和成本,使用户不再局限于现有的权重推理,方便快捷完成个性化定制服务。对于速度不敏感的任务,还可以进一步使用 Colossal-AI NVMe,即利用低成本的硬盘空间降低显存消耗。
内存减小: 从Colossal-AI到Stable Diffusion的稳定转变🚀在人工智能领域的巨变中, 计算需求的激增对存储空间提出了前所未有的挑战。最近,Colossal-AI的内存爆炸式增长引发了业界的关注和讨论。但这并不意味着技术停滞不前——相反,它催生了向更高效、可持续的模型迁移的关键步骤——那就是Stable Diffusion的出现。🌟通过深度学习算法的优化与调整,Stable Diffusion成功地实现了对大数据集的精简处理,显著降低了内存占用。这不仅有助于降低运营成本,还推动了AI技术在资源有限的环境下更广泛的应用。💻🌍对于那些寻求简化模型复杂性,同时保持高性能的开发者和企业来说,Stable Diffusion提供了一种高效且可靠的解决方案。它标志着人工智能迈向更加绿色、智能的新阶段。🌱💡欲了解更多关于如何在实践中优化内存使用,不妨探索Stable Diffusion背后的技术原理和技术细节。让我们一起迎接AI技术的稳健升级!👩💻👨💻
背后优化技术
ZeRO + Gemini
Colossal-AI 支持使用零冗余优化器 (ZeRO) 的方法来消除内存冗余,与经典的数据并行性策略相比,可极大提高内存使用效率,同时不牺牲计算粒度和通信效率。
Colossal-AI 引入了 Chunk 机制,我们可以进一步提升 ZeRO 的性能。运算顺序上连续的一组参数存入一个 Chunk 中(Chunk 即一段连续的内存空间),每个 Chunk 的大小相同。Chunk 方式组织内存可以保证 PCI-e 和 GPU-GPU 之间网络带宽的高效利用,减小了通信次数,同时避免潜在的内存碎片。
Chunk 机制
此外,Colossal-AI 的异构内存空间管理器 Gemini 支持将优化器状态从 GPU 卸载到 CPU ,以节省 GPU 内存占用。可以同时利用 GPU 内存、CPU 内存(由 CPU DRAM 或 NVMe SSD 内存组成)来突破单 GPU 内存墙的限制,进一步扩展了可训练模型规模。
通过 ZeRO + Gemini 提升硬件的模型容量
Flash Attention
LDM(Latent Diffusion Models) 通过在模型架构中引入 cross-attention(交叉注意力层) 来实现多模态训练,使得 Diffusion model 可以更灵活地实现对 class-condition, text-to-image, layout-to-image 的支持。然而 cross-attention 层对比原始 Diffusion model 的 CNN 层增加了额外的计算开销,极大增加了训练成本。
Colossal-AI 通过引入 Flash attention 机制,成功将 attention 的速度提升 104%,将端到端训练的峰值显存减少 23%。Flash attention 是针对长序列 attention 的加速版本,使用 Flatten 来减少 GPU 高带宽内存(HBM)之间的内存读 / 写次数, Flash attention 同时针对块状稀疏的 attention,设计了一个近似的注意力算法,比任何现有的近似 attention 方法都要快。
其他优化
Colossal-AI 还集成了 FP16、activation checkpoint 等常见优化技术。例如,activate checkpoint 通过用计算换取内存来工作。它避免存储整个计算图的所有中间激活用于反向计算,在检查点部分不保存中间激活,而是在反向传递中重新计算它们,进一步降低了显存。而 FP16 在基本不影响精度前提下,将原本的 32 位浮点数运算转为 16 位,降低显存使用,提升计算效率。
快速上手使用
不同于常见的 PyTorch 开源项目,当前火热的 stable diffusion 是基于 PyTorch Lightning 搭建的。PyTorch Lightning 为流行的深度学习框架 PyTorch 提供了简洁易用、灵活高效的高级接口,为广大 AI 研究人员提供了简洁易用的高层次抽象,从而使深度学习实验更易于阅读和再现,已在 GitHub 上收获了 20.5k 颗 Star。
受 PyTorch Lightning 的邀请,Colossal-AI 已集成作为 PyTorch Lightning 的官方大模型解决方案。得益于两者的强强联合,现在 AI 研究者们可以更加高效地训练和使用 diffusion 模型。以训练 stable diffusion model 为例,仅需少量代码即可快捷启动。
from colossalai.nn.optimizer import HybridAdamfrom lightning.pytorch import trainer class MyDiffuser(LightningModule): … def configure_sharded_model(self) -> None: # create your model here self.model = construct_diffuser_model(…) … def configure_optimizers(self): # use the specified optimizer optimizer = HybridAdam(self.model.parameters(), self.lr) … model = MyDiffuser()trainer = Trainer(accelerator=”gpu”, devices=1, precision=16, strategy=”colossalai”)trainer.fit(model)Colossal-AI 和 PyTorch Lightning 也对 OPT、HuggingFace 等热门模型和社区提供了良好支持及优化。
低成本微调
Colossal-AI 为了满足用户通过较少资源短时间训练出可以生成有自己风格的模型的需求,提供了基于 HuggingFace 上开源的 Stable Diffusion 模型权重进行微调的功能。用户只需简单修改 Dataloader 载入自己的微调数据集并读取预训练权重,简单修改参数配置 yaml 文件并运行训练脚本,便可在个人电脑微调属于自己的个性化模型。
model: target: ldm.models.diffusion.ddpm.LatentDiffusion params: your_sub_module_config: target: your.model.import.path params: from_pretrained: your_file_path/unet/diffusion_pytorch_model.bin … lightning: trainer: strategy: target: pytorch_lightning.strategies.ColossalAIStrategy params: … python main.py –logdir /your_log_dir -t -b config/train_colossalai.yaml快速推理
Colossal-AI 同时支持原生 Stable Diffusion 推理管道,在完成训练或精调后只需直接调用 diffuser 库并加载自己保存的模型参数即可直接进行推理,无需进行其他改动,方便新用户熟悉推理流程并可以让习惯使用原版框架的用户快速上手。
from diffusers import StableDiffusionPipeline pipe = StableDiffusionPipeline.from_pretrained( “your_ColoDiffusion_checkpoint_path” ).to(“cuda”) image = pipe(your prompt, num_inference_steps=50)[“sample”][0]image.save(filepath)上述推理流程的生成作品
One More Thing
上述针对 Diffusion 为代表的 AIGC 训练优化突破基于面向大模型时代的通用深度学习系统 Colossal-AI,它通过高效多维自动并行、异构内存管理、大规模优化库、自适应任务调度等实现高效快速部署 AI 大模型训练和推理,降低 AI 大模型应用成本。自开源以来,Colossal-AI 已经多次在 GitHub 及 Papers With Code 热榜位列世界第一,与众多已有数万 star 的明星开源项目一起受到海内外关注!经国际专家的严格评审,Colossal-AI 已成功入选为 SC、AAAI、PPoPP 等国际 AI 与 HPC 顶级会议的官方教程。
Colossal-AI 应用:更好的蛋白质结构预测解决方案
Colossal-AI 相关解决方案已成功在自动驾驶、云计算、零售、医药、芯片等行业知名厂商落地应用,广受好评。例如,针对生物医药行业的蛋白质结构预测模型 AlphaFold,基于 Colossal-AI 的优化方案 FastFold 成功将单张 GPU 可推理的最大氨基酸序列长度突破至一万,覆盖了 99.9999% 的蛋白质,仅用笔记本电脑上的消费级显卡即可解析 90% 蛋白质。还能进一步对训练、推理进行全流程并行加速,已助力多家新型药物研发企业缩短开发流程,降低研发成本。
开源地址:
https://github.com/hpcaitech/ColossalAI
参考链接
https://github.com/CompVis/stable-diffusion
https://arxiv.org/abs/2205.14135
https://arxiv.org/abs/2112.10752
https://openai.com/blog/triton/
往期回顾
基础知识
【CV知识点汇总与解析】|损失函数篇
【CV知识点汇总与解析】|激活函数篇
【CV知识点汇总与解析】| optimizer和学习率篇
【CV知识点汇总与解析】| 正则化篇
【CV知识点汇总与解析】| 参数初始化篇
【CV知识点汇总与解析】| 卷积和池化篇 (超多图警告)
最新论文解析
CVPR2022 | Attention机制是为了找最相关的item?中科大团队反其道而行之!
ECCV2022 Oral | SeqTR:一个简单而通用的 Visual Grounding网络
如何训练用于图像检索的Vision Transformer?Facebook研究员解决了这个问题!
ICLR22 Workshop | 用两个模型解决一个任务,意大利学者提出维基百科上的高效检索模型
See Finer, See More!腾讯&上交提出IVT,越看越精细,进行精细全面的跨模态对比!
MM2022|兼具低级和高级表征,百度提出利用显式高级语义增强视频文本检索
MM2022 | 用StyleGAN进行数据增强,真的太好用了
MM2022 | 在特征空间中的多模态数据增强方法
ECCV2022|港中文MM Lab证明Frozen的CLIP 模型是高效视频学习者
ECCV2022|只能11%的参数就能优于Swin,微软提出快速预训练蒸馏方法TinyViT
CVPR2022|比VinVL快一万倍!人大提出交互协同的双流视觉语言预训练模型COTS,又快又好!
CVPR2022 Oral|通过多尺度token聚合分流自注意力,代码已开源
CVPR Oral | 谷歌&斯坦福(李飞飞组)提出TIRG,用组合的文本和图像来进行图像检索
AI时代,拥有个人微信机器人AI助手!AI时代不落人后!
免费ChatGPT问答,办公、写作、生活好得力助手!
搜索微信号aigc666aigc999或上边扫码,即可拥有个人AI助手!