我如何在8GB GPU RAM上运行通量模型? - 分析Vidhya
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中文网其他相关文章!

热AI工具

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

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

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

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

SublimeText3汉化版
中文版,非常好用

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

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

本文回顾了AI最高的艺术生成器,讨论了他们的功能,对创意项目的适用性和价值。它重点介绍了Midjourney是专业人士的最佳价值,并建议使用Dall-E 2进行高质量的可定制艺术。

Meta的Llama 3.2:多模式和移动AI的飞跃 Meta最近公布了Llama 3.2,这是AI的重大进步,具有强大的视觉功能和针对移动设备优化的轻量级文本模型。 以成功为基础

本文比较了诸如Chatgpt,Gemini和Claude之类的顶级AI聊天机器人,重点介绍了其独特功能,自定义选项以及自然语言处理和可靠性的性能。

文章讨论了Grammarly,Jasper,Copy.ai,Writesonic和Rytr等AI最高的写作助手,重点介绍了其独特的内容创建功能。它认为Jasper在SEO优化方面表现出色,而AI工具有助于保持音调的组成

嘿,编码忍者!您当天计划哪些与编码有关的任务?在您进一步研究此博客之前,我希望您考虑所有与编码相关的困境,这是将其列出的。 完毕? - 让&#8217

Shopify首席执行官TobiLütke最近的备忘录大胆地宣布AI对每位员工的基本期望是公司内部的重大文化转变。 这不是短暂的趋势。这是整合到P中的新操作范式

本周的AI景观:进步,道德考虑和监管辩论的旋风。 OpenAI,Google,Meta和Microsoft等主要参与者已经释放了一系列更新,从开创性的新车型到LE的关键转变

本文评论了Google Cloud,Amazon Polly,Microsoft Azure,IBM Watson和Discript等高级AI语音生成器,重点介绍其功能,语音质量和满足不同需求的适用性。
