
هل يمكن لـ gzip أن يكون نموذجاً لغوياً؟ مولّد نصوص مبني على DEFLATE
يناقش منشور على nathan.rs ما إذا كانت أداة الضغط gzip قادرة على توليد النص. تستخدم تجربة gzipt البحث الشعاعي على تسلسلات بايتات مضغوطة، بلا شبكة عصبية.
يدوّن منشور على مدونة nathan.rs سؤالاً يبدو كالنكتة: هل يمكن لأداة الضغط gzip، التي تأتي مع كل أنظمة التشغيل تقريباً، أن تعمل كنموذج لغوي؟ بنى الكاتب تجربة صغيرة باسم gzipt تولّد النص بالاعتماد على الضاغط وحده: لا شبكة عصبية ولا معاملات مدرَّبة.
الضغط تنبؤ
نقطة البداية ورقة بحثية بعنوان "Language Modeling is Compression" (arXiv 2309.10668) تصوغ تكافؤ الضغط والتنبؤ: كل نموذج تنبؤ هو في جوهره ضاغط، وكل خوارزمية ضغط هي نموذج تنبؤ. الحدس يأتي من نظرية المعلومات: ترميز رمز يحتاج إلى −log₂ p بت، حيث p هي الاحتمال الذي يمنحه النموذج له. الاحتمال المرتفع يعني شيفرة أقصر.
يستخدم gzip خوارزمية DEFLATE ويعمل على نافذة منزلقة بسعة 32 كيلوبايت. وإذا كررت البايتات التالية شيئاً موجوداً في النافذة، ترمّزه DEFLATE كإحالة خلفية رخيصة. من هنا ينشأ التقييم: ضغط السياق مع الاستكمال المرشّح وقياس طول النتيجة. وكلما كانت النتيجة أقصر كان المرشّح أكثر "توقعاً". وتزويد الأداة بمجموعة نصوص مسبقاً يضعها داخل نافذة gzip.
من التقييم إلى التوليد
التقييم ليس توليداً. اختيار البايت التالي الأفضل ضغطاً يفشل لأن gzip يعيد طولاً صحيحاً بالبايتات، بلا كسور. وإضافة بايت واحد كثيراً ما لا تغيّر الطول إطلاقاً، فتتساوى مرشحات كثيرة وتضيع الإشارة في ضوضاء التكميم. يتجاوز gzipt ذلك بالبحث الشعاعي (beam search): يحتفظ بأكثر beam_width استكمالات جزئية قابلية للضغط، ويوسّع كل واحد بكل بايت يرد في المجموعة، ويقيّم النتائج بطول الضغط، ثم يقلّم من جديد. ويتكرر ذلك على مدى أفق من البايتات قبل تثبيت أفضل مقطع.
ثمة تفصيل مهم: لا تبقى في سياق التقييم سوى البايتات الأخيرة من النص المولَّد. فـ DEFLATE يرمّز التطابقات القريبة بأرخص من البعيدة، ولذلك فإن نموذجاً يرى تاريخه كاملاً سيجد أرخص ما يمكن أن يفعله هو الوقوع في حلقات حرفية يكرر فيها ما أنتجه للتو.
ما النتيجة عملياً
بعد التزويد بمجموعة نصوص tiny Shakespeare وطلب "MENENIUS:" أعادت الأداة أسطراً منسوبة إلى منينيوس ومارسيوس ولارتيوس: غير متماسكة، لكن تأثير المصدر واضح. الشيفرة ملف واحد ببايثون القياسي (zlib فقط). وتشير الحواشي إلى أن كاتبي الورقة جرّبوا شيئاً مشابهاً وجاءت النتائج ضعيفة، وأن إضافة البحث الشعاعي حسّنت جودة التوليد بشكل ملحوظ.
الخلاصة ضيقة لكنها حقيقية: ضاغط عام يمكن أن يحمل نموذجاً ضمنياً مفيداً للنص. لكنه بعيد جداً عن نموذج لغوي عصبي، والكاتب يقول ذلك بنفسه. ومع ذلك فهو عرض نقي لفكرة أن التنبؤ والضغط مسألة واحدة من وجهين.
SiTech — تطوير ويب مدعوم بالذكاء الاصطناعي
نبني مواقع سريعة وعصرية وندمج الذكاء الاصطناعي في سير عمل الشركات. لديك مشروع أو سؤال؟ يسعدنا مساعدتك.