Hub documentation
بطاقات النماذج
بطاقات النماذج
ما هي بطاقات النماذج؟
بطاقات النماذج هي ملفات ترافق النماذج وتوفر معلومات مفيدة. في الخلفية، بطاقات النماذج هي ملفات Markdown بسيطة مع بيانات وصفية إضافية. بطاقات النماذج أساسية للعثور على النماذج، وإعادة إنتاجها، ومشاركتها! يمكنك العثور على بطاقة النموذج كملف README.md في أي مستودع نموذج.
يجب أن يصف بطاقة النموذج:
- النموذج
- استخداماته المقصودة & حدودها المحتملة، بما في ذلك التحيزات والاعتبارات الأخلاقية كما وردت في Mitchell, 2018
- معلمات التدريب والمعلومات التجريبية (يمكنك تضمين رابط أو ربطه بمنصة تتبع التجارب للاطلاع عليها)
- ما هي مجموعات البيانات التي تم استخدامها لتدريب نموذجك
- نتائج تقييم النموذج
قالب بطاقة النموذج متاح هنا.
يُوصف كيفية ملء كل قسم من بطاقة النموذج في بطاقة النموذج الموضّحة.
تتكوّن بطاقات النماذج على الهاب من جزأين رئيسيين، مع وجود معلومات متداخلة بينهما:
بيانات وصفية لبطاقة النموذج
يعرض مستودع النموذج ملف README.md على شكل بطاقة نموذج. بطاقة النموذج هي ملف Markdown يحتوي على قسم YAML في أعلى الملف يتضمن بيانات وصفية عن النموذج.
تدعم البيانات الوصفية التي تضيفها إلى بطاقة النموذج اكتشاف نموذجك واستخدامه بسهولة أكبر. على سبيل المثال:
- السماح للمستخدمين بتصفية النماذج على https://huggingface.co/models.
- عرض ترخيص النموذج.
- إضافة مجموعات البيانات إلى البيانات الوصفية ستضيف رسالة تقول
Datasets used to train:إلى صفحة النموذج الخاص بك وتربط بمجموعات البيانات ذات الصلة، إذا كانت متاحة على Hub.
معرّفات مجموعة البيانات واللغة هي تلك المدرجة في صفحتي Datasets وLanguages.
إضافة بيانات وصفية إلى بطاقة النموذج الخاصة بك
توجد عدة طرق مختلفة لإضافة البيانات الوصفية إلى بطاقة النموذج الخاصة بك، بما في ذلك:
- استخدام واجهة بيانات الوصف
- تعديل قسم YAML في ملف
README.mdمباشرة - عبر مكتبة
huggingface_hubبلغة بايثون، راجع التوثيق لمزيد من التفاصيل.
تضيف العديد من المكتبات التي تتضمن تكاملًا مع Hub بيانات وصفية تلقائيًا إلى بطاقة النموذج عند رفع نموذج.
استخدام واجهة بيانات الوصف
يمكنك إضافة بيانات وصفية إلى بطاقة النموذج الخاصة بك باستخدام واجهة بيانات الوصف. للوصول إلى واجهة بيانات الوصف، انتقل إلى صفحة النموذج وانقر على زر Edit model card في الزاوية العلوية اليمنى من بطاقة النموذج. سيفتح ذلك محررًا يعرض ملف بطاقة النموذج README.md بالإضافة إلى واجهة لتحرير البيانات الوصفية.

تتيح لك هذه الواجهة إضافة بيانات وصفية رئيسية إلى بطاقة النموذج الخاص بك، وستُستكمل تلقائيًا العديد من الحقول بناءً على المعلومات التي تقدمها. يُعد استخدام الواجهة أسهل طريقة لإضافة البيانات الوصفية إلى بطاقة النموذج، لكنها لا تدعم جميع حقول البيانات الوصفية. إذا أردت إضافة بيانات وصفية لا تدعمها الواجهة، يمكنك تحرير قسم YAML في ملف README.md مباشرة.
تعديل قسم YAML في ملف README.md
يمكنك أيضًا تحرير قسم YAML في ملف README.md مباشرة. إذا لم يكن لبطاقة النموذج قسم YAML بالفعل، يمكنك إضافة قسم واحد عن طريق إضافة ثلاثة --- في أعلى الملف، ثم تضمين جميع البيانات الوصفية ذات الصلة، وإغلاق القسم بمجموعة أخرى من --- كما هو موضح في المثال أدناه:
---
language:
- "List of ISO 639-1 code for your language"
- lang1
- lang2
thumbnail: "url to a thumbnail used in social sharing"
tags:
- tag1
- tag2
license: "any valid license identifier"
datasets:
- dataset1
- dataset2
base_model: "base model Hub identifier"
---يمكنك العثور على مواصفات بيانات الوصف التفصيلية لبطاقة النموذج هنا.
تحديد مكتبة
يمكنك تحديد المكتبات المدعومة في قسم بيانات الوصف (metadata) لبطاقة النموذج. تجد المزيد حول المكتبات المدعومة لدينا هنا. سيتم تحديد المكتبة وفق ترتيب الأولوية التالي:
- تحديد
library_nameفي بطاقة النموذج (يُنصح بذلك إذا لم يكن نموذجك نموذجtransformers). يمكن إضافة هذه المعلومات عبر واجهة المستخدم الخاصة بالميتاداتا أو مباشرةً في قسم YAML لبطاقة النموذج:
library_name: flair- وجود وسم باسم مكتبة مدعومة
tags:
- flairإذا لم يُحدد، فسيحاول Hub اكتشاف نوع المكتبة تلقائيًا. ومع ذلك، يُنصح بعدم استخدام هذا النهج، وينبغي على منشئي المستودعات استخدام library_name الصريح قدر الإمكان.
- من خلال البحث عن وجود ملفات مثل
*.nemoأو*.mlmodel، يمكن للمركز (Hub) تحديد ما إذا كان النموذج من NeMo أو CoreML. - في الماضي، إذا لم يُكتشف شيء وكان هناك ملف
config.json، كان يُفترض أن المكتبة هيtransformers. أما بالنسبة لمستودعات النماذج المنشأة بعد أغسطس 2024، فلم يعد الأمر كذلك، لذا عليك تعيينlibrary_name: transformersبشكل صريح.
تحديد نموذج أساسي
إذا كان نموذجك نسخة مُعدَّلة (fine-tune) أو مُكيِّفًا (adapter) أو نسخة مُكمَّمة (quantized) من نموذج أساسي، يمكنك تحديد النموذج الأساسي في قسم بيانات الوصف (metadata) لبطاقة النموذج. يمكن أيضًا استخدام هذه المعلومات للإشارة إلى ما إذا كان نموذجك دمجًا لعدة نماذج موجودة مسبقًا. وبالتالي، يمكن أن يكون حقل base_model معرِّفًا لنموذج واحد، أو قائمةً بنموذج أساسي واحد أو أكثر (مُحدَّدًا بمعرِّفات Hub الخاصة به).
base_model: HuggingFaceH4/zephyr-7b-betaسيُستخدم هذا البيانات الوصفية لعرض النموذج الأساسي في صفحة النموذج. كما يمكن للمستخدمين استخدام هذه المعلومات لتصفية النماذج حسب النموذج الأساسي أو إيجاد النماذج المشتقة من نموذج أساسي محدد:




في حالة الدمج، تحدد قائمة من نموذجين أساسيين أو أكثر base_models:
base_model:
- Endevor/InfinityRP-v1-7B
- l3utterfly/mistral-7b-v0.1-layla-v4يستنتج Hub نوع العلاقة من النموذج الحالي إلى النموذج الأساسي ("adapter", "merge", "quantized", "finetune")، لكن يمكنك أيضاً ضبطها صراحةً عند الحاجة، على سبيل المثال: base_model_relation: quantized.
تحديد إصدار جديد
إذا كانت نسخة جديدة من نموذجك متاحة في Hub، يمكنك تحديد ذلك في حقل new_version.
على سبيل المثال، في l3utterfly/mistral-7b-v0.1-layla-v3:
new_version: l3utterfly/mistral-7b-v0.1-layla-v4سيُستخدم هذا البيانات الوصفية لعرض رابط إلى أحدث إصدار من النموذج على صفحة النموذج. إذا كان النموذج المرتبط في new_version يحتوي أيضًا على حقل new_version، فسيتم دائمًا عرض أحدث إصدار.

تحديد مجموعة بيانات
يمكنك تحديد مجموعات البيانات المستخدمة في تدريب نموذجك في قسم بيانات الوصف (metadata) لبطاقة النموذج. ستُعرض مجموعات البيانات على صفحة النموذج، وسيتمكن المستخدمون من تصفية النماذج حسب مجموعة البيانات. يجب عليك استخدام معرّف مجموعة البيانات في Hub، وهو نفسه اسم مستودع مجموعة البيانات كمعرّف:
datasets:
- stanfordnlp/imdb
- HuggingFaceFW/finewebتحديد دلو
يمكنك تحديد حاويات التخزين المرتبطة بنموذجك في قسم بيانات الوصف (Metadata) لبطاقة النموذج. ستظهر الحاويات كوسوم على صفحة النموذج، وستعرض صفحات الحاويات المرتبطة النموذج بدورها. يجب عليك استخدام معرّف حاوية Hub، وهو نفسه اسم مستودع الحاوية:
buckets:
- my-org/my-bucket
- my-org/another-bucketتحديد مهمة ( pipeline_tag )
يمكنك تحديد pipeline_tag في بيانات بطاقة النموذج الوصفية. يشير pipeline_tag إلى نوع المهمة التي صُمم النموذج لأدائها. ستظهر هذه العلامة على صفحة النموذج، ويمكن للمستخدمين تصفية النماذج على Hub حسب المهمة. كما تُستخدم هذه العلامة لتحديد widget الذي سيُستخدم للنموذج، وأي واجهات برمجة التطبيقات (APIs) التي ستُستخدم في الخلفية.
بالنسبة لنماذج transformers، يُستنتج وسم خط الأنابيب تلقائيًا من ملف config.json الخاص بالنموذج، لكن يمكنك تجاوز ذلك في بيانات بطاقة النموذج الوصفية عند الحاجة. سيضمن تعديل هذا الحقل في واجهة بيانات وصفية صحة وسم خط الأنابيب. كما ستضيف بعض المكتبات الأخرى المتكاملة مع Hub وسم خط الأنابيب تلقائيًا إلى بيانات بطاقة النموذج الوصفية.
تحديد ترخيص
يمكنك تحديد الترخيص في قسم بيانات الوصف (metadata) لبطاقة النموذج. سيُعرض الترخيص على صفحة النموذج، وسيتمكن المستخدمون من تصفية النماذج حسب الترخيص. باستخدام واجهة بيانات الوصف، ستجد قائمة منسدلة تتضمن أكثر التراخيص شيوعاً.
في حال كانت هناك حاجة، يمكنك أيضًا تحديد ترخيص مخصص عن طريق إضافة other كقيمة للترخيص وتحديد اسم الترخيص ورابطًا إليه في البيانات الوصفية.
# Example from https://huggingface.co/coqui/XTTS-v1
---
license: other
license_name: coqui-public-model-license
license_link: https://coqui.ai/cpml
---إذا لم يكن الترخيص متاحًا عبر رابط URL، يمكنك ربط ملف LICENSE المخزّن في مستودع النموذج.
نتائج التقييم
يمكنك تحديد نتائج تقييم النموذج بطريقة منظمة في بيانات بطاقة النموذج الوصفية. يتم تحليل النتائج بواسطة Hub وعرضها في أداة تفاعلية على صفحة النموذج. إليك مثالاً على شكلها لنموذج bigcode/starcoder:

The initial metadata spec was based on Papers with code’s model-index specification. This allowed us to directly index the results into Papers with code’s leaderboards when appropriate. You could also link the source from where the eval results has been computed.
جديد: لدينا الآن تنسيق بيانات وصفية جديد وأبسط لنتائج التقييم. اطّلع عليه في الصفحة المخصصة للتوثيق.
فيما يلي مثال جزئي لمؤشر نموذج كان يصف نتيجة 01-ai/Yi-34B على معيار ARC. جاءت النتيجة من Open LLM Leaderboard الذي يُعرَّف على أنه source:
---
model-index:
- name: Yi-34B
results:
- task:
type: text-generation
dataset:
name: ai2_arc
type: ai2_arc
metrics:
- name: AI2 Reasoning Challenge (25-Shot)
type: AI2 Reasoning Challenge (25-Shot)
value: 64.59
source:
name: Open LLM Leaderboard
url: https://huggingface.co/spaces/open-llm-leaderboard/open_llm_leaderboard
---لمزيد من التفاصيل حول كيفية تنسيق هذه البيانات، راجع مواصفات بطاقة النموذج.
انبعاثات ثاني أكسيد الكربون
يُعدّ بطاقة النموذج مكانًا ممتازًا لعرض معلومات حول تأثير CO2 لنموذجك. قم بزيارة دليلنا حول تتبع وإبلاغ انبعاثات CO2 لمعرفة المزيد.
ربط ورقة
إذا تضمنت بطاقة النموذج رابطًا إلى صفحة ورقة بحثية (سواءً على HF أو ملخص/PDF على Arxiv)، فسيقوم Hugging Face Hub باستخراج معرّف arXiv وإدراجه في وسوم النموذج بالتنسيق arxiv:<PAPER ID>. عند النقر على الوسم، يمكنك:
- زيارة صفحة الورقة
- تصفية نماذج أخرى على Hub تستشهد بنفس الورقة.

اقرأ المزيد حول صفحات الأبحاث هنا.
نص بطاقة النموذج
تتوفر تفاصيل حول كيفية ملء الجزء المقروء آليًا من بطاقة النموذج (حتى يمكن طباعتها، وقصها ولصقها، إلخ) في بطاقة النموذج الموضّحة.
الأسئلة الشائعة
كيف يتم تحديد وسوم النموذج؟
تُدرج كل صفحة نموذج جميع وسوم النموذج في ترويسة الصفحة، أسفل اسم النموذج. وتُحسب هذه الوسوم بشكل أساسي من بيانات بطاقة النموذج الوصفية، على الرغم من أن بعضها يُضاف تلقائيًا، كما هو موضح في تفعيل أداة عرض.
هل يمكنني إضافة وسوم مخصصة إلى نموذجي؟
نعم، يمكنك إضافة وسوم مخصصة إلى نموذجك عن طريق إضافتها إلى حقل tags في بيانات بطاقة النموذج الوصفية. ستقترح واجهة بيانات الوصفية بعض الوسوم الشائعة، لكن يمكنك إضافة أي وسم تريده. على سبيل المثال، يمكنك الإشارة إلى أن نموذجك يركّز على التمويل بإضافة وسم finance.
كيف يمكنني الإشارة إلى أن نموذجي غير مناسب لجميع الفئات
يمكنك إضافة وسم not-for-all-audiences إلى بيانات وصفية بطاقة النموذج الخاص بك. عند وجود هذا الوسم، ستظهر رسالة على صفحة النموذج تشير إلى أن النموذج ليس مناسبًا لجميع الفئات. يمكن للمستخدمين النقر على هذه الرسالة لعرض بطاقة النموذج.
كيف يمكنني عرض صور مختلفة للوضعين الداكن والفاتح؟
يمكنك عرض إصدارات مختلفة من صورة مُحسَّنة لكل سمة. وهذا مفيد بشكل خاص للشعارات والمخططات ولقطات الشاشة التي تتطلب مخططات ألوان مختلفة للحفاظ على الوضوح والجماليات عبر الوضعين الفاتح والداكن. لاستخدام هذه الميزة، ستحتاج إلى توفير كلا الإصدارين من صورتك.
للصور المرفوعة عبر محرر Markdown
عند رفع صورة مباشرةً من محرر Markdown (باستخدام السحب والإفلات)، أضف كسر URI #hf-light-mode-only أو #hf-dark-mode-only إلى نهاية عنوان URL للصورة لتحديد السمة التي يجب عرضها فيها:
Image only displays when viewing in light mode

Image only displays when viewing in dark mode
للصور المستضافة مسبقًا
إذا كنت ترغب في الإشارة إلى صور مستضافة مسبقًا دون إعادة رفعها، فاستخدم وسوم HTML <img> مع فئات Tailwind CSS التالية لتحديد الموضوع الذي يجب عرضها فيه:
// Image only displays when viewing in dark mode
<img class="hidden dark:block" src="https://hf.co/logo-dark.png" alt="Logo" />
// Image only displays when viewing in light mode
<img class="dark:hidden" src="https://hf.co/logo-light.png" alt="Logo" />هل يمكنني كتابة LaTeX في بطاقة النموذج الخاصة بي؟
نعم! يستخدم المركز مكتبة KaTeX لتنسيق المعادلات الرياضية لعرض الصيغ الرياضية على جانب الخادم قبل تحليل Markdown.
يجب عليك استخدام علامات الفصل التالية:
$$ ... $$لوضع العرض\\(...\\)للوضع المضمّن (بدون مسافة بين العوارض والقوسين).
ثم ستتمكن من كتابة:
Update on GitHub