الدليل التقني الكامل حول نماذج اللغة الكبيرة — من كيفية تحوّل النص الخام إلى أرقام، مروراً ببنية الـ transformer وآلية الـ attention، وصولاً إلى التدريب والمحاذاة والاستدلال والـ RAG والنشر في الإنتاج. دون تعميمات؛ معادلات حقيقية وشِفرة حقيقية.
نموذج اللغة الكبير (LLM) هو شبكة عصبية مدرَّبة على التنبؤ بالـ token التالي في تسلسل نصي. هذا الهدف الوحيد — التنبؤ بالـ token التالي — يتبيّن أنه قوي بشكل استثنائي: لكي يتنبأ النموذج جيداً، عليه أن يتعلّم القواعد والحقائق وأنماط الاستدلال وصياغة الشِفرة وأكثر من ذلك بكثير.
تشير كلمة «الكبير» إلى عدد المعاملات (من مليارات إلى تريليونات من الأوزان المتعلَّمة) وإلى حجم بيانات التدريب (تريليونات من الـ tokens من الويب والكتب والشِفرة). عند نطاق كافٍ، تُظهر النماذج قدرات ناشئة — قدرات غير موجودة في النماذج الأصغر ولم تُدرَّب صراحةً، مثل الحساب متعدد الخطوات والاستدلال القياسي والتعلّم في السياق من حفنة من الأمثلة.
من الناحية المعمارية، كل نموذج LLM كبير اليوم هو transformer من نوع decoder-only (عائلة GPT وLlama وMistral وClaude وGemini). يأخذ النموذج تسلسلاً من معرّفات الـ tokens كمدخل وينتج توزيعاً احتمالياً على المفردات للـ token التالي. التوليد هو autoregressive: يعاين النموذج token واحداً، ويلحقه بالتسلسل، ويكرّر.
graph LR A[Input Text] --> B[Tokenizer] B --> C[Token IDs] C --> D[Embedding Layer] D --> E[Transformer Blocks xN] E --> F[LM Head] F --> G[Logits over Vocabulary] G --> H[Softmax + Sampling] H --> I[Next Token] I -->|Autoregressive loop| C
قدرات تظهر فقط فوق عتبات نطاق معينة — التعلّم few-shot، الاستدلال chain-of-thought، اتباع التعليمات — ولم تُدرَّب صراحةً.
يكيّف النموذج سلوكه بناءً على أمثلة في الـ prompt (few-shot) دون أي تحديثات للأوزان. نافذة السياق هي «الذاكرة» الوحيدة أثناء الاستدلال.
تُشفِّر أوزان النموذج ضغطاً ذا فقد لمتن التدريب. لا تُخزَّن الحقائق حرفياً — بل تتوزّع عبر مليارات الأوزان، ولهذا تحدث الهلوسة.
لا تعمل نماذج LLM على الأحرف أو الكلمات — بل تعمل على الـ tokens، وهي وحدات جزئية للكلمات يُنتجها tokenizer مدرَّب على المتن نفسه. فهم الـ tokenization يفسّر التكلفة وطول السياق والعديد من غرائب سلوك النموذج.
GPT-2, GPT-3, GPT-4o, Llama 4, Mistral Large 3
يدمج تكرارياً زوج البايت أو الحرف المتجاور الأكثر تكراراً. يبدأ من البايتات الفردية، لذا يتعامل مع أي نص Unicode دون tokens غير معروفة.
BERT, DistilBERT, ALBERT
مشابه لـ BPE لكن تُختار عمليات الدمج لتعظيم احتمالية بيانات التدريب في ظل نموذج لغوي، بدلاً من التكرار الخام.
T5, Gemma, Qwen
يعامل الـ tokenization كمسألة تجزئة احتمالية. مستقل عن اللغة — يعمل من نص خام دون tokenization مسبق (تُعامَل المسافات كأحرف عادية).
| كلمة | tokens الـ GPT-4o | عدد الـ tokens |
|---|---|---|
| transformer | transformer | 2 |
| tokenization | tokenization | 2 |
| def calculate_loss(logits): | def calculate_loss(logits): | 6 |
| Üniversität | Üniversität | 4 |
| hello | hello | 1 |
| (3 spaces) | 1 |
| النموذج | Tokenizer | حجم المفردات | ملاحظة |
|---|---|---|---|
| GPT-2 | BPE | 50,257 | BPE على مستوى البايت |
| GPT-3 / GPT-3.5 | BPE (cl100k) | 100,277 | مماثل لـ GPT-4 |
| GPT-4 / GPT-4o | BPE (o200k) | 200,019 | أفضل متعدد اللغات |
| Llama 3.x / 4.x | BPE (tiktoken) | 128,256 | محسَّن عن 32k في Llama 2 |
| Mistral v0.x | BPE (SentencePiece) | 32,768 | صغير لكنه فعّال |
| Gemma 2 | SentencePiece | 256,000 | مفردات متعددة اللغات كبيرة جداً |
import tiktoken
# GPT-4o uses the o200k_base encoding
enc = tiktoken.get_encoding("o200k_base")
text = "Tokenization is the first step in every LLM pipeline."
tokens = enc.encode(text)
print(f"Token IDs: {tokens}")
# Token IDs: [5808, 2065, 374, 279, 1176, 3094, 304, 1475, 445, 11237, 15598, 13]
print(f"Token count: {len(tokens)}") # 12
print(f"Decoded: {[enc.decode([t]) for t in tokens]}")
# ['Token', 'ization', ' is', ' the', ' first', ' step', ' in', ' every', ' L', 'LM', ' pipeline', '.']
# Cost estimation: GPT-4o input = $2.50 / 1M tokens
cost_per_token = 2.50 / 1_000_000
print(f"Cost for this sentence: ${cost_per_token * len(tokens):.8f}")قُدّم في «Attention Is All You Need» (Vaswani et al., 2017)، واستبدل الـ transformer الشبكات المتكررة ببنية قائمة بالكامل على الـ attention. كل نموذج LLM كبير اليوم مبني على هذا الأساس.
graph TD A[Input Tokens] --> B[Token Embeddings] B --> C[+ Positional Encoding] C --> D[Multi-Head Self-Attention] D --> E[Add and Layer Norm] E --> F[Feed-Forward Network] F --> G[Add and Layer Norm] G --> H[Next Block or Output]
الفكرة الجوهرية للـ transformer: يمكن لكل token أن ينتبه إلى كل token آخر في التسلسل في آنٍ واحد. بإعطاء مصفوفة إدخال X، تنتج ثلاث إسقاطات متعلَّمة الاستعلامات (Q) والمفاتيح (K) والقيم (V):
تُشغّل الـ multi-head attention عدد H من عمليات الـ attention المستقلة بالتوازي، كل منها بإسقاطات متعلَّمة مختلفة. يتيح هذا للنموذج الانتباه المشترك إلى معلومات من فضاءات تمثيل فرعية مختلفة. يستخدم GPT-3 عدد 96 من رؤوس الـ attention؛ يستخدم Llama 4 Maverick الـ grouped-query attention (GQA) للخدمة الفعّالة.
import torch
import torch.nn.functional as F
def scaled_dot_product_attention(Q, K, V, mask=None):
"""
Q, K, V: (batch, heads, seq_len, head_dim)
Returns: (batch, heads, seq_len, head_dim)
"""
d_k = Q.size(-1)
# Compute attention scores
scores = torch.matmul(Q, K.transpose(-2, -1)) / (d_k ** 0.5) # (batch, heads, seq, seq)
# Apply causal mask (decoder: attend only to past tokens)
if mask is not None:
scores = scores.masked_fill(mask == 0, float('-inf'))
# Softmax over key dimension
attn_weights = F.softmax(scores, dim=-1)
# Weighted sum of values
return torch.matmul(attn_weights, V), attn_weightsتحتوي كل كتلة transformer على شبكة MLP من طبقتين تُطبَّق بشكل مستقل على كل موضع token. البُعد المخفي عادةً 4× بُعد النموذج (مثلاً d_model=4096، d_ff=16384 لنموذج نموذجي من فئة 8B). تستخدم نماذج LLM الحديثة تنشيط SwiGLU (متغيّر بوّابي من SiLU) يتفوّق تجريبياً على ReLU وGELU.
تخزّن طبقات الـ FFN الجزء الأكبر من المعرفة الواقعية في النموذج — تُظهر الأبحاث أنه يمكن تحديد «خلايا المعرفة العصبية» المتمركزة في الـ FFN وتحريرها جراحياً (انظر ROME/MEMIT). تتولى الـ attention التوجيه والتركيب؛ وتتولى طبقات الـ FFN التخزين.
تستخدم كل طبقة فرعية (attention، FFN) وصلة متبقية (output = x + sublayer(x)) وتطبيعاً للطبقة. تستخدم نماذج LLM الحديثة الـ Pre-Norm (التطبيع قبل الطبقة الفرعية) بدلاً من الـ Post-Norm لاستقرار التدريب، وRMSNorm (Root Mean Square norm، دون تمركز للمتوسط) للكفاءة.
| النوع | أمثلة | Attention | الأنسب لـ |
|---|---|---|---|
| Encoder-only | BERT, RoBERTa, DeBERTa | ثنائية الاتجاه (attention كاملة) | التصنيف، NER، embeddings |
| Decoder-only | GPT-4o, Llama 4, Mistral Large 3, Claude Sonnet 4.6 | سببية (من اليسار إلى اليمين) | توليد النص، الدردشة، الاستدلال |
| Encoder-Decoder | T5, FLAN-T5, BART | encoder كامل + cross-attention | الترجمة، التلخيص، seq2seq |
الـ pretraining هو أكثر المراحل تكلفةً — عادةً أكثر من 95 % من إجمالي الحوسبة. يرى النموذج تريليونات من الـ tokens ويتعلّم التنبؤ بالـ token التالي. هذا الهدف البسيط، عند نطاق كافٍ، ينتج معظم القدرات التي نربطها بنماذج LLM.
بإعطاء تسلسل من الـ tokens [t₁, t₂, ..., tₙ]، يُدرَّب النموذج على تعظيم اللوغاريتم الاحتمالي لكل token مشروطاً بكل الـ tokens السابقة:
تعالج كل تمريرة أمامية تسلسلاً كاملاً وتنتج خسارة في كل موضع بالتوازي (teacher forcing). أثناء الاستدلال، تُولَّد الـ tokens بشكل autoregressive، واحداً تلو الآخر.
أظهر Hoffmann et al. (2022) أن النماذج الكبيرة السابقة (GPT-3، Gopher) كانت غير مدرَّبة بما يكفي — معاملات كثيرة جداً مقابل tokens قليلة جداً. نسبة Chinchilla المثلى هي:
الـ tokens المثلى ≈ 20× المعاملات
ينبغي تدريب نموذج بـ 7B معامل على ~140B token للتدريب الأمثل حسابياً. عملياً، تُدرَّب النماذج على أكثر من ذلك بكثير (Llama 3.1 8B: 15T token؛ نماذج Llama 4: ~40T تقديري) لأن تكلفة الاستدلال مهمة — النموذج الأصغر الأكثر تدريباً أرخص في الخدمة.
| النموذج | المعاملات | tokens التدريب | السنة |
|---|---|---|---|
| GPT-2 | 117M – 1.5B | ~10B | 2019 |
| GPT-3 | 175B | ~300B | 2020 |
| Chinchilla | 70B | 1.4T | 2022 |
| Llama 2 (historical) | 7B – 70B | 2T | 2023 |
| Mistral 7B | 7.3B | ~8T (est.) | 2023 |
| Llama 3.1 8B | 8B | 15T | 2024 |
| Llama 3.1 405B | 405B | 15T | 2024 |
| Llama 4 Scout | ~17B active (MoE) | ~40T (est.) | 2025 |
| Llama 4 Maverick | ~17B active (MoE) | ~40T (est.) | 2025 |
زحف ويب على نطاق البيتابايت، خام ومُصفّى. يشكّل الجزء الأكبر من معظم متون الـ pretraining. يتطلّب تصفية جودة واسعة (إزالة التكرار، كشف اللغة، إزالة السُّمّية).
مجموعة بيانات منسَّقة بحجم 825 جيجابايت تمتد عبر 22 مصدراً، منها GitHub وArXiv وPubMed وFreeLaw وDM Mathematics. مفتوحة وقابلة للتكرار.
استنساخات مفتوحة لبيانات تدريب LLaMA. يركّز DCLM (DataComp-LM، 2024) على دراسات إزالة صارمة لجودة البيانات لإيجاد خطوط تصفية مثلى.
Books3 وGutenberg وArXiv وS2ORC. نسبة إشارة إلى ضوضاء عالية؛ حاسمة للاستدلال الطويل والعمق الواقعي.
تحمل كل GPU نسخة من النموذج؛ تُقسَّم الدفعات عبر وحدات الـ GPU. تُحسَب التدرجات بالمتوسط (AllReduce) بعد كل تمريرة خلفية. قياسي لجميع الأحجام.
تُقسَّم مصفوفات الأوزان الفردية عبر وحدات الـ GPU. يتطلّب ترابطاً عالي النطاق الترددي (NVLink). يُستخدم للنماذج التي تتجاوز VRAM لـ GPU واحدة.
تُسنَد طبقات مختلفة إلى وحدات GPU مختلفة. تتدفّق الدفعات الصغيرة عبر خط الأنابيب. فعّال للنماذج العميقة جداً؛ يتطلّب جدولة دقيقة لتقليل الفقاعات.
النموذج الأساس المُدرَّب مسبقاً هو متنبئ قوي لكن غير متوقَّع بالـ token التالي — سيكمل أي نص، بما في ذلك المحتوى الضار. يحوّله تدريب المحاذاة إلى مساعد مفيد وغير ضار وصادق.
يُضبَط النموذج الأساس بدقة على مجموعة بيانات من أزواج (تعليمة، استجابة مثالية)، مكتوبة أو منسَّقة بواسطة مُعلِّقين بشريين. يعلّم هذا النموذج صيغة اتباع التعليمات. هدف التدريب مماثل للـ pretraining (الإنتروبيا المتقاطعة)، لكن مجموعة البيانات صغيرة (عشرات الآلاف من الأمثلة) وعالية الجودة. بعد الـ SFT، يمكن للنموذج اتباع التعليمات لكنه قد يظل غير صادق أو ضاراً.
graph LR A[Pretrained LLM] --> B[SFT on Instruction Data] B --> C[SFT Model] C --> D[Generate Completions] D --> E[Human Preference Labels] E --> F[Train Reward Model] F --> G[RLHF with PPO] G --> H[Aligned LLM]
نموذج المكافأة: يقارن المُعلِّقون البشريون أزواجاً من استجابات النموذج ويصنّفون تفضيلهم. يُدرَّب نموذج منفصل على التنبؤ بالاستجابة المفضّلة لدى البشر لـ prompt معيّن. تلتقط إشارة المكافأة العددية هذه أحكام جودة دقيقة يصعب تحديدها كدالة خسارة.
PPO (Proximal Policy Optimisation): يُحسَّن نموذج الـ SFT (الـ «policy») لتعظيم درجة نموذج المكافأة، بينما تمنعه عقوبة تباعد KL من الانحراف بعيداً عن خط أساس الـ SFT (ما قد يسبب reward hacking). الـ PPO مكلف حسابياً: يتطلّب أربعة نماذج في الذاكرة في آنٍ واحد.
أظهر Rafailov et al. (2023) أنه يمكن تحسين هدف الـ RLHF مباشرةً على نموذج الـ policy دون نموذج مكافأة منفصل أو حلقة RL. بإعطاء أزواج من الاستجابات المفضّلة والمرفوضة، يُعيد الـ DPO تحديد معاملات المكافأة كدالة للوغاريتمات احتمالات نموذج الـ policy والنموذج المرجعي:
الـ DPO أبسط وأكثر استقراراً وأرخص من الـ RLHF مع PPO. تستخدم معظم النماذج المحاذاة مفتوحة المصدر (Llama 4 Instruct، Mistral Instruct) الـ DPO أو متغيّراً منه (SimPO، IPO) لمرحلة محاذاة التفضيلات.
| الطريقة | نموذج المكافأة | حلقة RL | الاستقرار | تُستخدم في |
|---|---|---|---|---|
| RLHF (PPO) | نعم | نعم (PPO) | معتدل | InstructGPT, early ChatGPT |
| DPO | لا | لا | مرتفع | Llama 4, Mistral, Zephyr |
| Constitutional AI (CAI) | نقد ذاتي | نعم (RLAIF) | مرتفع | Claude (Anthropic) |
| GRPO / DAPO | قائم على القواعد | نسبي للمجموعة | مرتفع | DeepSeek-R1, Qwen |
في كل خطوة توليد، يُخرج النموذج متجه logit بحجم |vocabulary|. تحدّد استراتيجية المعاينة كيفية اختيار token واحد من هذا التوزيع — ولها تأثير هائل على جودة المخرجات وتنوّعها وتماسكها.
| درجة الحرارة | الأثر | حالة الاستخدام |
|---|---|---|
| 0.0 (Greedy) | اختيار الـ token الأعلى احتمالاً دائماً. حتمي. | التصنيف، الاستخراج المنظَّم، الأسئلة والأجوبة الواقعية |
| 0.2 – 0.4 | توزيع أكثر حدّة، يتبع غالباً المسار الأكثر احتمالاً لكنه يسمح بتباينات صغيرة. | توليد الشِفرة، التلخيص |
| 0.6 – 0.8 | متوازن. مزيج جيد من التماسك والتنوّع. | الدردشة العامة، اتباع التعليمات (الافتراضي لمعظم النماذج) |
| 1.0 | المعاينة مباشرةً من توزيع النموذج. أكثر تنوّعاً. | الكتابة الإبداعية، العصف الذهني |
| > 1.0 | يسطّح التوزيع. يزيد العشوائية والتكرار. ينتج غالباً مخرجات غير متماسكة. | نادراً ما يكون مفيداً في الإنتاج |
رتّب الـ tokens حسب الاحتمال، خذ أصغر مجموعة يبلغ احتمالها التراكمي ≥ p، ثم عايِن من تلك المجموعة. عند p=0.9، يأخذ النموذج في الاعتبار فقط الـ tokens التي تشكّل معاً 90 % من كتلة الاحتمال. يكيّف حجم مجموعة المرشحين ديناميكياً: عند الثقة تكون النواة صغيرة؛ وعند عدم اليقين تكون أوسع.
اقتطع التوزيع إلى الـ k الأكثر احتمالاً من الـ tokens، ثم عايِن منها. أبسط من الـ top-p لكنه يستخدم k ثابتاً بغضّ النظر عن شكل التوزيع. يُفضَّل الـ top-p عموماً؛ والـ top-k مفيد عندما تحتاج إلى تحكّم صارم في حجم مجموعة المرشحين.
from openai import OpenAI
client = OpenAI()
# Factual / structured output: low temperature, no top-p
factual = client.chat.completions.create(
model="gpt-4o",
messages=[{"role": "user", "content": "What is the capital of France?"}],
temperature=0.0,
max_tokens=50,
)
# Creative writing: higher temperature + nucleus sampling
creative = client.chat.completions.create(
model="gpt-4o",
messages=[{"role": "user", "content": "Write a haiku about neural networks."}],
temperature=0.9,
top_p=0.95,
max_tokens=100,
)
# Code generation: low temp, deterministic
code = client.chat.completions.create(
model="gpt-4o",
messages=[{"role": "user", "content": "Write a Python quicksort function."}],
temperature=0.2,
max_tokens=300,
)لا يملك الـ transformer مفهوماً متأصلاً لترتيب الـ tokens — الـ attention ثابتة تحت التبديل. يحقن ترميز الموضع معلومات الترتيب. يحدّد اختيار طريقة الترميز مدى جودة تعميم النموذج على تسلسلات أطول من طول تدريبه.
يُضاف متجه متعلَّم أو ثابت (جيبي) إلى كل embedding للـ token عند الموضع i. يستخدم GPT-2 وBERT embeddings مطلقة متعلَّمة. حد صارم: لا يمكن للنموذج التعميم على مواضع لم يرها قط أثناء التدريب.
يرمّز الموضع بتدوير متجهي Q وK في الفضاء العقدي بزاوية متناسبة مع الموضع. تعتمد درجة الـ attention بشكل طبيعي على المسافة النسبية بين الـ tokens. تستخدمه Llama 4 وMistral Large 3 وQwen ومعظم نماذج الأوزان المفتوحة الحديثة. يمكّن تقنيات تمديد السياق مثل YaRN وLongRoPE.
أثناء التوليد الـ autoregressive، يعيد النموذج حساب الـ attention لكل token في كل خطوة — بسذاجة O(n²) لكل خطوة. تخزّن الـ KV-cache مصفوفات المفاتيح والقيم لكل الـ tokens السابقة. في كل خطوة جديدة، تُحسَب فقط Q وK وV للـ token الجديد وتُلحَق K وV المخزَّنة. يقلّل هذا التوليد من O(n²) إلى O(n) لكل token جديد.
| النموذج | نافذة السياق | ترميز الموضع | الطول الفعّال* |
|---|---|---|---|
| GPT-4o | 128K | متعلَّم + RoPE (تقديري) | 128K |
| Claude Sonnet 4.6 | 200K | غير معلن | ~150K (عملي) |
| Gemini 2.5 Pro | 1M | غير معلن | ~500K (عملي) |
| Llama 4 Maverick | 1M | RoPE | 1M |
| Mistral Large 3 | 128K | Sliding Window + RoPE | 128K |
| DeepSeek-R1 | 128K | RoPE | 128K |
*الطول الفعّال: النافذة التي يسترجع عليها النموذج المعلومات بشكل موثوق. تُظهر أبحاث «Lost in the middle» أن الأداء يتدهور للمحتوى الموضوع في منتصف سياقات طويلة جداً.
يعالج الـ RAG قيدين أساسيين في نماذج LLM: حدّ معرفتها وميلها إلى الهلوسة. بدلاً من الاعتماد على ما حفظه النموذج أثناء التدريب، يسترجع الـ RAG مستندات ذات صلة في وقت الاستدلال ويحقنها في الـ prompt.
graph LR A[User Query] --> B[Embed Query] B --> C[Vector Search] C --> D[Top-k Chunks] D --> E[Inject into Prompt] A --> E E --> F[LLM Generation] F --> G[Grounded Answer]
تضمين الاستعلام ← بحث تشابه top-k ← إلحاق التجزئات بالـ prompt ← التوليد. بسيط لكنه عرضة للاسترجاع غير ذي الصلة وزيادة تحميل السياق.
يضيف إعادة كتابة الاستعلام، وإعادة الترتيب (cross-encoders)، وembeddings المستندات الافتراضية (HyDE)، والاسترجاع العَودي، وضغط السياق.
خط أنابيب مفكوك: التوجيه وتحويل الاستعلام والاسترجاع والتسجيل والتصفية والدمج يمكن استبدال كلٍّ منها بشكل مستقل. أقصى مرونة.
التقسيم كل N من الـ tokens بتداخل M من الـ tokens. سريع لكنه قد يقطع في منتصف الجملة. خط أساس جيد.
التقسيم عند حدود الجمل أو الفقرات. يحافظ على الوحدات الدلالية لكن التجزئات تتفاوت في الحجم.
تجميع الجمل ذات تشابه الـ embedding العالي في تجزئات متماسكة. أفضل جودة استرجاع؛ أعلى تكلفة حوسبة في وقت الفهرسة.
الفهرسة على مستويات تفصيل متعددة (مستند ← قسم ← فقرة). الاسترجاع عند المستوى المطابق لخصوصية الاستعلام.
| قاعدة البيانات | النشر | النطاق | الأنسب لـ |
|---|---|---|---|
| pgvector | ذاتية الاستضافة (امتداد Postgres) | ملايين | مستخدمو Postgres الحاليون؛ مكدّس أبسط |
| Qdrant | ذاتية الاستضافة / سحابة | مليارات | أداء عالٍ، تصفية غنية، مفتوح المصدر |
| Weaviate | ذاتية الاستضافة / سحابة | مليارات | متعدد الوسائط، هجين دلالي + كلمات مفتاحية |
| Pinecone | سحابة مُدارة بالكامل | مليارات | SaaS مُدار، تشغيل بأقل جهد |
| Chroma | محلية / ذاتية الاستضافة | ملايين | النمذجة الأولية، التطوير المحلي |
ضاقت الفجوة بين نماذج الأوزان المفتوحة ونماذج الحدود المملوكة بشكل كبير. يضاهي Llama 4 Maverick نموذج GPT-4o في العديد من الـ benchmarks؛ ويتفوّق DeepSeek-R1 على o1 في الرياضيات والبرمجة بجزء بسيط من تكلفة التدريب. يدور الاختيار بشكل متزايد حول نموذج النشر وخصوصية البيانات والتكلفة الإجمالية للملكية.
| النموذج | المعاملات | السياق | الترخيص | MMLU | أفضل حالة استخدام |
|---|---|---|---|---|---|
| Open Weight | |||||
| Llama 4 Scout | ~17B active (MoE) | 1M | Llama 4 Community License | 79.6 | سريع، سياق طويل، على الجهاز |
| Llama 4 Maverick | ~17B active (MoE) | 1M | Llama 4 Community License | 85.5 | توازن قدرة/تكلفة، سياق طويل |
| Llama 4 Behemoth | ~288B active (MoE) | 128K | Llama 4 Community License | ~92 (est.) | مهام أوزان مفتوحة على الحدود |
| Mistral Large 3 | ~123B | 128K | Mistral Research License | 84.0 | مؤسسة متعددة اللغات |
| Qwen2.5 72B | 72B | 128K | Apache 2.0 | 86.0 | الشِفرة، الرياضيات، متعدد اللغات |
| DeepSeek-R1 | 671B MoE | 128K | MIT | 90.8 | الاستدلال، الرياضيات، العلوم |
| Gemma 2 27B | 27B | 8K | Gemma License | 75.2 | البحث، الضبط الدقيق |
| Phi-4 | 14B | 16K | MIT | 84.8 | |
| مملوك | |||||
| GPT-4o | ~200B est. | 128K | Proprietary | 88.7 | حدود عامة، متعدد الوسائط |
| Claude Sonnet 4.6 | Undisclosed | 200K | Proprietary | 88.7 | سياق طويل، برمجة، سلامة |
| Gemini 2.5 Pro | Undisclosed | 1M | Proprietary | 85.9 | سياق طويل جداً، متعدد الوسائط، استدلال |
| o3 / o1 | Undisclosed | 200K | Proprietary | ~91+ | استدلال معقّد، بحث على الحدود |
تتطلّب خدمة نماذج LLM على نطاق واسع حلّ مشكلات الذاكرة (الـ VRAM شحيحة)، والإنتاجية (مستخدمون متزامنون كثيرون)، وزمن الاستجابة (يريد المستخدمون tokens أولى سريعة). طوّر النظام البيئي حلولاً قوية لكل تحدٍّ.
تقليل الدقة العددية لأوزان النموذج يقلّص الـ VRAM ويسرّع الحوسبة. تطبّق التقنيات الحديثة (GPTQ، AWQ، GGUF) الـ quantisation بشكل غير منتظم، حامية الأوزان الأكثر حساسية.
| الصيغة | بت/وزن | الحجم النسبي | الاحتفاظ بالجودة | الأدوات |
|---|---|---|---|---|
| FP32 | 32 | 100% | 100 % (خط الأساس) | PyTorch default |
| FP16 / BF16 | 16 | 50% | ~100 % | Standard training/inference |
| INT8 | 8 | 25% | ~99 % | bitsandbytes, TensorRT-LLM |
| INT4 (GPTQ/AWQ) | 4 | 12.5% | ~95–98 % | AutoGPTQ, AutoAWQ, llama.cpp |
| GGUF Q4_K_M | ~4.5 | ~14% | ~96 % | llama.cpp, Ollama |
| GGUF Q2_K | ~2.6 | ~8% | ~88 % | llama.cpp (CPU focus) |
PagedAttention لإدارة فعّالة للـ KV-cache، وbatching مستمر، وتوازي tensor. المعيار الذهبي لخدمة الـ GPU عالية الإنتاجية. API متوافق مع OpenAI.
خادم الإنتاج من Hugging Face. Flash Attention 2، batching مستمر، فك تشفير تخميني. يشغّل الـ Inference API.
خدمة محلية بالغة البساطة عبر نماذج GGUF. أمر واحد لسحب أي نموذج وتشغيله. غير مصمَّم للتزامن العالي لكنه ممتاز للتطوير.
استدلال C++ خالص مع quantisation الـ GGUF. يعمل على معالجات MacBook من سلسلة M ووحدات GPU الاستهلاكية. يشغّل Ollama من الخلف.
يدير PagedAttention الخاص بـ vLLM (Kwon et al., 2023) ذاكرة الـ KV-cache مثل الذاكرة الافتراضية في نظام تشغيل — بتقسيمها إلى صفحات ثابتة الحجم مخصَّصة بشكل غير متجاور. يلغي هذا التجزؤ والحجز المهدور، ما يتيح إنتاجية أكثر بـ 2–24× من HuggingFace Transformers بذاكرة GPU متساوية.
يتيح الـ batching المستمر للطلبات الجديدة الانضمام إلى دفعة قيد التنفيذ بمجرد انتهاء تسلسل، بدلاً من انتظار الدفعة كاملةً. يحسّن هذا استغلال الـ GPU بشكل كبير في أحمال العمل المتفاوتة الطول.
# Start a vLLM server for Llama 4 Scout Instruct
# Requires: pip install vllm, CUDA GPU with ≥16GB VRAM
python -m vllm.entrypoints.openai.api_server \
--model meta-llama/Llama-4-Scout-17B-16E-Instruct \
--tensor-parallel-size 1 \
--max-model-len 32768 \
--dtype bfloat16 \
--port 8000
# The server exposes an OpenAI-compatible API:
curl http://localhost:8000/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "meta-llama/Llama-4-Scout-17B-16E-Instruct",
"messages": [{"role": "user", "content": "Explain attention mechanisms."}],
"temperature": 0.7,
"max_tokens": 512
}'التقييم هو أحد أصعب المشكلات المفتوحة في أبحاث نماذج LLM. تقيس الـ benchmarks القياسية قدرات محددة لكنها ترتبط بشكل غير كامل بالفائدة في العالم الحقيقي. تجمع استراتيجية التقييم الشاملة بين الـ benchmarks الآلية والتقييم البشري والـ LLM-as-judge.
| Benchmark | يقيس | الصيغة | القيد |
|---|---|---|---|
| MMLU | معرفة واسعة (57 موضوعاً) | اختيار من متعدد بأربعة خيارات | صيغة اختيار من متعدد؛ خطر التلوّث |
| HumanEval | توليد شِفرة Python | إكمال دالة + اختبارات وحدة | Python فقط؛ توزيع مهام ضيّق |
| GSM8K | مسائل رياضيات لفظية للمرحلة الابتدائية | حساب حر الصيغة | مشبَع بنماذج الحدود (>95 %) |
| HellaSwag | NLI للمنطق العام | إكمال جملة بأربعة خيارات | مشبَع؛ تنافسي لكنه قديم |
| MT-Bench | اتباع التعليمات (متعدد الأدوار) | LLM-as-judge (GPT-4) | للحكم GPT-4 تحيّزاته الخاصة |
| GPQA Diamond | علوم على مستوى الدراسات العليا | اختيار من متعدد بأربعة خيارات من خبراء المجال | مجموعة بيانات صغيرة؛ يصعب توسيعها |
| MATH-500 | رياضيات المسابقات | مطابقة إجابة دقيقة | حسّاس للصيغة؛ يمكن حفظ الحلول |
| النموذج | MMLU | HumanEval | GSM8K | MATH |
|---|---|---|---|---|
| GPT-4o | 88.7 | 90.2 | 96.0 | 76.6 |
| Claude Sonnet 4.6 | 88.7 | 92.0 | 96.0 | 78.3 |
| Gemini 2.5 Pro | 85.9 | 84.1 | 91.7 | 67.7 |
| DeepSeek-R1 | 90.8 | 92.3 | 97.3 | 97.3 |
| Llama 4 Maverick | 85.5 | 85.4 | 95.0 | 72.0 |
| Llama 4 Scout | 79.6 | 77.0 | 89.0 | 58.0 |
| Mistral Large 3 | 84.0 | 92.0 | 93.0 | 69.0 |
| Llama 3.1 8B (2024) | 73.0 | 72.6 | 84.5 | 51.9 |
للمهام المفتوحة حيث لا توجد إجابات مرجعية، يمكن لنموذج LLM قوي تسجيل الاستجابات باستخدام مقياس تقييم منظَّم. يستخدم MT-Bench وChatbot Arena هذا النهج. الخطر الرئيسي هو تحيّز الموضع (يفضّل الحكم الإجابات التي تظهر أولاً) وتحيّز الإسهاب (تحصل الإجابات الأطول على درجات أعلى بغضّ النظر عن الجودة).
from openai import OpenAI
client = OpenAI()
def llm_judge(question: str, answer: str, rubric: str) -> dict:
prompt = f"""You are an expert evaluator. Score the following answer on a 1-10 scale.
Question: {question}
Answer: {answer}
Rubric: {rubric}
Respond with JSON: {{"score": <int>, "reasoning": "<str>", "strengths": ["..."], "weaknesses": ["..."]}}"""
response = client.chat.completions.create(
model="gpt-4o",
messages=[{"role": "user", "content": prompt}],
response_format={"type": "json_object"},
temperature=0.0,
)
import json
return json.loads(response.choices[0].message.content)
result = llm_judge(
question="Explain the attention mechanism in transformers.",
answer="Attention computes a weighted sum of values...",
rubric="Accuracy (4pt), Clarity (3pt), Completeness (3pt)",
)
print(f"Score: {result['score']}/10 — {result['reasoning']}")فهم كيفية عمل نماذج LLM هو الأساس — لكن اختيار النموذج الصحيح وبنية النشر واستراتيجية التقييم لحالة استخدامك المحددة يتطلّب خبرة عملية. بنى فريقنا أنظمة LLM إنتاجية عبر الـ RAG والوكلاء والضبط الدقيق والنشر المؤسسي. احجز استشارة لمناقشة مشروعك.