چگونه یک LoRA از Flux (Flux.1 و Flux 2) آموزش دهیم: راهنمای گام به گام برای مبتدیان
آموزش LoRA از Flux یعنی آموزش دادن به مدل تصویر Flux چیزی که نمیداند: چهره شما، محصول شما، سبک نقاشی شما، ظاهر دوربین. نتیجه یک فایل .safetensors به حجم ۲۰ تا ۳۰۰ مگابایت است که میتوانید در هر برنامه Flux از جمله Graydient استفاده کنید. این فرایند به ۱۵ تا ۳۰ عکس، کارت گرافیک با ۱۲ تا ۱۶ گیگابایت حافظه (یا اجارهای برای یک ساعت) و یک مربی رایگان نیاز دارد. این راهنما هر مرحله را برای Flux.1 dev و Flux 2 توضیح میدهد و با نحوه اجرای LoRA جدیدتان در اینجا پایان مییابد.
شما هفت کار انجام خواهید داد: انتخاب پایه Flux، ساخت مجموعه داده کوچک، نوشتن کپشنها، انتخاب مربی، تنظیم چند عدد، آموزش و تست، سپس وارد کردن فایل به Graydient. هر مرحله با مقادیری که برای اکثر افراد کار میکند در ادامه نوشته شده است. اگر قبلاً فایل آموزش دیده دارید، به بخش استفاده از آن بروید.
Graydient فقط LoRAها را اجرا میکند؛ آنها را آموزش نمیدهد. آموزش روی کارت گرافیک خودتان، کارت اجارهای ساعتی یا مربی آنلاین انجام میشود. وقتی فایل ساخته شد، هر پلن Graydient میتواند با آن فایل با قیمت ثابت رندر بگیرد.
آنچه نیاز دارید
- ۱۵ تا ۳۰ عکس خوب از یک موضوع، یا ۳۰ تا ۶۰ عکس برای سبک. عکسهای گوشی خوب است اگر واضح و متنوع باشند.
- کارت گرافیک با ۱۲ تا ۱۶ گیگابایت حافظه برای Flux.1 dev یا Flux 2 Klein 4B، یا ۲۴ گیگابایت به بالا برای Flux 2 dev. کارت ندارید؟ یکی برای یک ساعت اجاره کنید (زیر را ببینید) یا از مربی آنلاین استفاده کنید.
- یک مربی رایگان: AI Toolkit، Kohya sd-scripts (یا رابط FluxGym روی آن) یا OneTrainer. همه روی ویندوز و لینوکس با پایتون نصب شده اجرا میشوند.
- یک تا سه ساعت، بیشترش انتظار است. پلن Graydient فقط در پایان، وقتی میخواهید با فایل رندر بگیرید اهمیت دارد. طرحها و قیمتها را مقایسه کنید.
مرحله ۱: پایه Flux برای آموزش را انتخاب کنید
یک LoRA به مدل پایهای که روی آن آموزش دیده متصل است، پس با پایهای شروع کنید که میخواهید با آن رندر بگیرید. خانواده Flux سه شاخه دارد که LoRAها را به اشتراک نمیگذارند:
| پایه | حافظه برای آموزش | جایی که LoRA بعداً اجرا میشود |
|---|---|---|
| Flux.1 dev | ۱۲ تا ۱۶ گیگابایت با پایه در fp8 و بهینهساز ۸ بیتی؛ ۲۴ گیگابایت راحت است | Flux.1 dev، Flux.1 schnell (ضعیفتر)، Flux Krea dev و بسیاری از fine-tuneهای Flux.1. در Graydient: <flux-dev>. بزرگترین اکوسیستم LoRA؛ اگر مطمئن نیستید این را انتخاب کنید. |
| Flux 2 Klein 4B | ۱۲ تا ۱۶ گیگابایت؛ روی چکپوینت پایه Klein 4B آموزش دهید، نه چکپوینت تقطیر شده ۴ مرحلهای | فقط Klein 4B و چکپوینتهای مبتنی بر آن. سریع برای آموزش و رندر؛ مجوز Apache 2.0. |
| Flux 2 Klein 9B | حدود ۲۴ گیگابایت؛ روی چکپوینت پایه Klein 9B آموزش دهید | فقط Klein 9B. جزئیات بهتر از 4B، مجوز غیرتجاری. |
| Flux 2 dev | حداقل ۲۴ گیگابایت، ۴۸ گیگابایت راحت؛ اگر 4090 یا 5090 ندارید اجاره کنید | Flux 2 dev و چکپوینتهای مبتنی بر آن. در Graydient: <flux2>. بالاترین کیفیت، کندترین آموزش. |
قاعدهای که باید به یاد بسپارید: LoRAهای Flux.1 روی Flux 2 کار نمیکنند، LoRAهای Flux 2 روی Flux.1 کار نمیکنند، و Klein 4B، Klein 9B و Flux 2 dev هر کدام به LoRA مخصوص خود نیاز دارند. Krea 2 مدل متفاوتی است، نه Flux. اگر چند پایه دارید، برای هر پایه یک بار از همان مجموعه داده آموزش دهید.
مرحله ۲: ساخت مجموعه داده
Flux سریع از مجموعه دادههای کوچک و تمیز یاد میگیرد. کیفیت مهمتر از تعداد است؛ ۲۰ عکس واضح و متنوع بهتر از ۸۰ عکس تقریباً تکراری است.
- ۱۵ تا ۳۰ عکس برای یک شخص، محصول یا شی جمعآوری کنید. زاویه، فاصله، نور و پسزمینه را بین عکسها تغییر دهید. حداقل یک سوم عکسها کلوزآپ و یک سوم تمام بدن یا محصول کامل باشد.
- برای سبک، ۳۰ تا ۶۰ اثر با همان رسانه و کیفیت خط اما موضوعات مختلف جمعآوری کنید: افراد، مکانها، اشیاء. تنوع به مربی میگوید موضوع سبک نیست.
- محو شدگی، فشردهسازی شدید، واترمارک، متن روی تصویر و هر کسی که موضوع نیست را حذف کنید. یک چهره اضافی در مجموعه در رندرها ظاهر میشود.
- رزولوشن: ۱۰۲۴ پیکسل در ضلع بلند استاندارد Flux است. نسبت ابعاد را مخلوط نگه دارید؛ هر مربی به صورت خودکار آنها را دستهبندی میکند. عکسها را به مربع نکشید.
- عکسها را در یک پوشه قرار دهید و کنار هر عکس یک فایل متنی با همان نام بگذارید. کپشن در فایل متنی است:
dataset/01.jpg dataset/01.txt dataset/02.jpg dataset/02.txt
مرحله ۳: نوشتن کپشنها
Flux جملات طبیعی را از طریق کدگذار متن T5 میخواند، پس کپشنها توصیف ساده هستند، نه فهرست کلمات کلیدی. کپشنها تعیین میکنند LoRA چه چیزی یاد بگیرد و چه چیزی را نادیده بگیرد:
- برای یک موضوع، با یک کلمه محرک که کلمه واقعی نیست شروع کنید، سپس همه چیز غیر از موضوع را توصیف کنید: لباس، حالت، مکان، نور. مربی یاد میگیرد که کلمه محرک بخش توضیح داده نشده کپشن است.
- برای سبک، محتوای هر عکس را توصیف کنید و هرگز سبک را ذکر نکنید. سبک چیزی است که LoRA با حذف یاد میگیرد و سپس روی هر موضوعی که درخواست کنید اعمال میکند.
- کپشنها را به یک یا دو جمله محدود کنید. اگر بیش از ۳۰ عکس دارید، با Florence-2 یا JoyCaption به صورت خودکار کپشن بزنید، سپس ده تای اول را دستی بخوانید و اصلاح کنید.
- از نام واقعی افراد به عنوان کلمه محرک استفاده نکنید و چیزهایی که در عکس نیستند را کپشن نکنید.
نمونه کپشن موضوعی برای 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
مرحله ۴: انتخاب مربی
چهار مربی رایگان و متنباز هر پایه 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 مربی قدیمی پشت بیشتر LoRAهای Stable Diffusion است و شاخه Flux دارد. FluxGym یک رابط وب یک صفحهای روی آن با پیشتنظیمهای ۱۲، ۱۶ و ۲۰ گیگابایت است. خوب است وقتی میخواهید فرم پر کنید نه فایل ویرایش.
- OneTrainer: برنامه دسکتاپ با رابط کاربری دوستانه برای SDXL و Flux.1. اگر LoRAهای SDXL هم آموزش میدهید و یک ابزار میخواهید، انتخاب کنید.
- مربیهای آنلاین: مربی سایت Civitai و مربیهای Flux در سایتهای میزبانی GPU یک فایل زیپ عکس میگیرند و فایل برمیگردانند. هزینه هر اجرا به صورت اعتبار است و تنظیمات را پنهان میکنند، اما کارت گرافیک لازم ندارید. فایل تولید شده به همان روش در Graydient وارد میشود.
مرحله ۵: تنظیم پنج عدد مهم
هر مربی دهها گزینه دارد. پیشفرضها را دست نزنید به جز اینها که تعیین میکنند LoRA چقدر قوی، عمومی و بزرگ باشد:
| تنظیم | Flux.1 dev | Flux 2 Klein 4B (پایه) |
|---|---|---|
| رتبه شبکه (dim) | ۱۶ برای چهره یا شی، ۳۲ برای سبک دقیق | ۱۶؛ ۳۲ برای سبکها |
| آلفا | برابر با رتبه | برابر با رتبه |
| نرخ یادگیری | ۱e-4 تا ۲e-4 (Prodigy یا Adafactor اگر مربی ارائه دهد) | ۱e-4 |
| گامها | ۱۰۰۰ تا ۲۰۰۰، تا هر تصویر ۶۰ تا ۱۲۰ بار دیده شود | ۱۰۰۰ تا ۲۰۰۰ |
| وضوح | ۱۰۲۴ (۷۶۸ اگر حافظه کم باشد) | ۱۰۲۴ |
| اندازه دسته | ۱ (۲ روی ۲۴ گیگابایت) | ۱ یا ۲ |
| دقت پایه | پایه fp8 با بهینهساز ۸ بیتی روی ۱۲ تا ۱۶ گیگابایت؛ bf16 روی ۲۴ گیگابایت و بالاتر | bf16 روی ۱۶ گیگابایت جا میشود؛ fp8 روی ۱۲ گیگابایت |
تنظیم کنید مربی هر ۲۵۰ گام یک نقطه ذخیره کند و در هر ذخیره دو تصویر نمونه با همان پرامپت و بذر رندر کند. این نمونهها برای انتخاب برنده هستند. Flux.1 dev و Flux 2 dev راهنمایی تقطیر شده دارند؛ مربیان این کار را برای شما انجام میدهند، پس تنظیم راهنمایی را روی پیشفرض بگذارید.
گام ۶: آموزش
- اجرای آموزش را شروع کنید و در دقیقه اول حافظه را زیر نظر بگیرید. اگر کارت پر شد و به حافظه سیستم ریخت، متوقف کنید: آموزش ده برابر طولانیتر میشود و ممکن است کرش کند.
- اگر حافظه ریخت، پایه را به fp8 تغییر دهید، چکپوینتگیری گرادیان را روشن کنید، از بهینهساز ۸ بیتی AdamW یا Adafactor استفاده کنید، وضوح را به ۷۶۸ کاهش دهید و دسته را روی ۱ نگه دارید. هر کدام از اینها چند گیگابایت آزاد میکند.
- وقتی بدون مشکل اجرا شد، رهایش کنید. Flux.1 dev برای ۱۵۰۰ گام روی کارت ۱۶ گیگابایتی یک تا دو ساعت طول میکشد؛ Klein 4B سریعتر است؛ Flux 2 dev حدود یک ساعت روی کارت ۴۸ گیگابایتی اجارهای طول میکشد.
- تصاویر نمونه را هنگام ظاهر شدن نگاه کنید. موضوع معمولاً تا گام ۵۰۰ ظاهر میشود و تا ۱۰۰۰ محکم میشود. اگر در ۷۵۰ کامل بود، میتوانید زودتر متوقف شوید.
آموزش کند و پر سر و صدا است، نه شکننده. اجرای آموزش که دقیقه اول را رد کند تقریباً همیشه تمام میشود. اگر مربی شما دارد، قبل از آموزش latentها و متن جاسازیها را کش کنید؛ این حافظه و زمان را در هر اجرا ذخیره میکند.
گام ۷: تست و انتخاب نقطه ذخیره مناسب
آخرین نقطه ذخیره به ندرت بهترین است. LoRAهای بیشآموزشدیده پسزمینههای دیتاست را کپی میکنند، کنتراست را میسوزانند و به پرامپتها گوش نمیدهند. همه را تست کنید:
- چهار پرامپت بنویسید که در دیتاست نیست: یک مکان جدید، یک لباس جدید، نور متفاوت، رسانه متفاوت. بذر را ثابت کنید.
- هر نقطه ذخیره را با چهار پرامپت در وزنهای LoRA ۰.۶، ۰.۸ و ۱.۰ رندر کنید.
- اولین نقطه ذخیرهای که موضوع را درست میزند و هنوز پرامپتهای جدید را دنبال میکند انتخاب کنید. نقاط بعدی معمولاً بیشپختهاند؛ نقاط قبلی مبهماند.
- برنده را به نامی که یک سال بعد در کتابخانه میشناسید تغییر نام دهید، مثل موضوع و پایه: my-flux-lora، نه lora_000750.
کارت گرافیک ندارید؟ یک ساعت اجاره کنید
آموزش Flux 2 dev یا هر آموزش Flux روی لپتاپ، روی کارت اجارهای ارزانتر از زمان خودتان است. کارت ۲۴ یا ۴۸ گیگابایتی قیمتش خیلی کمتر از قیمت یک قهوه در ساعت در بازارهای اجاره GPU است، و یک Flux LoRA به یک تا دو ساعت نیاز دارد.
- یک ماشین با کارت ۲۴ گیگابایت برای Flux.1 dev یا Klein، ۴۸ گیگابایت برای Flux 2 dev اجاره کنید. اگر بازار قالبی با مربی نصبشده دارد، انتخاب کنید؛ قالبهای AI Toolkit رایجاند.
- پوشه دیتاست را آپلود کنید، همان تنظیمات بالا را اجرا کنید و نقاط ذخیرهای که میخواهید تست کنید را دانلود کنید. دیتاست و وزنها مال شما باقی میمانند.
- وقتی دانلود تمام شد، ماشین را خاموش کنید. کل کار، شامل راهاندازی، معمولاً کمتر از دو ساعت اجاره است.
LoRA Flux خود را در Graydient استفاده کن
Graydient برای رندر با آن نیاز به فایل روی کامپیوتر شما ندارد. آن را جایی بگذارید که Graydient بتواند بگیرد و لینک را وارد کنید:
- فایل .safetensors را در مخزنی در حساب Hugging Face خود (عمومی یا خصوصی) آپلود کنید، یا در Civitai منتشر کنید با مدل پایه تنظیم شده روی نسخه Flux که آموزش دادهاید.
- ورود به Graydient، وارد Model Import از کتابخانه داشبورد خود شوید و لینک مستقیم فایل از Hugging Face یا لینک صفحه Civitai را بچسبانید. مراحل کامل در چگونه مدلهای Civitai و Hugging Face را در Graydient وارد کنیم است.
- منتظر بمانید تا LoRA در کتابخانه شما ظاهر شود و ShortCode که Graydient داده را کپی کنید.
- با تگ LoRA و پایه متناظر در هر اپ Graydient رندر کنید:
<lora:my-flux-lora:0.8> <flux-dev>برای LoRA Flux.1، یا<lora:my-flux2-lora:0.8> <flux2>برای LoRA Flux 2. هر اپ، وزن و قانون انباشتن در راهنمای مبتدی برای Flux و Flux 2 LoRAها در Graydient است.
یک رندر کامل اول برای Telegram یا Discord، با کلمه محرک اول و LoRA روی ۰.۸ روی پایه 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 تحت مجوز غیرتجاری است.
- تصاویر دیتاست شما حقوق خود را دارند. فقط روی عکسهایی که خودتان گرفتهاید یا مالک آن هستید آموزش دهید، و هرگز روی شخص واقعی بدون رضایتش.
اگر مشکلی پیش آمد
- کمبود حافظه در دقیقه اول: پایه fp16 به همراه بهینهساز جا نمیشود. به fp8، AdamW یا Adafactor ۸ بیتی، چکپوینتگیری گرادیان، وضوح ۷۶۸، دسته ۱ تغییر دهید. اگر هنوز ریخت، کارت اجاره کنید.
- LoRA کل تصویر را تغییر میدهد، نه فقط موضوع: کپشنها پسزمینه و نور را توصیف نکردهاند، پس مربی آنها را بخشی از کلمه محرک یاد گرفته. کپشنها را با زمینه کامل اصلاح کنید و دیتاست را متنوع کنید.
- صورت در وزن ۱.۰ درست است ولی پرامپتها نادیده گرفته میشوند: بیشآموزشدیده. از نقطه ذخیره قبلی استفاده کنید. در اجرای بعدی، گامها را نصف کنید یا نرخ یادگیری را به ۵e-۵ کاهش دهید.
- فقط شباهت مبهم در هر وزنی: کمآموزشدیده یا دیتاست خیلی یکنواخت است. گامها را در بلوکهای ۵۰۰ گامی اضافه کنید، یا تصاویر با زاویههای جدید اضافه کنید.
- LoRA روی Graydient هیچ کاری نمیکند: پایه مطابقت ندارد. LoRA Flux.1 به
<flux-dev>نیاز دارد؛ LoRA Flux 2 به<flux2>نیاز دارد. همچنین بررسی کنید که کلمه محرک در پرامپت باشد. - آموزش اجرا میشود ولی خیلی کند است: به حافظه سیستم ریخته یا دیتاست روی درایو کند است. حافظه را طبق نکته اول اصلاح کنید، latentها را کش کنید و دیتاست را به SSD منتقل کنید.
این کل روش است: یک پایه، ۲۰ تصویر تمیز، کپشنهای صادقانه، پنج عدد، یک اجرا، یک تست. اولین LoRA Flux شما بهترین نخواهد بود و دومی نصف زمان میبرد. وقتی فایل وجود دارد، ورود به Graydient یا طرحها و قیمتها را مقایسه کنید تا هر چند بار که میخواهید با آن رندر کنید. هر طرح شامل ضمانت بازگشت پول ۷ روزه است.
سؤالات
آیا Graydient میتواند برای من یک LoRA Flux آموزش دهد؟
خیر. Graydient یک سرویس رندر با نرخ ثابت است؛ LoRAها را اجرا میکند اما آموزش نمیدهد. روی کارت خود، کارت اجارهای یا مربی آنلاین طبق توضیحات بالا آموزش دهید، سپس فایل را وارد کنید. رندر با آن بعداً در هر طرح هزینه اضافی ندارد.
چند تصویر برای یک LoRA Flux نیاز دارم؟
۱۵ تا ۳۰ برای یک صورت، محصول یا شیء؛ ۳۰ تا ۶۰ برای یک سبک. Flux از مجموعههای کوچک یاد میگیرد. بعد از ۱۰۰ تصویر، شما در حال تنظیم دقیق هستید، نه آموزش یک LoRA، و به مراحل و حافظه بیشتری نیاز دارید.
چقدر VRAM برای آموزش Flux LoRA نیاز است؟
۱۲ تا ۱۶ گیگابایت برای Flux.1 dev یا Flux 2 Klein 4B با پایه در fp8 و بهینهساز ۸ بیتی. حدود ۲۴ گیگابایت برای Klein 9B. حداقل ۲۴ گیگابایت و ۴۸ گیگابایت راحت برای Flux 2 dev. برای دو مورد آخر بهتر است اجاره کنید مگر اینکه کارت ۴۰۹۰ یا ۵۰۹۰ داشته باشید.
چقدر طول میکشد؟
یک تا دو ساعت برای Flux.1 dev روی کارت ۱۶ گیگابایتی با ۱۵۰۰ مرحله، کمتر برای Klein 4B، و حدود یک ساعت برای Flux 2 dev روی کارت ۴۸ گیگابایتی اجارهای. کپشنگذاری و تست اولین بار یک ساعت اضافه میکند.
آیا میتوانم یک Flux 2 LoRA را همانند Flux.1 LoRA آموزش دهم؟
بله، با همان مجموعه داده و کپشنها. LoRAهای Klein را روی چکپوینتهای پایه Klein (4B Base یا 9B Base) آموزش دهید، نه روی نسخههای تقطیر شده ۴ مرحلهای، و به یاد داشته باشید که نتیجه فقط روی همان اندازه Klein اجرا میشود. Flux 2 dev به حافظه بیشتری نیاز دارد، بنابراین اکثر افراد آن را اجاره میکنند.
آیا برای Flux LoRA به کلمه محرک نیاز دارم؟
برای یک شخص یا شیء، بله: یک کلمه ساختگی در ابتدای هر کپشن که سپس در ابتدای هر پرامپت قرار میدهید. برای یک سبک، اگر کپشنها محتوا را توصیف کنند و نه سبک را، نیازی به کلمه محرک نیست؛ در این صورت LoRA روی همه چیز اعمال میشود.
آیا میتوانم LoRA را خصوصی نگه دارم؟
بله. آن را در یک مخزن خصوصی Hugging Face آپلود کنید و لینک فایل را هنگام ورود به Hugging Face وارد کنید؛ Graydient فقط فایلهایی را میگیرد که حساب شما اجازه دانلودشان را دارد. کتابخانه شما فقط برای شماست و فایل هرگز در ModelTrends یا هیچ جای عمومی ظاهر نمیشود.