تعتمد كفاءة الطاقة في LLM على حزمة الخدمة
تقنية
AI
LLM Inference
Energy Efficiency
MLOps

تعتمد كفاءة الطاقة في LLM على حزمة الخدمة

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

Uygar DuzgunUUygar Duzgun
Aug 9, 2026
تم التحديث 10 أغسطس 2026
12 min read

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

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

تزداد أهمية هذا التمييز كلما كبرت ميزانيات الاستدلال. تزيد الرموز المُولّدة الإضافية من الحسابات، لكن النظام المحيط بهذه الرموز هو الذي يحدد مدى كفاءة العتاد في تنفيذ ذلك العمل. يغطي تحليلي السابق حول رموز الاستدلال وتكلفة حسابها جانب عبء العمل. يركّز هذا المقال على جانب تدقيق الطاقة والخدمة.

كفاءة الطاقة في LLM هي نتيجة لحزمة الخدمة

الطاقة هي القدرة مدمجة عبر الزمن. إذا عملت GPU بمتوسط 400 واط لمدة عشر ثوانٍ، فإنها تستهلك 4,000 جول. هذا الجزء سهل. أما الجزء الصعب فهو اختيار النافذة الزمنية، وحدود العتاد، ووحدة القياس.

يمكن أن يعني مصطلح «الطاقة لكل رمز» ثلاثة أشياء مختلفة على الأقل:

المقياسمفيد لـما قد يخفيه
---------
الجول لكل رمز مخرجاتالمحادثات والتوليد المعتمدان على decodeمعالجة المطالبة، والطلبات الفاشلة، واختلافات الجودة
الجول لكل رمز إدخال فعّالأعمال prefill والسياقات الطويلةعمل المخرجات وقيمة الطلب من البداية إلى النهاية
الجول لكل طلب ناجحمقارنة المنتجات وأعباء العملاختلافات كبيرة في طول المطالبة والاستجابة
الطلبات لكل كيلوواط-ساعةتخطيط السعة والتشغيلصعوبة الطلب، والجودة، وزمن الاستجابة

لا توجد وحدة صحيحة عالميًا. اختر الوحدة التي تتوافق مع عقد الخدمة، ثم أبلغ عن سياق كافٍ حتى يتمكن فريق آخر من تكرار الاختبار.

وتهم حدود العتاد بالقدر نفسه. تتيح NVIDIA Management API عدادات طاقة الجهاز على العتاد المدعوم. ويمكن أن ينتج ذلك فرقًا واضحًا لطاقة GPU، لكنه لا يشمل افتراضيًا عمل CPU، وذاكرة المضيف، والتخزين، والشبكات، والتبريد، أو خسائر تحويل الطاقة. يمكن لـ CodeCarbon توسيع الحدود لتشمل أجزاء مقاسة ومقدّرة، إلا أن وثائقه تصف تقديرات احتياطية للعتاد الذي لا يستطيع قراءته. إن «قياس أداة ما» لا يعني أن كل جزء قد قيس فعليًا.

قاست أربع دراسات أجزاء مختلفة من الحزمة

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

الدراسةالنطاق والمنهجالنتيجة المعلنةالحدود التي يجب مراعاتها
------------
AFlexتفصل عمل attention وfeed-forward، ثم تتحكم في التزويد، والتردد، وحجم الدفعة، وmicrobatching على أنظمة A800طاقة أقل لكل رمز بنسبة تصل إلى 49% مقارنة بخط الأساس المفكك الذي اختبرته، مع تحقيق أهداف TTFT وTPOTعائلتا نموذج، وعتاد A800، وآثار استخدام بأسلوب الإنتاج
Festinaتنسّق التوزيع، وتقسيم GPU، ونقطة التشغيل، والدمج، والترحيل لاستدلال H100 مشتركطاقة أقل بنسبة تصل إلى 56% مع إبقاء تحقيق SLOs ضمن نقطتين مئويتين في الإعداد المعلنسياق خوادم serverless ذات GPU مشترك؛ تتقلص المكاسب عندما يكون prefill مكثفًا حسابيًا مسبقًا
EnerInferتتنبأ بالإنتاجية والقدرة عبر إعدادات NPU والذاكرة، ثم تدير إعدادات التحكم ضمن الحدود الحراريةمكاسب في كفاءة الطاقة بنسبة 65% على الهواتف، و12% على حاسوب محمول، و24% على لوحة طرفيةكانت وفورات الجهاز من البداية إلى النهاية أصغر، بين 4.2 و11%، لأن أجزاء ومراحل أخرى استمرت في استهلاك الطاقة
Understanding Efficiencyتختبر quantization، وbatching، وأنماط الوصول، وخيارات الخدمة على وحدات H100 GPUخفّض continuous batching الطاقة لكل طلب بمقدار 12.5 مرة مقارنة بخط الأساس التسلسلي للدراسة؛ وحققت عمليات الوصول المنظمة مكاسب أكبر في اختبار ثابتمطالبات قصيرة، وحجما نموذج Llama، وعائلة مسرّعات واحدة، وبيانات طاقة تركز غالبًا على GPU

النتيجة المشتركة أقوى من أي نسبة فردية: يمكن للتنسيق أن يغيّر استخدام الطاقة بما يكفي لإبطال تقدير يعتمد على النموذج وحده. وتوضح الأوراق أيضًا سبب عدم اكتمال النصيحة القائلة «استخدم دقة أقل». فقد وجدت دراسة H100 أن الدقة الأقل ساعدت prefill المقيد بالحسابات، بينما كان من الممكن أن تؤدي تكاليف dequantization وkernel إلى محو الفائدة أو عكسها أثناء decode المقيد بالذاكرة.

تعامل مع كل رقم «يصل إلى» باعتباره خاصية لتجربة المؤلفين. لا يثبت AFlex توفيرًا بنسبة 49% على عنقود B200 الخاص بك. ولا يثبت EnerInfer توفيرًا بنسبة 65% على مستوى الجهاز بالكامل لكل هاتف. تحدد النتائج عناصر تحكم تستحق الاختبار، لا وفورات يمكنك نسخها مباشرة إلى توقعاتك.

افصل prefill عن decode قبل التحسين

يمر طلب LLM بمرحلتين لهما اختناقات مختلفة.

يكون prefill عادةً كثيف الحسابات

يعالج prefill المطالبة ويبني ذاكرة التخزين المؤقت للمفاتيح والقيم. تنشئ المطالبات الطويلة دفعات من أعمال المصفوفات المتوازية. قد تساعد تغييرات الدقة والترددات الأعلى عندما تكون هذه المرحلة مقيدة بالحسابات، لكن انخفاض time-to-first-token قد يأتي مع ذروة قدرة أعلى. قِس الطاقة، لا القدرة وحدها.

يكون decode عادةً كثيف الذاكرة

yنتج decode الرموز خطوة واحدة في كل مرة. ويعيد قراءة أوزان النموذج وذاكرة KV cache المتنامية باستمرار، لذلك غالبًا ما تهيمن حركة الذاكرة وتكوين الدفعات. قد تضيف الترددات الأعلى قدرة من دون إنتاجية متناسبة. ويمكن أن تضيف quantization أيضًا تكاليف تحويل عندما لا تكون kernels أو مسارات العتاد متوافقة جيدًا.

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

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

نفّذ تدقيقًا للطاقة يحمي SLOs الخاصة بزمن الاستجابة

يحتاج التدقيق إلى ثلاث طبقات مترابطة: نتائج الطلبات، وسياق الخدمة، وطاقة الجهاز أو العقدة.

مخطط من ثلاث طبقات لقياس طاقة LLM عبر الطلبات وبيئة تشغيل الخدمة والأجهزة
مخطط من ثلاث طبقات لقياس طاقة LLM عبر الطلبات وبيئة تشغيل الخدمة والأجهزة

*تحتاج نتيجة الطاقة المفيدة إلى وحدة واضحة، وسياق للخدمة، وحدّ عتاد محدد صراحةً.*

1. ثبّت عبء عمل ممثلًا

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

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

2. سجّل نتائج على مستوى الطلب

لكل طلب، التقط ما يلي:

رموز الإدخال المقبولة ورموز المخرجات المُولّدة؛
time to first token (TTFT) وtime per output token (TPOT)؛
زمن الاستجابة من البداية إلى النهاية ووقت الانتظار في الطابور؛
حالة النجاح، وانتهاء المهلة، والإلغاء، وإعادة المحاولة؛
فحص جودة خاص بالمهمة أو نتيجة اختبار انحدار.

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

3. سجّل سياق الخدمة

سجّل عناصر التحكم التي يمكن أن تفسر التغيير: مدة prefill وdecode، وحجم الدفعة، والتسلسلات النشطة، وعمق الطابور، والدقة، والتوازي، وإشغال الذاكرة المؤقتة، والتوزيع، وترددات GPU أو حد القدرة، وحمل المستأجرين المشتركين.

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

4. قِس حدًا صريحًا للطاقة

على وحدات NVIDIA GPU المدعومة، تعرض NVML عدادًا إجماليًا للطاقة بوحدة الميلي جول. يمكن لمسبار Python بسيط إحاطة عبء عمل ثابت:

python from pynvml import ( nvmlDeviceGetHandleByIndex, nvmlDeviceGetTotalEnergyConsumption, nvmlInit, nvmlShutdown, )

nvmlInit() gpu = nvmlDeviceGetHandleByIndex(0) start_mj = nvmlDeviceGetTotalEnergyConsumption(gpu)

run_fixed_workload() # same requests, model, and stopping rules

end_mj = nvmlDeviceGetTotalEnergyConsumption(gpu) nvmlShutdown()

gpu_joules = (end_mj - start_mj) / 1_000 joules_per_output_token = gpu_joules / completed_output_tokens

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

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

5. طبّع النتيجة بأكثر من طريقة

أبلغ عن مجموعة صغيرة من المقاييس بدلًا من رقم فائز واحد:

جول GPU لكل رمز مخرجات؛
جول العقدة لكل طلب ناجح؛
الرموز أو الطلبات لكل كيلوواط-ساعة؛
TTFT وTPOT وزمن الاستجابة من البداية إلى النهاية عند p50 وp95؛
معدل الفشل وإعادة المحاولة؛
جودة المهمة ضمن مجموعة التقييم نفسها.

يساعد مقياس واحد في ضبط مسار decode. ويربط مقياس آخر التغيير بقيمة المنتج. وتمنع حقول زمن الاستجابة والجودة تحسين الطاقة من إضعاف الخدمة خفيةً.

6. غيّر عنصر تحكم واحدًا، ثم أعد تشغيل الطلبات

ابدأ بتجارب معزولة: الدقة، وسياسة الدفعات، وتجميع الطلبات، وإعداد الذاكرة المؤقتة، وحد القدرة أو التردد في GPU، والتوزيع. نفّذ تجارب متكررة بعد الإحماء. غيّر الترتيب بين التجارب عندما يمكن للحرارة أو وقت اليوم أن يحيزا النتيجة.

ثم أعد تشغيل أفضل المرشحين تحت عمليات وصول مختلطة. تنسّق Festina وAFlex عدة عناصر تحكم لأن الأمثلية المحلية تتفاعل. يجب أن تعزل محاولتك الأولى الأسباب؛ أما محاولتك النهائية فيجب أن تختبر السياسة المدمجة تحت SLO الحقيقي.

حسّن بالترتيب الذي تدعمه الأدلة

يبدأ ترتيب التحسين الأكثر أمانًا بإزالة العمل المهدور، ثم ينتقل نحو ضوابط العتاد الأكثر دقة.

أزل عمليات إعادة المحاولة والرموز التي يمكن تجنبها. فالطلبات الفاشلة، والمطالبات المكررة، وطول المخرجات غير المنضبط تهدر العمل في كل طبقة.
حسّن تشكيل الطلبات وcontinuous batching. اجمع الطلبات المتوافقة في مجموعات واضبط حدود الانتظار مقابل TTFT. وجدت دراسة H100 مكاسب كبيرة من قرارات الخدمة والوصول، لكن أفضل حجم دفعة لديك سيعتمد على مزيج حركة المرور ووحدة القياس.
استخدم التخزين المؤقت عندما تكون إعادة الاستخدام حقيقية. يمكن لـ prompt caching إزالة عمل prefill المتكرر. قِس معدل الإصابة وسلوك الإبطال، لا خصم المزوّد فقط. راجع دليل اقتصاديات prompt caching لجانب التكلفة.
اختبر الدقة حسب المرحلة ومسار العتاد. تحقق من دعم kernels، واستخدام الذاكرة، وزمن الاستجابة، والجودة، والطاقة. لا يتنبأ عرض البتات للمعلمات وحده بالنتيجة.
اضبط الترددات أو حدود القدرة ضمن SLO. توضح AFlex وFestina وEnerInfer قيمة التحكم الديناميكي. وقد يفشل إعداد ثابت منخفض القدرة في مواجهة الاندفاعات أو التحولات الحرارية.
أعد النظر في التوزيع والدمج. قد يقلل تقليل عدد الأجهزة النشطة من الحمل الزائد للخمول، لكن الترحيل ونقل الذاكرة المؤقتة والتنافس قد تستهلك الوفورات.

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

لا تخلط بين الطاقة والتكلفة والكربون

تجيب هذه المقاييس عن أسئلة مختلفة.

الطاقة تقيس العمل الفيزيائي، عادةً بالجول أو الكيلوواط-ساعة.
القدرة تقيس معدل استخدام الطاقة، عادةً بالواط.
التكلفة تعتمد على التسعير، والاستخدام، والحجوزات، وهوامش المزوّدين.
انبعاثات الكربون تعتمد على الطاقة، والموقع، والوقت، ومزيج الشبكة، وحدود المحاسبة.

لا تثبت فاتورة سحابية أقل طاقة أقل. ولا يثبت عداد GPU الأقل طاقة أقل على مستوى المنشأة. كما أن التشغيل الأقل استهلاكًا للطاقة لا يعني تلقائيًا انبعاثات أقل إذا نُفّذ في وقت أو موقع مختلف.

وتحظى مشكلة إعداد التقارير بأهمية تكفي لوصولها إلى أعمال المعايير. يتضمن عنصر عمل ITU-T حول مقاييس كفاءة طاقة استدلال AI حدود الرموز، ومؤشرات الطاقة لكل رمز، وحسابات الكربون، وقواعد إعداد التقارير ضمن نطاقه. يوضح هذا العمل أن وحدات الرموز وحدود النظام لا تزال غير محسومة. وهو ليس معيارًا نهائيًا.

قاعدة قرار الإنتاج

لا تقبل تغييرًا في كفاءة طاقة LLM إلا عندما يخفض الطاقة لوحدة العمل المفيد المقصودة ويحافظ على عقد الطلب ضمن الميزانية.

اكتب هذا العقد قبل الاختبار:

Prompt — Copy & Paste
بالنسبة إلى شريحة عبء العمل W، يمكن للإعداد B أن يحل محل خط الأساس A إذا انخفضت جول العقدة لكل طلب ناجح، وبقي TTFT وTPOT عند p95 ضمن SLOs الخاصة بهما، وظلت جودة المهمة ضمن النطاق المعتمد، ولم تزد حالات الفشل.

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

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

المصادر

وثائق CodeCarbon — وثائق المشروع الرسمية.