Flux LoRA(Flux.1 및 Flux 2) 훈련 방법: 초보자 단계별 가이드
Flux LoRA 훈련은 Flux 이미지 모델에 모르는 것을 가르치는 과정입니다: 당신의 얼굴, 제품, 그림 스타일, 카메라 룩 등. 결과는 20~300MB 크기의 .safetensors 파일 하나로, Graydient를 포함한 모든 Flux 앱에서 사용할 수 있습니다. 과정에는 15~30장의 사진, 12~16GB 메모리의 그래픽 카드(또는 1시간 대여), 무료 트레이너가 필요합니다. 이 가이드는 Flux.1 dev와 Flux 2 모두를 위한 모든 단계를 안내하며, 마지막에 새 LoRA를 여기서 실행하는 방법을 설명합니다.
일곱 가지를 하게 됩니다: Flux 베이스 선택, 작은 데이터셋 구축, 캡션 작성, 트레이너 선택, 몇 가지 숫자 설정, 훈련 및 테스트, 그리고 Graydient에 파일 가져오기. 각 단계는 대부분의 사람에게 맞는 값과 함께 아래에 자세히 설명되어 있습니다. 이미 훈련된 파일이 있다면 사용법 섹션으로 바로 가세요.
Graydient는 LoRA를 실행하지만 훈련하지는 않습니다. 훈련은 자신의 그래픽 카드, 시간 단위로 대여한 GPU, 또는 온라인 트레이너에서 이루어집니다. 파일이 생성되면 모든 Graydient 플랜에서 고정 요금으로 렌더링할 수 있습니다.
필요한 것
- 한 주제에 대해 15~30장의 좋은 사진, 스타일의 경우 30~60장. 선명하고 다양한 휴대폰 사진도 괜찮습니다.
- Flux.1 dev 또는 Flux 2 Klein 4B용 12~16GB 메모리 그래픽 카드, Flux 2 dev용 24GB 이상. 카드가 없으면 1시간 대여하거나 온라인 트레이너를 사용하세요.
- 무료 트레이너: AI Toolkit, Kohya sd-scripts(또는 그 위의 FluxGym 인터페이스), OneTrainer. 모두 Windows와 Linux에서 Python 설치 후 실행 가능.
- 1~3시간, 대부분 대기 시간. Graydient 플랜은 파일로 렌더링할 때만 필요합니다. 플랜 및 가격와 비교하세요.
1단계: 훈련할 Flux 베이스 선택
LoRA는 훈련된 베이스 모델에 묶이므로 렌더링할 베이스부터 선택하세요. Flux 계열은 LoRA를 공유하지 않는 세 가지 분기가 있습니다:
| 베이스 | 훈련에 필요한 메모리 | LoRA가 이후에 실행되는 곳 |
|---|---|---|
| Flux.1 dev | fp8 베이스와 8비트 옵티마이저 사용 시 12~16GB; 24GB가 편안함 | Flux.1 dev, Flux.1 schnell(더 약함), Flux Krea dev 및 다양한 Flux.1 파인튜닝. Graydient에서는 <flux-dev>. 가장 큰 LoRA 생태계; 확실하지 않으면 이걸 선택하세요. |
| Flux 2 Klein 4B | 12~16GB; 4단계 증류된 것이 아닌 Klein 4B 베이스 체크포인트에서 훈련 | Klein 4B 및 Klein 4B 기반 체크포인트 전용. 빠른 훈련과 렌더링; Apache 2.0 라이선스. |
| Flux 2 Klein 9B | 약 24GB; Klein 9B 베이스 체크포인트에서 훈련 | Klein 9B 전용. 4B보다 세부 묘사 우수, 비상업적 라이선스. |
| Flux 2 dev | 최소 24GB, 48GB가 편안함; 4090 또는 5090 소유자가 아니면 대여 권장 | Flux 2 dev 및 Flux 2 dev 기반 체크포인트. Graydient에서는 <flux2>. 최고 품질, 가장 느린 훈련. |
기억할 규칙: Flux.1 LoRA는 Flux 2에서 작동하지 않고, Flux 2 LoRA는 Flux.1에서 작동하지 않으며, Klein 4B, Klein 9B, Flux 2 dev는 각각 별도의 LoRA가 필요합니다. Krea 2는 다른 모델이며 Flux가 아닙니다. 여러 베이스를 사용할 경우 동일 데이터셋으로 베이스별로 한 번씩 훈련하세요.
2단계: 데이터셋 구축
Flux는 작고 깔끔한 데이터셋에서 빠르게 학습합니다. 양보다 질이 중요하며, 20장의 선명하고 다양한 사진이 80장의 거의 중복된 사진보다 낫습니다.
- 사람, 제품 또는 객체에 대해 15~30장의 사진을 모으세요. 각 사진마다 각도, 거리, 조명, 배경을 바꾸세요. 최소 3분의 1은 클로즈업, 3분의 1은 전신 또는 전체 제품이 포함되어야 합니다.
- 스타일의 경우, 같은 매체와 선 품질을 가진 30~60개의 작품을 모으되 주제는 다르게 하세요: 사람, 장소, 객체 등. 다양성이 트레이너에게 주제가 스타일이 아님을 알려줍니다.
- 흐림, 심한 압축, 워터마크, 텍스트 오버레이, 주제가 아닌 사람은 제거하세요. 데이터셋에 한 명이라도 다른 얼굴이 있으면 렌더링에 나타납니다.
- 해상도: 긴 쪽이 1024픽셀인 것이 Flux 표준입니다. 종횡비는 섞어두세요; 모든 트레이너가 자동으로 분류합니다. 사진을 정사각형으로 늘리지 마세요.
- 사진을 한 폴더에 넣고 각 사진 옆에 같은 이름의 텍스트 파일을 두세요. 캡션은 텍스트 파일에 작성합니다:
dataset/01.jpg dataset/01.txt dataset/02.jpg dataset/02.txt
3단계: 캡션 작성
Flux는 T5 텍스트 인코더를 통해 자연스러운 문장을 읽으므로 캡션은 키워드 목록이 아닌 평범한 설명입니다. 캡션은 LoRA가 무엇을 배우고 무엇을 무시할지 결정합니다:
- 주제의 경우, 실제 단어가 아닌 트리거 단어로 시작하고 주제가 아닌 모든 것을 설명하세요: 옷, 자세, 장소, 조명 등. 트레이너는 트리거 단어가 캡션에서 설명하지 않은 부분임을 학습합니다.
- 스타일의 경우, 각 사진의 내용을 설명하고 스타일은 절대 언급하지 마세요. 스타일은 누락으로 학습되어 어떤 주제에도 적용됩니다.
- 캡션은 한두 문장으로 유지하세요. 30장 이상이면 Florence-2 또는 JoyCaption으로 자동 캡션 후 처음 10개는 직접 읽고 수정하세요.
- 실제 사람 이름을 트리거 단어로 사용하지 말고, 사진에 없는 내용을 캡션에 쓰지 마세요.
사람 LoRA용 주제 캡션 예시: ohwx woman, wearing a grey wool coat, standing on a stone bridge, overcast daylight, looking at the camera
스타일 LoRA용 캡션 예시, 스타일은 의도적으로 언급하지 않음: a fishing boat in a harbour at dawn, two men on the pier, fog over the water
4단계: 트레이너 선택
네 가지 무료 오픈소스 트레이너가 모든 Flux 베이스를 지원합니다. 모두 같은 데이터셋 폴더를 사용하고 같은 종류의 .safetensors 파일을 만듭니다:
- AI Toolkit(ostris 제작): 가장 많이 쓰이는 Flux 트레이너. 실행당 하나의 YAML 설정 파일, 웹 인터페이스, 저용량 VRAM 모드, Flux.1 dev, Flux 2 dev, Flux 2 Klein 지원.
python run.py config/my_flux_lora.yaml로 실행 시작. 첫 선택으로 최고. - Kohya sd-scripts와 FluxGym: Kohya는 대부분 Stable Diffusion LoRA의 베테랑 트레이너이며 Flux 브랜치가 있음. FluxGym은 그 위에 12, 16, 20GB 프리셋을 가진 단일 페이지 웹 인터페이스. 파일 편집 대신 폼 작성이 필요할 때 좋음.
- OneTrainer: SDXL과 Flux.1용 친숙한 인터페이스의 데스크톱 앱. SDXL LoRA도 함께 훈련한다면 선택.
- 온라인 트레이너: Civitai 현장 트레이너와 GPU 호스팅 사이트의 Flux 트레이너는 사진 ZIP을 받고 파일을 반환. 실행당 크레딧 소모, 설정은 숨김. 카드 없이도 가능. 생성된 파일은 Graydient에 동일하게 가져오기 가능.
5단계: 중요한 다섯 가지 숫자 설정
모든 트레이너는 수십 가지 옵션을 제공합니다. 기본값은 그대로 두고, LoRA의 강도, 일반성, 크기를 결정하는 다음 옵션만 조정하세요:
| 설정 | Flux.1 dev | Flux 2 Klein 4B (베이스) |
|---|---|---|
| 네트워크 랭크(차원) | 얼굴이나 객체는 16, 세부 스타일은 32 | 스타일에는 16; 32 |
| 알파 | 랭크와 동일 | 랭크와 동일 |
| 학습률 | 1e-4에서 2e-4 (트레이너가 제공하면 Prodigy 또는 Adafactor) | 1e-4 |
| 스텝 | 1000에서 2000, 각 그림이 60에서 120번 보임 | 1000에서 2000 |
| 해상도 | 1024 (메모리 부족 시 768) | 1024 |
| 배치 크기 | 1 (24GB에서는 2) | 1 또는 2 |
| 기본 정밀도 | 12~16GB에서는 8비트 옵티마이저가 있는 fp8 기본; 24GB 이상에서는 bf16 | 16GB에서는 bf16; 12GB에서는 fp8 |
트레이너가 250 스텝마다 체크포인트를 저장하고, 저장 시마다 같은 프롬프트와 시드로 두 개의 샘플 그림을 렌더링하도록 설정하세요. 이 샘플로 승자를 고릅니다. Flux.1 dev와 Flux 2 dev는 가이드 증류되어 있으며, 트레이너가 이를 처리하므로 가이드 설정은 기본값으로 두세요.
6단계: 학습 시작
- 학습을 시작하고 첫 1분 동안 메모리를 관찰하세요. 카드가 가득 차서 시스템 메모리로 넘치면 중지하세요: 학습이 10배 느려지고 충돌할 수 있습니다.
- 메모리가 넘치면 기본을 fp8로 바꾸고, 그래디언트 체크포인팅을 켜고, 8비트 AdamW 또는 Adafactor 옵티마이저를 사용하며, 해상도를 768로 낮추고 배치는 1로 유지하세요. 이 중 하나만 해도 기가바이트를 확보할 수 있습니다.
- 문제없이 실행되면 그대로 두세요. Flux.1 dev는 16GB 카드에서 1500 스텝에 1~2시간 걸립니다; Klein 4B는 더 빠릅니다; Flux 2 dev는 임대한 48GB 카드에서 약 1시간 걸립니다.
- 샘플 그림이 나타나는 것을 보세요. 주제는 보통 500 스텝에 나타나고 1000 스텝에 확실해집니다. 750 스텝에 완벽하면 일찍 멈춰도 됩니다.
학습은 느리고 불규칙하지만 취약하지 않습니다. 첫 1분을 넘기면 거의 항상 완료됩니다. 트레이너가 제공하면 학습 전에 잠재 공간과 텍스트 임베딩을 캐시하세요; 매 실행마다 메모리와 시간을 절약합니다.
7단계: 테스트 및 적절한 체크포인트 선택
마지막 체크포인트가 최고인 경우는 드뭅니다. 과학습된 LoRA는 데이터셋 배경을 복사하고 대비를 태우며 프롬프트를 무시합니다. 모두 테스트하세요:
- 데이터셋에 없는 네 가지 프롬프트를 작성하세요: 새로운 장소, 새로운 의상, 다른 조명, 다른 매체. 시드를 고정하세요.
- 저장된 각 체크포인트를 네 가지 프롬프트로 LoRA 가중치 0.6, 0.8, 1.0으로 렌더링하세요.
- 주제를 정확히 표현하고 새 프롬프트를 따르는 가장 이른 체크포인트를 선택하세요. 이후 것은 보통 과도하게 학습되었고, 이전 것은 모호합니다.
- 승자 체크포인트 이름을 1년 후에도 알아볼 수 있게 주제와 기본 모델을 포함해 바꾸세요: 예) my-flux-lora, lora_000750 아님.
그래픽 카드가 없나요? 1시간 빌리세요
Flux 2 dev 학습이나 노트북에서의 Flux 학습은 임대 카드가 본인 카드보다 저렴합니다. 24GB 또는 48GB 카드는 GPU 임대 시장에서 커피 한 잔 값 이하이며, Flux LoRA는 1~2시간 필요합니다.
- Flux.1 dev나 Klein은 24GB 카드, Flux 2 dev는 48GB 카드가 있는 머신을 빌리세요. 마켓플레이스에서 트레이너가 사전 설치된 템플릿을 선택하세요; AI Toolkit 템플릿이 흔합니다.
- 데이터셋 폴더를 업로드하고 위 설정으로 실행한 뒤 테스트할 체크포인트를 다운로드하세요. 데이터셋과 가중치는 본인 소유입니다.
- 다운로드가 끝나면 머신을 중지하세요. 설정 포함 전체 과정은 보통 2시간 미만입니다.
Graydient에서 Flux LoRA 사용하기
Graydient는 파일이 컴퓨터에 없어도 렌더링할 수 있습니다. Graydient가 접근할 수 있는 곳에 두고 링크를 가져오세요:
- .safetensors 파일을 Hugging Face 계정의 저장소(공개 또는 비공개)에 업로드하거나, Civitai에 기본 모델을 학습한 Flux 버전으로 설정해 게시하세요.
- Graydient 로그인, 대시보드 라이브러리에서 Model Import를 열고 Hugging Face의 직접 파일 링크 또는 Civitai 페이지 링크를 붙여넣으세요. 전체 단계는 Graydient에서 Civitai 모델 가져오는 방법에 있습니다.
- LoRA가 라이브러리에 나타날 때까지 기다리고 Graydient가 준 ShortCode를 복사하세요.
- LoRA 태그와 일치하는 기본 모델로 Graydient 앱에서 렌더링하세요: Flux.1 LoRA는
<lora:my-flux-lora:0.8> <flux-dev>, Flux 2 LoRA는<lora:my-flux2-lora:0.8> <flux2>. 모든 앱, 가중치, 스태킹 규칙은 Graydient에서 Flux 및 Flux 2 LoRA 초보자 가이드에 있습니다.
Telegram 또는 Discord용 완전한 첫 렌더링 예시, 트리거 단어가 먼저 나오고 LoRA가 0.8, Flux dev 기본에서: /render ohwx woman, portrait, soft window light, 85mm photo <lora:my-flux-lora:0.8> <flux-dev> /steps:24 /guidance:3.5 /size:1024x1024
라이선스: LoRA로 할 수 있는 것
LoRA는 기본 모델의 파생물이므로 기본 라이선스가 적용됩니다. 렌더링 판매나 파일 판매 전 모델 페이지에서 현재 라이선스 문구를 확인하세요:
- Flux.1 dev와 Flux 2 dev는 Black Forest Labs의 비상업용 라이선스 하에 배포됩니다. 개인 프로젝트와 연구는 괜찮지만, 상업적 사용은 상업용 라이선스가 필요합니다.
- Flux 2 Klein 4B(및 기본 체크포인트)는 Apache 2.0 라이선스이므로, 이 위에서 학습된 LoRA는 기본 모델 제한이 없습니다. Klein 9B는 비상업용 라이선스입니다.
- 데이터셋의 사진은 저작권이 있습니다. 본인이 찍었거나 소유한 사진으로 학습하고, 동의 없는 실제 인물 사진은 절대 사용하지 마세요.
문제가 생기면
- 첫 1분 내 메모리 부족: fp16 기본과 옵티마이저가 맞지 않습니다. fp8, 8비트 AdamW 또는 Adafactor, 그래디언트 체크포인팅, 해상도 768, 배치 1로 바꾸세요. 그래도 넘치면 카드를 빌리세요.
- LoRA가 주제뿐 아니라 전체 그림을 바꿉니다: 캡션이 배경과 조명을 설명하지 않아 트레이너가 이를 트리거 단어 일부로 학습했습니다. 문맥을 명확히 하여 다시 캡션하고 데이터셋을 다양화하세요.
- 가중치 1.0에서 얼굴은 맞지만 프롬프트가 무시됩니다: 과학습입니다. 이전 체크포인트를 사용하세요. 다음 학습에서는 스텝을 절반으로 줄이거나 학습률을 5e-5로 낮추세요.
- 어떤 가중치에서도 모호한 유사성만 있음: 학습 부족이거나 데이터셋이 너무 균일합니다. 500 스텝 단위로 스텝을 추가하거나 새로운 각도의 사진을 추가하세요.
- Graydient에서 LoRA가 작동하지 않음: 기본 모델이 맞지 않습니다. Flux.1 LoRA는
<flux-dev>가 필요하고, Flux 2 LoRA는<flux2>가 필요합니다. 트리거 단어가 프롬프트에 있는지도 확인하세요. - 학습은 되지만 매우 느림: 시스템 메모리로 넘쳤거나 데이터셋이 느린 드라이브에 있습니다. 첫 번째 문제 해결법을 적용하고, 잠재 공간을 캐시하며, 데이터셋을 SSD로 옮기세요.
이게 전부입니다: 하나의 기본 모델, 20장의 깨끗한 사진, 정직한 캡션, 다섯 개 숫자, 한 번의 학습, 한 번의 테스트. 첫 Flux LoRA가 최고는 아니며, 두 번째는 절반 시간에 완성됩니다. 파일이 있으면 Graydient 로그인하거나 플랜 및 가격를 비교해 원하는 만큼 렌더링하세요. 모든 플랜은 7일 환불 보증을 포함합니다.
질문
Graydient가 Flux LoRA를 대신 학습해주나요?
아니요. Graydient는 정액제 렌더링 서비스로, LoRA를 실행하지만 학습하지는 않습니다. 본인 카드, 임대 카드 또는 위에 설명된 온라인 트레이너에서 학습한 후 파일을 가져오세요. 이후 렌더링은 어떤 플랜에서도 추가 비용이 없습니다.
Flux LoRA에 몇 장의 사진이 필요한가요?
얼굴, 제품 또는 물체는 15~30장; 스타일은 30~60장. Flux는 작은 세트에서 학습합니다. 100장 이상이면 LoRA를 훈련하는 게 아니라 미세 조정하는 것이며, 더 많은 단계와 메모리가 필요합니다.
Flux LoRA 훈련에 필요한 VRAM은 얼마인가요?
Flux.1 개발 버전이나 fp8 기반과 8비트 옵티마이저를 사용하는 Flux 2 Klein 4B는 12~16GB가 필요합니다. Klein 9B는 약 24GB, Flux 2 개발 버전은 최소 24GB, 편안하게 사용하려면 48GB가 필요합니다. 4090이나 5090을 소유하지 않았다면 후자의 두 가지는 대여하는 것이 좋습니다.
얼마나 걸리나요?
16GB 카드에서 1500단계 기준으로 Flux.1 개발 버전은 1~2시간, Klein 4B는 더 적게 걸리고, 대여한 48GB 카드에서 Flux 2 개발 버전은 약 1시간 걸립니다. 처음에는 캡션 작성과 테스트에 추가로 1시간이 더 필요합니다.
Flux 2 LoRA도 Flux.1 LoRA와 같은 방식으로 훈련할 수 있나요?
네, 같은 데이터셋과 캡션으로 가능합니다. Klein LoRA는 4단계 증류된 체크포인트가 아닌 Klein Base 체크포인트(4B Base 또는 9B Base)에서 훈련해야 하며, 결과는 해당 Klein 크기에서만 작동합니다. Flux 2 개발 버전은 더 많은 메모리가 필요하므로 대부분 대여해서 사용합니다.
Flux LoRA에 트리거 단어가 필요한가요?
사람이나 물체의 경우, 캡션 시작 부분에 만든 단어를 넣고, 프롬프트 시작 부분에도 그 단어를 넣어야 합니다. 스타일의 경우, 캡션이 스타일이 아닌 내용을 설명한다면 트리거 단어가 필요 없으며, LoRA가 모든 것에 적용됩니다.
LoRA를 비공개로 유지할 수 있나요?
네. 비공개 Hugging Face 저장소에 업로드하고 Hugging Face에 로그인한 상태에서 파일 링크를 가져오면 됩니다. Graydient는 계정이 다운로드할 수 있는 파일만 가져오므로, 라이브러리는 오직 당신만의 것이며 파일은 ModelTrends나 공개된 곳에 절대 나타나지 않습니다.