Black Forest Labs最近发布的Flux模型因其令人印象深刻的图像产生功能而广受欢迎。但是,其尺寸最初阻止了其在标准消费硬件上的使用。此限制促使使用API服务以避免本地模型加载。但是,由于GPU的要求,本地部署的成本仍然很高。幸运的是,拥抱Face的扩散器库现在通过BitsandBytes支持量化,从而可以在仅8GB GPU RAM的机器上进行通量推断。
学习目标:
- 配置依赖关系,用于在Colab环境中使用通量。
- 使用4位量化的文本编码器编码文本提示,以提高内存效率。
- 实现保存内存的技术,以混合精度加载和运行图像生成模型。
- 使用COLAB中的通量管道从文本提示中生成图像。
本文是数据科学博客马拉松的一部分。
目录:
- 学习目标
- 什么是通量?
- 为什么量化很重要?
- 用bitsandbytes进行量化
- BitsandBytes如何工作?
- 在消费者硬件上运行通量
- 步骤1:环境设置
- 步骤2:GPU内存管理
- 步骤3:加载4位T5文本编码器
- 步骤4:生成文本嵌入
- 步骤5:加载4位变压器和VAE
- 步骤6:图像生成
- 设备图像生成的未来
- 结论
- 关键要点
- 常见问题
什么是通量?
Black Forest Labs(稳定扩散的创造者)开发的Flux代表了文本到图像模型的重大进步。它以稳定的扩散为基础,提供了提高的性能和输出质量。虽然最初是资源密集型的,但优化允许对消费者硬件有效执行。本文演示了量化如何增强通量的可访问性。下图说明了创意潜力和计算成本之间的权衡。
Flux拥有几个关键的建筑组件:
- 两个预训练的文本编码器(剪辑和T5):这些编码器改善了文本及时理解和转换为图像。
- 基于变压器的DIT模型:这种脱氧主链利用变压器提高效率和准确性。
- 变性自动编码器(VAE):潜在空间中的处理可以减少计算需求,同时保持图像质量。
通量有多种版本:Flux-Schnell(开源),Flux-DEV(开放,具有更限制的许可)和Flux-Pro(封闭消息,可访问)。
为什么量化很重要?
量化是一种通过使用较少位来存储参数来降低模型大小的技术,对于在有限的硬件上运行大型型号至关重要。虽然在图像生成中不太常见,但它会大大降低记忆足迹而没有大量性能损失。神经网络参数通常存储在32位,但量化可以将其降低到4位。
用bitsandbytes进行量化
BITSANDBYTES库实现了Pytorch的有效k位量化。它集成到扩散器库中,使8GB GPU的运行通量可行。
BitsandBytes如何工作?
BitsandBytes量化为8位和4位精度。 8位量化处理异常值不同,以最大程度地减少性能降解。 4位量化进一步压缩了该模型,该模型通常与Qlora一起用于微调。
在消费者硬件上运行通量
步骤1:环境设置
确保启用GPU的环境(例如NVIDIA T4/L4或Google Colab)。安装必要的软件包:
! ! !
导入依赖性:
导入扩散器 导入变压器 导入bitsandbytes作为BNB 从扩散器导入FluxPipeline,FluxTransFormer2DModel 从变形金刚导入t5encodermodel 导入火炬 导入GC
步骤2:GPU内存管理
定义一个函数以清除模型负载之间的GPU内存:
def flush(): gc.collect() TORCH.CUDA.EMPTY_CACHE() torch.cuda.Reset_max_memory_allocated() TORCH.CUDA.RESET_PEAK_MEMORY_STATS() flush()
步骤3:加载4位T5文本编码器
使用4位量化加载T5编码器:
ckpt_id =“黑色 - 林 - luxs/flux.1-dev” ckpt_4bit_id =“ hf内部测试/flux.1-dev-nf4-pkg” 提示=“巴黎照片中的一只可爱的狗” text_encoder_2_4bit = t5encodermodel.from_pretrated( ckpt_4bit_id, subfolder =“ text_encoder_2”, )
步骤4:生成文本嵌入
使用量化的编码器编码提示:
pipeline = fluxpipeline.from_pretaining( “黑色 - 林 - luxs/flux.1-dev”, text_encoder_2 = text_encoder_2_4bit, 变压器=无, vae =无, TORCH_DTYPE = TORCH.FLOAT16, ) 使用Torch.no_grad(): 提示_embeds,pooled_prompt_embeds,text_ids = pipeline.encode_prompt( 提示=提示,提示_2 = none,max_secorence_length = 256 ) Del Pipeline flush()
步骤5:加载4位变压器和VAE
将变压器和VAE加载到4位模式下:
transformer_4bit = fluxtransformer2dmodel.from_pretrated(ckpt_4bit_id,subfolder =“ transformer”) pipeline = fluxpipeline.from_pretaining( ckpt_id, text_encoder =无, text_encoder_2 =无, tokenizer = none, tokenizer_2 =无, 变压器=变形金刚_4bit, TORCH_DTYPE = TORCH.FLOAT16, ) pipeline.enable_model_cpu_offload()
步骤6:图像生成
生成图像:
打印(“奔跑denoising。”) 高度,宽度= 512,768 图像=管道(管道 提示_embeds =提示_embeds, pooled_prompt_embeds = pooled_prompt_embeds, num_inference_steps = 50, gudance_scale = 5.5, 高度=高度, 宽度=宽度, output_type =“ pil”, )。图像 图像[0]
设备图像生成的未来
量化和高效的模型处理为消费者硬件带来了强大的AI,使对高级图像生成的访问民主化。
结论
通量结合量化,可以在8GB GPU上产生高质量的图像生成。这一进步使更加精致的AI可以被更广泛的受众访问。
关键要点:
- 通量使用4位量化和混合精度在Colab中有效运行。
-
diffusers
和transformers
简化了图像生成。 - 有效的内存管理可以对有限的资源进行大型模型执行。
经常询问的问题(与原始问题相同,但重新格式化以提高可读性)
Q1。 4位量化的目的? 4位量化减少了内存使用情况,从而使大型模型在有限的资源上可以有效地运行。
Q2。更改文本提示?将prompt
变量替换为所需的文本描述。
Q3。调整图像质量/样式?调整管道调用中的num_inference_steps
(质量)和guidance_scale
(及时遵守)。
Q4。处理COLAB中的内存错误?确保使用GPU使用率,4位量化和混合精度。考虑降低num_inference_steps
或使用CPU卸载。
Q5。在本地运行脚本?是的,但是请确保足够的GPU资源和内存。
以上是我如何在8GB GPU RAM上运行通量模型? - 分析Vidhya的详细内容。更多信息请关注PHP中文网其他相关文章!

Excel冻结窗格功能详解:高效处理大型数据集 Microsoft Excel是组织和分析数据的优秀工具之一,而“冻结窗格”功能更是其一大亮点。此功能允许您固定特定行或列,使其在浏览其余电子表格时保持可见,从而简化数据监控和比较。本文将深入探讨Excel冻结窗格功能的使用方法,并提供一些实用技巧和示例。 功能概述 Excel的冻结窗格功能可在滚动浏览大型数据集时,保持特定行或列可见,方便数据监控和比较。 提升导航效率,保持标题可见,简化大型电子表格中的数据比较。 提供通过“视图”选项卡和“冻

导航互连数据的复杂性:Neo4J与亚马逊海王星 在当今数据丰富的世界中,有效管理复杂的互连信息至关重要。尽管传统数据库仍然相关,但他们经常与HI斗争

Meta的细分段的任何模型2(SAM-2):实时图像和视频细分方面的巨大飞跃 Meta再次通过SAM-2推动了人工智能的界限,SAM-2是计算机视觉的开创性进步

通过AI增强数字消费者体验:一种数据驱动的方法 数字景观具有激烈的竞争力。 本文探讨了人工智能(AI)如何显着改善数字平台上的消费者体验。我们会考试

稳定的扩散:在文本到图像中揭示位置编码的力量 想象一下,从简单的文本描述中产生令人叹为观止的高分辨率图像。 这是稳定扩散的力量,一种尖端的文本对图像模型

了解SQL模式:综合指南 想象一下为新建筑设计蓝图。 就像建筑师创建详细的计划一样,SQL模式也提供了用于在数据库中组织数据的蓝图。 本指南说明了什么SQL模式

在Raspberry Pi上部署强大的AI文档处理器:逐步指南 本文详细介绍了将Raspberry Pi转换为智能文档处理的强大工具的过程,利用了高级AI的功能。 我们将cov

ISRO的综合激光雷达数据分析课程:免费的教育机会 印度太空研究组织(ISRO)启动了一系列免费的数据分析课程,包括有关激光雷达技术及其应用程序的详细计划


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

禅工作室 13.0.1
功能强大的PHP集成开发环境

记事本++7.3.1
好用且免费的代码编辑器

安全考试浏览器
Safe Exam Browser是一个安全的浏览器环境,用于安全地进行在线考试。该软件将任何计算机变成一个安全的工作站。它控制对任何实用工具的访问,并防止学生使用未经授权的资源。

WebStorm Mac版
好用的JavaScript开发工具

mPDF
mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),