AI绘画专栏之 SDXL 4G显存就能跑SDXL ?SD1.7或将对F8优化merge(46)

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
应用实时监控服务-用户体验监控,每月100OCU免费额度
函数计算FC,每月15万CU 3个月
简介: AI绘画专栏之 SDXL 4G显存就能跑SDXL ?SD1.7或将对F8优化merge(46)

关于SDXL的生态目前还未完全稳定,但是不得不提到的就是SDXL的在VAE,CLIP,UNET三大组件的巨大提升,其101亿的参数量是原本SD的N倍,那么对于SDXL的生态介绍我们再次重复一遍。4G的显存都能跑SDXL意味着将来大模型Lora将降低其大小,炼丹炉压力更小~

添加描述
SDXL为什么强?
0.1参数训练量为101亿 其中BASE模型35 亿 加REFINER模型66亿 SD的8倍???
0.2对Stable Diffusion原先的U-Net(XL Base U-Net 一共14个模块),VAE,CLIP Text Encoder三大件都做了改进。可以明显减少显存占用和计算量
0.3增加一个单独的基于Latent(潜在)的Refiner(炼制)模型,来提升图像的精细化程度。【新增:对Base模型生成的图像Latent特征进行精细化,其本质上是在做图生图的工作。】
0.4设计了很多训练Tricks(技巧)(这些Tricks都有很好的通用性和迁移性,能普惠其他的生成式模型),包括图像尺寸条件化策略,图像裁剪参数条件化以及多尺度训练等。
0.5先发布Stable Diffusion XL 0.9测试版本,基于用户使用体验和生成图片的情况,针对性增加数据集和使用RLHF技术优化迭代推出Stable Diffusion XL 1.0正式版。
0.6采样方法禁用DDIM (保留意见、非绝对),不需要开启CN,随着CN的支持,可以开启CN的XL版本。所有的环境需要都是XL的生态
0.7直接出1024分辨率图片 1024 * 1024 起步

添加描述
随之而来的就是对大显存的占用,但随着新的PR的提出,或将在4G的测试显存,并在一定的内存占用上解决!!!

A big improvement for dtype casting system with fp8 storage type and manual cast
一个很大的提升对于FP8的内存和手动转换
在 pytorch 2.1.0 之后,pytorch 添加了 2 个新的 dtype 作为存储类型:float8_e5m2、float8_e4m3fn。[1][2]
基于讨论使用 fp8 作为训练/使用 NN 模型的参数/梯度的论文。我认为值得对 fp8 格式进行一些优化。[3][4]
此外,一些扩展也已经支持这个功能[5]
速度提升

由于将 FP8 与 FP16 一起使用,因此计算需要一些额外的操作来强制转换 dtype。
它会降低速度(特别是对于较小的批量)
批量大小
768x768 标清1.x fp16
768x768 标清1.x fp8
1024x1024 SDXL fp16
1024x1024 SDXL fp8
1
8.27 秒/秒
7.85 秒/秒
3.84 秒/秒
3.67 秒/秒
4
3.19 秒/秒
3.08 秒/秒
1.51 秒/秒
1.45 秒/秒
会降低质量吗?几乎不会
什么是FP8 FP16?

Fp16:意味模型用16位浮点数存,相对于Fp32更小更快,但是无法用于CPU,因为有的半浮点精度运算在CPU上不支持。通常为了更快的运算,在GPU上我们也会将Fp32转换成Fp16,这个可以在设置里配置。那么随之而来的一个params是8个byte(字节),FP32就是4个byte,FP8就是一个Byte,FP或者BF16相对已经是比较好的出图质量了。
以下测试结果来自原PR作者琥珀青叶,如果你想要尝试,在源码中切换此PR即可
首先SD1的时候FP16存下来是2G,SDXL因为参数变多了FP16也要5G,这样很多显卡就hold不住了。
所以青叶做了个事情,就是load的时候用FP8放在显存里,这样SDXL存在显存是2.5G。但是在每一层运算的时候把对应的FP8转到FP16,所以整个计算流程看起来是是一致的。同时整个流程的显存占用也下来的。

正常启动测试

开启FP8并开启内存缓存优化
XYZ测试关闭前后对比
起初的静态内存占用为5.3

运行后稳定在6.4左右

开启前后对图片直连影响很小,有细微细节差距
搭配LCM测试

当前所有的PR审核已经通过,或将在测试后在1.7进行升级推出正式版本

我正在参与2023腾讯技术创作特训营第三期有奖征文,组队打卡瓜分大奖!

目录
相关文章
|
17天前
|
机器学习/深度学习 人工智能 JSON
Resume Matcher:增加面试机会!开源AI简历优化工具,一键解析简历和职位描述并优化
Resume Matcher 是一款开源AI简历优化工具,通过解析简历和职位描述,提取关键词并计算文本相似性,帮助求职者优化简历内容,提升通过自动化筛选系统(ATS)的概率,增加面试机会。
95 18
Resume Matcher:增加面试机会!开源AI简历优化工具,一键解析简历和职位描述并优化
|
20天前
|
人工智能 API 语音技术
WhisperChain:开源 AI 实时语音转文字工具!自动消噪优化文本,效率翻倍
WhisperChain 是一款基于 Whisper.cpp 和 LangChain 的开源语音识别工具,能够实时将语音转换为文本,并自动清理和优化文本内容,适用于会议记录、写作辅助等多种场景。
645 2
WhisperChain:开源 AI 实时语音转文字工具!自动消噪优化文本,效率翻倍
|
1月前
|
人工智能 JSON PyTorch
TPO:告别微调!这个AI框架让大模型实时进化:无需训练直接优化,输入问题越用越聪明,输出质量暴涨50%
TPO(Test-Time Prompt Optimization)框架,通过奖励模型和迭代反馈优化大语言模型输出,无需训练即可显著提升性能,支持动态对齐人类偏好,降低优化成本。
192 8
TPO:告别微调!这个AI框架让大模型实时进化:无需训练直接优化,输入问题越用越聪明,输出质量暴涨50%
|
24天前
|
存储 人工智能 API
SPO:如何优化提示词?大模型最懂如何优化自己!开源自监督提示词优化工具,让AI自主优化提示词
本文介绍由DeepWisdom与香港科技大学联合研发的SPO框架,通过自我监督机制实现大语言模型提示优化,仅需3个样本即可达到SOTA效果,优化成本降低至传统方法的1.1%-5.6%。
159 0
SPO:如何优化提示词?大模型最懂如何优化自己!开源自监督提示词优化工具,让AI自主优化提示词
|
1月前
|
人工智能 程序员 测试技术
通义灵码2.0 AI 程序员体验:优化与问题解决的全过程
通义灵码2.0 AI 程序员体验:优化与问题解决的全过程 本文详细记录了使用通义灵码2.0智能编程助手的过程,涵盖项目初始化、界面优化、调试及与AI交互。通过实际操作,展示了其在代码生成、问题诊断和性能优化方面的强大功能。对比1.0版本,2.0在用户体验、智能化和问题解决上有显著提升,极大提高了开发效率。
146 1
通义灵码2.0 AI 程序员体验:优化与问题解决的全过程
|
24天前
|
数据采集 人工智能 编解码
算法系统协同优化,vivo与港中文推出BlueLM-V-3B,手机秒变多模态AI专家
BlueLM-V-3B是由vivo与香港中文大学共同研发的多模态大型语言模型,专为移动设备优化。它通过算法和系统协同优化,实现了高效部署和快速生成速度(24.4 token/s),并在OpenCompass基准测试中取得优异成绩(66.1分)。模型小巧,语言部分含27亿参数,视觉编码器含4000万参数,适合移动设备使用。尽管如此,低端设备可能仍面临资源压力,实际应用效果需进一步验证。论文链接:https://arxiv.org/abs/2411.10640。
41 9
|
1月前
|
存储 人工智能 弹性计算
NVIDIA NIM on ACK:优化生成式AI模型的部署与管理
本文结合NVIDIA NIM和阿里云容器服务,提出了基于ACK的完整服务化管理方案,用于优化生成式AI模型的部署和管理。
|
2月前
|
人工智能 编解码 搜索推荐
深度测评-主动式智能导购 AI 助手构建的实现与优化
本文深度测评某平台提供的函数计算应用模板,用于快速搭建集成智能导购的电商网站。通过简洁直观的创建与部署流程,用户只需填写API Key等基本信息,即可完成配置。智能导购AI助手能通过多轮对话引导顾客明确需求,精准推荐商品,提升购物体验和转化率。系统支持自定义设置,具备高效、个性化、灵活扩展的特点。未来可引入更多维度推荐、机器学习及语音识别技术,进一步优化导购效果。
218 15
深度测评-主动式智能导购 AI 助手构建的实现与优化
|
26天前
|
人工智能 算法 Java
Java高级应用开发:AI赋能下的智能代码生成与优化
本文探讨了AI技术,特别是像DeepSeek这样的智能工具,在Java高级应用开发中的应用。AI在代码生成、优化、自动化测试等方面发挥重要作用,可自动生成高质量代码片段、提出优化建议并检测潜在错误,显著提升开发效率与代码质量。未来,AI将进一步推动Java开发的智能化和自动化,为开发者带来全新的开发体验。
|
26天前
|
人工智能 Java 数据处理
Java高级应用开发:基于AI的微服务架构优化与性能调优
在现代企业级应用开发中,微服务架构虽带来灵活性和可扩展性,但也增加了系统复杂性和性能瓶颈。本文探讨如何利用AI技术,特别是像DeepSeek这样的智能工具,优化Java微服务架构。AI通过智能分析系统运行数据,自动识别并解决性能瓶颈,优化服务拆分、通信方式及资源管理,实现高效性能调优,助力开发者设计更合理的微服务架构,迎接未来智能化开发的新时代。