8GB GPU RAM에서 플럭스 모델을 어떻게 실행합니까? - 분석 Vidhya
Black Forest Labs의 최근 출시 된 플럭스 모델은 인상적인 이미지 생성 기능으로 인기를 얻었습니다. 그러나 크기는 처음에 표준 소비자 하드웨어에서의 사용을 방해하지 않았습니다. 이 제한은 로컬 모델로드를 피하기 위해 API 서비스의 사용을 자극했습니다. 그러나 GPU 요구 사항으로 인해 온 프레미스 배포는 비용이 많이 들었습니다. 다행스럽게도, Hugging Face의 Diffusers Library는 이제 Bitsandbytes를 통한 양자화를 지원하므로 8GB의 GPU RAM이있는 기계에서 플럭스 추론이 가능합니다.
학습 목표 :
- Colab 환경에서 플럭스 사용에 대한 종속성을 구성하십시오.
- 메모리 효율을 위해 4 비트 양자화 된 텍스트 인코더를 사용하여 텍스트 프롬프트를 인코딩합니다.
- 혼합 정밀도로 이미지 생성 모델을로드 및 실행하기위한 메모리 절약 기술을 구현하십시오.
- Colab의 Flux 파이프 라인을 사용하여 텍스트 프롬프트에서 이미지를 생성합니다.
이 기사는 Data Science Blogathon의 일부입니다.
목차 :
- 학습 목표
- 플럭스 란 무엇입니까?
- 양자화가 중요한 이유는 무엇입니까?
- 비트 산비 테스를 사용한 양자화
- Bitsandbytes는 어떻게 작동합니까?
- 소비자 하드웨어에서 플럭스 실행
- 1 단계 : 환경 설정
- 2 단계 : GPU 메모리 관리
- 3 단계 : 4 비트 T5 텍스트 인코더로드
- 4 단계 : 텍스트 임베딩 생성
- 5 단계 : 4 비트 변압기 및 VAE 로딩
- 6 단계 : 이미지 생성
- 기기 이미지 생성의 미래
- 결론
- 주요 테이크 아웃
- 자주 묻는 질문
플럭스 란 무엇입니까?
Black Forest Labs (안정적인 확산의 제작자)가 개발 한 Flux는 텍스트-이미지 모델에서 중요한 발전을 나타냅니다. 안정적인 확산을 바탕으로 성능과 출력 품질을 향상시킵니다. 처음에는 리소스 집약적 인 반면 최적화는 소비자 하드웨어에서 효율적인 실행을 허용합니다. 이 기사는 양자화가 플럭스의 접근성을 향상시키는 방법을 보여줍니다. 아래 이미지는 창의적 잠재력과 계산 비용 사이의 상충 관계를 보여줍니다.
Flux는 몇 가지 주요 아키텍처 구성 요소를 자랑합니다.
- 두 개의 미리 훈련 된 텍스트 인코더 (클립 및 T5) : 이 인코더는 텍스트 프롬프트 이해와 이미지로 변환을 향상시킵니다.
- 트랜스포머 기반 DIT 모델 : 이 비난 백본은 효율성과 정확성을 위해 변압기를 활용합니다.
- VAE (Variational Auto-Encoder) : 잠복 공간에서 처리하면 이미지 품질을 유지하면서 계산 요구를 줄입니다.
Flux는 Flux-Schnell (Open-Source), Flux-DEV (보다 제한적인 라이센스가있는 Open) 및 Flux-Pro (폐쇄 소스, API-Accessible)의 여러 버전으로 제공됩니다.
양자화가 중요한 이유는 무엇입니까?
비트가 적은 비트를 사용하여 매개 변수를 저장하여 모델 크기를 줄이는 기술인 양자화는 제한된 하드웨어에서 대형 모델을 실행하는 데 중요합니다. 이미지 생성에서는 덜 일반적이지만 실질적인 성능 손실없이 메모리 발자국을 크게 줄입니다. 신경망 매개 변수는 일반적으로 32 비트로 저장되지만 양자화는 이것을 4 비트로 줄일 수 있습니다.
비트 산비 테스를 사용한 양자화
Bitsandbytes 라이브러리는 Pytorch에 대한 효율적인 K- 비트 양자화를 가능하게합니다. 디퓨저 라이브러리에 통합하면 8GB GPU에서 플럭스가 실행 가능합니다.
Bitsandbytes는 어떻게 작동합니까?
Bitsandbytes는 8 및 4 비트 정밀도로 정량화됩니다. 8 비트 양자화는 특보를 다르게 처리하여 성능 저하를 최소화합니다. 4 비트 양자화는 추가로 미세 조정을 위해 Qlora와 함께 사용되는 모델을 추가로 압축합니다.
소비자 하드웨어에서 플럭스 실행
1 단계 : 환경 설정
GPU 지원 환경 (예 : Nvidia T4/L4 또는 Google Colab)을 확인하십시오. 필요한 패키지 설치 :
! pip install -uq git https://github.com/huggingface/diffusers@main ! pip install -uq git https://github.com/huggingface/transformers@main ! pip install -uq bitsandbytes
수입 종속성 :
디퓨저 가져 오기 수입 변압기 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 () 플러시()
3 단계 : 4 비트 T5 텍스트 인코더로드
4 비트 양자화를 사용하여 T5 인코더를로드하십시오.
ckpt_id = "Black-Forest-Labs/Flux.1-dev" CKPT_4BIT_ID = "HF-Internal-Testing/Flux.1-dev-nf4-pkg" 프롬프트 = "파리의 귀여운 개 사진 촬영" text_encoder_2_4bit = t5encodermodel.from_pretraind ( ckpt_4bit_id, subfolder = "text_encoder_2", ))
4 단계 : 텍스트 임베딩 생성
양자화 된 인코더를 사용하여 프롬프트를 인코딩합니다.
파이프 라인 = fluxpipeline.from_pretrained ( "블랙 포스트 랩/플럭스 .1-dev", text_encoder_2 = text_encoder_2_4bit, 변압기 = 없음, vae = 없음, Torch_dtype = Torch.float16, )) Torch.no_grad ()로 : prompt_embeds, pooled_prompt_embeds, text_ids = pipeline.encode_prompt ( 프롬프트 = 프롬프트, 프롬프트 _2 = 없음, max_Sequence_length = 256 )) 델 파이프 라인 플러시()
5 단계 : 4 비트 변압기 및 VAE 로딩
4 비트 모드로 변압기와 VAE를로드하십시오.
Transformer_4bit = fluxtransformer2dmodel.from_pretrained (ckpt_4bit_id, subfolder = "Transformer") 파이프 라인 = fluxpipeline.from_pretrained ( ckpt_id, text_encoder = 없음, text_encoder_2 = 없음, Tokenizer = 없음, Tokenizer_2 = 없음, Transformer = Transformer_4bit, Torch_dtype = Torch.float16, )) pipeline.enable_model_cpu_offload ()
6 단계 : 이미지 생성
이미지 생성 :
Print ( "Denoising 실행.") 높이, 너비 = 512, 768 이미지 = 파이프 라인 ( promp_embeds = prompt_embeds, pooled_prompt_embeds = pooled_prompt_embeds, num_inference_steps = 50, Guidance_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 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











이 기사는 최고의 AI 아트 생성기를 검토하여 자신의 기능, 창의적인 프로젝트에 대한 적합성 및 가치에 대해 논의합니다. Midjourney를 전문가에게 최고의 가치로 강조하고 고품질의 사용자 정의 가능한 예술에 Dall-E 2를 추천합니다.

메타의 라마 3.2 : 멀티 모달 및 모바일 AI의 도약 Meta는 최근 AI에서 강력한 비전 기능과 모바일 장치에 최적화 된 가벼운 텍스트 모델을 특징으로하는 AI의 상당한 발전 인 Llama 3.2를 공개했습니다. 성공을 바탕으로 o

이 기사는 Chatgpt, Gemini 및 Claude와 같은 최고의 AI 챗봇을 비교하여 고유 한 기능, 사용자 정의 옵션 및 자연어 처리 및 신뢰성의 성능에 중점을 둡니다.

이 기사는 Grammarly, Jasper, Copy.ai, Writesonic 및 Rytr와 같은 최고의 AI 작문 조수에 대해 논의하여 콘텐츠 제작을위한 독특한 기능에 중점을 둡니다. Jasper는 SEO 최적화가 뛰어나고 AI 도구는 톤 구성을 유지하는 데 도움이된다고 주장합니다.

이봐, 코딩 닌자! 하루 동안 어떤 코딩 관련 작업을 계획 했습니까? 이 블로그에 더 자세히 살펴보기 전에, 나는 당신이 당신의 모든 코딩 관련 문제에 대해 생각하기를 원합니다. 완료? - ’

Shopify CEO Tobi Lütke의 최근 메모는 AI 숙련도가 모든 직원에 대한 근본적인 기대를 대담하게 선언하여 회사 내에서 중요한 문화적 변화를 표시합니다. 이것은 도망가는 트렌드가 아닙니다. 그것은 p에 통합 된 새로운 운영 패러다임입니다

이번 주 AI 환경 : 발전의 회오리 바람, 윤리적 고려 사항 및 규제 토론. OpenAi, Google, Meta 및 Microsoft와 같은 주요 플레이어

이 기사는 Google Cloud, Amazon Polly, Microsoft Azure, IBM Watson 및 Destript와 같은 최고의 AI 음성 생성기를 검토하여 기능, 음성 품질 및 다양한 요구에 대한 적합성에 중점을 둡니다.
