# عرض انبعاثات الكربون لنموذجك

## لماذا يُعدّ حساب انبعاثات الكربون لنموذجي مفيداً؟

غالبًا ما تتطلب تدريب نماذج التعلم الآلي استهلاكًا كبيرًا للطاقة، وقد تُنتج بصمة كربونية كبيرة، كما وصف ذلك [Strubell et al.](https://arxiv.org/abs/1906.02243). لذلك، من المهم *تتبع* و*تقرير* انبعاثات النماذج للحصول على فكرة أفضل عن الآثار البيئية لمجالنا.

## ما المعلومات التي ينبغي علي تضمينها حول البصمة الكربونية لنموذجي؟

إذا أمكنك، فيجب أن تتضمن معلومات حول:
- حيث تم تدريب النموذج (من حيث الموقع)
- العتاد المستخدم -- على سبيل المثال GPU أو TPU أو CPU، وعدد الوحدات
- نوع التدريب: التدريب المسبق أو الضبط الدقيق
- البصمة الكربونية المقدّرة للنموذج، المحسوبة في الوقت الفعلي باستخدام حزمة [Code Carbon](https://github.com/mlco2/codecarbon) أو بعد التدريب باستخدام [ML CO2 Calculator](https://mlco2.github.io/impact/).

## بيانات وصفية لبصمة الكربون

يمكنك إضافة بيانات البصمة الكربونية إلى بيانات وصفية بطاقة النموذج (في ملف README.md). يجب أن تكون بنية البيانات الوصفية على النحو التالي:

```yaml
---
co2_eq_emissions:
  emissions: number (in grams of CO2)
  source: "source of the information, either directly from AutoTrain, code carbon or from a scientific article documenting the model"
  training_type: "pre-training or fine-tuning"
  geographical_location: "as granular as possible, for instance Quebec, Canada or Brooklyn, NY, USA. To check your compute's electricity grid, you can check out https://app.electricitymap.org."
  hardware_used: "how much compute and what kind, e.g. 8 v100 GPUs"
---
```

## كيف يتم حساب البصمة الكربونية لنموذجي؟ 🌎

باعتبار العتاد الحاسوبي والموقع والاستخدام وزمن التدريب، يمكنك تقدير كمية ثاني أكسيد الكربون التي أنتجها النموذج.

الرياضيات بسيطة للغاية! ➕

أولاً، تأخذ *كثافة الكربون* لشبكة الكهرباء المستخدمة في التدريب -- وهذا هو مقدار ثاني أكسيد الكربون الذي يُنتج عن كل كيلوواط ساعة من الكهرباء المستهلكة. تعتمد كثافة الكربون على موقع الأجهزة والمزيج [الطاقة](https://electricitymap.org/) المستخدم في ذلك الموقع -- سواء كانت طاقة متجددة مثل الطاقة الشمسية 🌞، وطاقة الرياح 🌬️، والطاقة الكهرومائية 💧، أو طاقة غير متجددة مثل الفحم ⚫ والغاز الطبيعي 💨. كلما زادت نسبة الطاقة المتجددة المستخدمة في التدريب، قلّت كثافة الكربون!
 
ثم، تقوم بأخذ استهلاك الطاقة للوحدات المعالجة الرسومية أثناء التدريب باستخدام مكتبة `pynvml`.

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

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

لإضافة بيانات **Carbon Emissions** الوصفية إلى نماذجك:

1. إذا كنت تستخدم **AutoTrain**، فسيتم تتبع ذلك نيابةً عنك 🔥
2. وإلا، استخدم متتبعًا مثل Code Carbon في كود التدريب، ثم حدد
```yaml
co2_eq_emissions: 
  emissions: 1.2345
```
في بيانات بطاقة النموذج الوصفية الخاصة بك، حيث `1.2345` هو قيمة الانبعاثات بوحدة **الغرامات**.

لتعلّم المزيد عن البصمة الكربونية لـ Transformers، شاهد [الفيديو](https://www.youtube.com/watch?v=ftWlj4FBHTg)، وهو جزء من دورة Hugging Face!

