شعار زيفيرنت

نماذج لغة كبيرة لتحليل المشاعر باستخدام Amazon Redshift ML (معاينة) | خدمات ويب أمازون

التاريخ:

أمازون Redshift ML تمكن محللي البيانات ومطوري قواعد البيانات من دمج قدرات التعلم الآلي والذكاء الاصطناعي في مستودع البيانات الخاص بهم. يساعد Amazon Redshift ML على تبسيط إنشاء نماذج التعلم الآلي وتدريبها وتطبيقها من خلال أوامر SQL المألوفة.

يمكنك تعزيز قدرات الاستدلال الخاصة بـ Amazon Redshift بشكل أكبر من خلال إحضار النماذج الخاصة بك (BYOM). هناك نوعان من BYOM: 1) BYOM البعيد لـ الاستدلالات عن بعد و2) BYOM المحلي للاستدلالات المحلية. باستخدام BYOM المحلي، يمكنك استخدام نموذج تم تدريبه في Amazon SageMaker للاستدلال داخل قاعدة البيانات داخل Amazon Redshift عن طريق استيراد Amazon SageMaker الطيار الآلي وقام Amazon SageMaker بتدريب النماذج على Amazon Redshift. وبدلاً من ذلك، باستخدام BYOM البعيد، يمكنك استدعاء نماذج تعلم الآلة المخصصة عن بعد والتي تم نشرها في SageMaker. يمكّنك هذا من استخدام النماذج المخصصة في SageMaker للتخضير، وXGBoost، والانحدار الخطي، والتصنيف متعدد الفئات، والآن LLMs.

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

مسبقا المشاركات، يدعم Amazon Redshift ML بشكل حصري BYOMs التي تقبل النص أو ملف CSV كتنسيق إدخال وإخراج البيانات. لقد أضاف الآن دعمًا لنوع البيانات SUPER لكل من الإدخال والإخراج. مع هذا الدعم، يمكنك استخدام LLMs في Amazon SageMaker JumpStart الذي يقدم العديد من النماذج الأساسية الخاصة والمتاحة للعامة من موفري النماذج المختلفين.

LLMs لها حالات استخدام متنوعة. يدعم Amazon Redshift ML نماذج LLM المتوفرة في SageMaker بما في ذلك نماذج تحليل المشاعر. في تحليل المشاعر، يمكن للنموذج تحليل تعليقات المنتج وسلاسل النص وبالتالي المشاعر. تعتبر هذه الإمكانية ذات قيمة خاصة لفهم مراجعات المنتجات والتعليقات والمشاعر العامة.

نظرة عامة على الحل

في هذا المنشور، نستخدم Amazon Redshift ML لتحليل المشاعر بشأن المراجعات المخزنة في جدول Amazon Redshift. يأخذ النموذج المراجعات كمدخل ويعيد تصنيف المشاعر كمخرجات. نحن نستخدم LLM جاهزًا في SageMaker Jumpstart. الصورة أدناه توضح نظرة عامة على الحل.

تجول

اتبع الخطوات أدناه لإجراء تحليل المشاعر باستخدام تكامل Amazon Redshift مع SageMaker JumpStart لاستدعاء نماذج LLM:

  1. انشر نموذج LLM باستخدام النماذج الأساسية في SageMaker JumpStart وأنشئ نقطة نهاية
  2. باستخدام Amazon Redshift ML، قم بإنشاء نموذج يشير إلى نقطة نهاية SageMaker JumpStart LLM
  3. قم بإنشاء وظيفة محددة من قبل المستخدم (UDF) تعمل على هندسة المطالبة بتحليل المشاعر
  4. قم بتحميل مجموعة بيانات مراجعات العينات في مستودع بيانات Amazon Redshift الخاص بك
  5. قم بإجراء استنتاج عن بعد لنموذج LLM لإنشاء تحليل المشاعر لمجموعة بيانات الإدخال
  6. تحليل الإخراج

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

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

  • An حساب AWS
  • مجموعة عمل معاينة Amazon Redshift Serverless أو مجموعة معاينة متوفرة من Amazon Redshift. تشير إلى إنشاء مجموعة عمل المعاينة or إنشاء مجموعة المعاينة وثائق للخطوات.
  • للمعاينة، يجب أن يكون مستودع بيانات Amazon Redshift قيد التشغيل معاينة_2023 تتبع في هذه المناطق - شرق الولايات المتحدة (شمال فرجينيا)، أو غرب الولايات المتحدة (أوريغون)، أو غرب الاتحاد الأوروبي (أيرلندا)، أو شرق الولايات المتحدة (أوهايو)، أو AP-شمال شرق (طوكيو) أو شمال الاتحاد الأوروبي -1 (ستوكهولم).

خطوات الحل

اتبع خطوات الحل أدناه

1. قم بنشر نموذج LLM باستخدام النماذج الأساسية في SageMaker JumpStart وقم بإنشاء نقطة نهاية

  1. انتقل إلى نماذج المؤسسة في Amazon SageMaker Jumpstart
  2. ابحث عن نموذج الأساس بالكتابة فالكون 7B تعليمات BF16 في مربع البحث
  3. اختار عرض النموذج

  4. في مجلة تفاصيل النموذج  الصفحة ، اختر افتح دفتر الملاحظات في الاستوديو

  5. متى حدد المجال وملف تعريف المستخدم يفتح مربع الحوار، اختر ملف التعريف الذي تريده من القائمة المنسدلة واختر فتح ستوديو

  6. عندما يفتح دفتر الملاحظات، تظهر مطالبة إعداد بيئة الكمبيوتر المحمول للملوثات العضوية الثابتة مفتوحة. اختر ml.g5.2xlarge أو أي نوع مثيل آخر موصى به في دفتر الملاحظات واختر أختار

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

2. باستخدام Amazon Redshift ML، قم بإنشاء نموذج يشير إلى نقطة نهاية SageMaker JumpStart LLM

قم بإنشاء نموذج باستخدام Amazon Redshift ML وجلب إمكانات النموذج الخاص بك (BYOM). بعد إنشاء النموذج، يمكنك استخدام وظيفة الإخراج لإجراء الاستدلال عن بعد لنموذج LLM. لإنشاء نموذج في Amazon Redshift لنقطة نهاية LLM التي تم إنشاؤها مسبقًا، اتبع الخطوات التالية.

  1. قم بتسجيل الدخول إلى نقطة نهاية Amazon Redshift. يمكنك استخدام محرر الاستعلام V2 لتسجيل الدخول
  2. استيراد هذا الكمبيوتر المحمول في محرر الاستعلام V2. أنه يحتوي على كافة SQLs المستخدمة في هذه المدونة.
  3. تأكد من إضافة سياسة IAM أدناه إلى دور IAM الخاص بك. يستبدل مع اسم نقطة نهاية SageMaker JumpStart الذي تم التقاطه مسبقًا
    {
      "Statement": [
          {
              "Action": "sagemaker:InvokeEndpoint",
              "Effect": "Allow",
              "Resource": "arn:aws:sagemaker:<region>:<AccountNumber>:endpoint/<endpointname>",
              "Principal": "*"
          }
      ]
    }

  4. قم بإنشاء نموذج في Amazon Redshift باستخدام بيان إنشاء النموذج الموضح أدناه. يستبدل مع اسم نقطة النهاية الذي تم التقاطه مسبقًا. يجب أن يكون نوع بيانات الإدخال والإخراج للنموذج فائقًا.
    CREATE MODEL falcon_7b_instruct_llm_model
    FUNCTION falcon_7b_instruct_llm_model(super)
    RETURNS super
    SAGEMAKER '<endpointname>'
    IAM_ROLE default;

3. قم بتحميل مجموعة بيانات مراجعات العينات في مستودع بيانات Amazon Redshift الخاص بك

في منشور المدونة هذا، سنستخدم عينة من مجموعة بيانات المراجعات الوهمية للإرشادات التفصيلية

  1. قم بتسجيل الدخول إلى Amazon Redshift باستخدام محرر الاستعلام V2
  2. إنشاء sample_reviews الجدول باستخدام عبارة SQL أدناه. سيقوم هذا الجدول بتخزين مجموعة بيانات مراجعات العينة
    CREATE TABLE sample_reviews
    (
    review varchar(4000)
    );

  3. تحميل ملف عينة، وقم بالتحميل إلى مجموعة S3 الخاصة بك وتحميل البيانات فيها sample_reviews الجدول باستخدام أمر النسخ أدناه
    COPY sample_reviews
    FROM 's3://<<your_s3_bucket>>/sample_reviews.csv'
    IAM_ROLE DEFAULT
    csv
    DELIMITER ','
    IGNOREHEADER 1;

4. قم بإنشاء UDF الذي يقوم بتصميم الموجه لتحليل المشاعر

يتكون الإدخال في LLM من جزأين رئيسيين – الموجه والمعلمات.

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

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

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

يأخذ UDF أدناه بيانات varchar في مستودع البيانات الخاص بك، ويوزعها إلى SUPER (تنسيق JSON) لـ LLM. تسمح لك هذه المرونة بتخزين بياناتك على هيئة varchar في مستودع البيانات الخاص بك دون إجراء تحويل نوع البيانات إليه سوبر لاستخدام LLMs في Amazon Redshift ML وتسهيل الهندسة السريعة. إذا كنت تريد تجربة موجه مختلف، فيمكنك فقط استبدال UDF

يحتوي UDF الموضح أدناه على كل من الموجه والمعلمة.

  • موجه: "صنف المشاعر في هذه الجملة إلى إيجابية، سلبية، محايدة. قم بإرجاع المشاعر فقط ولا شيء آخر" - يوجه هذا النموذج إلى تصنيف المراجعة إلى 3 فئات مشاعر.
  • المعلمة: “max_new_tokens”:1000 – يسمح هذا للنموذج بإرجاع ما يصل إلى 1000 رمز مميز.
CREATE FUNCTION udf_prompt_eng_sentiment_analysis (varchar)
  returns super
stable
as $$
  select json_parse(
  '{"inputs":"Classify the sentiment of this sentence as Positive, Negative, Neutral. Return only the sentiment nothing else.' || $1 || '","parameters":{"max_new_tokens":1000}}')
$$ language sql;

5. قم بإجراء استنتاج عن بعد لنموذج LLM لإنشاء تحليل المشاعر لمجموعة بيانات الإدخال

يتم تخزين مخرجات هذه الخطوة في جدول تم إنشاؤه حديثًا يسمى sentiment_analysis_for_reviews. قم بتشغيل عبارة SQL أدناه لإنشاء جدول بمخرجات نموذج LLM

CREATE table sentiment_analysis_for_reviews
as
(
    SELECT 
        review, 
        falcon_7b_instruct_llm_model
            (
                udf_prompt_eng_sentiment_analysis(review)
        ) as sentiment
    FROM sample_reviews
);

6. تحليل الإخراج

مخرجات LLM هي من نوع البيانات SUPER. بالنسبة لنموذج Falcon، يتوفر الإخراج في السمة المسماة generator_text. كل LLM له تنسيق حمولة الإخراج الخاص به. يرجى الرجوع إلى وثائق LLM التي ترغب في استخدامها لتنسيق الإخراج الخاص بها.

قم بتشغيل الاستعلام أدناه لاستخراج المشاعر من مخرجات نموذج LLM. لكل مراجعة، يمكنك رؤية تحليل المشاعر الخاص بها

SELECT review, sentiment[0]."generated_text" :: varchar as sentiment 
FROM sentiment_analysis_for_reviews;

تنظيف

لتجنب تكبد رسوم مستقبلية، احذف الموارد.

  1. احذف نقطة نهاية LLM في SageMaker Jumpstart
  2. ارمي sample_reviews الجدول والنموذج في Amazon Redshift باستخدام الاستعلام أدناه
    DROP MODEL falcon_7b_instruct_llm_model;
    DROP TABLE sample_reviews;
    DROP FUNCTION fn_gen_prompt_4_sentiment_analysis;

  3. إذا قمت بإنشاء نقطة نهاية Amazon Redshift، فاحذف نقطة النهاية أيضًا

وفي الختام

في هذا المنشور، أوضحنا لك كيفية إجراء تحليل المشاعر للبيانات المخزنة في Amazon Redshift باستخدام Falcon، وهو نموذج لغة كبير (LLM) في SageMaker Jumpstart وAmazon Redshift ML. يتم استخدام Falcon كمثال، ويمكنك استخدام نماذج LLM أخرى بالإضافة إلى Amazon Redshift ML. يعد تحليل المشاعر مجرد واحدة من حالات الاستخدام العديدة الممكنة من خلال دعم LLM في Amazon Redshift ML. يمكنك تحقيق حالات استخدام أخرى مثل إثراء البيانات وتلخيص المحتوى وتطوير الرسم البياني المعرفي والمزيد. يعمل دعم LLM على توسيع القدرات التحليلية لـ Amazon Redshift ML حيث يستمر في تمكين محللي البيانات والمطورين من دمج التعلم الآلي في سير عمل مستودع البيانات الخاص بهم من خلال عمليات مبسطة مدفوعة بأوامر SQL المألوفة. تعمل إضافة نوع البيانات SUPER على تحسين قدرات Amazon Redshift ML، مما يسمح بالتكامل السلس لنماذج اللغات الكبيرة (LLM) من SageMaker JumpStart لاستدلالات BYOM عن بعد.


حول المؤلف

نعمة باميدورو هو جزء من فريق إدارة منتجات Amazon Redshift. وهي تعمل مع العملاء للمساعدة في استكشاف استخدام Amazon Redshift ML في مستودع البيانات الخاص بهم. في أوقات فراغها، تحب بليسينغ السفر والمغامرات.

أنوشا شالا هو مهندس حلول متخصص أول في التحليلات يركز على Amazon Redshift. لقد ساعدت العديد من العملاء في بناء حلول مستودعات البيانات واسعة النطاق في السحابة وفي أماكن العمل. إنها شغوفة بتحليلات البيانات وعلوم البيانات.

بقعة_صورة

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

بقعة_صورة