المقدمة

لما بنستخدم ونشتغل مع ال LLMs بنلاقي دايمًا تكرار لاستخدام كلمة Tokens سواء في الاشتراك مقابل عدد من ال Tokens سواء في ال Context window وغيرها، في ورقة النهارده هنعرف يعني ايه Tokens في عالم ال LLMs، أهميتها و ليه مع الوقت مبقتش بس لغة ال LLMs بس كمان عُملتها!


 ما هي ال Token؟

الـ token هو أصغر وحدة بيانات بيستخدمها ال LLM Model علشان يفهم المعلومات ويعالجها. الوحدات دي ممكن تكون:

  • كلمة كاملة
  • جزء من كلمة
  • حرف
  • أو حتى رمز

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

Tokens Split up using openAI Tokenizer

 ليه الـ Tokens مهمة؟

ال LLMs مبنية بالأساس على فكرة ال tokens و من غير tokens النموذج مش هيعرف يقرأ ولا يفهم ولا يرد. فأي بيانات بتدخل للنموذج بيتعملها Tokenization كمثال 

  • كلمة زي: “Awesome” ممكن تتقسم لـ:
    • “Awe”
    • “some”

أو تتقسم بطريقة مختلفة علي حسب النظام المستخدم و كل token بيبقى ليه ID معين ، والنموذج بيتعامل مع الأرقام دي بدل الكلمات نفسها.دا مش بس مع الكلمات أو النصوص أي نوع بيانات ممكن يتحول لـ tokens فالصور ممكن تتقسم لأجزاء صغيرة من الصورة (patches) والصوت ممكن نقسمه لموجات أو تمثيل رقمي للموجات وكذلك الفيديو بيتقسم لمقاطع أو Frames.

بمعنى تاني أي حاجة بتدخل للنموذج أو بتطلع منه لازم تتحول لـ tokens عشان يقدر يتعامل معاها. وبالتأكيد ال Tokens بيتعملها Embedding زي ما شرحنا قبل كدا في ورقة Vector Databases For Begginers

Vector Databases For Beginners
بنسمع عن ال Vector database في أي شيء ليه علاقة بال AI تقريبًا, ولكن ايه هي ال Vector database ؟ ليه أصلا بنحتاجها؟! وإيه فرقها عن قواعد البيانات التقليدية؟

استخدام ال Tokens في ال Models

كل نماذج ال LLMs بتمر بمرحلتين:

  • التدريب Training 
  • الاستنتاج/الاستدلال Inference 

و في المرحلتين بنحتاج ال Tokens 

استخدام ال Tokens وقت التدريب (Training)

وقت تدريب النموذج علي البيانات بتمشي بهذا الشكل:

  1. البيانات الأصلية بتتحول لـ tokens
  2. النموذج بياخد مجموعة tokens
  3. يحاول يتوقع الtoken اللي بعدهم
  4. لو توقع غلط:
    • يتم تعديل الأوزان الداخلية للنموذج

العملية دي بتتكرر ملايين أو مليارات المرات و مع الوقت النموذج بيتعلم الأنماط ويفهم العلاقات بين الكلمات والمعاني.

💡
نماذج ال LLM المختلفة بتستخدم Tokenizers مختلفة وبالتالي نص ما ممكن يكون 4 tokens في نظام و لكنه 8 Tokens في نظام ثاني.

استخدام الـ Tokens وقت التشغيل (Inference)

لما تيجي تستخدم النموذج:

  1. السؤال بتاعك بيتحول لـ tokens
  2. النموذج يعالجه
  3. يولّد الرد على شكل tokens
  4. يتحول الرد تاني لنص مفهوم 

من المفاهيم الهامة كذلك واللي بنستخدم فيه ال Tokens و بنقابله كتير هو ال Context window 


ما هو ال Context Window؟

الـ context window هو عدد الـ tokens اللي النموذج يقدر “يفتكرهم” أو يتعامل معاهم في نفس الوقت.ودا بيشمل سؤالك و الرد وسجل المحادثة ودا حرفيًا "السياق". 

 فمثلاً لو الحد الأقصى 8,000 tokens  النموذج يقدر يفهم نصوص بطول معين بس

ولو زودنا الرقم يقدر يتعامل مع مقالات أطول أو كتب أو محادثات كبيرة

كل ما الـ context window تكبر:

  • الفهم العام يتحسن
  • الترابط في الردود يبقى أقوى

استخدام ال Tokens مش مقتصر علي الProcessing ولا تحديد معيار هام زي ال Context window ولكن كمان بيستخدم لتحديد معايير ال User experience و بنشوف دا في معيار Time to first token واللي بنقدر نقيّم فيه سرعة النموذج بتحديد الوقت من أول لما يستلم ال Prompt لحد أول رد ( token) بتظهر للمستخدم و فيه معايير تانية كتير زي inter-token أو token-to-token latency وكلها بنستخدمها للتقييم و التحسين والمقارنة بين النماذج.

كدا فهمنا ليه ال Tokens بتعتبر اللغة اللي بتفهمها نماذج ال AI ودلوقتي هنعرف ليه هي بقت العُملة اللي بنقدر نحسب بيها تكلفة استخدامنا للنماذج دي.


 الـ Tokens عًملة اقتصاد الـ AI

دلوقتي الـ tokens مش مجرد مفهوم تقني ولكن أصبحت عًملة لأن شركات كتير بقت:

  • بتحاسب على أساس عدد الـ tokens المُستخدمة
  • بتحط limits (حد أقصى tokens في الدقيقة للمستخدم) عشان تقدر تخدم عدد كبير من المستخدمين في نفس الوقت.

ودا لأن باستخدام ال Tokens نقدر نحسب تكلفة المعالجة الحقيقة من استخدامنا للنموذج لأن كل لما زاد عدد الـ Tokens، زاد استهلاك:

  • المعالجة (Processing )
  • الذاكرة (Memory)
  • الوقت (Latency)

و دي الموارد اللي بنقدر نترجمها لفلوس بتدفعها الشركة عشان تشغل النماذج وعلى أساس التكلفة عليها تقدر تحاسب المستخدمين وتزود هامش الربح.

فتخيل مثلا لو تم الحساب بعدد:

  • الطلبات: دا معيار Metric  غير عادل لأن طلب قصير مش زي طلب طويل و معالجة النصوص مثلاً استخدامها للموارد مش زي معالجة الصور!
  • الكلمات: دا بردو معيار غير دقيق بسبب اختلاف اللغات, فأنت تقدر تعبر عن نفس الطلب بالعربية في عدد كلمات أقل بكتير من الإنجليزية مثلاً وبالتالي حِمل المعالجة بردو مختلف!

فال Token هو المقياس الأكثر دقة لأنه مرتبط مباشرة بإزاي النموذج بيشتغل و بيفهم الطلبات داخليًا.

طريقة حساب ال Tokens المستخدمة؟

بيتم حساب:

  • Input Tokens اللي انت بتبعتها (Prompt)
  • Output Tokens اللي  بيولدها النموذج (Response)

مثال:

  • كتبت 100 Token
  • النموذج رد بـ 300 Token

فأنت بتتحاسب على 400 Token.مع العلم إن ال output tokens بتكون أغلي في أغلب الأحوال من ال Input tokens ودي تفصيلة مهمة في اختيارك لل LLM Cloud Provider لتطبيقات وبالاخص لو تطبيقات فيها chatting بينتج ردود طويلة. 

كمان كفاءة النموذج بتأثر علي استهلاكك لل tokens فلو نموذج قوي ممكن يديك الإجابة في حدود 200 token ولو نموذج أضعف ممكن يديك الإجابة المفيدة في 600 token ولذلك اختيار النموذج وكفاءته معيار هام جدًا مش بس لجودة النتائج بس كمان تكلفتها.

ملخص لأهم المفاهيم عن ال Tokens

في الختام 

ال Tokens من أهم مفاهيم التعامل مع ال LLMs مش بس لأنه الطريقة اللي بتفهم بيها ال LLM العالم ولا لأنها الطريقة اللي بنقدر نحسب بيها تكلفة استخدام النماذج الحقيقية و لكن لأنه كمان يمثل مساحة كبيرة للمنافسة بين الشركات عشان تحل التحديات المرتبطة بيه زي التكلفة العالية للمعالجة أو حدود السياق (Context Limits) لأن النموذج مش بيقدر يتعامل مع نص لا نهائي و التوازن بين الجودة في الردود والتكلفة المالية المقابلة اللي بتزيد باستخدام عدد أكبر من ال Token.


المصادر

Explaining Tokens — the Language and Currency of AI
Tokens are units of data processed by AI models during training and inference, enabling prediction, generation and reasoning.
Calculating LLM Token Counts: A Practical Guide
How do LLM tokenizers work? Understand what they do and learn how to calculate token counts for popular large language models, with examples.