النشر السحابي: AWS SageMaker
SageMaker Model وEndpointConfig وEndpoint والاستدلال الفوري والتحويل الدفعي
النشر السحابي: AWS SageMaker درس مجاني في Learn AI with Python على CoddyKit. هذا هو الدرس 2 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Learn AI with Python، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Learn AI with Python 4 دروس في المجموع.
لماذا SageMaker
Amazon SageMaker خدمة مُدارة لتدريب نماذج التعلّم الآلي ونشرها. فبدلًا من إعداد الخوادم وموازِنات التحميل بنفسك، تصف نموذجًا، ويتولى SageMaker إنشاء نقطة نهاية HTTPS قابلة للتوسع في الخلفية.
المكوّنات الثلاثة
يتطلب نشر نموذج على SageMaker ثلاثة أمور:
- صورة حاوية image_uri (صورة الخدمة الخاصة بك في ECR أو صورة إطار عمل مضمّنة)
- الأوزان المدرّبة ضمن model_data، وهي ملف tar.gz في S3
- دور IAM يمنح SageMaker صلاحية الوصول إلى هذه الموارد
تعريف نموذج
يربط الكائن sagemaker.Model صورة الحاوية بمصنوع النموذج الموجود في S3.
import sagemaker
from sagemaker.model import Model
model = Model(
image_uri="123456789012.dkr.ecr.us-east-1.amazonaws.com/my-model:latest",
model_data="s3://my-bucket/models/model.tar.gz",
role="arn:aws:iam::123456789012:role/SageMakerRole",
)ما الموجود في model.tar.gz
ينزّل SageMaker قيمة model_data ويفك ضغطها في /opt/ml/model داخل الحاوية عند بدء التشغيل. ويقرأ رمز الخدمة أوزان النموذج من هناك. ويحتوي الأرشيف عادةً على ملف النموذج المحفوظ، بالإضافة إلى أي أصول خاصة بالمعالجة المسبقة.
# model.tar.gz contents
# model.pt
# tokenizer.json
# config.jsonنشر نقطة نهاية آنية
يطلق model.deploy مثيلًا واحدًا أو أكثر خلف نقطة نهاية HTTPS دائمة. وتختار instance_type وعدد المثيلات الأولي.
predictor = model.deploy(
initial_instance_count=1,
instance_type="ml.m5.xlarge",
endpoint_name="my-model-endpoint",
)اختيار نوع المثيل
يتحكم نوع المثيل في التكلفة وزمن الاستجابة:
ml.m5.*وحدة معالجة مركزية للأغراض العامة، وتناسب النماذج الصغيرة بتكلفة منخفضةml.c5.*محسّنة للحوسبةml.g4dn.*/ml.g5.*وحدة معالجة رسومية للاستدلال في التعلّم العميق
طابق المثيل مع النموذج: فاستعمال وحدة معالجة رسومية مع نموذج صغير جدًا من scikit-learn يُعد هدرًا.
استدعاء predict()
بعد النشر، يرسل predictor.predict() حمولة إلى نقطة النهاية ويعيد نتيجة الاستدلال. ويتولى SageMaker تسلسل الطلب وتوجيهه إلى مثيل قيد التشغيل.
result = predictor.predict({
"instances": [[5.1, 3.5, 1.4, 0.2]]
})
print(result)تنظيف نقاط النهاية
تُحتسب تكلفة نقاط النهاية الآنية بالثانية أثناء تشغيلها. احذف دائمًا نقاط النهاية التي لم تعد تحتاج إليها، وإلا فستتراكم الرسوم حتى في حال عدم وجود أي حركة مرور.
predictor.delete_endpoint()Batch Transform للمهام غير المتصلة
لتسجيل درجات مجموعة بيانات كبيرة مرة واحدة (وليس لتقديم خدمة بزمن استجابة منخفض)، استخدم batch transform. ينشئ SageMaker مثيلات، ويعالج مجموعة بيانات كاملة في S3، ويكتب النتائج مرة أخرى إلى S3، ثم يوقف المثيلات. لا توجد نقطة نهاية دائمة ولا تكلفة خمول.
تشغيل Batch Transform
تنشئ محوّلًا من النموذج وتوجّهه إلى بيانات الإدخال في S3.
transformer = model.transformer(
instance_count=1,
instance_type="ml.m5.xlarge",
output_path="s3://my-bucket/predictions/",
)
transformer.transform(
data="s3://my-bucket/input/batch.csv",
content_type="text/csv",
)
transformer.wait()الوقت الفعلي مقابل الدفعات
اختر بناءً على طبيعة الحمل:
- نقطة نهاية آنية: طلبات مستمرة بزمن استجابة منخفض (مثل واجهة برمجة تطبيقات للتوصيات)
- Batch transform: تسجيل دوري لدرجات مجموعات بيانات كبيرة (مثل توقّع فقدان العملاء ليلًا)
تكون المعالجة الدفعية أرخص بكثير عندما لا تحتاج إلى استجابات فورية.
تحقق سريع
متى ينبغي استخدام Batch Transform في SageMaker بدلًا من نقطة نهاية آنية؟
مراجعة
لقد نشرت نموذجًا على AWS SageMaker:
- يربط
sagemaker.Modelقيمة image_uri بقيمة model_data في S3 - ينشئ
model.deployنقطة نهاية آنية باستخدام instance_type محدد - يرسل
predictor.predict()طلبات الاستدلال - يتولى Batch transform أحمال العمل الكبيرة غير المتصلة بتكلفة منخفضة
- احذف دائمًا نقاط النهاية الخاملة لتجنب الرسوم
الأسئلة الشائعة
هل درس «النشر السحابي: AWS SageMaker» مجاني؟
نعم — نص درس «النشر السحابي: AWS SageMaker» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Learn AI with Python، انتقل إلى CoddyKit PRO. تتضمن دورة Learn AI with Python 4 دروس في المجموع.
ماذا ستتعلم في «النشر السحابي: AWS SageMaker»؟
SageMaker Model وEndpointConfig وEndpoint والاستدلال الفوري والتحويل الدفعي تتمرن على Learn AI with Python مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ Learn AI with Python؟
لا تُشترط خبرة سابقة. Learn AI with Python على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 2 من أصل 4.
كم من الوقت يستغرق درس «النشر السحابي: AWS SageMaker»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس Learn AI with Python هذا؟
نعم. كل درس في Learn AI with Python يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- وضع نماذج التعلم الآلي في حاويات باستخدام Docker
- النشر السحابي: AWS SageMaker
- تقديم عالي الأداء باستخدام Triton Inference Server
- توسيع نطاق نقاط نهاية النماذج وتوسيعها تلقائيًا