← أحدث الأبحاث
💬 NLP

Pruned BPE: Post-training Visibility Pruning and Token Reallocation for Byte Pair Encoding

تقدم هذه الورقة البحثية "Pruned BPE"، وهي طريقة لما بعد التدريب تعمل على تحسين كفاءة التجزئة (tokenization) عن طريق إخفاء رموز الدمج الوسيطة ذات التعرض المنخفض من مفردات النموذج وإعادة تخصيص تلك الحيز للمرشحين الأكثر تكراراً، مما يؤدي إلى تقليل طول التسلسل المشفر دون زيادة حجم المفردات المرئية للنموذج.

المؤلفون الأصليون: Kenny Shao

نُشر 2026-08-04
📖 7 دقيقة قراءة🧠 قراءة متعمّقة

المؤلفون الأصليون: Kenny Shao

البحث الأصلي مرخَّص بموجب CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). هذا شرح مولَّده بالذكاء الاصطناعي للبحث أدناه. لم يكتبه المؤلفون ولم يصادقوا عليه. وللتحقق من الدقة التقنية، يرجى الرجوع إلى البحث الأصلي. اقرأ إخلاء المسؤولية الكامل

تخيل أنك تعلم روبوتًا كيف يقرأ. للقيام بذلك، لا يمكنك مجرد إعطائه قاموسًا لكل كلمة في الكون؛ سيكون ذلك ثقيلًا جدًا على دماغه. بدلاً من ذلك، تعلمه حيلة ذكية: تفكيك الكلمات إلى قطع أصغر قابلة لإعادة الاستخدام، مثل قطع "الليغو" (LEGO). إذا رأى الروبوت كلمة "unbelievable"، فهو لا يحتاج إلى قطعة خاصة للكلمة بأكملة. يمكنه ببساطة تجميع "un" و"believe" و"able". هكذا تقرأ الذكاء الاصطناعي الحديث العالم: حيث يقطع النص إلى قطع صغيرة تسمى "الرموز" (tokens).

الطريقة الأكثر شيوعًا لتحديد قطع الليغو التي يجب الاحتفاظ بها هي طريقة تسمى "ترميز زوج البايتات" (Byte Pair Encoding - BPE). فكر في BPE كمعلم صارم ومتكرر للغاية. ينظر إلى كومة ضخمة من النصوص، ويجد القطعتين اللتين تظهران بجانب بعضهما البعض أكثر من غيرهما، ثم يلصقهما معًا لصنع قطعة جديدة أكبر. يفعل ذلك مرارًا وتكررًا، مما ينشئ مكتبة من القطع تتراوح من الحروف المفردة إلى الكلمات الكاملة. المشكلة هي أن هذا المعلم يشبه "المقتني المهووس"؛ فهو يلصق القطع التي تُستخدم فقط لصنع قطع أكبر، ولكنها لا تظهر أبدًا بمفردها في القصة النهائية. الأمر يشبه امتلاك قطعة ليغو تُستخدم فقط لبناء برج قلعة، لكن البرج لا يُبنى أبدًا في النموذج النهائي. لا يزال على الروبوت حمل هذه القطعة غير المفيدة في حقيبته، مما يشغل مساحة كان يمكن استخدامها لشيء أكثر إثارة للاهتمام.

هذه الورقة البحثية، بعنوان "Pruned BPE" (BPE المنقح)، تطرح سؤالاً بسيطًا: ماذا لو استطعنا تنظيف حقيبة ظهر الروبوت بعد أن ينتهي المعلم من بناء المكتبة؟ يقترح المؤلف، بقيادة كيني شاو، طريقة للنظر في جميع القطع التي صنعها المعلم، وتحديد القطع التي نادراً ما تُرى في النص النهائي، واستبدالها بقطع أفضل وأكثر فائدة. هم لا يصغرون حجم الحقيبة؛ بل يعيدون ترتيب محتوياتها بحيث يتم ملء كل خانة بشيء يحتاجه الروبوت حقًا لرؤيته.

المشكلة: قطع "الأشباح"

لفهم الحل، نحتاج أولاً إلى رؤية الفوضى. عندما يعمل معلم BPE القياسي، فإنه يبني تسلسلاً هرميًا. قد يلصق "en" و"viron" لصنع "environ"، ثم يلصق "environ" و"ment" لصنع "environment". في النظام القياسي، كل قطعة يتم إنشاؤها خلال هذه العملية تحصل على مكان في مفردات الروبوت النهائية.

ولكن هنا تكمن الخدعة: قطعة مثل "environ" قد تكون مساعدة رائعة لبناء "environment"، لكنها نادرًا ما تظهر بمفردها في الجمل الحقيقية. إنها قطعة "شبح". هي موجودة في ذاكرة الروبوت، وتأخذ حيزًا ثمينًا، لكن الروبوت نادرًا ما يستخدمها كإجابة نهائية. الأمر يشبه الاحتفاظ بمفك براغي متخصص في جيبك لا تستخدمه إلا مرة واحدة في السنة لبناء لعبة معينة، بينما لا يوجد لديك مكان لمطرقة أو مفتاح ربط.

يجادل المؤلف بأن قطع الأشباح هذه تهدر المساحة. نظرًا لأنها نادرة الاستخدام، فإن الروبوت لا يحصل على تدريب كافٍ عليها، لذا يكون فهمه لها ضعيفًا. وفي الوقت نفسه، هناك أجزاء كلمات مفيدة أخرى يراها الروبوت كثيرًا، ولكن ليس لديها مكان في حقيبة الظهر لأن جميع الخانات ممتلئة بهذه الأشباح عديمة الفائدة.

الحل: عملية تبديل حقيبة الظهر الكبرى

تقدم الورقة البحثية Pruned BPE، وهي عملية من خطوتين تعمل مثل فريق تنظيف ما بعد التدريب.

الخطوة 1: البناء القياسي.
أولاً، يتركون معلم BPE القياسي يقوم بعمله كالمعتاد تمامًا. يبني مكتبة القطع بالكامل، ويلصق الأزواج معًا حتى يصل إلى الحجم المستهدف (مثلاً، 10,000 قطعة). عند هذه النقطة، تكون المكتبة ممتلئة، لكنها مزدحمة بقطع "الأشباح" تلك.

الخطوة 2: فحص الظهور.
الآن، ينظر المؤلف إلى المكتبة النهائية ويسأل: "كم مرة تظهر هذه القطعة فعليًا في النص النهائي؟" إنهم يحصون "التعرض" (exposure) لكل قطعة. إذا كانت قطعة مثل "environ" تظهر فقط بنسبة ضئيلة من الوقت، فسيتم تصنيفها كـ "داخلية فقط". تظل في النظام كمساعد خفي—يمكنها الاستمرار في المساعدة في بناء كلمات أكبر، ولكن لا يُسمح لها بأن تكون إجابة نهائية يراها الروبوت.

الخطوة 3: إعادة التخصيص.
هذا هو الجزء السحري. عندما يطردون قطعة شبح من القائمة "المرئية"، فهم لا يتركون ثقباً فارغاً فحسب. بل يعودون إلى بيانات التدريب ويستمرون في تعليم الروبوت كيفية العثيد على قطع جديدة تكون مفيدة حقًا. يستمرون في التدريب حتى يجدوا ما يكفي من القطع عالية الجودة والمتكررة لملء الأماكن الفارغة.

لذا، تظل حقيبة الظهر بنفس الحجم (على سبيل المثال، 10,000 خانة)، لكن المحتويات مختلفة تمامًا. يتم استبدال قطع "الأشباح" عديمة الفائدة بقطع "النجوم" التي يستخدمها الروبوت بالفعل. عندما يقرأ الروبوت كلمة، فإنه لا يزال يستخدم قطع المساعد الخفي لبناء الهيكل، ولكن قائمة الرموز النهائية التي يرسلها إلى الدماغ تحتوي فقط على الرموز المفيدة وعالية الظهور.

ما وجدوه

اختبر المؤلف هذه الفكرة على مجموعتين مختلفتين من النصوص: إحداهما بالإنجليزية بشكل أساسي والأخرى بالصينية، بالإضافة إلى مزيج منهما. وقارنوا طريقتهم "المنقحة" (Pruned) بالطريقة القياسية "المقتناة" (Hoarding)، مع الحفاظ على حجم حقيبة الظهر متساويًا لكليهما.

كانت النتائج متسقة بشكل مثير للدهشة. من خلال استبدال الأشباح منخفضة الظهور بالنجوم عالية الظهور، تمكنت طريقة Pruned BPE من ضغط النص بشكل أفضل قليلاً.

  • في النص الذي يغلب عليه الإنجليزية، قللوا عدد الرموز المطلوبة بنحو 0.27% إلى 0.36% (اعتمادًا على مدى صرامتهم في قاعدة "الشبح").
  • في النص الذي يغلب عليه الصينية، كانت النتيجة مشابهة، حيث تراوحت بين 0.23% و0.36%.

لوضع هذا في المنظور، يشير المؤلف إلى أن الحصول على هذا النوع من الضغط باستخدام BPE القياسي يتطلب عادةً إضافة 2,000 رمز آخر إلى حقيبة الظهر. تحقق Pruned BPE نفس دفعة الكفاءة هذه دون جعل حقيبة الظهر أكبر. إنه يشبه الحصول على مساحة تخزين أكبر دون شراء حقيبة سفر أكبر.

كما أجروا اختبارًا خاصًا للتأكد من أن التحسن لم يكن مجرد صدفة ناتجة عن كيفية ترتيب معلم BPE القياسي لقطعه. استخدموا "مفكك رموز" (decoder) مختلفًا وذكيًا للغاية يعتمد على "الحد الأدنى من الرموز"، والذي يتجاهل الترتيب الأصلي للمعلم وينظر فقط إلى قائمة القطع المتاحة. حتى مع هذا المفكك المحايد والعادل، أنتجت قائمة Pruned Boli المجموعات الأكثر كفاءة واختصارًا. وهذا يشير إلى أن التحسن يأتي من امتلاك قائمة أفضل من القطع، وليس فقط من طريقة ترتيبها.

أمثلة "الأشباح"

لرؤية شكل قطع "الأشباح" هذه، نظر المؤلف في بعض الأمثلة المحددة:

  • الإنجليزية: قد تكون قطعة مثل "viron" شبحًا. هي رائعة لبناء "environment"، لكنك نادرًا ما ترى "viron" تقف بمفردها.
  • الصينية: حرف مثل "gan" (جزء من "gan ga"، والتي تعني محرج/غريب) قد يكون شبحًا. هو ضروري لبناء الكلمة الكاملة، لكنه نادرًا ما يُستخدم بمفرده.
  • الكود والبيانات (Bytes): بعض الأشباح غريبة حتى. نظرًا لأن أجهزة الكمبيوتر تقرأ النص كبايتات (أرقام صغيرة)، فإن بعض القطع هي مجرد أجزاء من حرف. على سبيل المثال، قد يكون تسلسل بايت معين مطلوبًا لبناء الحرف الصيني لكلمة "قدرة"، لكن تسلسل البايت هذا وحده لا يعني أي شيء. إنه شبح موجود فقط للمساعدة في بناء الشيء الحقيقي.

لماذا يهم هذا (وما لا يهمه)

توضح الورقة البحثية بعناية ما لا تفعله. هي لا تثبت أن الروبوت سيصبح فجأة أكثر ذكاءً في كتابة الشعر أو حل المسائل الرياضية. لقد قاس المؤلف فقط مدى كفاءة ضغط النص (عدد أقل من الرموز لقول الشيء نفسه). لم يختبروا ما إذا كان دماغ الروبوت قد تعلم بشكل أفضل بهذه القطع الجديدة. هذا سؤال للأبحاث المستقبلية.

ومع ذلك، فإن الورقة تستبعد فكرة أنك بحاجة إلى تقليص المفردات لتوف توفير المساحة. اقترحت بعض الأفكار السابقة مجرد حذف القطع النادرة، مما جعل حقيبة الظهر أصغر ولكنه أجبر الروبوت على استخدام المزيد من القطع الأصغر لقول الشيء نفسه (مما يجعل النص أطول). أثبتت Pruned BPE أنه يمكنك الحفاظ على حجم حقيبة الظهر ثابتًا ومع ذلك الحصول على نص أقصر وأكثر كفاءة بمجرد استبدال المحتويات.

الخلاصة

في النهاية، Pruned BPE هو درس في التخلص من الفوضى. إنه يظهر أنه في عالم الذكاء الاصطناعي، امتلاك مكتبة ضخمة من الرموز ليس بأهمية امتلاك الرموز الصحيحة. من خلال الانتظار حتى النهاية لتقرير ما هو مفيد حقًا، ومن ثم استبدال المساعدين "الأشباح" بالنجوم "المتألقة"، يمكننا جعل عملية القراءة لدى الروبوت أكثر كفاءة قليلاً. إنها تعديل صغير — توفير أقل من نصف بالمائة من المساحة — ولكن في عالم نماذج الذكاء الاصطناعي الضخمة، حيث كل بايت له قيمته، يعد هذا فوزًا ملموسًا. لا يحتاج الروبوت لحمل تاريخ بنائه بالكامل؛ هو يحتاج فقط إلى أفضل الأدوات للمهمة.

غارق في أبحاث مجالك؟

تصلك نشرة يومية بأحدث الأبحاث المطابقة لكلماتك البحثية المفتاحية — مع ملخصات تقنية، بلغتك.

جرّب Digest →