كيف وفر Amazon Search M5 30% من تكلفة تدريب LLM باستخدام AWS Trainium | خدمات الويب الأمازون

كيف وفر Amazon Search M5 30% من تكلفة تدريب LLM باستخدام AWS Trainium | خدمات الويب الأمازون

على مدار عقود من الزمن، كانت أمازون رائدة في مجال التعلم الآلي (ML) وابتكرته، مما يوفر تجارب مبهجة لعملائها. منذ الأيام الأولى، استخدمت أمازون التعلم الآلي في حالات استخدام مختلفة مثل توصيات الكتب والبحث واكتشاف الاحتيال. كما هو الحال مع بقية الصناعة، سمحت التطورات في الأجهزة المتسارعة لفرق أمازون بمتابعة البنى النموذجية باستخدام الشبكات العصبية والتعلم العميق (DL).

يمتلك برنامج M5 ضمن Amazon Search استراتيجية التعلم بالاكتشاف لشركة Amazon ويقوم ببناء نماذج واسعة النطاق عبر متعددة اللغات، ومتعددة اللغات، ومتعددة الكيانات، ومتعددة المهام، ومتعددة الوسائط مثل النص والصورة والفيديو. يقدم برنامج M5 عمليات تضمين عالمية ونماذج أساسية واسعة النطاق لمئات من فرق تعلم الآلة عبر أمازون مع الحفاظ على ضوابط صارمة على تحسين التكلفة. ومن أجل تحقيق ذلك، يقوم فريق M5 بانتظام بتقييم التقنيات الجديدة لتقليل التكلفة.

مثل العديد من مؤسسات تعلم الآلة، يتم استخدام المسرعات إلى حد كبير لتسريع التدريب على التعلم الآلي والاستدلال. عندما أطلقت AWS مسرعات مصممة خصيصًا لهذا الغرض مع الإصدار الأول من استدلال AWS في عام 2020، بدأ فريق M5 بسرعة الاستفادة منها لنشر أعباء عمل الإنتاج بشكل أكثر كفاءة، مما يوفر التكلفة ويقلل زمن الوصول. في العام الماضي، أطلقت AWS موقعها تدريب AWS المسرعات، التي تعمل على تحسين الأداء لكل تكلفة لتطوير وبناء نماذج DL من الجيل التالي. في هذا المنشور، نناقش كيف تمكنت M5 من تقليل تكلفة تدريب نماذجها بنسبة 30%، ومشاركة بعض أفضل الممارسات التي تعلمناها على طول الطريق.

حالات ترينيوم

ومع التقدم في المسرعات المصممة لهذا الغرض، توفر Amazon أيضًا مسرعات مقنعة في شكل AWS Inferentia وTrainium. وكما تشير أسماؤها، فقد تم تحسين هذه الرقائق لتتجاوز احتياجات الاستدلال وأعباء العمل التدريبية، على التوالي. للتدريب على نطاق واسع لنماذج الأساس التي تصل إلى مليارات المعلمات في الحجم، Trainium مثيلات Trn1 وTrn1n هي خيارات مثالية بسبب خصائصها. يتم تشغيل مثيلات Trn1 بأحدث التقنيات برنامج NeuronCore-v2، ولديها قدر كبير من حساب التسريع والذاكرة. يمكن أيضًا اختيار مثيلات Trn1n للحصول على قدر أكبر من النطاق الترددي للشبكة (1,600 جيجابت)، لذا فهي مناسبة بشكل مثالي للتدريب عالي الأداء مع وضع تحسين التكلفة في الاعتبار.

لاستخدام المسرعات، تحتاج إلى طبقة برمجية لدعمها. مع رقائق Trn وInf، يمكن لـ AWS العصبية SDK يفتح مسرعات Amazon المصممة لهذا الغرض بمساعدة PyTorch XLA. يقوم PyTorch XLA بتحويل وضع PyTorch المتلهف إلى التنفيذ القائم على الرسم البياني في الوضع البطيء. يتم بعد ذلك استخدام هذه الرسوم البيانية وتجميعها لاستخدامها مع المسرّع. يمكّن PyTorch Neuron (جزء من Neuron SDK) مستخدمي PyTorch من تدريب نماذجهم على Trainium NeuronCores باستخدام بضعة أسطر من التعليمات البرمجية.

النموذج وعبء العمل

يقوم فريق M5 بتدريب ونشر النماذج الأساسية والتمثيلات العالمية لمساعدة الفرق المختلفة عبر أمازون في جلب البهجة إلى الجميع Amazon.com عملاء. أحد هذه النماذج هو نموذج تشفير النص متبوعًا بإدراك متعدد الطبقات (MLP) مع تفاعلات ميزة صريحة أو ضمنية محددة بواسطة بنية الشبكة العصبية مع مئات الملايين من المعلمات القابلة للتدريب. يتم تدريب هذا النموذج على مليارات الرموز المميزة، ويستخدم لإنشاء ملايين التضمينات في إعداد الاستدلال الدفعي دون الاتصال بالإنترنت. تعد هذه التضمينات مدخلات لخدمة أمازون من المستوى الأول التي تواجه العملاء.

البنية التحتية لاستخدامات خطوط أنابيب الإنتاج دفعة AWS مع استراتيجيات طوابير الأسهم العادلة، باستخدام مجموعة trn1.32xlarge متعددة العقد وممكّنة لـ EFA كحساب للتدريب النموذجي. من الناحية الوظيفية، ينفذ خط أنابيب الإنتاج تدريبًا تزايديًا على النموذج، وتقييم النموذج المُدرب، واستدلال الدفعة غير المتصلة بالإنترنت على النموذج المُدرب، وكل ذلك باستخدام PyTorch كمكتبة DL الأساسية.

الأهداف

إسعاد عملائنا هو مبدأ قبل كل شيء. نظرًا لطبيعة التدفق التي تواجه العملاء، فمن الأهمية بمكان أن يتم استيفاء جميع اتفاقيات مستوى الخدمة (SLAs) دون حدوث تراجعات. لقد حددنا معيارين حاسمين للقبول لتكييف خط إنتاج GPU الحالي الخاص بنا ونقله إلى Trainium:

  • جودة النموذج – تؤثر جودة نماذجنا بشكل مباشر على تجربة العملاء. نحن نشترط أن يكون هناك فرق أقل من 0.1% في جودة النموذج بين GPU وTrainium.
  • إنتاجية التدريب – نقوم بتدريب نماذجنا بشكل متكرر بشكل دوري لتوفير أحدث تجربة لعملائنا. نحن نشترط تحقيق تقارب النماذج خلال فترة زمنية محددة مسبقًا (مثل أسبوع واحد) للوفاء باتفاقيات مستوى الخدمة الخاصة بالإنتاج.

في الأقسام التالية، نشارك رحلتنا في العمل بشكل عكسي انطلاقًا من هذه المعايير، والتعلم الذي تعلمناه لدعم أعباء عمل الإنتاج على نطاق Amazon.

نص التدريب

قبل البدء بتدريب النموذج، نحتاج إلى إجراء تغييرات على البرنامج النصي للتدريب لجعله متوافقًا مع XLA. نظرًا لحجم النموذج، نستخدم البيانات الموزعة الموازية (DDP) لتدريب النموذج. يتيح لنا DDP زيادة إنتاجية تدريب النموذج من خلال زيادة عدد الأجهزة المستخدمة لتشغيل تدريب النموذج، دون أي تغييرات في التعليمات البرمجية. لقد اتبعنا التعليمات الواردة في البرنامج التعليمي للتدريب على Neuron PyTorch MLP لإضافة بنيات خاصة بـ XLA في نصوصنا التدريبية. هذه التغييرات في التعليمات البرمجية سهلة التنفيذ. فيما يلي بعض الدروس التقنية المهمة من التمرين والتي أدت إلى تحسين إنتاجية النموذج بشكل كبير:

  • موضع xm.mark_step() - xm.mark_step() يجمع ويدير الرسوم البيانية الحسابية المجمعة بتكاسل. استدعاء mark_step سيؤدي عدد كبير جدًا من المرات إلى عدد أكبر من الرسوم البيانية الصغيرة، في حين أن استدعاء ذلك مرات قليلة جدًا سيؤدي إلى عدد قليل جدًا من الرسوم البيانية الكبيرة. اعتمادًا على التطبيق الخاص بك، ستختلف الإنتاجية وتنفيذ نموذج التدريب الخاص بك بناءً على موضعك xm.mark_step(). تنفيذنا يضع واحدا xm.mark_step() بعد تمريرة للأمام والخلف، وواحدة بعد خطوة المحسن.
  • التفاف محمل البيانات مع محمل جهاز المعالجة المتعددة XLA – هذه خطوة حاسمة يمكن تفويتها بسهولة. محمل جهاز المعالجة المتعددة torch_xla.distributed.parallel_loader.MpDeviceLoader يقوم بتحميل بيانات التدريب على كل جهاز XLA مع خيارات للتحميل المسبق وتداخل تحميل البيانات مع تشغيل الجهاز لتحسين الإنتاجية. يقوم محمل الجهاز أيضًا باستدعاء xm.mark_step() وبالتالي فهو قادر على إنشاء رسوم بيانية لتحميل البيانات إلى الجهاز من المضيف.

تجميع لTrainium

تقليديًا، تتضمن دورة تطوير النموذج باستخدام وحدات معالجة الرسومات إجراء تغييرات على النموذج أو البرنامج النصي للتدريب وتشغيله مباشرة على جهاز وحدة معالجة الرسومات. تتطلب المسرعات مثل Trainium التي تستخدم XLA خطوة إضافية قبل أن تتمكن من تشغيل نموذج التدريب على المسرع. لا يمكن تشغيل الرسوم البيانية الحسابية لـ XLA إلا بعد تجميعها. بشكل عام، هناك طريقتان لإجراء هذا التجميع: Ahead of Time (AOT)، حيث تقوم بتتبع وتجميع جميع الرسوم البيانية أولاً ثم تشغيلها، أو Just In Time (JIT)، حيث يتم تتبع الرسوم البيانية وتجميعها وتشغيلها كما هي تمت مواجهتها. يوفر Neuron SDK كلا الأمرين خارج الصندوق. عادة، يتم تنفيذ تجميع AOT أولاً. ثم يتم تشغيل الرسوم البيانية بعد هذا التجميع. إذا تمت مواجهة رسوم بيانية جديدة، فإن وقت تشغيل Neuron يستدعي تجميع JIT قبل تشغيلها. لإجراء تجميع AOT، يوفر Neuron SDK neuron_parallel_compile، أداة تجميعية تستخرج الرسوم البيانية من التشغيل التجريبي للبرنامج النصي للتدريب وتقوم بإجراء تجميع AOT متوازي.

أحد الجوانب المهمة لتجميع AOT هو ضمان عدم إنشاء رسوم بيانية حسابية جديدة على مدار التدريب. أحد مصادر الرسوم البيانية الحسابية الجديدة (وبالتالي عمليات إعادة التجميع) هو الأشكال الديناميكية لدفعات التدريب أثناء التدريب النموذجي. لقد وجدنا أن استخدام الأشكال الثابتة والدفعات ذات الحجم الثابت يلغي تجميعات وقت التدريب ويحسن إنتاجية التدريب بشكل كبير دون أي تأثير على دقة النموذج. من خلال فرض مثل هذه القيود على التدريب، لاحظنا أن 4-5 خطوات فقط من التدريب النموذجي، وخطوة واحدة للتحقق من صحة النموذج، والتحقق من النموذج مرة واحدة مطلوبة لتتبع جميع الرسوم البيانية أثناء تجميع AOT. من المهم ملاحظة أن Neuron SDK يتطور باستمرار، وفي المستقبل سوف يدعم الأشكال الديناميكية أيضًا.

علاوة على ذلك، يتم تخزين الرسوم البيانية المجمعة في ذاكرة التخزين المؤقت العصبية المستمرة على القرص أو في خدمة تخزين أمازون البسيطة دلو (أمازون S3). يعد هذا مفيدًا بشكل خاص لأحمال عمل الإنتاج حيث لا تتغير بنية النموذج وتكوين التدريب. ولذلك، يتم تكبد الحمل التحويل البرمجي مرة واحدة فقط. يعد استخدام ذاكرة التخزين المؤقت أمرًا بسيطًا مثل تعيين علامة البيئة:

export NEURON_COMPILE_CACHE_URL="s3://BUCKET/KEY"

يوفر مترجم Neuron أيضًا ثلاثة خيارات التحسين على مستوى المترجم (O1، O2، O3) لتحقيق التوازن بين وقت التجميع وإنتاجية تشغيل النموذج. يعمل O1 على تمكين التحسينات الأساسية على الرسم البياني الحسابي ويقلل وقت التجميع، ويوفر O3 إنتاجية تشغيل نموذجية محسنة على حساب وقت تجميع أعلى، وO2 (الخيار الافتراضي) هو التوازن بين الاثنين. بالنسبة لحالة الاستخدام الخاصة بنا، استخدمنا تحسين O1 ولاحظنا انخفاضًا بنسبة 86% في وقت التجميع دون أي تغيير في مقاييس دقة النموذج، مع ملاحظة انخفاض بنسبة 5-7% تقريبًا في الإنتاجية مقارنة بالتحسين الافتراضي (O2). اعتمادًا على حالة الاستخدام، يمكنك اختيار مستويات مختلفة من التحسين.

للتلخيص، استخدمنا العلامات التالية للتجميع:

NEURON_CC_FLAGS="--target trn1 --auto-cast all --auto-cast-type bf16 --model-type transformer --optlevel O1"

توافق نقطة التفتيش

عند اكتمال التجميع بنجاح، يمكننا البدء في تدريب نماذجنا على Trainium. كما ذكرنا سابقًا، نقوم بتدريب نماذجنا تدريجيًا، مما يعني أننا نقوم بتحميل نقطة تفتيش النموذج التي تم تدريبها مسبقًا ومواصلة التدريب باستخدام البيانات الجديدة. يسمح PyTorch وPyTorch XLA بالانتقال السلس بين المسرعات من خلال قابلية التشغيل البيني لنقاط التفتيش. لقد مكنتنا مرونة التنقل بين GPU وTrainium من تحميل نموذج GPU السابق والتدريب على أجهزة Trainium بسلاسة. كان هذا أمرًا بالغ الأهمية للتأكد من أنه يمكننا تهيئة نموذجنا بأفضل نموذج تم تدريبه مسبقًا دون أي توقف في الإنتاج أو فقدان دقة النموذج.

نظرًا لأنه تم حفظ نموذج وحدة معالجة الرسومات باستخدام أدوات مساعدة قياسية لحفظ نموذج PyTorch، فقد تمكنا من استخدام الأداة المساعدة لتحميل نقطة تفتيش PyTorch لتحميل نموذج وحدة معالجة الرسومات على أجهزة Trainium.

على سبيل المثال، في GPU/CPU، يمكنك حفظ النموذج بالكود التالي:

torch.save(model.state_dict(), PATH)

ثم تقوم بتحميل النموذج مرة أخرى على Trainium:

import torch_xla.core.xla_model as xm
xla_device = xm.xla_device()
model = MyModel(*args, **kwargs)
model.load_state_dict(torch.load(PATH))
model.to(xla_device)

وبالمثل، يمكنك حفظ النموذج على Trainium بالكود التالي:

import torch_xla.core.xla_model as xm
# automatically moves the data to CPU for the master device
xm.save(model.state_dict(), PATH) 

وقم بتحميل النموذج مرة أخرى على GPU/CPU:

model = MyModel(*args, **kwargs)
model.load_state_dict(torch.load(PATH))
model.to(device) # can be any device

في الواقع، نظرًا لأننا نستخدم DDP لتدريب النماذج، فإن تحميل النموذج لا يعرف عدد الأجهزة المستخدمة لتدريب نقطة التفتيش السابقة. يتيح لنا ذلك توسيع نطاق أسطول Trn1 أفقيًا دون أي تغييرات في التعليمات البرمجية أو تأثيرات سلبية على التدريب النموذجي. يمكن استخدام نقاط التفتيش المستندة إلى PyTorch مباشرة أو حتى كتابتها نصيًا لحالات استخدام الاستدلال على AWS Inferentia2 أو المسرعات الأخرى.

الاستقرار التشغيلي

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

كما هو الحال مع المسار الحالي القائم على وحدة معالجة الرسومات، أضفنا العديد من الآليات لجعل المسار مستقرًا من الناحية التشغيلية. قبل البدء في تدريب النماذج، نقوم بإجراء اختبارات سلامة متعددة لتقييم صحة الآلات. تتضمن هذه الاختبارات عمومًا عمليات موتر بسيطة للتحقق من صحة أجهزة التسريع. لقد لاحظنا أنه بالنسبة للتدريب الموزع، من المهم إجراء اختبارات للتحقق من الاتصال الجماعي بين الحالات أيضًا. استخدمنا مجموعة اختبار NCCOM من Neuron SDK لتحقيق ذلك، من خلال تشغيل مجموعة متنوعة من العمليات مثل التجميع الشامل والتقليل الكامل وتقليل التشتت.

حتى بعد اتباع الاقتراحات التي ذكرناها، لاحظنا أن المشكلات العابرة لا مفر منها في أي مسار، بغض النظر عن المسرع الأساسي. لبناء المرونة في أي مسار تدريب، نوصي ببناء آليات إعادة المحاولة لحل هذه المشكلات المحتملة. نحن نستخدم تتم إعادة المحاولة تلقائيًا بواسطة AWS Batch لإعادة محاولة المهام التي واجهت فشلًا عابرًا أثناء التدريب النموذجي. يمكن أن تكون عمليات إعادة التشغيل هذه مكلفة إذا تمت مواجهة الفشل في نهاية التدريب. لمواجهة هذه المشكلة، قمنا بتكييف نصوصنا التدريبية لتحميل نقطة تفتيش نموذجية تم تدريبها مسبقًا ومواصلة التدريب من تلك النقطة. باستخدام هذه الوظيفة، نحن قادرون على إعادة تشغيل مهام التدريب الفاشلة بقوة وبأقل قدر من الحمل.

مع وجود آليات المرونة هذه، تمكنا من تحقيق معدلات نجاح بنسبة 98.5% لأحمال العمل لدينا على Trn1، مقارنة بمعدلات نجاح خط أنابيب GPU الحالي لدينا.

النتائج

للتحقق من دقة نماذجنا، قمنا بتهيئة نموذجين من نفس نقطة تفتيش GPU، وقمنا بتدريب أحدهما على Trainium والآخر على وحدة معالجة رسومات مماثلة. تم تدريب كلا النموذجين بنفس معلمات التدريب الفائقة. مجموعة البيانات المستخدمة لحساب المقاييس هي مجموعة بيانات محظورة، ونقوم بتقييم دقة النموذج في مجموعة البيانات هذه في كل N من الخطوات العامة. المحور X هو الخطوة العالمية، والمحور Y هو دقة النموذج. لاحظنا اختلافًا أقل من 0.1% في دقة النموذج عند كل نقطة في الرسم البياني التالي.

كيف وفر Amazon Search M5 30% من تكلفة تدريب LLM باستخدام AWS Trainium | أمازون ويب سيرفيسز PlatoBlockchain Data Intelligence. البحث العمودي. منظمة العفو الدولية.

علاوة على ذلك، لتقييم فعالية التدريب النموذجي من حيث التكلفة، نفضل مقارنة الوقت المستغرق لساعة الحائط للوصول إلى تقارب النموذج. نعتقد أن هذا يوفر رؤية أكثر عملية لتوفير التكاليف مقارنةً بمقاييس مثل التكلفة لكل رمز مميز، وFLOPS المحققة/الدولار، وعوامل أخرى. مع الأخذ في الاعتبار وقت التدريب trn1.32xl وقابل للمقارنة الأمازون الحوسبة المرنة السحابية (Amazon EC2)، لاحظنا أن Trainium يوفر تكلفة أقل بنسبة تصل إلى 30% لنموذج التقارب.

وفي الختام

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

بفضل شراكتنا وتعاوننا مع فريق Annapurna Neuron، تمكن فريق Amazon Search M5 من توفير ما يصل إلى 30% من التكلفة بالانتقال إلى Trainium. يستطيع الفريق استخدام Trainium وتحقيق جودة النموذج وتكافؤ الإنتاجية مع المسرعات المماثلة في السوق. لقد أتاحت إمكانية التشغيل البيني لنقاط التفتيش والحد الأدنى من تغييرات التعليمات البرمجية مع دعم XLA لـ M5 الاختيار بين العديد من المسرعات لأعباء العمل الخاصة بهم. وقد مكّن هذا فريق M5 من الاستفادة من قوة الحوسبة الكبيرة لـ Trainium، وبناء حلول غير محددة للتسريع لإسعاد عملاء Amazon.com. من الناحية التشغيلية، أثبت Trainium قدرته على دعم خدمات المستوى الأول على نطاق أمازون. يواصل فريق M1 نقل المزيد من أعباء العمل إلى Trainium لتوفير أفضل النماذج لأمازون بأقل التكاليف.

باختصار، تمكن فريق M5 من إجراء تدريب فعال من حيث التكلفة على تعلم الآلة على مستوى الإنتاج من خلال إضافة Trainium إلى أسطول المسرعات. نحن نشجعك على إلقاء نظرة على Trainium وأجهزة Neuron الأخرى مثل AWS Inferentia لجني فوائد Amazon silicon المصمم خصيصًا لأعباء عمل تعلم الآلة. ابدأ بسهولة باستخدام أحد البرامج التعليمية العديدة التي تتضمن نماذج مختلفة، مثل Llama 2، متوفر على Trainium.


حول المؤلف

كيف وفر Amazon Search M5 30% من تكلفة تدريب LLM باستخدام AWS Trainium | أمازون ويب سيرفيسز PlatoBlockchain Data Intelligence. البحث العمودي. منظمة العفو الدولية.أبهيناندان باتني هو مهندس برمجيات أول في Amazon Search. يركز على بناء الأنظمة والأدوات للتدريب على التعلم العميق الموزع القابل للتطوير والاستدلال في الوقت الفعلي.

كيف وفر Amazon Search M5 30% من تكلفة تدريب LLM باستخدام AWS Trainium | أمازون ويب سيرفيسز PlatoBlockchain Data Intelligence. البحث العمودي. منظمة العفو الدولية.جيمس بارك هو مهندس الحلول في Amazon Web Services. وهو يعمل مع Amazon.com لتصميم الحلول التقنية وإنشائها ونشرها على AWS، ولديه اهتمام خاص بالذكاء الاصطناعي والتعلم الآلي. في وقت فراغه، يستمتع بالبحث عن ثقافات جديدة وتجارب جديدة ومواكبة أحدث اتجاهات التكنولوجيا. يمكنك العثور عليه على لينكدين:.

كيف وفر Amazon Search M5 30% من تكلفة تدريب LLM باستخدام AWS Trainium | أمازون ويب سيرفيسز PlatoBlockchain Data Intelligence. البحث العمودي. منظمة العفو الدولية.جيري مانيل هو مهندس برمجيات في Amazon Search. وهو يعمل على تحسين كفاءة وقوة وقابلية التوسع في البنية التحتية للتدريب الموزعة.

كيف وفر Amazon Search M5 30% من تكلفة تدريب LLM باستخدام AWS Trainium | أمازون ويب سيرفيسز PlatoBlockchain Data Intelligence. البحث العمودي. منظمة العفو الدولية.كين سو هو مهندس برمجيات في Amazon Search. وهو يعمل على تحسين كفاءة التدريب وسير عمل التدريب الموزع القابل للتطوير. خارج العمل، يحب المشي لمسافات طويلة والتنس.

كيف وفر Amazon Search M5 30% من تكلفة تدريب LLM باستخدام AWS Trainium | أمازون ويب سيرفيسز PlatoBlockchain Data Intelligence. البحث العمودي. منظمة العفو الدولية.RJ مهندس داخل أمازون. يقوم ببناء وتحسين الأنظمة للأنظمة الموزعة للتدريب ويعمل على تحسين اعتماد الأنظمة لتقليل زمن الوصول لاستدلال ML. وخارج العمل، يستكشف استخدام الذكاء الاصطناعي التوليدي لبناء وصفات الطعام.

الطابع الزمني:

اكثر من التعلم الآلي من AWS