Hub documentation
تنزيل النماذج
تنزيل النماذج
المكتبات المتكاملة
إذا كان نموذج على Hub مرتبطًا بـمكتبة مدعومة، فيمكن تحميل النموذج في بضع سطور فقط. للحصول على معلومات حول الوصول إلى النموذج، يمكنك النقر على زر “Use in Library” في صفحة النموذج لمعرفة كيفية القيام بذلك. على سبيل المثال، يُظهر distilbert/distilgpt2 أدناه كيفية القيام بذلك باستخدام 🤗 Transformers.


استخدام مكتبة عميل Hugging Face
يمكنك استخدام مكتبة huggingface_hub لإنشاء المستودعات وحذفها وتحديثها واسترجاع المعلومات منها. على سبيل المثال، لتنزيل نموذج HuggingFaceH4/zephyr-7b-beta من سطر الأوامر، قم بتشغيل
hf download HuggingFaceH4/zephyr-7b-beta
راجع توثيق تنزيل سطر الأوامر لمزيد من المعلومات.
يمكنك أيضًا دمج هذا في مكتبتك الخاصة. على سبيل المثال، يمكنك تحميل نموذج Scikit-learn بسرعة بعدة أسطر.
from huggingface_hub import hf_hub_download
import joblib
REPO_ID = "YOUR_REPO_ID"
FILENAME = "sklearn_model.joblib"
model = joblib.load(
hf_hub_download(repo_id=REPO_ID, filename=FILENAME)
)استخدام Git
بما أن جميع النماذج على Model Hub هي مستودعات Git مدعومة بتقنية Xet، يمكنك استنساخ النماذج محليًا من خلال تثبيت git-xet ثم تشغيل الأمر التالي:
git xet install
git lfs install
git clone git@hf.co:<MODEL ID> # example: git clone git@hf.co:bigscience/bloomإذا كان لديك صلاحية الكتابة في مستودع النموذج المعني، فستتمتع أيضاً بالقدرة على الالتزام بدفع المراجعات إلى النموذج.
أضِف مفتاح SSH العام إلى إعدادات المستخدم لديك لدفع التغييرات و/أو للوصول إلى المستودعات الخاصة.
تنزيلات أسرع
اختبر سرعة التنزيل لديك
يمكنك اختبار سرعة التنزيل من شبكة توزيع المحتوى (CDN) الخاصة بـ Hugging Face عبر fast.hf.co. يقوم هذا الاختبار بإجراء فحص سريع لعرض النطاق الترددي مقابل أقرب خادم طرفي لـ HF، مما يساعدك على فهم معدل الإخراج الأساسي لديك قبل ضبط أي إعدادات.
يمكنك أيضًا قياس سرعة التنزيل مباشرةً من الطرفية باستخدام امتداد سطر الأوامر hf-speedtest :
hf extensions install julien-c/hf-speedtest hf speedtest
التوازي التكيفي مع hf_xet
hf_xet هو حزمة مبنية على لغة Rust تستفيد من خلفية تخزين Xet لتحسين نقل الملفات عبر إزالة التكرار على مستوى المقاطع. افتراضيًا، يستخدم hf_xet التوازي التكيفي — حيث يضبط تلقائيًا عدد تدفقات النقل المتوازية بناءً على ظروف الشبكة في الوقت الفعلي، بدءًا من إعداد حذر (تدفق واحد) والتوسع حتى 64 تدفقًا متوازيًا حسب ما تسمح به النطاق الترددي.
بالنسبة لمعظم الأجهزة — بما في ذلك بيئات مراكز البيانات — فإن الإعدادات الافتراضية ستشبع عرض النطاق الترددي المتاح للشبكة بالفعل. أما للمستخدمين المتقدمين على أجهزة تتمتع بعرض نطاق ترددي عالٍ وقراءة/كتابة سريعة على القرص، فإن HF_XET_HIGH_PERFORMANCE=1 يرفع حدود التوازي ويزيد من أحجام مخازن الذاكرة المؤقتة، مما قد يساعد عند تنزيل العديد من الملفات الكبيرة بالتوازي.
HF_XET_HIGH_PERFORMANCE=1 hf download ...
بدءًا من hf_xet 1.7.0، تُحدَّد أحجام مخازن التنزيل بناءً على الذاكرة المتاحة لـhf_xet، بما في ذلك حدود ذاكرة الحاويات، سواء مع HF_XET_HIGH_PERFORMANCE=1 أو بدونه. أما في الإصدارات الأقدم، فاستخدم HF_XET_HIGH_PERFORMANCE=1 فقط على الأجهزة التي تحتوي على ذاكرة عشوائية تبلغ 64 جيجابايت على الأقل. راجع مخازن التنزيل للاطلاع على القيم المستخدمة.
باستخدام hf-mount
بالنسبة للنماذج الكبيرة، يمكنك تركيب مستودع كنظام ملفات محلي باستخدام hf-mount بدلاً من تنزيل المستودع كاملاً. يتم جلب الملفات بشكل كسول — حيث تصل إلى الشبكة فقط البايتات التي يقرأها كودك.
brew install hf-mount hf-mount start repo openai-community/gpt2 /tmp/gpt2
تُركَّب المستودعات للقراءة فقط. راجع التركيب كنظام ملفات محلي للحصول على تفاصيل الإعداد الكاملة وخيارات الخلفية والتخزين المؤقت.
التحميل خلف وكيل أو جدار حماية
إذا كانت شبكتك تقيد حركة المرور الصادرة عبر جدار حماية أو وكيل، فإن تنزيل النماذج ومجموعات البيانات يتطلب أكثر من مجرد huggingface.co. تُقدَّم محتويات الملفات من أسماء مضيفات تخزين و CDN منفصلة، وسيفشل from_pretrained / hf download إذا لم تكن هذه المضيفات قابلة للوصول، حتى لو كان huggingface.co نفسه مدرجًا في قائمة السماح.
اسمح بالمضيفين التاليين (عبر HTTPS / المنفذ 443):
| اسم المضيف | الغرض |
|---|---|
huggingface.co | واجهة برمجة تطبيقات Hub، البيانات الوصفية، وإعادة توجيه التنزيل |
cas-server.xethub.hf.co | واجهات برمجة تطبيقات بروتوكول Xet، التنزيل والرفع (الولايات المتحدة) |
cas-server.xethub-eu.hf.co | واجهات برمجة تطبيقات بروتوكول Xet، التنزيل والرفع (الاتحاد الأوروبي) |
transfer.xethub.hf.co | واجهات برمجة تطبيقات تنزيل تخزين Xet (الولايات المتحدة) |
transfer.xethub-eu.hf.co | واجهات برمجة تطبيقات تنزيل تخزين Xet (الاتحاد الأوروبي) |
us.aws.cdn.hf.co | حافة CDN (الولايات المتحدة) |
us.gcp.cdn.hf.co | حافة CDN (الولايات المتحدة) |
cdn-lfs-us-1.hf.co | LFS CDN (الولايات المتحدة) |
cdn-lfs-eu-1.hf.co | LFS CDN (أوروبا) |
تتبع عمليات التحميل إعادة التوجيه عبر بروتوكول HTTP من
huggingface.coإلى أسماء العُقد هذه، لذا فإن السماح بـhuggingface.coوحدها غير كافٍ. عادةً ما يعني ظهور خطأReadTimeoutError(بدلاً من خطأ اتصال) في منتصف عملية التحميل أن الاتصال الأولي نجح لكن عُقدة تخزين أو CDN محظورة.
يعتمد سلوك النطاقات البرية على طريقة مطابقة وكيلك للنطاقات. تعامل وكلاء المؤسسات الكثر مع إدراج في قائمة السماح كمطابقة لاحقة تغطي النطاقات الفرعية عند أي عمق. إذا كان وكيلك كذلك، فإن الخيار الأبسط هو إدراج اللاحقتين
hf.coوhuggingface.coفي قائمة السماح — فهما تغطيان كل نقاط نهاية التخزين وCDN الحالية والمستقبلية.إذا كان وكيلك يدعم فقط كواشف عامة بوسم واحد (حيث يطابق
*.hf.coعنوانcdn-lfs-us-1.hf.coلكنه لا يطابق العناوين الأعمق مثلus.aws.cdn.hf.coأوcas-server.xethub.hf.co)، فأضف أسماء العُقد الصريحة المذكورة في الجدول أعلاه إلى قائمة السماح. لاحظ أن*.xethub.hf.coلا يغطي عُقد الاتحاد الأوروبي الموجودة تحتxethub-eu.hf.co، وأن*.cdn.hf.coلا يغطي العناوين ذات الوسمينus.aws.cdn.hf.co/us.gcp.cdn.hf.co.
قد تتغير هذه أسماء النطاقات مع تطور بنية التخزين وشبكة توزيع المحتوى لدينا. حيثما سمحت سياسة الأمان لديك، أضف لاحقتي
hf.coوhuggingface.co(جميع النطاقات الفرعية) إلى قائمة السماح حتى لا تتعطل قواعدها عند تغيير نقطة نهاية محددة.
قائمة قابلة للقراءة آليًا
تُنشر أسماء النطاقات المذكورة أعلاه أيضًا بصيغة JSON في https://huggingface.co/.well-known/meta.json،
لذا يمكنك توليد قواعد الوكيل أو جدار الحماية منها بدلاً من نسخ الجدول يدويًا.
Update on GitHubيتغيّر الملف مع إضافة نقاط النهاية وإزالتها. استحضره عند بناء قواعلك بدلاً من تثبيت نسخة منه.