انتقل إلى المحتوى الرئيسي

مصطلحًا

مرمز

الفئة
LLMs & Generative AI
الصعوبة
متوسط

التعريف

المرمز هو مكون حسابي يقوم بتقسيم النص الخام إلى وحدات أصغر تسمى رموزاً، والتي يتم تعيينها بعد ذلك لمعرفات رقمية للمعالجة بواسطة نماذج التعلم الآلي.

آلية العمل والسياق

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

لماذا هو مهم

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

مثال واقعي

عندما تدخل كلمة 'unhappiness' إلى نموذج لغوي كبير، قد يقوم المرمز بتقسيمها إلى ثلاثة رموز: ['un', 'happi', 'ness']. إذا كان مرمز النموذج غير فعال، فقد يقوم بتقسيم نفس الكلمة إلى أجزاء أكثر بكثير، مما يستهلك المزيد من نافذة سياق النموذج ويزيد من تكلفة استدعاء واجهة برمجة التطبيقات. يجب أن يكون المطورون على دراية بهذه التقسيمات لضمان بقاء مطالباتهم ضمن الحدود التشغيلية للنموذج.

أخطاء شائعة

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

الأسئلة الشائعة

لماذا تستخدم النماذج ترميز الكلمات الفرعية بدلاً من الكلمات الكاملة فقط؟

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

هل يمكنني تغيير مرمز نموذج مدرب مسبقاً؟

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

كيف يمكنني تقدير عدد الرموز التي سيستهلكها نصي؟

يقدم معظم مزودي النماذج أداة 'مرمز' أو 'tiktoken' تسمح لك بإدخال نص ورؤية بالضبط كيف يتم تقسيمه وعدد الرموز التي يحسبها. هذه هي الطريقة الأكثر دقة للتنبؤ بالتكاليف واستخدام السياق.