שפר את הביצועים של מודלים של שפה גנרטיבית עם הנחיה של עקביות עצמית ב-Amazon Bedrock | שירותי האינטרנט של אמזון

שפר את הביצועים של מודלים של שפה גנרטיבית עם הנחיה של עקביות עצמית ב-Amazon Bedrock | שירותי האינטרנט של אמזון

מודלים של שפה גנרטיבית הוכחו כישורים להפליא בפתרון משימות עיבוד שפה טבעית לוגית ואנליטית (NLP). יתר על כן, השימוש ב הנדסה מהירה יכול לשפר באופן משמעותי את הביצועים שלהם. לדוגמה, שרשרת מחשבה (CoT) ידוע כמשפר את היכולת של מודל לבעיות מורכבות מרובות שלבים. כדי להגביר בנוסף את הדיוק במשימות הכרוכות בהיגיון, א עקביות עצמית הוצעה גישה דחופה, המחליפה את החמדנות בפענוח סטוכסטי במהלך יצירת השפה.

סלע אמזון הוא שירות מנוהל במלואו המציע מבחר של דגמי יסוד בעלי ביצועים גבוהים מחברות AI מובילות ואמזון באמצעות API יחיד, יחד עם מערך רחב של יכולות לבנות AI ייצור יישומים עם אבטחה, פרטיות ובינה מלאכותית אחראית. עם ה מסקנות אצווה API, אתה יכול להשתמש ב-Amazon Bedrock כדי להפעיל הסקה עם מודלים של בסיס באצווה ולקבל תגובות בצורה יעילה יותר. פוסט זה מראה כיצד ליישם הנחיה לעקביות עצמית באמצעות הסקת אצווה ב-Amazon Bedrock כדי לשפר את ביצועי המודל במשימות אריתמטיות וחשיבה מרובה-ברירה.

סקירה כללית של הפיתרון

העקביות עצמית של מודלים של שפה מסתמכת על יצירת תגובות מרובות המצטברות לתשובה סופית. בניגוד לגישות של דור בודד כמו CoT, הליך הדגימה והדחיקה של עקביות עצמית יוצר מגוון של השלמות מודל שמובילות לפתרון עקבי יותר. יצירת תגובות שונות עבור הנחיה נתונה אפשרית עקב השימוש באסטרטגיית פענוח סטוכסטית ולא חמדנית.

האיור הבא מראה כיצד העקביות העצמית שונה מ-CoT חמדנית בכך שהיא מייצרת מערך מגוון של נתיבי חשיבה ומאגדת אותם כדי לייצר את התשובה הסופית.

הבדלים בין עקביות עצמית להנחיית CoT.

אסטרטגיות פענוח ליצירת טקסט

טקסט שנוצר על ידי מודלים של שפות מפענח בלבד מתפתח מילה אחר מילה, כאשר האסימון שלאחר מכן צפוי על בסיס ההקשר הקודם. עבור הנחיה נתונה, המודל מחשב התפלגות הסתברות המציינת את הסבירות של כל אסימון להופיע הבא ברצף. פענוח כרוך בתרגום התפלגויות ההסתברות הללו לטקסט ממשי. יצירת טקסט מתווכת על ידי קבוצה של פרמטרי מסקנות שהם לרוב היפרפרמטרים של שיטת הפענוח עצמה. דוגמה אחת היא ה טמפרטורה, אשר מווסת את התפלגות ההסתברות של האסימון הבא ומשפיע על האקראיות של הפלט של המודל.

פענוח חמדן היא אסטרטגיית פענוח דטרמיניסטית שבכל שלב בוחרת את האסימון בעל ההסתברות הגבוהה ביותר. למרות שהיא פשוטה ויעילה, הגישה מסתכנת ליפול לדפוסים חוזרים, מכיוון שהיא מתעלמת ממרחב ההסתברות הרחב יותר. הגדרת פרמטר הטמפרטורה ל-0 בזמן הסקת מסקנות שווה בעצם ליישום פענוח חמדני.

דגימה מכניס סטוכסטיות לתהליך הפענוח על ידי בחירה אקראית של כל אסימון עוקב בהתבסס על התפלגות ההסתברות החזויה. אקראיות זו גורמת לשונות תפוקה גדולה יותר. פענוח סטוכסטי מוכיח כישורים יותר בללכוד את מגוון התפוקות הפוטנציאליות ולעתים קרובות מניב תגובות מלאות דמיון. ערכי טמפרטורה גבוהים יותר מציגים יותר תנודות ומגבירים את היצירתיות של תגובת המודל.

טכניקות הנחיה: CoT ועקביות עצמית

ניתן להגדיל את יכולת החשיבה של מודלים של שפה באמצעות הנדסה מהירה. בפרט, CoT הוכח לעורר נימוקים במשימות NLP מורכבות. דרך אחת ליישם א אפס זריקה CoT הוא באמצעות הגדלה מהירה עם ההוראה "לחשוב צעד אחר צעד." אחר הוא לחשוף את המודל לדוגמאות של צעדי חשיבה ביניים הנחיה של מספר יריות אופנה. שני התרחישים משתמשים בדרך כלל בפענוח חמדני. CoT מוביל להישגים משמעותיים בביצועים בהשוואה להוראה פשוטה המבקשת על משימות חשבון, שכל ישר והנמקה סמלית.

מעורר עקביות עצמית מבוססת על ההנחה שהכנסת גיוון בתהליך החשיבה יכולה להיות מועילה כדי לעזור למודלים להתכנס לתשובה הנכונה. הטכניקה משתמשת בפענוח סטוכסטי כדי להשיג מטרה זו בשלושה שלבים:

  1. הנח את מודל השפה עם מופתים של CoT כדי לעורר היגיון.
  2. החלף את הפענוח החמדני באסטרטגיית דגימה כדי ליצור מערך מגוון של נתיבי חשיבה.
  3. צברו את התוצאות כדי למצוא את התשובה העקבית ביותר בערכת התגובות.

הוכח כי עקביות עצמית גוברת על הנחיות CoT על פי מדדים פופולריים של אריתמטיקה והיגיון בריא. מגבלה של הגישה היא העלות החישובית הגדולה יותר שלה.

פוסט זה מראה כיצד הנחיה של עקביות עצמית משפרת את הביצועים של מודלים של שפה גנרטיבית בשתי משימות חשיבה של NLP: פתרון בעיות אריתמטי ומענה על שאלות ספציפיות לתחום מרובה-ברירה. אנו מדגימים את הגישה באמצעות הסקת אצווה ב-Amazon Bedrock:

  • אנו ניגשים ל-SDK של Amazon Bedrock Python ב-JupyterLab ב-an אמזון SageMaker מופע מחברת.
  • לצורך נימוק אריתמטי, אנו מבקשים פיקוד קוהר על מערך הנתונים GSM8K של בעיות מתמטיקה בבית הספר היסודי.
  • להיגיון רב-ברירה, אנו מבקשים AI21 Labs Jurassic-2 Mid על מדגם קטן של שאלות מבחינת AWS Certified Solutions Architect – Associate.

תנאים מוקדמים

הדרכה זו מניחה את התנאים המוקדמים הבאים:

נהל את הגישה למודל ב- Amazon Bedrock

העלות המשוערת להפעלת הקוד המוצג בפוסט זה היא $100, בהנחה שאתה מפעיל בקשת עקביות עצמית פעם אחת עם 30 נתיבי חשיבה באמצעות ערך אחד עבור הדגימה מבוססת הטמפרטורה.

מערך נתונים לבדיקת יכולות חשיבה אריתמטית

GSM8K הוא מערך נתונים של בעיות מתמטיקה בבית הספר היסודי המורכב על ידי בני אדם, הכולל גיוון לשוני גבוה. כל בעיה לוקחת 2-8 שלבים לפתרון ודורשת ביצוע רצף של חישובים יסודיים עם פעולות אריתמטיות בסיסיות. נתונים אלה משמשים בדרך כלל כדי לסמן את יכולות החשיבה האריתמטית רב-שלבית של מודלים של שפה גנרטיבית. ה סט רכבות GSM8K כולל 7,473 רשומות. להלן דוגמה:

{"question": "Natalia sold clips to 48 of her friends in April, and then she sold half as many clips in May. How many clips did Natalia sell altogether in April and May?", "answer": "Natalia sold 48/2 = <<48/2=24>>24 clips in May.nNatalia sold 48+24 = <<48+24=72>>72 clips altogether in April and May.n#### 72"}

הגדר להפעיל מסקנות אצווה עם Amazon Bedrock

הסקת מסקנות אצווה מאפשרת לך להריץ שיחות מסקנות מרובות לאמזון Bedrock באופן אסינכרוני ולשפר את הביצועים של מסקנות מודל על מערכי נתונים גדולים. השירות נמצא בתצוגה מקדימה נכון לכתיבת שורות אלו וזמין רק דרך ה-API. מתייחס הפעל מסקנות אצווה כדי לגשת לממשקי API להסקת אצווה באמצעות SDK מותאמים אישית.

לאחר שהורדת ופתחת את ה- פיתון SDK במופע מחברת SageMaker, אתה יכול להתקין אותו על ידי הפעלת הקוד הבא בתא מחברת Jupyter:

# Install preview SDK packages
!pip install -q $(ls ./bedrock-python-sdk-reinvent/botocore-*.whl | head -1)
!pip install -q $(ls ./bedrock-python-sdk-reinvent/boto3-*.whl | head -1)

עיצוב והעלה נתוני קלט לאמזון S3

יש להכין נתוני קלט להסקת אצווה בפורמט JSONL עם recordId ו modelInput מפתחות. האחרון צריך להתאים לשדה הגוף של הדגם שיופעל על Amazon Bedrock. בפרט, כמה פרמטרי הסקה נתמכים עבור Cohere Command יש לו temperature לאקראיות, max_tokens עבור אורך פלט, ו num_generations כדי ליצור מספר תגובות, שכולן מועברות יחד עם prompt as modelInput:

data = [
    {
        "recordId": "1",
        "modelInput": {
            "prompt": prompt,
            "temperature": temperature,
            "max_tokens": max_tokens,
            "num_generations": n,
        },
    },
    ...,
]

לִרְאוֹת פרמטרי הסקה למודלים של יסודות לפרטים נוספים, כולל ספקי דגמים אחרים.

הניסויים שלנו בהיגיון אריתמטי מבוצעים בהגדרה של מספר יריות ללא התאמה אישית או כוונון עדין של Cohere Command. אנו משתמשים באותה קבוצה של שמונה דוגמאות מועטות משרשרת המחשבה (לוח 20) ועקביות עצמית (לוח 17) ניירות. הנחיות נוצרות על ידי שרשור הדוגמאות לכל שאלה ממערכת הרכבות של GSM8K.

קבענו max_tokens ל- 512 ו- num_generations עד 5, המקסימום המותר על ידי פיקוד קוהר. לפענוח חמדני, קבענו temperature ל-0 ולמען עקביות עצמית, אנו מבצעים שלושה ניסויים בטמפרטורות 0.5, 0.7 ו-1. כל הגדרה מניבה נתוני קלט שונים בהתאם לערכי הטמפרטורה המתאימים. הנתונים מעוצבים כ-JSONL ומאוחסנים באמזון S3.

# Set up S3 client
session = boto3.Session()
s3 = session.client("s3")

# Create S3 bucket with unique name to store input/output data
suffix = str(uuid.uuid4())[:8]
bucket = f"bedrock-self-consistency-{suffix}"
s3.create_bucket(
    Bucket=bucket, CreateBucketConfiguration={"LocationConstraint": session.region_name}
)

# Process data and output to new lines as JSONL
input_key = f"gsm8k/T{temperature}/input.jsonl"
s3_data = ""
for row in data:
    s3_data += json.dumps(row) + "n"
s3.put_object(Body=s3_data, Bucket=bucket, Key=input_key)

צור והפעל עבודות הסקת מסקנות באצוות באמזון Bedrock

יצירת משרות בהסקת אצווה דורשת לקוח של Amazon Bedrock. אנו מציינים את נתיבי הקלט והפלט של S3 ונותנים לכל עבודת הזמנה שם ייחודי:

# Create Bedrock client							    
bedrock = boto3.client("bedrock")

# Input and output config						     
input_config = {"s3InputDataConfig": {"s3Uri": f"s3://{bucket}/{input_key}"}}
output_config = {"s3OutputDataConfig": {"s3Uri": f"s3://{bucket}/{output_key}"}}

# Create a unique job name
suffix = str(uuid.uuid4())[:8] 
job_name = f"command-batch-T{temperature}-{suffix}"

משרות הן נוצר על ידי העברת התפקיד של IAM, מזהה הדגם, שם העבודה ותצורת הקלט/פלט כפרמטרים ל-Amazon Bedrock API:

response = bedrock.create_model_invocation_job(
    roleArn=f"arn:aws:iam::{account_id}:role/BedrockBatchInferenceRole",
    modelId="cohere.command-text-v14",
    jobName=job_name,
    inputDataConfig=input_config,
    outputDataConfig=output_config,
)
job_arn = response["jobArn"]

רישום, ניטור, ו סְתִימָה עבודות מסקנות אצווה נתמכות על ידי קריאות ה-API שלהן. ביצירה, מקומות עבודה מופיעים תחילה בתור Submitted, אז כ InProgress, ולבסוף כמו Stopped, Failed, או Completed.

# Get job details
job_details = bedrock.get_model_invocation_job(jobIdentifier=job_arn)

אם העבודות הושלמו בהצלחה, ניתן לאחזר את התוכן שנוצר מאמזון S3 באמצעות מיקום הפלט הייחודי שלו.

# Get the output file key
s3_prefix = f"s3://{bucket}/"
output_path = job_details["outputDataConfig"]["s3OutputDataConfig"]["s3Uri"].replace(
    s3_prefix, ""
)
output_folder = job_details["jobArn"].split("/")[1]
output_file = (
    f'{job_details["inputDataConfig"]["s3InputDataConfig"]["s3Uri"].split("/")[-1]}.out'
)
result_key = f"{output_path}{output_folder}/{output_file}"

# Get output data
obj = s3.get_object(Bucket=bucket, Key=result_key)
content = obj["Body"].read().decode("utf-8").strip().split("n")

# Show answer to the first question
print(json.loads(content[0])["modelOutput"]["generations"][0]["text"])

[Out]: 'Natalia sold 48 * 1/2 = 24 clips less in May. This means she sold 48 + 24 = 72 clips in April and May. The answer is 72.'

עקביות עצמית משפרת את דיוק המודל במשימות אריתמטיות

הנחיית עקביות עצמית של Cohere Command עולה על קו בסיס חמדני של CoT במונחים של דיוק במערך הנתונים של GSM8K. למען עקביות עצמית, אנו דוגמים 30 נתיבי חשיבה עצמאיים בשלוש טמפרטורות שונות, עם topP ו topK להגדיר את שלהם ערכי ברירת מחדל. פתרונות סופיים מצטברים על ידי בחירת ההתרחשות העקבית ביותר באמצעות הצבעת רוב. במקרה של תיקו, אנו בוחרים באקראי אחת מתגובות הרוב. אנו מחשבים ערכי דיוק וסטיית תקן בממוצע מעל 100 ריצות.

האיור הבא מציג את הדיוק במערך הנתונים של GSM8K מ-Cohere Command עם הנחיה של CoT חמדנית (כחול) ועקביות עצמית בערכי טמפרטורה 0.5 (צהוב), 0.7 (ירוק) ו-1.0 (כתום) כפונקציה של מספר הנדגמים. נתיבי חשיבה.

דיוק של Cohere Command באמצעות עקביות עצמית לעומת הנחיה CoT.

האיור הקודם מראה כי עקביות עצמית משפרת את הדיוק האריתמטי על פני CoT חמדנית כאשר מספר הנתיבים הנדגמים נמוך כמו שלושה. הביצועים עולים באופן עקבי עם נתיבי חשיבה נוספים, המאשרים את החשיבות של הכנסת גיוון בדור המחשבה. Cohere Command פותרת את ערכת השאלות של GSM8K עם דיוק של 51.7% כאשר הנחיה היא CoT לעומת 68% עם 30 נתיבי חשיבה עקביים ב-T=1.0. כל שלושת ערכי הטמפרטורה שנסקרו מניבים תוצאות דומות, כאשר טמפרטורות נמוכות יותר יעילות יותר באופן יחסי בנתיבים שנדגמו פחות.

שיקולים מעשיים על יעילות ועלות

העקביות העצמית מוגבלת על ידי זמן התגובה והעלות המוגדלים הנובעים בעת יצירת תפוקות מרובות בכל הנחיה. כהמחשה מעשית, מסקנות אצווה ליצירת בצע עם Cohere Command ב-7,473 רשומות GSM8K הסתיימו תוך פחות מ-20 דקות. העבודה לקחה 5.5 מיליון אסימונים כקלט ויצרה 630,000 אסימוני פלט. כרגע מחירי מסקנות של אמזון, העלות הכוללת שנגרמה הייתה בסביבות $9.50.

לעקביות עצמית עם Cohere Command, אנו משתמשים בפרמטר מסקנות num_generations כדי ליצור השלמות מרובות לכל הנחיה. נכון לכתיבת שורות אלה, Amazon Bedrock מאפשר לכל היותר חמישה דורות ושלושה במקביל Submitted עבודות מסקנות אצווה. משרות ממשיכות ל- InProgress סטטוס ברצף, לכן דגימה של יותר מחמישה נתיבים דורשת הפעלות מרובות.

האיור הבא מציג את זמני הריצה של Cohere Command במערך הנתונים של GSM8K. זמן הריצה הכולל מוצג על ציר ה-x וזמן הריצה לכל נתיב חשיבה שנדגם על ציר ה-y. הדור החמדני פועל בזמן הקצר ביותר אך כרוך בעלות זמן גבוהה יותר לכל נתיב שנדגם.

זמני ריצה עבור Cohere Command

הדור החמדני מסיים תוך פחות מ-20 דקות עבור סט ה-GSM8K המלא ומדגים נתיב חשיבה ייחודי. עקביות עצמית עם חמש דגימות דורשת כ-50% יותר זמן להשלמתה ועולה בסביבות $14.50, אבל מייצרת חמישה נתיבים (מעל 500%) בזמן הזה. זמן הריצה הכולל והעלות גדלים בשלבים עם כל חמישה נתיבים נוספים שנדגמו. ניתוח עלות-תועלת מצביע על כך ש-1-2 עבודות מסקנות אצווה עם 5-10 נתיבים שנדגמו היא ההגדרה המומלצת ליישום מעשי של עקביות עצמית. זה משיג ביצועי מודל משופרים תוך שמירה על עלויות והשהייה.

עקביות עצמית משפרת את ביצועי המודל מעבר להיגיון אריתמטי

שאלה מכרעת כדי להוכיח את ההתאמה של הנחיית עקביות עצמית היא האם השיטה מצליחה במשימות NLP נוספות ובמודלים של שפה. כהרחבה למקרה שימוש הקשור לאמזון, אנו מבצעים ניתוח בגודל קטן על שאלות לדוגמה מה- הסמכת עמית אדריכל AWS Solutions. זוהי מבחן רב-ברירה על טכנולוגיה ושירותי AWS הדורשת ידע בתחום ויכולת לנמק ולהחליט בין מספר אפשרויות.

אנו מכינים מערך נתונים מ SAA-C01 ו SAA-C03 שאלות לבחינה לדוגמה. מתוך 20 השאלות הזמינות, אנו משתמשים ב-4 הראשונות כדוגמאות של כמה יריות ומבקשים מהמודל לענות על 16 הנותרות. הפעם, אנו מריצים מסקנות עם מודל AI21 Labs Jurassic-2 Mid ומייצרים לכל היותר 10 נתיבי חשיבה ב- טמפרטורה 0.7. התוצאות מראות שעקביות עצמית משפרת את הביצועים: למרות ש-CoT חמדן מייצר 11 תשובות נכונות, עקביות עצמית מצליחה ב-2 נוספות.

הטבלה הבאה מציגה את תוצאות הדיוק עבור 5 ו-10 נתיבים שנדגמו בממוצע במשך 100 ריצות.

. פענוח חמדן T = 0.7
# נתיבים שנדגמו: 5 68.6 74.1 0.7 ±
# נתיבים שנדגמו: 10 68.6 78.9 ± 0.3

בטבלה הבאה, אנו מציגים שתי שאלות בחינה אשר נענות באופן שגוי על ידי CoT חמדני בעוד העקביות העצמית מצליחה, תוך הדגשת בכל מקרה את עקבות ההיגיון הנכונים (ירוק) או השגויים (אדומים) שהובילו את המודל להפיק תגובות נכונות או לא נכונות. למרות שלא כל נתיב מדגם שנוצר על ידי עקביות עצמית הוא נכון, הרוב מתכנס לתשובה האמיתית ככל שמספר הנתיבים הנדגמים גדל. אנו רואים ש-5-10 נתיבים בדרך כלל מספיקים כדי לשפר את התוצאות החמדניות, עם תשואה פוחתת במונחים של יעילות מעבר לערכים הללו.

שאלה

אפליקציית אינטרנט מאפשרת ללקוחות להעלות הזמנות לדלי S3. אירועי Amazon S3 שנוצרו מפעילים פונקציית Lambda שמכניסה הודעה לתור SQS. מופע יחיד של EC2 קורא הודעות מהתור, מעבד אותן ומאחסן אותן בטבלה של DynamoDB המחולקת על ידי מזהה הזמנה ייחודי. בחודש הבא צפויה התעבורה לגדול בפקטור של 10 ואדריכל פתרונות בוחן את הארכיטקטורה לאיתור בעיות קנה מידה אפשריות.

איזה רכיב צפוי להזדקק לארכיטקטורה מחדש כדי להיות מסוגל להתאים את התעבורה החדשה?

א פונקציית למדה
ב. תור SQS
C. מופע EC2
ד טבלת DynamoDB

יישום הפועל על AWS משתמש בפריסת אשכול DB של Amazon Aurora Multi-AZ עבור מסד הנתונים שלו. בעת הערכת מדדי ביצועים, ארכיטקט פתרונות גילה כי קריאות מסד הנתונים גורמות ל-I/O גבוה ומוסיפות חביון לבקשות הכתיבה כנגד מסד הנתונים.

מה על ארכיטקט הפתרונות לעשות כדי להפריד בין בקשות הקריאה לבקשות הכתיבה?

א. אפשר קריאה במטמון במסד הנתונים של Aurora.
ב. עדכן את האפליקציה לקריאה ממופע ההמתנה של Multi-AZ.
ג. צור עותק של Aurora ושנה את היישום כך שישתמש בנקודות הקצה המתאימות.
ד. צור מסד נתונים שני של Aurora וקשר אותו למסד הנתונים הראשי כעותק קריאה.

תשובה נכונה C – מופע יחיד של EC2 לא יתקל בקנה מידה והוא מהווה נקודת כשל אחת בארכיטקטורה. פתרון הרבה יותר טוב יהיה מופעי EC2 בקבוצת קנה מידה אוטומטי על פני 2 אזורי זמינות לקרוא הודעות מהתור. התגובות האחרות הן כולן שירותים מנוהלים שניתן להגדיר לשינוי קנה מידה או שיתאימו באופן אוטומטי. C - העתקים של Aurora מספקים דרך להוריד תעבורת קריאה. העתקים של Aurora חולקים את אותו אחסון בסיסי כמו מסד הנתונים הראשי, כך שזמן ההשהיה הוא בדרך כלל נמוך מאוד. להעתקים של Aurora יש נקודות קצה משלהם, כך שיהיה צורך להגדיר את היישום להפנות תעבורת קריאה לנקודות הקצה החדשות.
פענוח חמדן קנה מידה ישיר של מופע EC2 עשוי שלא להיות אפשרי, מכיוון שלא ניתן יהיה לשנות את גודל המופע. קנה המידה של פונקציית Lambda עשוי שלא להספיק, שכן לפונקציות Lambda יש מגבלת הקצאת זיכרון של 6 GB. קנה המידה של תור SQS לא יהיה מספיק, שכן ל-SQS יש מגבלה של 10,000 הודעות. ניתן לשנות את קנה המידה של טבלאות DynamoDB על ידי הקצאת יחידות קיבולת נוספות. התשובה הנכונה היא ד. שינוי האפליקציה לקריאה ממופע ההמתנה של Multi-AZ (אפשרות ב') היא הגישה הטובה ביותר. מופע ההמתנה משוכפל באופן אסינכרוני מהמופע הראשי, כך שפעולות קריאה לא יפריעו לפעולות הכתיבה. הפעלת קריאה במטמון (אפשרות א') או יצירת העתק של Aurora (אפשרות C) לא תפתור את בעיית ה-I/O. יצירת מסד נתונים שני של Aurora וקישורו כעותק קריאה (אפשרות D) לא יפתרו גם את בעיית הטענה ב-I/O. התשובה הנכונה היא ב'.
נתיב מס' 1 שנדגם קנה המידה של מופע EC2 לפי 10 מגודלו הנוכחי עשוי להיות בלתי אפשרי, לא מנקודת מבט של עלות או ביצועים. זה ידרוש מופע גדול יותר, שיכול להיות יקר. גישה חסכונית יותר עשויה להיות שימוש בנחיל של מופעים קטנים יותר (למשל, Auto Scaling Group) כדי לחלוק את העומס. במקרה זה, סביר להניח שיהיה צורך לעצב מחדש את מופע EC2. התשובה הנכונה היא C. שינוי היישום לשימוש בנקודות הקצה המתאימות אינו פתרון מעשי מכיוון שהוא ידרוש שינויים בקוד היישום. התשובה הנכונה היא C: צור עותק של Aurora ושנה את היישום כך שישתמש בנקודות הקצה המתאימות.
נתיב מס' 2 שנדגם קנה מידה של מופע בודד של EC2 הוא קשה ובעייתי יותר מאשר קנה המידה של רכיבי השירות האחרים. אמזון SQS, Lambda ו-DynamoDB כולן יכולות להתאים באופן אוטומטי כדי להתמודד עם העומס המוגבר. התשובה הנכונה היא C.

(C) צור עותק של Aurora ושנה את היישום כדי להשתמש בנקודות הקצה המתאימות.

על ידי קביעת תצורה של Aurora Replica, אתה יכול להפריד בין תעבורת קריאה לתעבורת כתיבה. ההעתקים של Aurora משתמשים בכתובות URL שונות של נקודות קצה, המאפשר לך להפנות תעבורת קריאה אל העתק במקום מסד הנתונים הראשי. העתק יכול לעבד בקשות קריאה במקביל לבקשות כתיבה למסד הנתונים הראשי, הפחתת קלט/פלט והשהייה.

לנקות את

הפעלת מסקנות אצווה ב- Amazon Bedrock כפופה לחיובים בהתאם לתמחור Amazon Bedrock. לאחר שתשלים את ההליכה, מחק את מופע המחברת של SageMaker והסר את כל הנתונים מדליי ה-S3 שלך כדי להימנע מחיובים עתידיים.

שיקולים

למרות שהפתרון המודגם מראה ביצועים משופרים של מודלים של שפה כאשר מתבקשים עם עקביות עצמית, חשוב לציין שההדרכה אינה מוכנה לייצור. לפני הפריסה לייצור, עליך להתאים את הוכחת הרעיון ליישום שלך, תוך התחשבות בדרישות הבאות:

  • הגבלת גישה לממשקי API ומסדי נתונים כדי למנוע שימוש לא מורשה.
  • הקפדה על שיטות עבודה מומלצות לאבטחת AWS בנוגע לגישה לתפקידי IAM ולקבוצות אבטחה.
  • אימות וחיטוי של קלט המשתמש כדי למנוע התקפות הזרקה מיידיות.
  • ניטור ורישום של תהליכים שהופעלו כדי לאפשר בדיקות וביקורת.

סיכום

פוסט זה מראה כי הנחיה לעקביות עצמית משפרת את הביצועים של מודלים של שפה גנרטיבית במשימות NLP מורכבות הדורשות מיומנויות לוגיות אריתמטיות ורב-ברירות. עקביות עצמית משתמשת בפענוח סטוכסטי מבוסס טמפרטורה כדי ליצור נתיבי חשיבה שונים. זה מגביר את יכולתו של המודל לעורר מחשבות מגוונות ושימושיות כדי להגיע לתשובות נכונות.

עם מסקנות אצווה של Amazon Bedrock, מודל השפה Cohere Command מתבקש ליצור תשובות עקביות למערכת של בעיות חשבון. הדיוק משתפר מ-51.7% עם פענוח חמדני ל-68% עם דגימת עקביות עצמית של 30 נתיבי חשיבה ב-T=1.0. דגימת חמישה נתיבים כבר משפרת את הדיוק ב-7.5 נקודות אחוז. הגישה ניתנת להעברה למודלים אחרים של שפה ומשימות חשיבה, כפי שהדגימו תוצאות של מודל AI21 Labs Jurassic-2 Mid בבחינת הסמכה של AWS. בקבוצת שאלות בגודל קטן, עקביות עצמית עם חמישה נתיבים שנדגמו מגדילה את הדיוק ב-5 נקודות אחוז לעומת CoT חמדנית.

אנו ממליצים לך ליישם הנחיה לעקביות עצמית לביצועים משופרים ביישומים שלך עם מודלים של שפה גנרטיבית. למידע נוסף על פיקוד קוהר ו AI21 Labs Jurassic דגמים זמינים ב- Amazon Bedrock. למידע נוסף על הסקת אצווה, עיין ב הפעל מסקנות אצווה.

תודות

המחבר מודה לסוקרים הטכניים אמין טאגארדון ופטריק מק'סוויני על משוב מועיל.


על המחבר

שפר את הביצועים של מודלים של שפה גנרטיבית עם הנחיה של עקביות עצמית ב-Amazon Bedrock | Amazon Web Services PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.

לוסיה סנטמריה היא Sr. Applied Scientist באוניברסיטת ML של אמזון, שם היא מתמקדת בהעלאת רמת מיומנות ה-ML ברחבי החברה באמצעות חינוך מעשית. ללוסיה יש דוקטורט באסטרופיזיקה והיא נלהבת לדמוקרטיזציה של גישה לידע וכלים טכנולוגיים.

בול זמן:

עוד מ למידת מכונות AWS