기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
FLUX.2 Klein LoRA 미세 조정 및 이미지 생성
이 예제에서는 LoRA(낮은 순위 조정)를 사용하여 FLUX.2 Klein 이미지 생성 모델을 미세 조정하고 Deadline Cloud에서 대규모로 이미지를 생성하는 방법을 보여줍니다. 워크플로는 작은 이미지 데이터 세트에서 경량 어댑터를 훈련합니다. 그런 다음 해당 어댑터를 사용하여 GPU 플릿에서 Deadline Cloud 작업으로 오케스트레이션된 텍스트 프롬프트에서 새 이미지를 생성합니다.
이 예제의 소스 코드는 GitHub의 deadline-cloud-samples
다음 동영상은 Deadline Cloud의 FLUX.2 Klein LoRA 워크플로를 보여줍니다.
예상 시간: 30~60분(훈련 시간 15~45분 포함).
개요
이 예제는 두 개의 작업 번들로 구성됩니다.
-
lora_training – LoRA
를 사용하여 이미지 데이터 세트에서 FLUX.2 Klein 를 미세 조정하여 .safetensors어댑터 파일을 생성합니다. -
image_generation - 훈련된 어댑터로 기본 모델을 로드하고 텍스트 프롬프트에서 이미지를 생성합니다. 여러 이미지를 생성할 때 작업자 간에 작업이 병렬화됩니다.
LoRA는 전체 모델 가중치를 수정하는 대신 작은 어댑터를 훈련하는 파라미터 효율적인 미세 조정 기술입니다. 이 접근 방식을 사용하면 훈련이 빨라지고(단일 GPU에서 15~45분) 결과적으로 어댑터가 이식 가능하고 버전이 쉬워집니다.
작업 번들은 훈련 및 추론을 위해 디퓨저
이 예제를 완료하려면 다음 단계를 따르세요.
-
사전 조건을 충족합니다.
-
훈련 데이터를 준비합니다.
-
훈련 작업을 제출합니다.
-
이미지 생성 작업을 제출합니다.
-
리소스를 정리합니다.
사전 조건
시작하기 전에 다음 사항을 갖췄는지 확인하세요.
-
GPU 플릿이 있는 Deadline Cloud 팜(Linux, NVIDIA A10G GPU, 13GB+ VRAM, 64GiB+ 시스템 메모리 권장).
-
GPU 플릿과 연결된 대기열입니다.
-
워크스테이션에 설치된 Deadline Cloud CLI
입니다. -
주제(
.jpg, ,.jpeg또는.webp)의 훈련 이미지.png20~50개.
작업 번들 구조
flux2_klein_lora/ ├── lora_training/ │ ├── template.yaml # OpenJD job template │ └── train_lora.py # Training script └── image_generation/ ├── template.yaml # OpenJD job template └── generate_image.py # Inference script
훈련 데이터 준비
훈련 데이터를 준비하려면
-
제목의 이미지가 포함된 디렉터리를 생성합니다. 최상의 결과를 얻으려면 다양한 포즈, 조명 및 배경이 있는 20~50개의 이미지를 사용하세요.
-
필요에 따라 미묘한 훈련을 위해 각 이미지와 함께
.txt캡션 파일을 제공합니다.training_images/ ├── IMG_001.jpeg ├── IMG_001.txt # "a photo of ohwx dog sitting on grass" ├── IMG_002.jpeg ├── IMG_002.txt # "a photo of ohwx dog running on beach"캡션 파일이 없는 경우 훈련 스크립트는 인스턴스 프롬프트 파라미터를 사용하여 자동으로 생성합니다. 사용자 지정 캡션은 트리거 단어와 시각적 특징 간의 더 구체적인 연결을 모델에 학습시키기 때문에 더 높은 품질의 결과를 생성합니다.
-
고유한 트리거 단어(예: )를 선택합니다
ohwx. 이렇게 하면 기존 모델 지식과 충돌하지 않는 토큰에 학습된 개념이 바인딩됩니다.
훈련 작업 제출
훈련 작업을 제출하려면
-
복제된
deadline-cloud-samples리포지토리의flux2_klein_lora디렉터리로 이동합니다. -
GUI를 사용하여 훈련 작업을 제출하려면 다음 명령을 실행합니다.
deadline bundle gui-submit ./lora_training또는 CLI로 직접 훈련 작업을 제출하려면 다음 명령을 실행합니다.
deadline bundle submit ./lora_training \ --queue-idgpu-queue-id\ --parameter DatasetPath=~/training_images \ --parameter InstancePrompt="a photo of ohwx dog" \ --parameter OutputDir=/tmp/lora_output \ --parameter MaxTrainSteps=1500 \ --parameter Resolution=512 -
Deadline Cloud 콘솔에서 또는
deadline job get명령을 사용하여 작업 상태를 모니터링합니다.
학습 파라미터
| 파라미터 | 설명 | 기본값 |
|---|---|---|
| 모델 버전 | flux.2-klein-base-4b 또는 flux.2-klein-4b |
flux.2-klein-base-4b |
| 데이터 세트 경로 | 훈련 이미지가 포함된 디렉터리 | — |
| 인스턴스 프롬프트 | 주제를 설명하는 텍스트 | — |
| 해결 방법 | 픽셀 단위의 훈련 이미지 해상도 | 512 |
| Network Dim | LoRA 순위(높음 = 더 많은 용량) | 16 |
| 네트워크 알파 | LoRA 알파 조정 인수 | 16 |
| 최대 훈련 단계 | 훈련 반복 횟수 | 1500 |
| 출력 디렉터리 | 훈련된 가중치를 저장할 위치 | — |
훈련 출력
훈련 작업은 다음과 같은 아티팩트를 생성합니다.
-
flux2_klein_lora.safetensors- 메타데이터가 포함된 훈련된 LoRA 어댑터입니다. -
체크포인트는 300단계마다 저장됩니다.
훈련이 완료된 후 출력을 다운로드하려면 다음 명령을 실행합니다.
deadline job download-output \ --job-idtraining-job-id\ --queue-idgpu-queue-id
이미지 생성 작업 제출
이미지 생성 작업을 제출하려면
-
복제된
deadline-cloud-samples리포지토리의flux2_klein_lora디렉터리로 이동합니다. -
GUI를 사용하여 이미지 생성 작업을 제출하려면 다음 명령을 실행합니다.
deadline bundle gui-submit ./image_generation또는 CLI를 사용하여 이미지 생성 작업을 직접 제출하려면 다음 명령을 실행합니다.
deadline bundle submit ./image_generation \ --queue-idgpu-queue-id\ --parameter LoRAPath=/tmp/lora_output/flux2_klein_lora.safetensors \ --parameter Prompt="a photo of ohwx dog wearing a tuxedo" \ --parameter OutputDir=/tmp/generated_images \ --parameter NumImages=4 -
Deadline Cloud 콘솔에서 또는
deadline job get명령을 사용하여 작업 상태를 모니터링합니다.
NumImages가 1보다 크면 Deadline Cloud는 더 빠른 생성을 위해 여러 작업자에 작업을 분산합니다.
생성 파라미터
| 파라미터 | 설명 | 기본값 |
|---|---|---|
| LoRA 경로 | 훈련된 .safetensors 파일의 경로 |
— |
| 프롬프트 | 텍스트 설명(트리거 단어 포함) | — |
| 이미지 수 | 생성할 총 이미지 | 1 |
| 너비 | 픽셀 단위의 출력 너비 | 1024 |
| Height | 픽셀 단위의 출력 높이 | 1024 |
| 추론 단계 | 노이즈 제거 단계 수 | 50 |
| 지침 규모 | 분류자 없는 지침 규모 | 4.0 |
생성 출력
이미지는 image_0001.png, image_0002.png등으로 저장됩니다. 다운로드하려면 다음 명령을 실행합니다.
deadline job download-output \ --job-idgeneration-job-id\ --queue-idgpu-queue-id
모델 변형
| 모델 | 파라미터 | 최적의 용도 |
|---|---|---|
flux.2-klein-base-4b |
4B | 미세 조정, 상용 |
flux.2-klein-4b |
4B | 빠른 추론(4개의 노이즈 제거 단계) |
훈련 권장 사항
다음 권장 사항은 최상의 결과를 얻는 데 도움이 될 수 있습니다.
-
데이터 세트 크기 - 20~50개의 고품질 이미지는 대부분의 주제에 적합합니다.
-
해상도 - 24GB VRAMGPUs에는 512를 사용합니다. 해상도가 높을수록 메모리가 더 많이 필요합니다.
-
훈련 단계 - 1500으로 시작합니다. 출력이 주제와 유사하지 않으면를 늘립니다.
-
네트워크 흐림 - 16이 좋은 기본값입니다. 복잡하거나 추상적인 개념에는 32를 사용합니다.
-
학습률 - 기본값인 1e-4는 대부분의 경우에 적합합니다.
정리
요금이 계속 부과되지 않도록이 예제에서 생성한 리소스를 정리합니다.
예제 리소스를 정리하려면
-
Deadline Cloud 콘솔에서이 예제에 사용한 GPU 플릿을 중지하거나 삭제합니다.
-
더 이상 필요하지 않은 경우 작업 연결로 생성된 Amazon Simple Storage Service(Amazon S3) 객체를 삭제합니다.
-
로컬 출력 파일이 더 이상 필요하지 않은 경우 제거합니다.
rm -rf /tmp/lora_output /tmp/generated_images
관련 리소스
다음 리소스는 추가 정보를 제공합니다.