أدوات الذكاء الاصطناعي 101
Flux بواسطة Black Forest Labs: القفزة التالية في نماذج الصورة إلى النص. هل هي أفضل من Midjourney؟
Black Forest Labs، الفريق وراء نموذج Stable Diffusion الرائد، قد أصدر Flux – مجموعة من النماذج التي توعد بتعريف إمكانيات الصور التي تم إنشاؤها بواسطة الذكاء الاصطناعي. ولكن هل Flux حقًا يمثل قفزة إلى الأمام في هذا المجال، وكيف يقارن مع القادة في الصناعة مثل Midjourney؟ دعونا نغوص深ًا في عالم Flux ونتعرف على إمكاناته في تشكيل مستقبل الفن والوسائط التي تم إنشاؤها بواسطة الذكاء الاصطناعي.
ميلاد Black Forest Labs
Black Forest Labs ليست مجرد شركة بدء تشغيل أخرى؛ إنها قوة من المواهب مع سجل حافل بتطوير نماذج الذكاء الاصطناعي التوليدية الأساسية. يتضمن الفريق منشئي VQGAN و Latent Diffusion و عائلة نماذج Stable Diffusion التي أصبحت ظاهرة في عالم الفن الذي تم إنشاؤه بواسطة الذكاء الاصطناعي.
مع جولة تمويل Seed الناجحة بقيمة 31 مليون دولار بقيادة Andreessen Horowitz ودعم من المستثمرين الملاك البارزين، وضعت Black Forest Labs نفسها في طليعة أبحاث الذكاء الاصطناعي التوليدية. مهمتهم واضحة: تطوير وتقدم نماذج الذكاء الاصطناعي التوليدية sâu لوسائط مثل الصور و مقاطع الفيديو، مع دفع حدود الإبداع والكفاءة والتنوع.
تقديم عائلة نماذج Flux
Black Forest Labs قد قدمت FLUX.1، وهي مجموعة من نماذج الصورة إلى النص المصممة لتحديد معايير جديدة في تفاصيل الصورة والامتثال للتعليمات والتنوع في الأسلوب و複雑ية المشهد. تتكون عائلة Flux من ثلاثة متغيرات، كل واحدة مصممة لاستخدامات و مستويات إمكانية الوصول المختلفة:
- FLUX.1 [pro]: النموذج الرئيسي، الذي يقدم أداء من الدرجة الأولى في إنشاء الصور مع اتباع تعليمات متفوقة وجودة بصرية و تفاصيل صورة وتنوع إخراج. متاح عبر واجهة برمجة التطبيقات، يتم وضعها كخيار متميز للاستخدام المهني و المؤسسي.
- FLUX.1 [dev]: نموذج مفتوح الوزن، يتم استخلاصه بواسطة Guidance-Distilled للاستخدامات غير التجارية. تم تصميمه لتحقيق جودة و اتباع تعليمات مماثلة لنسخة Pro، مع كونها أكثر كفاءة.
- FLUX.1 [schnell]: أسرع نموذج في المجموعة، يتم تحسينه للاستخدام المحلي و التطوير الشخصي. متاح بشكل مفتوح تحت رخصة Apache 2.0، مما يجعله متاحًا لاستخدامات و تجارب واسعة النطاق.
سأقدم بعض الأمثلة الفريدة والإبداعية لتعليمات FLUX.1 التي تبرز قدراته. ستسلط هذه التعليمات الضوء على قوة النموذج في معالجة النصوص والتركيبات المعقدة والعناصر الصعبة مثل اليدين.
- الدمج الفني للنص: “أنشئ صورة لفينسنت فان جوخ بأسلوبه المميز، ولكن استبدل لحيةه بالضربات الفرشية الملتوية التي تشكل كلمات ‘الليلة النجمية’ بخط متصل.”
- مشهد 动作 مع دمج النص: “البطل الخارق يندفع من خلال صفحة القصة المصورة. يجب أن تشكل خطوط الحركة وآثار الصوت اسم البطل ‘FLUX FORCE’ بخط ديناميكي وجريء.”
- مفهوم خيالي مع وضع كائن دقيق: “صورة مقربة لقطة بنية وبيضاء تحت ضوء الشمس من النافذة. التركيز الحاد على 질ة العين ولونها. الإضاءة الطبيعية لالتقاط لمعان العين والعمق الحقيقي.”
تم تصميم هذه التعليمات لتحدي قدرات FLUX.1 في معالجة النصوص والتركيبات المعقدة والعناصر الصعبة مثل اليدين، مع تسليط الضوء على إمكاناتها الإبداعية والفريدة لإنشاء الصور.
الابتكارات الفنية وراء Flux
في قلب قدرات Flux المثيرة للإعجاب تقع سلسلة من الابتكارات الفنية التي تميزها عن سلالتها وسابقتها:
نماذج التدفق التي تعمل بالتحويلات عند المقاييس الكبيرة
جميع نماذج FLUX.1 العامة مبنية على هيكل هجين يجمع بين كتل التوليد المتوازي والتحويلات المتعددة، مع مقياس يصل إلى 12 مليار معامل. يمثل هذا قفزة كبيرة في حجم النموذج و複雑ية مقارنة بالعديد من نماذج الصورة إلى النص الحالية.
تتحسن نماذج Flux عن نماذج التوليد السابقة من خلال دمج مطابقة التدفق، وهي طريقة عامة وبسيطة概念يًا لتدريب نماذج التوليد. توفر مطابقة التدفق إطارًا أكثر مرونة لنمذجة التوليد، مع أن نماذج التوليد هي حالة خاصة ضمن هذا النهج الأوسع.
为了 mejorar أداء النموذج و كفاءة الأجهزة، قامت Black Forest Labs بدمج التضمين الموضعي الدوري وطبقات الانتباه المتوازي. تسمح هذه التقنيات بمعالجة أفضل للعلاقات المكانية في الصور ومعالجة بيانات كبيرة الحجم بكفاءة أكبر.
الابتكارات الهيكلية
دعونا نناقش بعض العناصر الهيكلية الرئيسية التي تساهم في أداء Flux:
- الهيكل الهجين: من خلال الجمع بين كتل التوليد المتوازي والتحويلات المتعددة، يمكن للنماذج Flux معالجة المعلومات النصية والبصرية بشكل فعال، مما يؤدي إلى تحسين الانطباق بين التعليمات والصور المولدة.
- مطابقة التدفق: هذا النهج يسمح بتدريب أكثر مرونة وكفاءة لنماذج التوليد. يوفر إطارًا موحدًا يضم نماذج التوليد و تقنيات توليد أخرى، مما قد يؤدي إلى توليد صور أكثر متانة وتنوعًا.
- التضمين الموضعي الدوري: يساعد هذا التضمين النموذج على فهم والعناية بالعلاقات المكانية داخل الصور، وهو أمر حاسم لإنشاء محتوى بصرية متسقة و مفصل.
- طبقات الانتباه المتوازي: تقنية تسمح بمعالجة أكثر كفاءة لآليات الانتباه، التي تعتبر حاسمة لفهم العلاقات بين عناصر مختلفة في كل من التعليمات النصية والصور المولدة.
- الscaling إلى 12B المعاملات: حجم النموذج الكبير يسمح له بتقاط وتنسيق أنماط و علاقات أكثر تعقيدًا، مما قد يؤدي إلى إنتاج صور عالية الجودة وأكثر تنوعًا.
اختبار Flux: معيار جديد في توليد الصور
تطالب Black Forest Labs بأن FLUX.1 يحدد معايير جديدة في توليد الصور، متجاوزًا نماذج شائعة مثل Midjourney v6.0 و DALL·E 3 (HD) و SD3-Ultra في عدة جوانب رئيسية:
- الجودة البصرية: يهدف Flux إلى إنتاج صور بأعلى دقة وأفاصيل أكثر واقعية وجودة بصرية أفضل.
- الامتثال للتعليمات: تم تصميم النموذج لينفذ التعليمات النصية بدقة أكبر، مولدًا صورًا ت phảnعكس نوايا المستخدم بدقة أكبر، خاصة对于 الطلبات المعقدة أو الدقيقة.
- تنوع الحجم/النسبة: يدعم Flux مجموعة واسعة من النسب و الدقة، من 0.1 إلى 2.0 ميجابيكسل، مما يوفر مرونة لاستخدامات مختلفة.
- الطباعة: يظهر النموذج تحسينات في توليد و عرض النص داخل الصور، وهو تحدي شائع ل许多 نماذج الصورة إلى النص.
- تنوع الإخراج: تم تحسين Flux خصيصًا للحفاظ على تنوع الإخراج الكامل من التدريب المسبق، مما يوفر مجموعة أوسع من الإمكانيات الإبداعية.
Flux مقابل Midjourney: تحليل مقارن
الآن، دعونا نطرح السؤال الحار: هل Flux أفضل من Midjourney؟ للجواب على هذا السؤال، يجب أن نأخذ في الاعتبار عدة عوامل:
جودة الصورة و الجمال
كلا النموذجين، Flux و Midjourney، معروفان بإنشاء صور عالية الجودة وجميلة بصريًا. تمت مدح Midjourney لانحناءتها الفنية وقدرتها على إنشاء صور ذات جمال فريد. Flux، مع هيكله المتقدم وعدد المعاملات الأكبر، يهدف إلى مطابقة أو تجاوز هذا المستوى من الجودة.
تظهر الأمثلة الأولى من Flux تفاصيل مثيرة للإعجاب وتنسيقًا واقعيًا وقوة في معالجة الإضاءة والتركيبات. ومع ذلك، الطبيعة الخاضعة للذوق في الفن يجعل من الصعب المطالبة بتفوق واضح في هذا المجال. قد يجد المستخدمون أن كل نموذج له نقاط قوة في أنماط أو أنواع صور معينة.
الامتثال للتعليمات
منطقة واحدة حيث Flux قد يتغلب على Midjourney هي في الامتثال للتعليمات. لقد شددت Black Forest Labs على تركيزها على تحسين قدرة النموذج على تفسير وتنفيذ التعليمات النصية بدقة. قد يؤدي هذا إلى صور مولدة ت phảnعكس نوايا المستخدم بدقة أكبر، خاصة对于 الطلبات المعقدة أو الدقيقة.
Midjourney قد تم انتقاده أحيانًا لاتخاذه لمحاولات إبداعية مع التعليمات، مما يؤدي إلى نتائج جميلة ولكن غير متوقعة. قد يوفر подход Flux أكثر دقة في السيطرة على الإخراج المولد.
السرعة والكفاءة
مع تقديم FLUX.1 [schnell]، تهدف Black Forest Labs إلى واحدة من نقاط قوة Midjourney الرئيسية: السرعة. Midjourney مشهورة بسرعة توليدها، مما جعلها شائعة لعمليات الإبداع التكرارية. إذا كان Flux يمكن أن يطابق أو يتجاوز هذه السرعة مع الحفاظ على الجودة، قد يكون هذا نقطة بيع هامة.
الوصول وسهولة الاستخدام
Midjourney اكتسبت شعبية جزئيًا بسبب واجهة المستخدم الصديقة وتكاملها مع Discord. Flux، كنموذج جديد، قد تحتاج إلى وقت لتطوير واجهات مماثلة سهلة الاستخدام. ومع ذلك، الطبيعة المفتوحة للمodels FLUX.1 [schnell] و [dev] قد تؤدي إلى مجموعة واسعة من الأدوات والتكاملات التي تم تطويرها من قبل المجتمع، مما قد يتجاوز Midjourney فيما يتعلق بالتنوع والتعديل.
القدرات الفنية
هيكل Flux المتقدم وعدد المعاملات الأكبر يشيران إلى أنه قد يكون لديه قدرات خام أكثر في فهم التعليمات المعقدة وتوليد تفاصيل دقيقة. قد يسمح подход مطابقة التدفق والهيكل الهجين Flux بمعالجة مجموعة أوسع من المهام وتوليد مخرجات أكثر تنوعًا.
الاعتبارات الأخلاقية وتخفيف الانحياز
كلا النموذجين، Flux و Midjourney، يواجهان تحدي مواجهة القضايا الأخلاقية في الصور التي تم إنشاؤها بواسطة الذكاء الاصطناعي، مثل الانحياز و المعلومات الخاطئة و قضايا حقوق النشر. تركيز Black Forest Labs على الشفافية و التزامها بجعل النماذج متاحة على نطاق واسع قد يؤدي إلى رقابة مجتمعية أكثر صلابة وتحسينات أسرع في هذه المجالات.
تنفيذ الكود و النشر
استخدام Flux مع Diffusers
يمكن دمج نماذج Flux بسهولة في سير العمل الحالية باستخدام مكتبة Hugging Face Diffusers. هنا دليل خطوة بخطوة لاستخدام FLUX.1 [dev] أو FLUX.1 [schnell] مع Diffusers:
- أولاً، قم بتثبيت أو تحديث مكتبة Diffusers:
!pip install git+https://github.com/huggingface/diffusers.git
- ثم يمكنك استخدام FluxPipeline لتشغيل النموذج:
import torch
from diffusers import FluxPipeline
# تحميل النموذج
pipe = FluxPipeline.from_pretrained("black-forest-labs/FLUX.1-dev", torch_dtype=torch.bfloat16)
# تمكين الإيقاف المؤقت لتشغيل CPU (اختياري)
pipe.enable_model_cpu_offload()
# إنشاء صورة
prompt = "قطة تمسك لافتة تحمل كلمة مرحبا بالعالم"
image = pipe(
prompt,
height=1024,
width=1024,
guidance_scale=3.5,
output_type="pil",
num_inference_steps=50,
max_sequence_length=512,
generator=torch.Generator("cpu").manual_seed(0)
).images[0]
# حفظ الصورة المولدة
image.save("flux-dev.png")
يظهر هذا الشفرة كيفية تحميل نموذج FLUX.1 [dev]، إنشاء صورة من تعليمات نصية، و حفظ النتيجة.
نشر Flux كواجهة برمجة تطبيقات مع LitServe
لأولئك الذين يبحثون عن نشر Flux كخدمة واجهة برمجة تطبيقات قابلة للتطوير، توفر Black Forest Labs مثالًا باستخدام LitServe، وهو محرك استدلال عالي الأداء. هنا تحليل للعملية:
تحديد خادم النموذج:
from io import BytesIO
from fastapi import Response
import torch
import time
import litserve as ls
from optimum.quanto import freeze, qfloat8, quantize
from diffusers import FlowMatchEulerDiscreteScheduler, AutoencoderKL
from diffusers.models.transformers.transformer_flux import FluxTransformer2DModel
from diffusers.pipelines.flux.pipeline_flux import FluxPipeline
from transformers import CLIPTextModel, CLIPTokenizer, T5EncoderModel, T5TokenizerFast
class FluxLitAPI(ls.LitAPI):
def setup(self, device):
# تحميل مكونات النموذج
scheduler = FlowMatchEulerDiscreteScheduler.from_pretrained("black-forest-labs/FLUX.1-schnell", subfolder="scheduler")
text_encoder = CLIPTextModel.from_pretrained("openai/clip-vit-large-patch14", torch_dtype=torch.bfloat16)
tokenizer = CLIPTokenizer.from_pretrained("openai/clip-vit-large-patch14", torch_dtype=torch.bfloat16)
text_encoder_2 = T5EncoderModel.from_pretrained("black-forest-labs/FLUX.1-schnell", subfolder="text_encoder_2", torch_dtype=torch.bfloat16)
tokenizer_2 = T5TokenizerFast.from_pretrained("black-forest-labs/FLUX.1-schnell", subfolder="tokenizer_2", torch_dtype=torch.bfloat16)
vae = AutoencoderKL.from_pretrained("black-forest-labs/FLUX.1-schnell", subfolder="vae", torch_dtype=torch.bfloat16)
transformer = FluxTransformer2DModel.from_pretrained("black-forest-labs/FLUX.1-schnell", subfolder="transformer", torch_dtype=torch.bfloat16)
# تحسين النموذج إلى 8 بت لتناسب جهاز L4 GPU
quantize(transformer, weights=qfloat8)
freeze(transformer)
quantize(text_encoder_2, weights=qfloat8)
freeze(text_encoder_2)
# تهيئة خط أنابيب Flux
self.pipe = FluxPipeline(
scheduler=scheduler,
text_encoder=text_encoder,
tokenizer=tokenizer,
text_encoder_2=None,
tokenizer_2=tokenizer_2,
vae=vae,
transformer=None,
)
self.pipe.text_encoder_2 = text_encoder_2
self.pipe.transformer = transformer
self.pipe.enable_model_cpu_offload()
def decode_request(self, request):
return request["prompt"]
def predict(self, prompt):
image = self.pipe(
prompt=prompt,
width=1024,
height=1024,
num_inference_steps=4,
generator=torch.Generator().manual_seed(int(time.time())),
guidance_scale=3.5,
).images[0]
return image
def encode_response(self, image):
buffered = BytesIO()
image.save(buffered, format="PNG")
return Response(content=buffered.getvalue(), headers={"Content-Type": "image/png"})
# تشغيل الخادم
if __name__ == "__main__":
api = FluxLitAPI()
server = ls.LitServer(api, timeout=False)
server.run(port=8000)
هذا الشفرة يحدد خادم Flux كواجهة برمجة تطبيقات، بما في ذلك تحميل النموذج ومعالجة الطلبات وإنشاء الصور وتشفير الإجابة.
تشغيل الخادم:
python server.py
استخدام نموذج واجهة برمجة التطبيقات:
يمكن اختبار واجهة برمجة التطبيقات باستخدام سكريبت عميل بسيط:
import requests
import json
url = “http://localhost:8000/predict”
prompt = “رو


















