بلک فارست لبز (Black Forest Labs) مدل جدید خود به نام FLUX.3 Image Klein را منتشر کرده است. این مدل که از روز اول در کتابخانه Diffusers در دسترس است، یک مدل واحد برای تولید متنبهتصویر، تصویربهتصویر چندمرجعی و قابلیت جدید کنترل چیدمان با جعبههای مرزی ارائه میدهد.
مدل FLUX.3 Image Klein چیست؟
FLUX.3 Image Klein یک مدل تولید تصویر است که در دو نسخه متنباز منتشر شده است. نسخه اصلی (base) برای تنظیم دقیق و نسخه تقطیرشده (distilled) برای استنتاج سریع طراحی شده است. هر دو نسخه در مجموعه FLUX.3 Image Klein در Hugging Face در دسترس هستند.
| نام مدل | توضیح | پیشفرضها |
|---|---|---|
| black-forest-labs/flux-3-image-klein | تقطیر شده با گام زمانی، برای استنتاج سریع | ۱۶ گام، بدون CFG |
| black-forest-labs/flux-3-image-klein-base | مدل پایه | ۵۰ گام، با CFG |
قابلیتهای اصلی FLUX.3
این مدل سه قابلیت اصلی دارد که آن را از مدلهای قبلی متمایز میکند:
- متنبهتصویر: تولید تصویر از توصیف کامل صحنه شامل سوژه، محیط، نور، ترکیببندی و سبک
- تصویربهتصویر چندمرجعی: استفاده از چند تصویر مرجع با ارجاع به آنها در متن به صورت <ref_image_0>، <ref_image_1> و...
- کنترل چیدمان: تعیین موقعیت هر بخش از تصویر با جعبههای مرزی (bounding boxes) در متن
کنترل چیدمان با جعبههای مرزی
قابلیت جدید کنترل چیدمان به کاربر اجازه میدهد تا با نوشتن جعبههای مرزی در متن، مشخص کند هر بخش از تصویر کجا قرار بگیرد. جعبهها به صورت [y_min, x_min, y_max, x_max] با مقیاس ۰ تا ۱۰۰۰ نوشته میشوند. از آنجا که مقیاس نرمالشده است، همان جعبه در هر اندازه تصویری کار میکند.
برای مثال، میتوان یک پسزمینه سبز-زرد نئونی با بافت کاغذی و یک سیلوئت سیاه از یک فرد در حال دویدن را در جعبههای مشخصی قرار داد. هر منطقه با یک شناسه (id) و توصیف (desc) تعریف میشود.
جابهجایی مناطق در تصویر مرجع
برای ویرایش تصاویر، هر منطقه مشخص میکند که محتوای آن از کجا میآید (src_bbox در مرجع) و به کجا میرود (tgt_bbox در خروجی). منطقهای که دو جعبه یکسان داشته باشد، در جای خود باقی میماند.
در مثال ارائهشده، یک شوالیه بافتنی خاکستری در امتداد صخره نخی به سمت بالا و چپ حرکت میکند، در حالی که پسزمینه، صخره، سوزن، اژدها و آتش در جای خود ثابت میمانند.
نسخههای کوانتیزه و فایل تکی
بلک فارست لبز ترنسفورمر را به صورت فایل تکی در سه فرمت منتشر کرده است: bf16، fp8r (FP8 سطری) و nvfp4. هر یک از این نسخهها را میتوان با from_single_file بارگذاری کرد.
| نسخه | GPUهای سریع | سایر GPUها |
|---|---|---|
| fp8r | قابلیت محاسبه ۸.۹+ (Ada، Hopper، Blackwell) | وزنها هر گام dequantize میشوند: حافظه کمتر، بدون افزایش سرعت |
| nvfp4 | Blackwell با flashinfer-python و flashinfer-cubin همنسخه | همانند بالا |
تنظیم دقیق با LoRA
FLUX.3 برای هر دو کار متنبهتصویر و تصویربهتصویر کار میکند و پایه خوبی برای LoRAهای سفارشی است. Diffusers اسکریپتهای آموزشی DreamBooth LoRA را برای هر دو کار ارائه میدهد.
برای مثال، میتوان سبک کارت تاروت را از مجموعه داده عمومی یاد گرفت و با یک کلمه محرک (مثل trtcrd) آن را فعال کرد. پارامترهایی مانند rank، نرخ یادگیری و تعداد گامها قابل تنظیم هستند.
برای کاهش مصرف حافظه، میتوان از پرچمهای بهینهسازی مانند --gradient_checkpointing، --cache_latents و --use_8bit_adam استفاده کرد.
هزینه اجرا: حافظه و سرعت
مدل FLUX.3 در نسخههای مختلف مصرف حافظه متفاوتی دارد. نسخه nvfp4 روی RTX6000 حدود ۱۳.۴ گیگابایت حافظه اختصاصی پس از بارگذاری و ۱۵.۳ گیگابایت پس از استنتاج مصرف میکند. نسخه fp8r روی H100 به ترتیب ۱۴.۳۵ و ۱۶.۲۷ گیگابایت و نسخه bf16 روی H100 به ترتیب ۱۸.۸۰ و ۲۰.۷۲ گیگابایت مصرف میکند.
برای سیستمهای با حافظه کمتر، راهحلهایی مانند بارگذاری ترنسفورمر کوانتیزه، اجرای جداگانه انکودر متن و آزادسازی آن، و فعالسازی بارگذاری خودکار CPU پیشنهاد شده است.
سرعت تولید
زمانهای اندازهگیریشده برای نسخه تقطیرشده (۱۶ گام) روی یک GPU H100 80GB به این صورت است:
| گردش کار | اندازه خروجی | زمان | حافظه اوج |
|---|---|---|---|
| متنبهتصویر | ۱۰۲۴ × ۱۰۲۴ | ۱.۹۳ ثانیه | ۲۳.۸ گیگابایت |
| تصویربهتصویر با یک مرجع ۱۰۲۴×۱۰۲۴ | ۱۰۲۴ × ۱۰۲۴ | ۳.۸۷ ثانیه | ۲۳.۸ گیگابایت |
| ویرایش چیدمان (شوالیه) با مرجع ۱۳۶۰×۷۶۸ | ۱۳۶۰ × ۷۶۸ | ۴.۱۰ ثانیه | ۲۳.۸ گیگابایت |
یک تصویر مرجع تقریباً زمان تولید را دو برابر میکند، زیرا توکنهای مرجع به همان دنباله متن و تصویر در حال تولید اضافه میشوند.
معماری مدل
FLUX.3 یک مدل جریان فضای پنهان (latent-space flow model) است. VAE تصویر را ۸ برابر در هر جهت فشرده میکند و هر پچ ۲×۲ به یک توکن با ۱۲۸ کانال تبدیل میشود. بنابراین یک توکن یک پچ ۱۶×۱۶ پیکسلی را پوشش میدهد و یک تصویر ۱۰۲۴×۱۰۲۴ به یک شبکه ۶۴×۶۴ از ۴۰۹۶ توکن تبدیل میشود.
انکودر متن Qwen3-VL است و FLUX.3 از هشت لایه از ۳۶ لایه آن (لایههای ۴، ۸، ...، ۳۲) استفاده میکند و آنها را روی هم میچیند. این کار به ترنسفورمر ویژگیهایی از چند عمق مدل زبانی میدهد، نه فقط لایه نهایی.
دو مرحله پردازش
ترنسفورمر توکنها را در دو مرحله پردازش میکند:
- مرحله ۱ - بلوکهای هر جریان: هر جریان (متن، تصویر نویزی، تصاویر مرجع) با وزنهای خود از ۵ بلوک عبور میکند و فقط به خودش توجه میکند.
- مرحله ۲ - بلوکهای مشترک: جریانها به یک دنباله [متن | تصویر | مرجع] ادغام میشوند و از ۲۸ بلوک با وزنهای مشترک عبور میکنند که همه به همه توجه میکنند.
در پایان، توکنهای متن و مرجع حذف میشوند و فقط توکنهای تصویر از لایههای خروجی عبور میکنند.
شروع کار با FLUX.3
برای استفاده از مدل، ابتدا باید آخرین نسخه diffusers و transformers را نصب کنید. سپس میتوانید نسخه تقطیرشده را بارگذاری کرده و با یک پرامپت ساده تصویر تولید کنید. مدل به توصیف کامل صحنه با سوژه، محیط، نور، ترکیببندی و سبک بهترین پاسخ را میدهد.
همچنین میتوانید از فضای Hugging Face برای تولید تصویر به صورت آنلاین استفاده کنید. برای اطلاعات بیشتر درباره آموزش LoRA و گزینههای کامل، به مستندات DreamBooth FLUX.3 مراجعه کنید.
پرسشهای متداول
FLUX.3 Image Klein چه قابلیتهایی دارد؟
این مدل یک مدل واحد است که متنبهتصویر، تصویربهتصویر چندمرجعی و کنترل چیدمان با جعبههای مرزی را پشتیبانی میکند.
سرعت تولید تصویر با FLUX.3 چقدر است؟
نسخه تقطیرشده (distilled) یک تصویر ۱۰۲۴×۱۰۲۴ را در حدود ۲ ثانیه روی یک GPU H100 تولید میکند.
آیا میتوان FLUX.3 را با LoRA تنظیم دقیق کرد؟
بله، اسکریپتهای آموزشی LoRA برای هر دو کار متنبهتصویر و ویرایش تصویر در Diffusers ارائه شده است.
منبع: Hugging Face



