ComfyUI  >  워크플로우  >  FLUX LoRA 훈련

FLUX LoRA 훈련

이 ComfyUI FLUX LoRA 훈련 워크플로우를 통해 기존의 FLUX 모델을 사용자 데이터셋으로 세부 조정할 수 있습니다. 이 상세 가이드를 통해 훈련 데이터를 준비하고, 워크플로우를 설정하고, 필수 매개변수를 구성하고, 훈련 프로세스를 실행하는 방법을 배울 수 있습니다. FLUX AI 모델의 전체 잠재력을 발휘하고, 사용자의 비전에 완벽하게 맞는 맞춤형 출력을 생성하십시오.

ComfyUI FLUX LoRA Training 워크플로우

ComfyUI FLUX LoRA Training
이 워크플로우를 실행하고 싶으신가요?
  • 완전히 작동 가능한 워크플로우
  • 누락된 노드 또는 모델 없음
  • 수동 설정 불필요
  • 멋진 시각 효과 제공

ComfyUI FLUX LoRA Training 예제

comfyui-flux-lora-training-detailed-guides-1123

ComfyUI FLUX LoRA Training 설명

FLUX LoRA는 AI 커뮤니티에서 큰 인기를 얻고 있으며, 특히 사용자 데이터셋으로 AI 모델을 세부 조정하려는 사람들 사이에서 인기가 높습니다. 이 접근 방식은 기존의 FLUX 모델을 사용자 고유의 데이터셋에 쉽게 맞출 수 있게 하여 매우 맞춤화되고 다양한 창의적 작업에 효율적입니다. ComfyUI에 이미 익숙하다면, ComfyUI FLUX LoRA 훈련 워크플로우를 사용하여 FLUX LoRA 모델을 훈련하는 것은 매우 간단할 것입니다. 워크플로우와 관련 노드는 Kijai가 만들었으며, 그의 기여에 큰 감사를 드립니다! 자세한 내용은 을 확인하십시오.

ComfyUI FLUX LoRA 훈련 튜토리얼

ComfyUI FLUX LoRA 훈련 워크플로우는 FLUX LoRA 모델을 훈련하기 위한 강력한 프로세스입니다. ComfyUI를 사용한 훈련은 특히 인터페이스에 익숙한 사용자에게 여러 가지 이점을 제공합니다. FLUX LoRA 훈련을 통해 추론에 사용되는 동일한 모델을 사용할 수 있어 동일한 Python 환경에서 작업할 때 호환성 문제가 없습니다. 또한 다양한 설정을 비교하는 워크플로우를 구축하여 훈련 프로세스를 향상시킬 수 있습니다. 이 튜토리얼은 ComfyUI에서 FLUX LoRA 훈련을 설정하고 사용하는 단계를 안내합니다.

다음 내용을 다룹니다:

  1. FLUX LoRA 훈련을 위한 데이터셋 준비
  2. FLUX LoRA 훈련 프로세스
  3. FLUX LoRA 훈련 실행
  4. FLUX 및 FLUX LoRA 모델 사용 방법 및 위치

1. FLUX LoRA 훈련을 위한 데이터셋 준비

FLUX LoRA 훈련을 위한 훈련 데이터를 준비할 때는 목표 주제에 대한 고품질 이미지를 확보하는 것이 중요합니다.

이 예에서는 특정 인플루언서의 이미지를 생성하기 위해 FLUX LoRA 모델을 훈련합니다. 이를 위해 다양한 포즈와 설정에서 인플루언서의 고품질 이미지 세트를 준비해야 합니다. 이러한 이미지를 수집하는 편리한 방법은 을 사용하는 것입니다. 이는 동일한 캐릭터가 다른 포즈를 취하면서도 일관된 외모를 유지하는 이미지를 쉽게 생성할 수 있습니다. 우리의 훈련 데이터셋에는 다양한 포즈와 설정에서 인플루언서의 고품질 이미지 5장을 선택하여 FLUX LoRA 훈련이 일관되고 정확한 출력을 생성하는 데 필요한 세부 사항을 학습할 수 있도록 견고한 데이터셋을 확보했습니다.

훈련 데이터 획득 과정

FLUX LoRA Training Data

훈련 데이터 예시

FLUX LoRA Training Data

또한 특정 요구에 따라 자체 데이터셋을 수집할 수도 있습니다——FLUX LoRA 훈련은 유연하며 다양한 유형의 데이터와 함께 작동합니다.

2. FLUX LoRA 훈련 프로세스

FLUX LoRA 훈련 워크플로우는 모델을 훈련하고 검증하는 여러 주요 노드로 구성됩니다. 주요 노드를 세 부분으로 나누어 설명합니다: 데이터셋, 설정 및 초기화, 훈련.

2.1. FLUX LoRA 훈련을 위한 데이터셋 설정

데이터셋 섹션은 훈련 데이터를 구성하고 사용자 정의하는 데 도움이 되는 두 개의 필수 노드로 구성됩니다: TrainDatasetGeneralConfigTrainDatasetAdd.

2.1.1. TrainDatasetGeneralConfig

FLUX LoRA Training: TrainDatasetGeneralConfig

TrainDatasetGeneralConfig 노드는 FLUX LoRA 훈련에서 훈련 데이터셋의 전체 설정을 정의하는 곳입니다. 이 노드는 데이터 증강 및 전처리의 다양한 측면을 제어할 수 있는 기능을 제공합니다. 예를 들어, 색상 증강을 활성화하거나 비활성화하여 모델이 다양한 색상 변형에 대해 일반화할 수 있는 능력을 향상시킬 수 있습니다. 마찬가지로, 이미지를 수평으로 무작위로 뒤집어 보다 다양한 훈련 샘플을 제공하는 플립 증강을 전환할 수 있습니다. 또한 각 이미지에 연결된 캡션을 무작위로 섞어 무작위성을 도입하고 과적합을 줄일 수 있습니다. 캡션 드롭아웃 비율은 훈련 중에 캡션을 무작위로 드롭하여 캡션이 누락되거나 불완전한 경우에도 모델이 더욱 견고해지도록 도울 수 있습니다.

2.1.2. TrainDatasetAdd

FLUX LoRA Training: TrainDatasetAdd

TrainDatasetAdd 노드는 FLUX LoRA 훈련에 포함할 각 개별 데이터셋의 세부 사항을 지정하는 곳입니다.

입력 디렉터리: 훈련 데이터셋 경로

이 노드를 최대한 활용하려면 훈련 데이터를 적절히 정리하는 것이 중요합니다. RunComfy의 파일 브라우저를 사용할 때, 훈련 데이터를 /home/user/ComfyUI/input/{file-name} 디렉터리에 배치하십시오. {file-name}은 데이터셋에 의미 있는 이름을 지정하는 것입니다.

훈련 데이터를 적절한 디렉터리에 배치한 후, TrainDatasetAdd 노드의 image_dir 매개변수에 해당 디렉터리 경로를 제공해야 합니다. 이는 노드에 훈련 이미지를 찾을 위치를 알려줍니다.

FLUX LoRA TrainDatasetAdd: Dataset Path FLUX LoRA TrainDatasetAdd: Dataset Path

클래스 토큰

FLUX LoRA TrainDatasetAdd: Class Token

데이터셋이 특정 클래스 토큰이나 트리거 단어를 사용하여 이점을 얻을 수 있는 경우 class_tokens 매개변수에 입력할 수 있습니다. 클래스 토큰은 각 캡션 앞에 추가되어 모델의 생성 프로세스를 안내하는 특별한 단어나 구입니다. 예를 들어, 다양한 동물 종의 데이터셋을 훈련하는 경우, "dog", "cat", 또는 "bird"와 같은 클래스 토큰을 사용하여 생성된 이미지에서 원하는 동물을 나타낼 수 있습니다. 나중에 이러한 클래스 토큰을 프롬프트에 사용하면 모델이 생성하고자 하는 특정 측면을 제어할 수 있습니다.

해상도(너비 및 높이), 배치 크기 설정

image_dirclass_tokens 매개변수 외에도 TrainDatasetAdd 노드는 데이터셋을 세부 조정할 수 있는 몇 가지 다른 옵션을 제공합니다. 이미지의 해상도(너비 및 높이)를 설정하고, 훈련 배치 크기를 지정하고, 에포크당 데이터셋이 반복되는 횟수를 결정할 수 있습니다.

여러 데이터셋

FLUX LoRA TrainDatasetAdd: Multiple datasets

FLUX LoRA 훈련의 강력한 기능 중 하나는 여러 데이터셋을 원활하게 결합할 수 있다는 것입니다. FLUX LoRA 훈련 워크플로우에서는 세 개의 TrainDatasetAdd 노드가 순서대로 연결되어 있습니다. 각 노드는 고유한 설정을 가진 별개의 데이터셋을 나타냅니다. 이러한 노드를 연결하여 다양한 소스의 이미지와 캡션을 통합한 풍부하고 다양한 훈련 세트를 만들 수 있습니다.

이를 설명하기 위해 고양이, 개, 곰의 세 가지 별도 데이터셋이 있는 시나리오를 생각해 보겠습니다. 각각의 데이터셋에 전용 TrainDatasetAdd 노드를 설정할 수 있습니다. 첫 번째 노드에서는 image_dir 매개변수에 "cats" 데이터셋 경로를 지정하고, class token을 "cat"으로 설정하며, 해상도 및 배치 크기와 같은 다른 매개변수를 필요에 맞게 조정합니다. 마찬가지로 두 번째 및 세 번째 노드에서는 각각 "dogs" 및 "bears" 데이터셋을 구성합니다.

이 접근 방식은 다양한 범주의 이미지를 활용하여 모델의 일반화 능력을 향상시킵니다.

예시

우리의 예에서는 모델을 훈련하기 위해 하나의 데이터셋만 사용하므로 하나의 TrainDatasetAdd 노드를 활성화하고 나머지 두 개를 우회합니다. 다음은 설정 방법입니다:

FLUX LoRA TrainDatasetAdd: Multiple datasets

2.2. 설정 및 초기화

설정 및 초기화 섹션은 FLUX LoRA 훈련을 위한 주요 구성 요소 및 매개변수를 설정하는 곳입니다. 이 섹션에는 훈련 환경을 설정하기 위해 함께 작동하는 여러 필수 노드가 포함되어 있습니다.

2.2.1. FluxTrainModelSelect

FLUX LoRA Training: FluxTrainModelSelect

먼저 FluxTrainModelSelect 노드는 FLUX LoRA 훈련 중에 사용할 FLUX 모델을 선택하는 책임이 있습니다. 이 노드는 변환기, VAE (변형 자동 인코더), CLIP_L (대조적 언어-이미지 사전 학습), T5 (텍스트-텍스트 전송 변환기)의 경로를 지정할 수 있습니다. 이 모델들은 FLUX 훈련 프로세스의 핵심을 형성하며, 모두 RunComfy 플랫폼에 설정되어 있습니다.

2.2.2. OptimizerConfig

FLUX LoRA Training: OptimizerConfig

OptimizerConfig 노드는 FLUX LoRA 훈련 내에서 모델의 매개변수가 훈련 중에 업데이트되는 방식을 결정하는 옵티마이저를 설정하는 데 중요합니다. 옵티마이저 유형(예: AdamW, CAME)을 선택하고, 기울기 폭발을 방지하기 위한 최대 기울기 규범을 설정하며, 학습률 스케줄러(예: 일정, 코사인 감소)를 선택할 수 있습니다. 또한, 옵티마이저별 매개변수(예: 웜업 단계 및 스케줄러 파워)를 세부 조정하고 추가 인수를 제공하여 추가로 사용자 정의할 수 있습니다.

큰 모델을 처리하는 메모리 효율성과 능력으로 알려진 Adafactor 옵티마이저를 선호하는 경우 OptimizerConfigAdafactor 노드를 대신 사용할 수 있습니다.

2.2.3. InitFluxLoRATraining

FLUX LoRA Training: InitFluxLoRATraining

InitFluxLoRATraining 노드는 모든 필수 구성 요소가 모여 FLUX LoRA 훈련 프로세스를 시작하는 중심 허브입니다.

출력 디렉터리: FLUX LoRA 경로

InitFluxLoRATraining 노드에서 지정해야 할 중요한 사항 중 하나는 훈련된 모델이 저장될 출력 디렉터리입니다. RunComfy 플랫폼에서 /home/user/ComfyUI/output/{file_name}을 출력 위치로 선택할 수 있습니다. 훈련이 완료되면 파일 브라우저에서 이를 볼 수 있습니다.

FLUX LoRA InitFluxLoRATraining: FLUX LoRA Path FLUX LoRA InitFluxLoRATraining: FLUX LoRA Path

네트워크 차원 및 학습률

다음으로 네트워크 차원 및 학습률을 설정해야 합니다. 네트워크 차원은 LoRA 네트워크의 크기와 복잡성을 결정하며, 학습률은 모델이 학습하고 적응하는 속도를 제어합니다.

최대 훈련 단계

고려해야 할 또 다른 중요한 매개변수는 max_train_steps입니다. 이는 훈련 과정이 얼마나 오래 지속될지, 즉 모델이 완전히 학습되기 전에 몇 단계나 진행될지를 결정합니다. 데이터셋의 크기와 특정 요구에 따라 이 값을 조정할 수 있습니다. 이는 모델이 최상의 출력을 생성할 수 있도록 충분히 학습한 지점을 찾는 것입니다!

2.3.4. FluxTrainValidationSettings

FLUX LoRA Training: FluxTrainValidationSettings

마지막으로, FluxTrainValidationSettings 노드는 FLUX LoRA 훈련 과정에서 모델의 성능을 평가하기 위한 검증 설정을 구성할 수 있습니다. 검증 단계 수, 이미지 크기, 안내 척도 및 재현성을 위한 시드를 설정할 수 있습니다. 또한, 시간 단계 샘플링 방법을 선택하고 시그모이드 척도 및 이동 매개변수를 조정하여 시간 단계 스케줄링을 제어하고 생성된 이미지의 품질을 향상시킬 수 있습니다.

3. 훈련

FLUX LoRA 훈련의 훈련 섹션은 마법이 일어나는 곳입니다. 네 부분으로 나누어져 있습니다: Train_01, Train_02, Train_03 및 Train_04. 각 부분은 FLUX LoRA 훈련 과정의 다른 단계를 나타내며, 모델을 점진적으로 세부 조정하고 개선할 수 있습니다.

3.1. Train_01

FLUX LoRA Training

먼저 Train_01입니다. 여기서 초기 훈련 루프가 실행됩니다. 이 섹션의 주인공은 FluxTrainLoop 노드로, 지정된 단계 수 동안 훈련 루프를 실행하는 역할을 합니다. 이 예에서는 250단계로 설정했지만, 필요에 따라 조정할 수 있습니다. 훈련 루프가 완료되면 훈련된 모델이 FluxTrainSave 노드로 전달되어 정기적으로 모델이 저장됩니다. 이는 훈련의 다양한 단계에서 모델의 체크포인트를 확보하여 진행 상황을 추적하고 예상치 못한 중단 상황에서 복구할 수 있도록 합니다.

그러나 훈련은 모델을 저장하는 것만으로 끝나지 않습니다. 모델의 성능을 검증하여 얼마나 잘 수행되고 있는지 확인해야 합니다. 여기서 FluxTrainValidate 노드가 등장합니다. 이 노드는 훈련된 모델을 사용하여 검증 데이터셋으로 테스트합니다### 3.1. Train_01

FLUX LoRA Training

훈련 데이터셋을 사용하여 모델의 일반화 능력을 평가하는 데 도움이 됩니다. FluxTrainValidate 노드는 검증 데이터를 기반으로 샘플 이미지를 생성하여 이 단계에서 모델의 출력을 시각적으로 나타냅니다.

훈련 진행 상황을 모니터링하기 위해 VisualizeLoss 노드가 있습니다. 이 유용한 노드는 시간 경과에 따른 훈련 손실을 시각화하여 모델이 얼마나 잘 학습하고 있는지, 좋은 솔루션으로 수렴하고 있는지를 확인할 수 있습니다. 이는 개인 트레이너가 진행 상황을 추적하고 올바른 방향으로 나아가도록 돕는 것과 같습니다.

3.2. Train_02, Train_03, Train_04

FLUX LoRA 훈련의 Train_02에서는 Train_01에서 이어받은 출력이 추가로 지정된 단계 수(예: 250단계) 동안 훈련됩니다. Train_03Train_04도 유사한 패턴을 따르며, 원활한 진행을 위해 업데이트된 연결을 통해 훈련이 연장됩니다. 각 단계는 FLUX LoRA 모델을 출력하여 성능을 테스트하고 비교할 수 있게 합니다.

예시

우리의 예에서는 Train_01Train_02만 사용하여 각각 250단계 동안 실행합니다. Train_03Train_04는 현재 우회합니다. 그러나 특정 요구와 자원에 따라 훈련 섹션과 단계를 조정하고 실험해 보십시오.

FLUX LoRA Training

4. FLUX 및 FLUX LoRA 모델 사용 방법 및 위치

FLUX LoRA 모델을 얻은 후에는 에 통합할 수 있습니다. 기존의 LoRA 모델을 훈련된 모델로 교체한 후 결과를 테스트하여 성능을 평가하십시오.

예시

우리의 예에서는 FLUX LoRA 워크플로우를 사용하여 FLUX LoRA 모델을 적용하고 성능을 관찰하여 더 많은 인플루언서 이미지를 생성합니다.

FLUX LoRA Training

라이센스

라이센스 파일 보기:

FLUX.1 [dev] 모델은 Black Forest Labs. Inc.에 의해 FLUX.1 [dev] 비상업적 라이센스 하에 라이센스 되었습니다. 저작권 Black Forest Labs. Inc.

어떠한 경우에도 Black Forest Labs, Inc.는 본 모델의 사용과 관련하여 계약, 불법 행위 또는 기타 상황에서 발생하는 모든 청구, 손해 또는 기타 책임에 대해 책임을 지지 않습니다.

더 많은 ComfyUI 튜토리얼

더 많은 ComfyUI 워크플로우를 원하시나요?

RunComfy

© 저작권 2024 RunComfy. All Rights Reserved.

RunComfy는 최고의 ComfyUI 플랫폼으로서 ComfyUI 온라인 환경과 서비스를 제공하며 ComfyUI 워크플로우 멋진 비주얼을 제공합니다.