شعار زيفيرنت

قم بإنشاء واجهة مستخدم ويب للتفاعل مع LLMs باستخدام Amazon SageMaker JumpStart | خدمات الويب الأمازون

التاريخ:

لقد استحوذ إطلاق ChatGPT وارتفاع شعبية الذكاء الاصطناعي التوليدي على خيال العملاء الذين لديهم فضول بشأن كيفية استخدام هذه التكنولوجيا لإنشاء منتجات وخدمات جديدة على AWS، مثل روبوتات الدردشة الخاصة بالمؤسسات، والتي تعد أكثر تحادثية. يوضح لك هذا المنشور كيف يمكنك إنشاء واجهة مستخدم ويب، والتي نطلق عليها اسم Chat Studio، لبدء محادثة والتفاعل مع النماذج الأساسية المتوفرة في أمازون سيج ميكر جومب ستارت مثل Llama 2 وStable Diffusion والنماذج الأخرى المتوفرة على الأمازون SageMaker. بعد نشر هذا الحل، يمكن للمستخدمين البدء بسرعة وتجربة إمكانات النماذج الأساسية المتعددة في الذكاء الاصطناعي للمحادثة من خلال واجهة الويب.

يمكن لـ Chat Studio أيضًا استدعاء نقطة نهاية نموذج Stable Diffusion بشكل اختياري لإرجاع مجموعة من الصور ومقاطع الفيديو ذات الصلة إذا طلب المستخدم عرض الوسائط. يمكن أن تساعد هذه الميزة في تحسين تجربة المستخدم باستخدام الوسائط كأصول مصاحبة للاستجابة. هذا مجرد مثال واحد لكيفية إثراء Chat Studio بعمليات تكامل إضافية لتحقيق أهدافك.

تعرض لقطات الشاشة التالية أمثلة على الشكل الذي يبدو عليه استعلام المستخدم واستجابته.

واجهة استعلام Chat Studio

واجهة استجابة استوديو الدردشة

نماذج اللغات الكبيرة

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

نماذج مؤسسة SageMaker

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

حل نظرة عامة

يتناول هذا المنشور سير عمل منخفض التعليمات البرمجية لنشر LLMs المدربة مسبقًا والمخصصة من خلال SageMaker، وإنشاء واجهة مستخدم ويب للتفاعل مع النماذج المنشورة. نحن نغطي الخطوات التالية:

  1. نشر النماذج الأساسية لـ SageMaker.
  2. نشر AWS لامدا و إدارة الهوية والوصول AWS (IAM) باستخدام أذونات تكوين سحابة AWS.
  3. إعداد وتشغيل واجهة المستخدم.
  4. اختياريًا، قم بإضافة نماذج أساس SageMaker أخرى. تعمل هذه الخطوة على توسيع قدرة Chat Studio على التفاعل مع نماذج الأساس الإضافية.
  5. اختياريًا، قم بنشر التطبيق باستخدام تضخيم AWS. تقوم هذه الخطوة بنشر Chat Studio على الويب.

راجع الرسم البياني التالي للحصول على نظرة عامة على بنية الحل.

هندسة حلول استوديو الدردشة

المتطلبات الأساسية المسبقة

لتصفح الحل ، يجب أن تكون لديك المتطلبات الأساسية التالية:

  • An حساب AWS مع امتيازات مستخدم IAM كافية.
  • npm المثبتة في البيئة المحلية الخاصة بك. للحصول على تعليمات حول كيفية التثبيت npm، تشير إلى تنزيل وتثبيت Node.js وnpm.
  • حصة خدمة تبلغ 1 لنقاط نهاية SageMaker المقابلة. بالنسبة إلى Llama 2 13b Chat، نستخدم مثيل ml.g5.48xlarge وبالنسبة إلى Stable Diffusion 2.1، نستخدم مثيل ml.p3.2xlarge.

لطلب زيادة حصة الخدمة، على وحدة تحكم حصص خدمة AWS، انتقل إلى خدمات AWS, SageMaker، وطلب رفع حصة الخدمة إلى قيمة 1 لـ ml.g5.48xlarge لاستخدام نقطة النهاية وml.p3.2xlarge لاستخدام نقطة النهاية.

قد يستغرق طلب حصة الخدمة بضع ساعات للموافقة عليه، اعتمادًا على مدى توفر نوع المثيل.

نشر النماذج الأساسية لـ SageMaker

SageMaker هي خدمة تعلم آلي مُدارة بالكامل (ML) للمطورين لبناء نماذج تعلم الآلة وتدريبها بسرعة وسهولة. أكمل الخطوات التالية لنشر النماذج الأساسية Llama 2 13b Chat وStable Diffusion 2.1 باستخدام أمازون ساجميكر ستوديو:

  1. قم بإنشاء مجال SageMaker. للحصول على التعليمات، راجع الانضمام إلى Amazon SageMaker Domain باستخدام الإعداد السريع.

يقوم المجال بإعداد كل مساحة التخزين ويسمح لك بإضافة مستخدمين للوصول إلى SageMaker.

  1. في وحدة تحكم SageMaker ، اختر استوديو في جزء التنقل ، ثم اختر فتح ستوديو.
  2. عند إطلاق الاستوديو، تحت سيج ميكر جومب ستارت في جزء التنقل ، اختر النماذج والدفاتر والحلول.
    وحدة تحكم SageMaker JumpStart
  3. في شريط البحث، ابحث عن Llama 2 13b Chat.
  4. تحت تكوين النشر، ل مثيل استضافة SageMaker، اختر ml.g5.48xlarge ولل اسم نقطة النهاية، أدخل meta-textgeneration-llama-2-13b-f.
  5. اختار نشر.

تكوين نشر SageMaker JumpStart

بعد نجاح النشر، يجب أن تكون قادرًا على رؤية In Service الحالة.

حالة نموذج اللاما

  1. على النماذج والدفاتر والحلول الصفحة، ابحث عن Stable Diffusion 2.1.
  2. تحت تكوين النشر، ل مثيل استضافة SageMaker، اختر مل. 3.2xlarge ولل اسم نقطة النهاية، أدخل jumpstart-dft-stable-diffusion-v2-1-base.
  3. اختار نشر.

تكوين نشر SageMaker JumpStart

بعد نجاح النشر، يجب أن تكون قادرًا على رؤية In Service الحالة.

حالة نموذج الانتشار المستقر

انشر أذونات Lambda وIAM باستخدام AWS CloudFormation

يصف هذا القسم كيف يمكنك تشغيل مكدس CloudFormation الذي ينشر وظيفة Lambda التي تعالج طلب المستخدم الخاص بك وتستدعي نقطة نهاية SageMaker التي قمت بنشرها، وتنشر جميع أذونات IAM الضرورية. أكمل الخطوات التالية:

  1. انتقل إلى مستودع جيثب وقم بتنزيل قالب CloudFormation (lambda.cfn.yaml) إلى جهازك المحلي.
  2. في وحدة تحكم CloudFormation، اختر إنشاء مكدس القائمة المنسدلة واختر بموارد جديدة (قياسي).
  3. على حدد النموذج الصفحة ، حدد قم بتحميل ملف قالب و اختر ملف.
  4. اختيار lambda.cfn.yaml الملف الذي قمت بتنزيله، ثم اختر التالى.
  5. على حدد تفاصيل المكدس الصفحة، أدخل اسم المكدس ومفتاح API الذي حصلت عليه في المتطلبات الأساسية، ثم اختر التالى.
  6. على تكوين خيارات المكدس الصفحة ، اختر التالى.
  7. قم بمراجعة التغييرات والإقرار بها ثم الاختيار تقدم.

قم بإعداد واجهة مستخدم الويب

يصف هذا القسم خطوات تشغيل واجهة مستخدم الويب (التي تم إنشاؤها باستخدام نظام تصميم كلاود سكيب) على جهازك المحلي:

  1. في وحدة تحكم IAM، انتقل إلى المستخدم functionUrl.
  2. على أوراق اعتماد الأمان علامة التبويب، اختر إنشاء مفتاح الوصول.
  3. على الوصول إلى أفضل الممارسات والبدائل الرئيسية الصفحة ، حدد واجهة سطر الأوامر (CLI) واختر التالى.
  4. على تعيين علامة الوصف الصفحة ، اختر إنشاء مفتاح الوصول.
  5. انسخ مفتاح الوصول ومفتاح الوصول السري.
  6. اختار تم. .
  7. انتقل إلى مستودع جيثب وتحميل react-llm-chat-studio رمز.
  8. قم بتشغيل المجلد في IDE المفضل لديك وافتح الوحدة الطرفية.
  9. انتقل إلى src/configs/aws.json وأدخل مفتاح الوصول ومفتاح الوصول السري الذي حصلت عليه.
  10. أدخل الأوامر التالية في المحطة:
    npm install
    
    npm start

  11. ساعات العمل http://localhost:3000 في متصفحك وابدأ بالتفاعل مع نماذجك!

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

أضف نماذج أساس SageMaker أخرى

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

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

  1. في SageMaker Studio، انشر النموذج الأساسي لـ SageMaker الذي تختاره.
  2. اختار سيج ميكر جومب ستارت و قم بتشغيل أصول JumpStart.
  3. اختر نقطة نهاية النموذج الذي تم نشره حديثًا واختر افتح المفكرة.
  4. في وحدة تحكم الكمبيوتر المحمول، ابحث عن معلمات الحمولة.

هذه هي الحقول التي يتوقعها النموذج الجديد عند استدعاء نقطة نهاية SageMaker الخاصة به. تظهر لقطة الشاشة التالية مثالا.

تكوين نقطة نهاية SageMaker

  1. على وحدة تحكم Lambda، انتقل إلى callSageMakerEndpoints.
  2. قم بإضافة معالج إدخال مخصص لنموذجك الجديد.

في لقطة الشاشة التالية، قمنا بتحويل الإدخال لـ Falcon 40B Instruct BF16 وGPT NeoXT Chat Base 20B FP16. يمكنك إدراج منطق المعلمة المخصصة الخاص بك كما هو موضح لإضافة منطق تحويل الإدخال بالإشارة إلى معلمات الحمولة النافعة التي قمت بنسخها.

مقتطف كود لامدا

  1. ارجع إلى وحدة تحكم الكمبيوتر المحمول وحدد موقعه query_endpoint.

تمنحك هذه الوظيفة فكرة عن كيفية تحويل مخرجات النماذج لاستخراج الاستجابة النصية النهائية.

تكوين نقطة نهاية SageMaker

  1. بالإشارة إلى الكود الموجود في query_endpoint، قم بإضافة معالج إخراج مخصص لنموذجك الجديد.
    كود لامدا
  2. اختار نشر.
  3. افتح IDE الخاص بك، ثم قم بتشغيل react-llm-chat-studio رمز، وانتقل إلى src/configs/models.json.
  4. أضف اسم النموذج ونقطة نهاية النموذج، وأدخل معلمات الحمولة من الخطوة 4 أدناه payload باستخدام التنسيق التالي:
    "add_model_name": {
    "endpoint_name": "add_model_enpoint",
    "payload": {
    "add_payload_paramters_here"
    }
    },

  5. قم بتحديث المتصفح الخاص بك لبدء التفاعل مع النموذج الجديد الخاص بك!

نشر التطبيق باستخدام Amplify

يعد Amplify حلاً متكاملاً يتيح لك نشر تطبيقك بسرعة وكفاءة. يصف هذا القسم خطوات نشر Chat Studio على الأمازون CloudFront التوزيع باستخدام Amplify إذا كنت ترغب في مشاركة تطبيقك مع مستخدمين آخرين.

  1. انتقل إلى react-llm-chat-studio مجلد التعليمات البرمجية الذي قمت بإنشائه مسبقًا.
  2. أدخل الأوامر التالية في الجهاز واتبع تعليمات الإعداد:
    npm install -g @aws-amplify/cli
    
    amplify configure

  3. قم بتهيئة مشروع Amplify جديد باستخدام الأمر التالي. قم بتوفير اسم المشروع، وقبول التكوينات الافتراضية، ثم اختر مفاتيح وصول AWS عندما يُطلب منك تحديد طريقة المصادقة.
    amplify init

  4. قم باستضافة مشروع Amplify باستخدام الأمر التالي. يختار أمازون كلاودفرونت وS3 عندما يُطلب منك تحديد وضع البرنامج المساعد.
    amplify hosting add

  5. وأخيرًا، قم ببناء المشروع ونشره باستخدام الأمر التالي:
    amplify publish

  6. بعد نجاح النشر، افتح عنوان URL المتوفر في متصفحك وابدأ في التفاعل مع النماذج الخاصة بك!

تنظيف

لتجنب تكبد رسوم في المستقبل ، أكمل الخطوات التالية:

  1. احذف مكدس CloudFormation. للحصول على تعليمات ، راجع حذف مكدس على وحدة تحكم AWS CloudFormation.
  2. احذف نقطة نهاية SageMaker JumpStart. للحصول على التعليمات، راجع حذف نقاط النهاية والموارد.
  3. احذف مجال SageMaker. للحصول على التعليمات، راجع احذف مجال Amazon SageMaker.

وفي الختام

في هذا المنشور، شرحنا كيفية إنشاء واجهة مستخدم ويب للتواصل مع LLMs المنشورة على AWS.

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

يمكنك توسيع هذا الحل بطرق مختلفة، مثل دمج نماذج الأساس الإضافية، التكامل مع أمازون كندرا لتمكين البحث الذكي المدعوم بالتعلم الآلي لفهم محتوى المؤسسة، والمزيد!

نحن ندعوك للتجربة تتوفر LLMs مختلفة مدربة مسبقًا على AWS، أو البناء فوق أو حتى إنشاء LLMs الخاصة بك في SageMaker. أخبرنا بأسئلتك ونتائجك في التعليقات، واستمتع بوقتك!


عن المؤلفين

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

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

بقعة_صورة

أحدث المعلومات الاستخباراتية

بقعة_صورة