شغّل أعباء عمل الذكاء الاصطناعي على أي سحابة، وخزّن على Hugging Face: تخزين بدون رسوم نقل بيانات مع SkyPilot
سكاي بايلوت تمكن فرق الذكاء الاصطناعي من تشغيل المهام عبر أي مزود سحابي مع تخزين البيانات على هاغينغ فيس بدون رسوم نقل بيانات، مما يبسط سير العمل متعدد السحابات ويقلل التكاليف.
الوسوم
ملخص سريع
سكاي بايلوت تمكن فرق الذكاء الاصطناعي من تشغيل المهام عبر أي مزود سحابي مع تخزين البيانات على هاغينغ فيس بدون رسوم نقل بيانات، مما يبسط سير العمل متعدد السحابات ويقلل التكاليف.
تشغيل أعباء عمل الذكاء الاصطناعي على أي سحابة، مع التخزين على Hugging Face: تخزين بدون رسوم نقل مع SkyPilot
طالما شكلت تكاليف نقل البيانات - المعروفة باسم رسوم النقل الصادر - ضريبة خفية على تطوير الذكاء الاصطناعي في السحابة. فنقل تيرابايتات من بيانات التدريب، ونقاط فحص النماذج، ونتائج الاستدلال بين مزودي الخدمات السحابية أو من السحابة إلى الأنظمة المحلية يمكن أن يضخم الميزانيات بسرعة. ولكن ماذا لو كان بإمكانك فصل الحوسبة عن التخزين، وتشغيل أعباء العمل كثيفة الاستخدام لوحدات معالجة الرسوميات على أي سحابة مع الاحتفاظ ببياناتك بأمان وبتكلفة منخفضة على Hugging Face؟ هذا هو بالضبط ما يعد به التخزين بدون رسوم نقل مع SkyPilot.
في هذه المقالة، سنستكشف كيفية الجمع بين تنسيق السحابات المتعددة من SkyPilot وقدرات التخزين في Hugging Face Hub للقضاء على تكاليف النقل الصادر. سننتقل خلال خطوات التثبيت والتكوين والأمثلة العملية حتى تتمكن من البدء في توفير المال وتبسيط بنية الذكاء الاصطناعي الخاصة بك اليوم.
ما هو التخزين بدون رسوم نقل ولماذا هو مهم؟
عند تشغيل أعباء عمل الذكاء الاصطناعي على مزود سحابي مثل AWS أو GCP أو Azure، فإنك عادةً تخزن بياناتك في التخزين الكائني لذلك المزود (S3، GCS، Azure Blob). يؤدي نقل البيانات خارج هذا التخزين إلى سحابة أخرى أو إلى منطقة مختلفة إلى فرض رسوم نقل صادر - غالبًا ما تتراوح بين 0.05 و 0.12 دولار لكل جيجابايت. بالنسبة لمجموعات البيانات التي تبلغ مئات الجيجابايتات أو التيرابايتات، تصبح هذه التكاليف كبيرة.
يعني التخزين بدون رسوم نقل أنك تخزن بياناتك في موقع لا يفرض رسومًا على النقل الصادر عند الوصول إليها من موارد الحوسبة. يقدم Hugging Face Hub، على الرغم من أنه ليس مزود سحابة كامل، نقلًا صادرًا مجانيًا لمجموعات البيانات والنماذج العامة. بالنسبة للمستودعات الخاصة، لا يفرض Hugging Face رسوم نقل صادر أيضًا - فقط رسوم التخزين هي المطبقة. من خلال تخزين بياناتك على Hugging Face وتشغيل الحوسبة على أي سحابة عبر SkyPilot، فإنك تلغي فعليًا تكاليف النقل الصادر.
كيف يمكّن SkyPilot الذكاء الاصطناعي متعدد السحابات
SkyPilot هو إطار عمل مفتوح المصدر يجرد الاختلافات بين مزودي الخدمات السحابية. يمكنك تحديد عبء العمل الخاص بك (مثل مهمة تدريب أو خادم استدلال) في ملف YAML، ويقوم SkyPilot تلقائيًا بتوفير أرخص أو أنسب موارد السحابة عبر AWS و GCP و Azure أو حتى المجموعات المحلية. يتعامل مع الشبكات، وتركيب التخزين، وتنسيق المهام.
الميزات الرئيسية:
- **دعم متعدد السحابات:** تشغيل نفس ملف YAML على أي سحابة.
- **التحويل التلقائي عند الفشل:** إذا كانت إحدى السحابات غير متوفرة بالسعة، يحاول SkyPilot سحابة أخرى.
- **تحسين التكلفة:** اختيار أرخص منطقة أو مثيلات فورية.
- **تكامل التخزين:** تركيب دلاء السحابة أو مستودعات Hugging Face كوحدات تخزين.
من خلال الجمع بين SkyPilot و Hugging Face Hub، تحصل على مجموعة ذكاء اصطناعي محمولة حقًا: بياناتك تعيش على Hugging Face، وحوسبتك تعمل أينما كانت أرخص أو أكثر توفرًا، ولا تدفع أبدًا رسوم نقل صادر.
المتطلبات
قبل البدء، تأكد من توفر ما يلي:
1. **حساب Hugging Face** (الطبقة المجانية تعمل للمستودعات العامة؛ الطبقة المدفوعة للتخزين الخاص). 2. **بيانات اعتماد مزود السحابة** لواحد على الأقل من AWS أو GCP أو Azure. (سنستخدم AWS في الأمثلة، لكن العملية مماثلة للآخرين). 3. **Python 3.8+** مثبت على جهازك المحلي. 4. **`git` و `git-lfs`** مثبتان (لدفع الملفات الكبيرة إلى Hugging Face). 5. **إلمام أساسي بسطر الأوامر.**
التثبيت خطوة بخطوة
1. تثبيت SkyPilot
يتوفر SkyPilot عبر pip. نوصي بتثبيته في بيئة افتراضية.
python3 -m venv skypilot-env
source skypilot-env/bin/activate
pip install skypilotتحقق من التثبيت:
sky --versionيجب أن ترى مخرجات مثل `sky 0.6.0` (أو أحدث).
2. تكوين بيانات اعتماد السحابة
يحتاج SkyPilot إلى الوصول إلى حساباتك السحابية. بالنسبة لـ AWS، يمكنك استخدام AWS CLI.
pip install awscli
aws configureأدخل معرف مفتاح الوصول AWS الخاص بك، ومفتاح الوصول السري، والمنطقة الافتراضية، وتنسيق المخرجات (json). سيكتشف SkyPilot هذه البيانات تلقائيًا.
بالنسبة لـ GCP أو Azure، اتبع إعداد CLI الخاص بكل منهما وتأكد من توفر بيانات اعتمادك في البيئة.
3. تثبيت مكتبات Hugging Face Hub
سنستخدم مكتبة `huggingface_hub` للتفاعل مع Hub.
pip install huggingface_hubسجل الدخول إلى حساب Hugging Face الخاص بك:
huggingface-cli loginاتبع التعليمات للصق رمز الوصول الخاص بك (أنشئ واحدًا على `huggingface.co/settings/tokens`).
4. إعداد Git LFS للملفات الكبيرة
إذا كانت مجموعات البيانات أو النماذج الخاصة بك أكبر من 10 ميجابايت، فأنت بحاجة إلى Git LFS.
git lfs install5. إنشاء مستودع Hugging Face لبياناتك
يمكنك إنشاء مستودع عبر واجهة الويب أو CLI. على سبيل المثال، لإنشاء مستودع مجموعة بيانات:
huggingface-cli repo create my-ai-dataset --type datasetينشئ هذا مستودعًا عامًا على `https://huggingface.co/datasets/your-username/my-ai-dataset`.
أمثلة الاستخدام
الآن سننتقل خلال سيناريو ملموس: تدريب نموذج تعلم آلي على مجموعة بيانات مخزنة في Hugging Face، باستخدام مثيلات GPU على AWS عبر SkyPilot.
مثال 1: التدريب باستخدام مجموعة بيانات من Hugging Face
افترض أن لديك مجموعة بيانات `my-ai-dataset` على Hugging Face. تريد تدريب نموذج باستخدام مثيل GPU على AWS.
**الخطوة 1: كتابة ملف YAML لـ SkyPilot**
أنشئ ملفًا باسم `train.yaml`:
name: train-on-hf-data
resources:
accelerators: V100:1
workdir: .
setup: |
pip install torch torchvision transformers datasets huggingface_hub
run: |
# تنزيل مجموعة البيانات من Hugging Face إلى القرص المحلي (بدون تكلفة نقل صادر)
huggingface-cli download your-username/my-ai-dataset --local-dir /tmp/dataset
# تشغيل برنامج التدريب
python train.py --data-dir /tmp/dataset --epochs 10يخبر ملف YAML هذا SkyPilot بما يلي:
- استخدام وحدة معالجة رسومية V100 واحدة.
- نسخ دليل العمل الحالي إلى الجهاز الافتراضي البعيد.
- في الإعداد، تثبيت تبعيات Python.
- في التشغيل، تنزيل مجموعة البيانات من Hugging Face وتنفيذ `train.py`.
**الخطوة 2: تشغيل المهمة**
sky launch -c my-training-cluster train.yamlسيقوم SkyPilot بتوفير مثيل AWS، وتشغيل الإعداد، وتنفيذ التدريب. يتم تنزيل مجموعة البيانات مباشرة من Hugging Face إلى القرص المحلي للجهاز الافتراضي - بدون دلو S3، بدون رسوم نقل صادر.
**الخطوة 3: حفظ نقاط فحص النموذج مرة أخرى على Hugging Face**
بعد التدريب، يمكنك رفع النموذج إلى Hugging Face من نفس المهمة:
# داخل train.py أو برنامج ما بعد التدريب
from huggingface_hub import HfApi
api = HfApi()
api.upload_folder(
folder_path="./output_model",
repo_id="your-username/my-trained-model",
repo_type="model"
)هذا يبقي سير عملك بالكامل داخل نظام بيئي بدون رسوم نقل صادر.
مثال 2: التحويل التلقائي عند الفشل متعدد السحابات مع عدم وجود رسوم نقل صادر
افترض أنك تريد تشغيل الاستدلال على أرخص سحابة متاحة. يمكن لـ SkyPilot تجربة GCP أو Azure أو AWS تلقائيًا.
أنشئ `infer.yaml`:
name: multi-cloud-inference
resources:
accelerators: T4:1
use_spot: true
file_mounts:
/model:
name: your-username/my-trained-model
source: huggingface
run: |
python serve.py --model-path /modelيقوم قسم `file_mounts` بتركيب مستودع نموذج Hugging Face مباشرة في الجهاز الافتراضي. هذا أكثر أناقة: يتم بث النموذج من Hugging Face بدون أي خطوة تنزيل.
قم بالتشغيل مع التحويل التلقائي عند الفشل:
sky launch -c inference-cluster infer.yaml --cloud aws --cloud gcp --cloud azureإذا كانت المثيلات الفورية لـ AWS غير متوفرة، سيحاول SkyPilot GCP، ثم Azure. تأتي بيانات النموذج دائمًا من Hugging Face، لذا فإن تكاليف النقل الصادر هي صفر بغض النظر عن السحابة التي تفوز.
مثال 3: مشاركة القطع الأثرية عبر الفرق
في إعداد الفريق، يمكنك تخزين مجموعات البيانات أو النماذج المشتركة على Hugging Face كمستودعات خاصة. يمكن لكل عضو في الفريق بعد ذلك تشغيل المهام على السحابة المفضلة لديه دون القلق بشأن النقل الصادر.
# العضو أ في الفريق على AWS
sky launch -c team-train train.yaml
# العضو ب في الفريق على GCP (نفس ملف YAML)
sky launch -c team-train train.yaml --cloud gcpتصل كلتا المهمتين إلى نفس مستودع Hugging Face. التكلفة الوحيدة هي تخزين Hugging Face (عادةً 0.01 دولار/جيجابايت/شهر للمستودعات الخاصة)، وهو أرخص بكثير من النقل الصادر السحابي.
أفضل الممارسات لسير العمل بدون رسوم نقل صادر
1. **استخدم Hugging Face كبحيرة بيانات رئيسية.** ارفع جميع مجموعات البيانات والنماذج المدربة مسبقًا ونقاط الفحص هناك. 2. **استفد من `file_mounts` في SkyPilot للبث.** عندما يكون ذلك ممكنًا، قم بتركيب مستودعات Hugging Face مباشرة بدلاً من التنزيل على القرص. 3. **حسّن استخدام المثيلات الفورية.** نظرًا لأنك لا تدفع رسوم نقل صادر، تصبح تكلفة الحوسبة هي المتغير الوحيد. استخدم المثيلات الفورية بقوة. 4. **طبق التخزين المؤقت.** إذا كنت تصل إلى نفس البيانات بشكل متكرر، قم بتخزينها مؤقتًا محليًا على الجهاز الافتراضي باستخدام `--local-dir` مع huggingface-cli. 5. **راقب تكاليف التخزين.** تخزين Hugging Face رخيص لكنه ليس مجانيًا. نظف بانتظام إصدارات النماذج القديمة أو مجموعات البيانات.
القيود المحتملة والحلول البديلة
**عرض النطاق الترددي:** قد يكون تنزيل مجموعات البيانات الكبيرة من Hugging Face أبطأ من التخزين الكائني السحابي في نفس المنطقة. لأعباء العمل الحساسة لزمن الوصول، فكر في التخزين المؤقت أو استخدام CDN الخاص بـ Hugging Face.
**المستودعات الخاصة:** بينما لا يفرض Hugging Face رسوم نقل صادر، فإن المستودعات الخاصة لها حدود تخزين على الطبقة المجانية. تزيد الخطط المدفوعة من هذه الحدود.
**تغطية SkyPilot السحابية:** يدعم SkyPilot حاليًا AWS و GCP و Azure و Lambda Labs. إذا كنت بحاجة إلى مزودين آخرين، فقد تحتاج إلى توسيعه.
الخلاصة
يعد التخزين بدون رسوم نقل صادر مع SkyPilot و Hugging Face Hub بتغيير قواعد اللعبة لفرق الذكاء الاصطناعي التي سئمت من الاحتكار السحابي وتكاليف نقل البيانات الخفية. من خلال تخزين بياناتك على Hugging Face واستخدام SkyPilot لتنسيق الحوسبة عبر أي سحابة، تحقق قابلية نقل حقيقية دون عقوبات مالية.
الإعداد بسيط: قم بتثبيت SkyPilot، وتكوين بيانات اعتماد السحابة الخاصة بك، ودفع بياناتك إلى Hugging Face، وتحديد أعباء العمل الخاصة بك في YAML. من هناك، يمكنك تدريب النماذج أو ضبطها بدقة أو تقديمها على أرخص أو أكثر موارد السحابة توفرًا، مع دفع صفر رسوم نقل صادر.
يتماشى هذا النهج مع الاتجاه الصناعي الأوسع نحو بنية ذكاء اصطناعي مفتوحة وقابلة للنقل - حيث تعيش البيانات والنماذج في مستودع محايد، وتكون الحوسبة سلعة قابلة للاستبدال. بينما يستمر مزودو الخدمات السحابية في المنافسة على تسعير وحدات معالجة الرسوميات وتوفرها، فإن القدرة على التبديل بينهم بسلاسة ستصبح ميزة تنافسية. ابدأ في تنفيذ التخزين بدون رسوم نقل صادر اليوم، ودع أعباء عمل الذكاء الاصطناعي الخاصة بك تعمل بحرية.
المصادر
أسئلة شائعة
عن ماذا يتحدث هذا المقال؟
يتناول هذا المقال موضوع "شغّل أعباء عمل الذكاء الاصطناعي على أي سحابة، وخزّن على Hugging Face: تخزين بدون رسوم نقل بيانات مع SkyPilot" ضمن تصنيف أدوات الذكاء الاصطناعي. سكاي بايلوت تمكن فرق الذكاء الاصطناعي من تشغيل المهام عبر أي مزود سحابي مع تخزين البيانات على هاغينغ فيس بدون رسوم نقل بيانات، مما يبسط سير العمل متعدد السحابات ويقلل التكاليف.
لمن يفيد هذا المقال؟
يفيد القراء المهتمين بفهم أدوات وتقنيات الذكاء الاصطناعي بطريقة عملية وواضحة.
ما الخطوة التالية؟
اقرأ المقال كاملاً، راجع المصادر المرفقة، ثم جرّب الأفكار المناسبة لاحتياجك بحذر.



