Tokenization في نماذج اللغة: كيف تُقسَّم الكلمات لأرقام؟
شرح تقني لتقنيات التوكينزيشن، BPE، WordPiece، SentencePiece، Tiktoken، وكيف تؤثّر على الأداء، التكلفة، ودعم اللغات (خصوصاً العربية).
Tokenization، تحويل النصّ لأرقام يفهمها النموذج، يبدو تفصيلاً هندسياً بسيطاً، لكنه يُحدّد التكلفة، السرعة، وحتى جودة الفهم اللغوي. هذا المقال يشرح لماذا يجب أن يهمّك، خصوصاً إذا كنت تعمل بالعربية.
المشكلة الأساسية
الشبكات العصبية تعمل على أرقام، لا نصوص. نحتاج تحويل "مرحباً بالعالم" إلى شيء مثل [15234, 87, 5623].
الحلول المُبكِّرة (وفشلها)
1. Character-level
كل حرف = token واحد.
الفائدة: قاموس صغير (~256 لـ ASCII، أكبر لليونيكود). المشكلة: النصّ يُصبح طويلاً جداً، "الذكاء الاصطناعي" 18 حرف = 18 token.
2. Word-level
كل كلمة = token.
الفائدة: نصوص قصيرة. المشكلة:
- قاموس ضخم (ملايين الكلمات).
- كلمات جديدة (نيولوجيزم، أسماء علم) =
<UNK>. - أخطاء إملائية تكسر النظام.
- العربية خصوصاً: تصريفات كثيرة (كتب، يكتب، كاتب، مكتوب، كتابة...)، كل واحد token منفصل.
الحلّ: Subword tokenization، بين الحرف والكلمة.
Byte-Pair Encoding (BPE)
الأشهر عالمياً. تستخدمه GPT-3, GPT-4, Llama, وأكثر النماذج.
كيف يعمل التدريب
- ابدأ بمفردات = كل الحروف الفردية.
- اعدد أزواج الحروف المتتالية في corpus كبير.
- ادمج الزوج الأكثر شيوعاً في token واحد جديد.
- كرّر حتى الوصول لحجم القاموس المستهدف (مثلاً 50k).
مثال مبسّط:
- Corpus: "the cat sat on the mat"
- بعد إحصاء: الزوج "th" يظهر مرّتين، الأكثر شيوعاً.
- ادمج: مفردات جديدة تحوي "th".
- كرّر: قد نجد "the" ثمّ "ing" ثمّ...
نتيجة نهائية على GPT-4
- "Hello world" → ["Hello", " world"] = 2 tokens.
- "artificial intelligence" → ["art", "ificial", " intelligence"] = 3 tokens.
- "supercalifragilisticexpialidocious" → ~10 tokens (كلمة نادرة تُقسّم كثيراً).
كيف يُطبَّق على نصّ جديد
خوارزمية جشعة (greedy): تجد أطول match في المفردات، ثمّ تنتقل.
WordPiece
تستخدمه BERT. مشابه لـ BPE مع فرق:
- بدل دمج الزوج الأكثر تكراراً، تدمج الزوج الذي يزيد احتماله بأقصى قدر.
- تستخدم
##لتمييز subword في وسط كلمة: "playing" → ["play", "##ing"].
SentencePiece
من Google. مصمّم للعمل مباشرة على النصّ الخام (بدون tokenization مسبق للكلمات).
- الميزة الكبرى: يعمل على لغات بدون فواصل واضحة بين الكلمات (الصينية، اليابانية، التايلاندية).
- يُعامل الفضاء
_كحرف عادي. - تستخدمه Llama, T5, PaLM.
Tiktoken
مكتبة OpenAI مفتوحة المصدر لتشغيل tokenizers نماذجها.
النماذج الشائعة:
- cl100k_base: GPT-3.5-turbo, GPT-4.
- o200k_base: GPT-4o.
- p50k_base: Codex, GPT-3 المبكّر.
استخدام Python:
import tiktoken
enc = tiktoken.encoding_for_model("gpt-4")
tokens = enc.encode("مرحباً بالعالم")
print(len(tokens)) # سيُظهر عدد tokens
مشكلة العربية
مثال مباشر:
جملة: "الذكاء الاصطناعي يُغيّر العالم"
- بالإنجليزية "Artificial intelligence changes the world" = ~7 tokens في GPT-4.
- بالعربية = ~14-18 tokens.
السبب:
- tokenizer دُرِّب على corpus 90%+ إنجليزي.
- الحرف العربي في UTF-8 يأخذ 2 بايت غالباً، أحياناً كل حرف token منفصل.
- الاشتقاق العربي الغني (السوابق واللواحق) لا يُلتقط جيّداً.
- علامات التشكيل تضيف tokens إضافية.
الأثر العملي:
- تكلفة API أعلى (تدفع per token).
- context window يُستنزَف أسرع (100k token عربي = 25k-50k token إنجليزي).
- جودة أدنى أحياناً، الاستبيان قد يُقسّم كلمة "المتحف" لـ ["ال", "مت", "حف"] ما يفقد معنى الجذر.
Tokenizers محسَّنة عربياً
ALLaM (السعودية، SDAIA)
- نموذج سعودي بتوكينايزر خاص.
- مبني على SentencePiece مع corpus عربي غالب.
- كفاءة أعلى بكثير من tiktoken على العربية.
Jais (الإمارات، G42 + Cerebras)
- تدريب على 116B token عربي + إنجليزي.
- tokenizer مخصّص بمفردات 84k.
AraBERT / MARBERT
- نماذج بحثية بتوكينايزر WordPiece عربي.
Command R+ من Cohere
- ادّعى دعم عربي محسَّن، النتائج جيّدة نسبياً.
قياس كفاءة Tokenizer
Fertility = متوسط عدد tokens لكل كلمة.
| النموذج | إنجليزي | عربي |
|---|---|---|
| GPT-4 (cl100k) | 1.3 | 4.5 |
| GPT-4o (o200k) | 1.2 | 2.8 |
| ALLaM | 1.9 | 1.5 |
| Jais | 1.7 | 1.4 |
ملاحظة: GPT-4o حسّن العربي كثيراً عن GPT-4 السابق.
Special Tokens
كل tokenizer له tokens خاصّة بأغراض محدّدة:
<|endoftext|>: نهاية النصّ.<|im_start|>,<|im_end|>: بداية/نهاية رسالة (ChatML).<s>,</s>: بداية/نهاية جملة.<PAD>: للحشو.<UNK>: كلمة غير معروفة.
هجمات وطرائف
Glitch Tokens
بعض tokens نادرة جداً في التدريب تجعل النموذج يتصرّف غريباً.
قصّة شهيرة: token SolidGoldMagikarp في GPT-3 كان يجعل النموذج يُنتج نصوصاً عشوائية أو يرفض الاستجابة. أُصلح في GPT-4.
Prompt Injection عبر Tokens
تقنيات تستغلّ طريقة الـ tokenization لتخريب النموذج (مثل إخفاء تعليمات في tokens غير مرئية).
متى يهمّ Tokenization في مشروعك؟
1. حساب التكلفة
API prices بـ tokens. نصّ عربي طويل = فاتورة أعلى.
2. Context Window
Claude Sonnet 5 = مليون توكن قياسياً. عربي طويل قد يتخطّى الحدّ بسرعة رغم ذلك، خصوصاً على نماذج بحدود أصغر (200 ألف فأقلّ).
3. جودة اللغات
إذا كان تطبيقك عربياً/متعدد اللغات، اختر نموذجاً بـ tokenizer محسَّن.
4. تدريب نموذج مخصّص
إذا تُدرّب نموذجاً على مجال متخصّص (طبّي، قانوني، برمجي)، درّب tokenizer جديداً:
- من مكتبة
tokenizersمن Hugging Face. - يُقلّل عدد الـ tokens 20-40% على المجال المحدّد.
أدوات مفيدة
- OpenAI Tokenizer: عرض بصري لكيف يُقسَّم نصّك.
- Anthropic Token Counter: لـ Claude.
- Hugging Face Tokenizers: مكتبة Python سريعة (بـ Rust).
- tiktoken (Python): سريع، رسمي من OpenAI.
المستقبل
- Byte-level models (مثل MegaByte): تعمل مباشرة على البايتات، بلا tokenizer. جذّاب فكرياً، لكن لم يُثبت جدواه على المقياس الكامل.
- Token-free models: Byte Latent Transformer، بديل ناشئ.
- Multilingual tokenizers أفضل: كل جيل جديد يُحسّن العربية والصينية والهندية.
توصيات عملية
للاستخدام العام:
- GPT-5.6 أو Claude Sonnet 5 للعربية (تحسين ملحوظ عن الأجيال الأقدم).
- تجنّب النماذج القديمة إذا كان مشروعك عربياً، 4x تكلفة زائدة.
للأبحاث/التطوير:
- ALLaM أو Jais للعربية النقية.
- Llama 3 + fine-tune للأداء المفتوح المصدر.
للاختيار الاستراتيجي:
- احسب تكلفة نموذجيّة على نصوصك الفعلية باستخدام tokenizer الفعلي، لا تعتمد على "عدد الكلمات".
اقرأ أيضاً:
الأسئلة الشائعة
الوحدة الأساسية التي يُعالجها النموذج، قد تكون كلمة كاملة، جزء كلمة، حرف، أو رمز خاص. النصّ 'مرحباً بالعالم' قد يُقسّم لـ ['مرحباً', ' بال', 'عالم'] بحسب الـ tokenizer المستخدم.
لأن المفردات ستكون ضخمة جداً (ملايين الكلمات + كلمات جديدة تُخترع باستمرار + أخطاء إملائية). BPE وأخواتها تجد توازناً بين حجم القاموس والقدرة على تمثيل أي نصّ.
Byte-Pair Encoding، خوارزمية تبدأ بالحروف كـ tokens، ثم تدمج تكراراً الأزواج الأكثر شيوعاً حتى نصل لحجم قاموس مستهدف. مثلاً 'th' يُدمج ثم 'the' ثم 'ing'. تُستخدم في GPT وأكثر النماذج.
معظم الـ tokenizers دُرِّبت على بيانات إنجليزية غالبة. الحرف العربي أحياناً يأخذ 2-3 tokens بسبب UTF-8، والكلمة الواحدة قد تُقسّم لأجزاء كثيرة. النتيجة: نصّ عربي = 2-4× tokens نفس النصّ بالإنجليزية.
يعتمد على النموذج: GPT-5 وGPT-5 mini حتى 400 ألف، Claude Sonnet 5 وOpus 5 حتى مليون توكن قياسياً، Claude Haiku 4.5 حتى 200 ألف، Gemini 3 Pro حتى مليون. هذا يشمل السؤال والرد معاً.
OpenAI Tokenizer (platform.openai.com/tokenizer) للعرض الفوري لـ GPT. Anthropic Tokenizer counter لـ Claude. مكتبة tiktoken في Python للحساب البرمجي. Hugging Face tokenizers لأي نموذج مفتوح المصدر.
نعم، تدريب tokenizer على corpus عربي غالب يُخفّض عدد الـ tokens 40-60%. نماذج مثل ALLaM السعودية و AraBERT و Jais الإماراتية تستخدم tokenizers مُحسَّنة عربياً بدلاً من tiktoken العام.
ضمن سلسلة: المفاهيم التقنية
المقال 3 من 11ما الذي يجري داخل النموذج: المحوّلات، الانتباه، التوكنز، التضمينات، ونافذة السياق.
- 1.معمارية Transformer شرح كامل: الورقة التي غيّرت الذكاء الاصطناعيالدليل الشامل
- 2.آلية Attention شرح كامل: كيف 'تنتبه' النماذج اللغوية؟
- 3.Tokenization في نماذج اللغة: كيف تُقسَّم الكلمات لأرقام؟
- 4.Embeddings في نماذج اللغة: كيف تفهم الآلة المعنى؟
- 5.Context Window، نافذة السياق وكيف تتعامل معها
- 6.Temperature و Top-P، التحكّم بإبداع النموذج
- 7.نماذج الانتشار (Diffusion Models): كيف تُولَّد الصور من الضوضاء؟
- 8.التعلّم المعزَّز (Reinforcement Learning): من AlphaGo إلى o1
- 9.الذكاء الاصطناعي الدستوري و RLHF: كيف تُروَّض النماذج اللغوية؟
- 10.النماذج اللغوية الصغيرة (SLM)، قوّة AI على جهازك
- 11.النماذج اللغوية العربية 2026، ALLaM و Falcon و Jais و Noor
مقالات ذات صلة
Claude Code، دليل المطوّر العمليّ
دليل عملي لـClaude Code (CLI من Anthropic): التثبيت، الاستخدام، المهامّ الشائعة، وأفضل الممارسات — npm install -g @anthropic-ai/claude-code
الذكاء الاصطناعي العام (AGI): هل قريب؟ الجدل الكامل
شرح لجدل AGI، ما هو تعريفه الحقيقي، آراء Sam Altman و Demis Hassabis و Yann LeCun و Gary Marcus، الاختبارات المقترحة، والتوقّعات الواقعية للوصول إليه.
AlphaFold والذكاء الاصطناعي في الاكتشاف العلمي
قصّة AlphaFold، نموذج DeepMind الذي حلّ مشكلة عمرها 50 سنة (طيّ البروتينات) وحصل على نوبل 2024، وكيف يُغيّر AI الاكتشاف العلمي عبر الأدوية والمواد…
تطبيق صحّتي ٢٠٢٦: الدليل الكامل — المواعيد، الوصفات، الملف الصحّي
دليل تطبيق صحّتي — تسجيل مركز صحّي، حجز مواعيد، الوصفات الإلكترونية، شهادات التطعيمات، سجلّك الصحّي، الوصفة الطبّية، وطلب الأدوية.
لوشن أم كريم أم زبدة الجسم؟ دليل ترطيب باث اند بودي وركس
الفرق بين لوشن الجسم وكريم الجسم وزبدة الجسم في باث اند بودي وركس السعودية، وأكثر المنتجات مراجعةً في موقعهم، وكيف تختار القوام المناسب لبشرتك ومناخك.
دليل السفر إلى مراكش من السعودية ٢٠٢٦، أفضل وقت والفيزا
متى تزور مراكش المغربية، إعفاء الفيزا للسعودي ٩٠ يوماً، أبرز أسواقها ومعالمها التاريخية — دليل عملي بجداول طقس حقيقية وروابط طيران وفنادق.