النماذج التوليدية2021متقدم11 دقيقة قراءة

DALL·E: توليد الصور من النصوص بدون أمثلة

DALL·E: Zero-Shot Text-to-Image Generation

Ramesh, A. · Pavlov, M. · Goh, G. · Gray, S. · Voss, C. · Radford, A. · Chen, M. · Sutskever, I. — ICML

المشكلة

قبل DALL·E، كانت أنظمة توليد الصور من النصوص مبنيّة على بنيات مصمَّمة لمجالات بعينها، وتعتمد على دوال خسارة مساعدة ومعلومات إضافية كتسميات أجزاء الكائنات أو أقنعة التجزئة. هذه النماذج كانت تعمل بشكل جيد ضمن مجموعات بيانات محدودة النطاق — كصور الطيور والأزهار والوجوه — لكنها لم تكن قادرة على التعامل مع أوصاف نصّية مفتوحة ومتنوّعة. لم يُظهر أحد أن نموذجاً واحداً، يُدرَّب على نطاق واسع على أزواج من النصوص والصور دون هندسة مخصّصة للمهمة، يمكنه إنتاج صور متماسكة لأوصاف لم يصادفها قطّ — من «ساعة خماسية الأضلاع» إلى «حلزون مصنوع من قيثارة».

الإسهام

يطرح البحث منهجاً من مرحلتين يتعامل مع توليد الصور باعتباره مسألة تنبّؤ بتسلسل. في المرحلة الأولى يُدرَّب مُشفِّر متغيّري منفصل (dVAE) يضغط كل صورة بأبعاد 256×256 إلى شبكة 32×32 من الرموز المسحوبة من دفتر شفرات يتضمّن 8,192 مُدخلاً. في المرحلة الثانية يُدرَّب محوِّل انحداري ذاتي بـ 12 مليار معامل يعالج 256 رمزاً نصياً (بترميز BPE) و1,024 رمزاً بصرياً في سلسلة واحدة، ليتعلّم التوزيع المشترك بين النص والصورة. عند ، يُولّد النموذج 512 صورة مُرشَّحة لكل وصف، ثم يُعيد CLIP ترتيبها لاختيار الأعلى توافقاً مع النص. بدون أيّ ضبط دقيق خاص بمهمة معيّنة، يحقّق DALL·E أداءً في التوليد بدون أمثلة ينافس النماذج المتخصّصة على معيار MS-COCO.

الأثر

أثبت DALL·E أن مسألة توليد الصور من النصوص يمكن حلّها بالحجم والبساطة — محوِّل ضخم، ومجموعة بيانات كبيرة، وبدون حِيَل مصمَّمة لمجال بعينه. وبيَّن أن النماذج الانحدارية الذاتية المُدرَّبة على بيانات بحجم الإنترنت تستطيع تركيب مفاهيم لم ترها مجتمعة قطّ: دمج كائنات وسمات وعلاقات مكانية بأشكال جديدة تماماً. هذه الرؤية ألهمت مباشرةً GLIDE الذي استبدل المفكّك الانحداري بنموذج انتشار، وDALL·E 2، وImagen، وإطار الانتشار الكامن الذي يقوم عليه Stable Diffusion. بهذا فتح DALL·E الباب لعصر جديد من توليد الصور من النصوص.

تخيّل رسّاماً لا يعرف الرسم إلا بالأرقام. أوّلاً يأتي مساعد يدرس آلاف اللوحات ويُعدّ لوحة ألوان مرقّمة فيها 8,192 لوناً — كل رقم يمثّل رقعة صغيرة من ملمس ولون معيّنين. ثم يأتي راوٍ يقرأ وصفاً بصوت عالٍ — «نافذة زجاجية ملوّنة تصوّر فراشة» — فيبدأ الرسّام، الذي حفظ كيف تتحوّل القصص إلى تسلسلات من الأرقام، بوضع رقع الألوان واحدةً تلو الأخرى على لوح بحجم 32×32 خانة. الراوي لم يُرِ الرسّام فراشةً قطّ، لكن الرسّام يُعيد بناءها من إيقاع اللغة وحده.

DALL·E يعمل بالضبط بهذه الطريقة: يبني لوحة الألوان، و الضخم هو الرسّام، واللغة هي التعليمة الوحيدة.

الفكرة الجوهرية: الصور مجرّد جُمَل طويلة

الفكرة الأساسية وراء DALL·E بسيطة بشكل لافت: ماذا لو حوّلنا الصورة إلى سلسلة من المنفصلة — تماماً مثل الكلمات في جملة؟ عندها يمكننا نموذج لغوي يتنبّأ بهذه الرموز انطلاقاً من وصف نصّي. النموذج لا يتعامل مع البكسلات أبداً بشكل مباشر، بل يتعلّم التوزيع الاحتمالي المشترك لرموز النص متبوعةً برموز الصورة، ثم يُولّد الصور بسحب عيّنات من هذا التوزيع بأسلوب — رمزاً واحداً في كل خطوة.

هذا التصوّر يدمج فهم النص وتوليد الصور في بنية واحدة هي المحوِّل. لا حاجة لشبكات توليدية تنافسية، ولا لمُرمِّز نصّي منفصل يُغذّي مولّداً التفافياً، ولا لكاشفات كائنات. كل ما في الأمر سلسلة رموز واحدة وهدف تدريبي واحد: التنبّؤ بالرمز التالي — الهدف ذاته الذي يُشغّل GPT-3.

لكن هناك عقبة عمليّة: صورة ملوّنة بأبعاد 256×256 تحتوي على 196,608 قيمة بكسل. لو عاملنا كل بكسل كرمز مستقل، لاحتجنا إلى طول سلسلة يعجز أيّ محوِّل عن معالجته. الحل إذن هو الضغط — وهنا يأتي دور المُشفِّر المتغيّري المنفصل.

افتح في المختبر
خط أنابيب DALL·E الكامل: وصف نصّي ← رموز BPE + رموز صور dVAE ← المحوِّل يتنبّأ بالسلسلة ← مفكّك dVAE يُعيد بناء الصورة ← CLIP يُعيد ترتيب 512 مرشّحاً.
تستيقظ التجربة عند وصولك…

المرحلة الأولى: تعلّم المفردات البصرية (dVAE)

المرحلة الأولى تُدرِّب مُشفِّراً متغيّرياً منفصلاً — يُعرف اختصاراً بـ dVAE — على الصور فقط دون أيّ نصوص. وظيفته أن يتعلّم بصرياً: أشبه بقاموس يضمّ 8,192 «كلمة بصرية»، كل واحدة منها تصف رقعة صغيرة من الملمس واللون والشكل.

كيف يعمل؟ يأخذ صورة RGB بأبعاد 256×256 ويضغطها إلى شبكة حجمها 32×32. في كل موقع من المواقع الـ 1,024 يُنتج المُرمِّز توزيعاً احتمالياً على مُدخلات دفتر الشفرات الـ 8,192، وكأنه يسأل: «أيّ كلمة بصرية تصف هذه الرقعة بأفضل شكل؟». بعد ذلك يستلم المتّجهات الـ 1,024 المُختارة ويُعيد بناء الصورة الكاملة بأبعاد 256×256.

الأمر يشبه فنّان فسيفساء أمامه 8,192 بلاطة. لكل منطقة صغيرة من الصورة، يختار البلاطة الأنسب. ما يتعلّمه dVAE هو شيئان معاً: أيّ بلاطات يوفّرها (دفتر الشفرات)، وكيف يُحوّلها مجدّداً إلى صورة متّسقة (فاكّ الترميز).

افتح في المختبر
شاهد كيف يضغط dVAE صورة 256×256 إلى 1,024 رمز من دفتر الشفرات. انقر على أيّ خلية لترى المُدخل الذي اختاره المُرمِّز وكيف تبدو إعادة البناء.
تستيقظ التجربة عند وصولك…

لكن هناك مشكلة جوهرية في هذا التصميم: اختيار «أفضل» مُدخل من دفتر الشفرات في كل موقع يحتاج إلى عملية argmax، وهذه العملية غير قابلة للاشتقاق — بمعنى أن التدرّجات لا تمرّ عبرها. وبدون تدرّجات يستحيل تدريب المُرمِّز من البداية إلى النهاية.

الحلّ الذي اعتمده الباحثون هو . الفكرة أنه بدلاً من اختيار مُدخل واحد بشكل حادّ، يُخرج المُرمِّز توزيعاً احتمالياً «ليّناً» على جميع المُدخلات الـ 8,192. أثناء التدريب، يستقبل فاكّ الترميز متوسّطاً مُرجَّحاً لمتّجهات دفتر الشفرات بدلاً من متّجه واحد. τ\tau يتحكّم في مدى «ليونة» هذا المزج: عندما تكون الحرارة مرتفعة يكون المزج سلساً بين عدة خيارات، وكلّما انخفضت الحرارة تدريجياً نحو الصفر تركّز التوزيع حول خيار واحد — فنقترب من argmax دون أن نفقد قابلية الاشتقاق.

عند الاستدلال، تُضبط الحرارة على صفر (أي argmax حقيقي)، فيُقابَل كل موقع بمُدخل واحد بالضبط من دفتر الشفرات — وهذا يُنتج رموزاً منفصلة نظيفة يستهلكها المحوِّل في المرحلة التالية.

افتح في المختبر
اسحب شريط الحرارة لترى كيف ينتقل غَمبل-سوفتماكس من مزيج ليّن بين متّجهات دفتر الشفرات إلى اختيار حادّ لمتّجه واحد.
تستيقظ التجربة عند وصولك…

يُدرَّب dVAE عن طريق تعظيم . هذا الحدّ يتكوّن من جزأين يعملان معاً: الأول هو حدّ إعادة البناء، ودوره مكافأة فاكّ الترميز على إعادة تكوين الصورة الأصلية بأعلى دقّة ممكنة. الثاني هو حدّ ، ودوره إبقاء توزيع المُرمِّز قريباً من منتظم على دفتر الشفرات. هذا التوازن يمنع النموذج من الاعتماد على عدد قليل من المُدخلات ويضمن استغلال دفتر الشفرات بالكامل.

LdVAE=Eqϕ(zx)[lnpθ(xz)]KL(qϕ(zx)p(z))\mathcal{L}_{\text{dVAE}} = \mathbb{E}_{q_\phi(z|x)} \big[\ln p_\theta(x|z)\big] - \text{KL}\big(q_\phi(z|x) \,\|\, p(z)\big)
هدف تدريب dVAE — الحدّ الأدنى للدليل (ELBO)الحدّ الأول يقيس جودة إعادة بناء الصورة xx من الشفرة الكامنة zz بواسطة فاكّ الترميز pθp_\theta. الحدّ الثاني يُعاقب المُرمِّز qϕq_\phi على الابتعاد عن التوزيع المُسبَق المنتظم، ممّا يدفع النموذج لاستغلال دفتر الشفرات بتنوّع. استرخاء غَمبل-سوفتماكس هو ما يجعل حساب التوقّع قابلاً للاشتقاق.

المرحلة الثانية: المحوِّل الانحداري الذاتي

بعد الانتهاء من تدريب dVAE وتجميده، تصبح كل صورة في مجموعة البيانات قابلة للتمثيل بـ 1,024 رمزاً منفصلاً. كل وصف نصّي يُرمَّز بدوره إلى 256 رمزاً كحدّ أقصى باستخدام بحجم يبلغ 16,384. بعد ذلك تُدمج رموز النص ورموز الصورة في سلسلة واحدة بطول يصل إلى 1,280 رمزاً، ويُدرَّب محوِّل من نوع فاكّ الترميز فقط بحجم 12 مليار معامل على نمذجة التوزيع المشترك لهذه الرموز بطريقة انحدارية ذاتية.

بنية المحوِّل تتكوّن من 64 طبقة ، في كل طبقة 62 رأس انتباه. يستخدم النموذج ثلاثة أنواع من مدمجة في عملية واحدة: رموز النص تنتبه لجميع رموز النص السابقة (القناع السببي المعتاد)، ورموز الصورة تنتبه لجميع رموز النص ( كامل) وللرموز البصرية السابقة عبر نمط يتناوب بين أقنعة الصفوف والأعمدة والالتفاف. هذا النمط المتناثر يُخفّض استهلاك الذاكرة بشكل كبير دون المساس بالتماسك المكاني للصورة.

دالة الخسارة هي مُرجَّحة: وزن 1/8 لرموز النص ووزن 7/8 لرموز الصورة. السبب واضح — الأولوية هي أن يتقن النموذج توليد الصور، ويستخدم فهم النص وسيلةً لتحقيق ذلك.

افتح في المختبر
استكشف أقنعة الانتباه الثلاثة: نص←نص (سببي)، صورة←نص (كامل)، صورة←صورة (متناثر بأنماط الصفوف والأعمدة والالتفاف). بدّل بينها لترى كل نمط.
تستيقظ التجربة عند وصولك…
Ltransformer=18i=1256lnp(yiy<i)78j=11024lnp(zjy,z<j)\mathcal{L}_{\text{transformer}} = - \frac{1}{8} \sum_{i=1}^{256} \ln p(y_i \mid y_{<i}) - \frac{7}{8} \sum_{j=1}^{1024} \ln p(z_j \mid y, z_{<j})
خسارة تدريب المحوِّل — إنتروبيا تقاطعية مُرجَّحة على رموز النص والصورةyiy_i تمثّل رموز النص وzjz_j تمثّل رموز الصورة. إعطاء وزن 7/8 لرموز الصورة يعني أن النموذج يُركّز بشكل أكبر على إتقان التوليد البصري. الفكرة أنه يقرأ النص أولاً ثم يُتابع بالرموز البصرية المناسبة — وهو الهدف ذاته المُستخدم في GPT-3: التنبّؤ بالرمز التالي.

مرحلة التوليد: الإنتاج وإعادة الترتيب بواسطة CLIP

عند الاستدلال، يُولّد النموذج الصور بسحب رموز بصرية واحداً تلو الآخر، مشروطةً بالوصف النصّي. لكن عملية السحب هذه عشوائية بطبيعتها — كل تشغيل يُنتج صورة مختلفة، وتتفاوت الجودة تفاوتاً كبيراً. بعض النتائج تُطابق الوصف بدقّة، وبعضها يُخطئه تماماً.

حلّ الباحثين كان ذكياً: أنتج عدداً كبيراً من المرشّحين ودع حكَماً يختار الأفضل. يسحبون 512 صورة لكل وصف، ثم يستخدمون CLIP — وهو نموذج مُدرَّب على فهم العلاقة بين النصوص والصور — لتقييم كل مرشّح مقابل الوصف الأصلي. الصور الأعلى تقييماً هي التي تُعتمد كمُخرج نهائي.

الأمر يشبه إجراء 512 تجربة أداء لدور واحد ثم ترك مدير الاختيار (CLIP) ينتقي أفضل أداء. المحوِّل هو الممثّل وCLIP هو الناقد. معاً ينتجان نتائج أفضل بمراحل من أيّ عيّنة منفردة.

افتح في المختبر
شاهد كيف تعمل إعادة الترتيب بواسطة CLIP: تُقيَّم 512 عيّنة وتُختار النتائج الأعلى. بدّل لترى الفرق بين عيّنات عشوائية ومخرجات مُرتَّبة بـ CLIP.
تستيقظ التجربة عند وصولك…

التعميم بدون أمثلة: تركيب مفاهيم غير مسبوقة

أبرز ما يُميّز DALL·E هو قدرته على تركيب مفاهيم لم يرها مجتمعة أثناء التدريب. أعطه وصفاً مثل «كرسي بذراعين على شكل أفوكادو» وسيُنتج صوراً مقنعة رغم أن شيئاً كهذا لا وجود له في أيّ مجموعة بيانات تدريبية. أعطه «واجهة متجر مكتوب عليها openai» وسيرسم نصّاً مقروءاً في سياقه المكاني الصحيح.

النموذج يستطيع أيضاً إجراء تحويل بين أنماط الصور . بإضافة بادئة للوصف كـ «نفس الكائن بأسلوب [X]»، يستطيع DALL·E تغيير الملمس والمواد والأسلوب الفنّي دون أن يكون قد تدرّب على مجموعات بيانات مُزدوجة لنقل الأسلوب. يتعامل أيضاً مع المعرفة الجغرافية («صورة لطعام الصين») والمعرفة الزمنية («صورة لهاتف من عشرينيات القرن الماضي»)، بل وحتى القياسات عابرة المجالات («حلزون مصنوع من قيثارة»).

هذه القدرة التركيبية بدون أمثلة مصدرها الحجم بالدرجة الأولى: نموذج كبير بما يكفي ومُدرَّب على أزواج نصّ–صورة متنوّعة بما يكفي يتعلّم من تلقاء نفسه ربط الصفات بالأسماء، وحروف الجرّ المكانية بالأشياء، والمُعدِّلات الأسلوبية بالمشاهد — كل ذلك من خلال التنبّؤ بالرمز التالي فحسب.

افتح في المختبر
ركِّب المفاهيم تفاعلياً: اختر كائناً ومادة وأسلوباً لترى كيف يدمجها DALL·E — عرض توضيحي للتعميم التركيبي بدون أمثلة.
تستيقظ التجربة عند وصولك…

الصورة الكاملة: خط الأنابيب ذو المرحلتين

لنتتبّع خط أنابيب DALL·E كاملاً خطوة بخطوة، من الوصف النصّي إلى الصورة النهائية:

المرحلة الأولى (تُنفَّذ مرة واحدة، دون اتصال): تدريب المُشفِّر المتغيّري المنفصل على الصور فقط. يتعلّم المُرمِّز ضغط الصور ذات الأبعاد 256×256 إلى شبكات 32×32 من الرموز المنفصلة (حجم دفتر الشفرات 8,192). ويتعلّم فاكّ الترميز إعادة بناء الصور من هذه الرموز. بعد اكتمال التدريب يُجمَّد dVAE.

المرحلة الثانية (تُنفَّذ مرة واحدة، دون اتصال): تُرمَّز كل صورة تدريبية إلى 1,024 رمز عبر مُرمِّز dVAE المُجمَّد، ويُرمَّز كل وصف نصّي إلى 256 رمزاً كحدّ أقصى بترميز BPE. تُدمج رموز النص مع رموز الصورة ويُدرَّب المحوِّل ذو الـ 12 مليار معامل على نمذجة التوزيع المشترك بطريقة انحدارية ذاتية.

الاستدلال: عند ورود وصف نصّي جديد، يُرمَّز بـ BPE إلى 256 رمزاً كحدّ أقصى. يسحب المحوِّل 1,024 رمز بصري بالتتابع مشروطةً بالنص. تُفكّ هذه الرموز إلى صورة بأبعاد 256×256 عبر فاكّ ترميز dVAE المُجمَّد. تُكرَّر العملية 512 مرة. ثم يُعيد CLIP ترتيب جميع المرشّحين ويُعيد الأفضل.

شفرة توضيحية: خط أنابيب التوليد في DALL·Epython

مبسَّط لإظهار الفكرة — ليس التنفيذ الحقيقي.

# خط أنابيب التوليد في DALL·E (مُبسَّط)
def generate_image(text_prompt, n_candidates=512):
    # الخطوة 1: ترميز النص باستخدام BPE
    text_tokens = bpe_encode(text_prompt, max_len=256, vocab_size=16384)

    # الخطوة 2: سحب رموز الصورة بالتتابع
    candidates = []
    for _ in range(n_candidates):
        img_tokens = []
        for j in range(1024):  # شبكة 32×32
            logits = transformer(text_tokens + img_tokens)
            next_token = sample(logits, temperature=1.0)
            img_tokens.append(next_token)

        # الخطوة 3: فكّ الرموز إلى صورة عبر dVAE المُجمَّد
        image = dvae_decoder(img_tokens)  # 1024 رمز ← صورة 256×256
        candidates.append(image)

    # الخطوة 4: إعادة الترتيب باستخدام CLIP
    scores = [clip_score(text_prompt, img) for img in candidates]
    best = sorted(zip(scores, candidates), reverse=True)
    return [img for _, img in best[:32]]

الإرث: من الرموز إلى الانتشار

  1. 2017

    VQ-VAE (فان دن أورد وآخرون)

    قدّم فكرة التكميم المتّجهي لتعلّم تمثيلات كامنة منفصلة للصور. أظهر أن الصور يمكن إعادة بنائها بدقّة عالية من عدد صغير من الشفرات المنفصلة — وهو الأساس الذي بنى عليه DALL·E دفتر شفراته البصري.

  2. 2020

    GPT-3 (براون وآخرون)

    أثبت أن توسيع المحوِّلات الانحدارية الذاتية إلى 175 مليار معامل يُطلق قدرات تعميم مدهشة في اللغة، سواءً بأمثلة قليلة أو بدون أمثلة. DALL·E نقل هذه الرؤية مباشرة إلى المجال البصري.

  3. 2021

    DALL·E + CLIP (رميش وآخرون / رادفورد وآخرون)

    أظهر DALL·E أن التنبّؤ الانحداري بالرموز قادر على توليد صور متماسكة من النص. وCLIP، الذي صدر في الوقت ذاته، وفّر آلية إعادة الترتيب التي جعلت التوليد بدون أمثلة قابلاً للتطبيق العملي.

  4. 2022

    GLIDE وDALL·E 2 وImagen وStable Diffusion

    الجيل التالي استبدل فكّ الترميز الانحداري بنماذج الانتشار، وحقّق دقّة أعلى وتماسكاً أفضل. لكن الرؤية الجوهرية — التعامل مع توليد الصور كمسألة تسلسل مشروطة بالنص وعلى نطاق واسع — جاءت من DALL·E مباشرة.

الإسهام الأبقى لـ DALL·E ليس في بنيته المعمارية تحديداً — فالتوليد الانحداري للصور حلّت محلّه إلى حدّ كبير . إسهامه الحقيقي هو النموذج الفكري الذي أرساه: أن الحجم والبساطة يتفوّقان على الهندسة المتخصّصة. محوِّل كبير بما يكفي، يُدرَّب على أزواج نصّ–صورة كافية بهدف معياري وبسيط — التنبّؤ بالرمز التالي — يستطيع تعلّم تركيب مفاهيم بصرية لم يرها مجتمعة من قبل. كل نموذج جاء بعده — GLIDE وDALL·E 2 وImagen وStable Diffusion — يقف على هذا الأساس.

المرجعRamesh, Pavlov, Goh, Gray, Voss, Radford, Chen, Sutskever. Zero-Shot Text-to-Image Generation. ICML, 2021.

مصطلحات هذه الورقة