אחד מדפוסי היישום השימושיים ביותר לעומסי עבודה של בינה מלאכותית הוא Retrieval Augmented Generation (RAG). בדפוס RAG, אנו מוצאים קטעי תוכן התייחסות הקשורים להנחיית קלט על ידי ביצוע חיפושי דמיון בהטמעות. הטבעות לוכדות את תוכן המידע בגופי טקסט, ומאפשרות למודלים של עיבוד שפה טבעית (NLP) לעבוד עם שפה בצורה מספרית. הטבעות הן רק וקטורים של מספרי נקודה צפה, כך שנוכל לנתח אותם כדי לעזור לענות על שלוש שאלות חשובות: האם נתוני ההתייחסות שלנו משתנים עם הזמן? האם השאלות שמשתמשים שואלים משתנות עם הזמן? ולבסוף, עד כמה נתוני ההתייחסות שלנו מכסים את השאלות הנשאלות?
בפוסט זה תלמדו על כמה מהשיקולים להטמעת ניתוח וקטור וזיהוי אותות של סחיפה של הטבעה. מכיוון שהטמעות הן מקור חשוב לנתונים עבור מודלים של NLP בכלל ופתרונות בינה מלאכותית בפרט, אנו זקוקים לדרך למדוד האם ההטמעות שלנו משתנות לאורך זמן (נסחפות). בפוסט זה, תראה דוגמה לביצוע זיהוי סחיפה על הטבעת וקטורים באמצעות טכניקת אשכולות עם מודלים של שפות גדולות (LLMS) הפרוסות מ אמזון SageMaker JumpStart. תוכל גם לחקור את המושגים הללו באמצעות שתי דוגמאות שסופקו, כולל יישום לדוגמה מקצה לקצה או, לחלופין, תת-קבוצה של היישום.
סקירה כללית של RAG
השמיים דפוס RAG מאפשר לך לאחזר ידע ממקורות חיצוניים, כגון מסמכי PDF, מאמרי ויקי או תמלול שיחות, ולאחר מכן להשתמש בידע זה כדי להגדיל את הוראת ההוראה שנשלחה ל-LLM. זה מאפשר ל-LLM להתייחס למידע רלוונטי יותר בעת יצירת תגובה. לדוגמה, אם אתה שואל LLM כיצד להכין עוגיות שוקולד צ'יפס, זה יכול לכלול מידע מספריית המתכונים שלך. בתבנית זו, טקסט המתכון מומר לוקטורים הטמעים באמצעות מודל הטמעה, ומאוחסן במסד נתונים וקטורי. שאלות נכנסות מומרות להטמעות, ואז מסד הנתונים הווקטור מפעיל חיפוש דמיון כדי למצוא תוכן קשור. לאחר מכן, השאלה ונתוני ההתייחסות נכנסים להנחיה עבור ה-LLM.
בואו נסתכל מקרוב על וקטורי הטבעה שנוצרים וכיצד לבצע ניתוח סחיפה על אותם וקטורים.
ניתוח על הטבעת וקטורים
וקטורים הטבעה הם ייצוגים מספריים של הנתונים שלנו, כך שניתוח של וקטורים אלה יכול לספק תובנה על נתוני הייחוס שלנו שניתן להשתמש בהם מאוחר יותר כדי לזהות אותות פוטנציאליים של סחיפה. וקטורים הטבעה מייצגים פריט במרחב n-ממדי, כאשר n לרוב גדול. לדוגמה, מודל GPT-J 6B, המשמש בפוסט זה, יוצר וקטורים בגודל 4096. כדי למדוד סחיפה, נניח שהאפליקציה שלנו לוכדת וקטורים מוטמעים הן עבור נתוני התייחסות והן עבור הנחיות נכנסות.
אנו מתחילים בביצוע הפחתת מימד באמצעות ניתוח רכיבים ראשוניים (PCA). PCA מנסה לצמצם את מספר הממדים תוך שמירה על רוב השונות בנתונים. במקרה זה, אנו מנסים למצוא את מספר הממדים ששומר על 95% מהשונות, שאמור לתפוס כל דבר בתוך שתי סטיות תקן.
לאחר מכן אנו משתמשים ב-K-Means כדי לזהות קבוצה של מרכזי אשכולות. K-Means מנסה לקבץ נקודות יחד לאשכולות כך שכל אשכול יהיה קומפקטי יחסית והאשכולות מרוחקים זה מזה ככל האפשר.
אנו מחשבים את המידע הבא על סמך פלט האשכולות המוצג באיור הבא:
- מספר הממדים ב-PCA המסבירים 95% מהשונות
- המיקום של כל מרכז אשכול, או מרכז
בנוסף, אנו מסתכלים על הפרופורציה (גבוהה או נמוכה יותר) של דגימות בכל אשכול, כפי שמוצג באיור הבא.
לבסוף, אנו משתמשים בניתוח זה כדי לחשב את הדברים הבאים:
- אינרציה - אינרציה היא סכום המרחקים בריבוע למרכזי אשכול, המודד עד כמה הנתונים היו מקובצים באמצעות K-Means.
- ציון צללית – ציון הצללית הוא מדד לאימות העקביות בתוך אשכולות, והוא נע בין -1 ל-1. ערך קרוב ל-1 פירושו שהנקודות באשכול קרובות לנקודות האחרות באותו אשכול ורחוקות מה- נקודות של האשכולות האחרים. ניתן לראות ייצוג חזותי של ציון הצללית באיור הבא.
אנו יכולים ללכוד מידע זה מעת לעת עבור צילומי מצב של ההטמעות הן עבור נתוני ההפניה למקור והן עבור ההנחיות. לכידת נתונים אלה מאפשרת לנו לנתח אותות פוטנציאליים של סחף הטמעה.
זיהוי סחיפה של הטבעה
מעת לעת, אנו יכולים להשוות את מידע האשכולות באמצעות תצלומי מצב של הנתונים, הכוללים את הטבעות נתוני ההתייחסות ואת ההטמעות הרצויות. ראשית, אנו יכולים להשוות את מספר הממדים הדרושים כדי להסביר 95% מהשונות בנתוני ההטמעה, האינרציה וציון הצללית מעבודת האשכול. כפי שניתן לראות בטבלה הבאה, בהשוואה לקו בסיס, תמונת המצב העדכנית ביותר של ההטמעות דורשת 39 ממדים נוספים כדי להסביר את השונות, מה שמצביע על כך שהנתונים שלנו מפוזרים יותר. האינרציה עלתה, מה שמצביע על כך שהדגימות מצטברות רחוקות יותר ממרכזי האשכול שלהן. בנוסף, ציון הצללית ירד, מה שמצביע על כך שהאשכולות אינם מוגדרים היטב. לנתונים מיידיים, זה עשוי להצביע על כך שסוגי השאלות המגיעים למערכת מכסים נושאים נוספים.
לאחר מכן, באיור הבא, נוכל לראות כיצד שיעור הדגימות בכל אשכול השתנה לאורך זמן. זה יכול להראות לנו אם נתוני ההתייחסות החדשים שלנו דומים באופן כללי לקבוצה הקודמת, או מכסים אזורים חדשים.
לבסוף, אנו יכולים לראות אם מרכזי האשכולות זזים, מה שיראה סחיפה במידע באשכולות, כפי שמוצג בטבלה הבאה.
כיסוי נתוני התייחסות לשאלות נכנסות
אנו יכולים גם להעריך עד כמה נתוני ההתייחסות שלנו מתאימים לשאלות הנכנסות. לשם כך, אנו מקצים כל הטמעת הנחיה לאשכול נתוני התייחסות. אנו מחשבים את המרחק מכל הנחיה למרכז המתאים לה, ובוחנים את הממוצע, החציון וסטיית התקן של המרחקים הללו. אנחנו יכולים לאחסן את המידע הזה ולראות איך הוא משתנה לאורך זמן.
האיור הבא מציג דוגמה לניתוח המרחק בין ההטמעה המהירה למרכזי הנתונים ההתייחסות לאורך זמן.
כפי שאתה יכול לראות, סטטיסטיקת המרחק הממוצע, החציון וסטיית התקן בין הטמעות מיידיות ומרכזי נתונים הפניה יורדת בין קו הבסיס הראשוני לתמונת המצב האחרונה. למרות שקשה לפרש את הערך המוחלט של המרחק, אנו יכולים להשתמש במגמות כדי לקבוע אם החפיפה הסמנטית בין נתוני התייחסות לשאלות נכנסות משתפרת או גרועה עם הזמן.
יישום לדוגמא
על מנת לאסוף את תוצאות הניסוי שנדונו בסעיף הקודם, בנינו אפליקציה לדוגמה המיישמת את דפוס ה-RAG תוך שימוש במודלים של הטבעה ודור שנפרסו דרך SageMaker JumpStart ומתארחים ב- אמזון SageMaker נקודות קצה בזמן אמת.
לאפליקציה שלושה מרכיבי ליבה:
- אנו משתמשים בזרימה אינטראקטיבית, הכוללת ממשק משתמש ללכידת הנחיות, בשילוב שכבת תזמור RAG, באמצעות LangChain.
- זרימת עיבוד הנתונים מחלצת נתונים ממסמכי PDF ויוצרת הטמעות שנאגרות שירות חיפוש פתוח של אמזון. אנו משתמשים בהם גם ברכיב ניתוח הסחף הסופי של הטבעה של האפליקציה.
- ההטבעות נלכדות פנימה שירות אחסון פשוט של אמזון (Amazon S3) דרך צינור אש נתונים של אמזון קינסי, ואנחנו מפעילים שילוב של דבק AWS חילוץ, שינוי וטעינה (ETL) ומחברות Jupyter לביצוע ניתוח ההטמעה.
התרשים הבא ממחיש את הארכיטקטורה מקצה לקצה.
קוד הדוגמה המלא זמין ב- GitHub. הקוד שסופק זמין בשתי תבניות שונות:
- יישום מחסנית מלאה לדוגמא עם חזית Streamlit - זה מספק יישום מקצה לקצה, כולל ממשק משתמש באמצעות Streamlit ללכידת הנחיות, בשילוב עם שכבת התזמור RAG, באמצעות LangChain הפועל על שירות מיכלים אלסטי של אמזון (Amazon ECS) עם AWS פרגייט
- יישום אחורי - למי שלא רוצה לפרוס את ערימת היישומים המלאה, אתה יכול לבחור לפרוס רק את הקצה האחורי ערכת פיתוח ענן AWS (AWS CDK) מחסנית, ולאחר מכן השתמש במחברת Jupyter שסופקה כדי לבצע תזמור RAG באמצעות LangChain
כדי ליצור את התבניות שסופקו, ישנם מספר דרישות מוקדמות המפורטות בסעיפים הבאים, החל בפריסת המודלים היצירתיים והטמעת הטקסט ואז עוברים לדרישות המוקדמות הנוספות.
פרוס מודלים דרך SageMaker JumpStart
שני הדפוסים מניחים פריסה של מודל הטמעה ומודל מחולל. לשם כך, תפרוס שני דגמים מ- SageMaker JumpStart. הדגם הראשון, GPT-J 6B, משמש כדגם ההטמעה והדגם השני, Falcon-40b, משמש להפקת טקסט.
אתה יכול לפרוס כל אחד מהדגמים האלה דרך SageMaker JumpStart מה- קונסולת הניהול של AWS, סטודיו SageMaker של אמזון, או באופן תכנותי. למידע נוסף, עיין ב כיצד להשתמש במודלים של בסיס JumpStart. כדי לפשט את הפריסה, אתה יכול להשתמש ב- מחברת שסופקה נגזר ממחברות שנוצרו אוטומטית על ידי SageMaker JumpStart. מחברת זו שואבת את הדגמים ממרכז SageMaker JumpStart ML ופורסת אותם לשתי נקודות קצה נפרדות של SageMaker בזמן אמת.
למחברת לדוגמה יש גם קטע ניקוי. אל תפעיל את הקטע הזה עדיין, כי הוא ימחק את נקודות הקצה שנפרסו זה עתה. אתה תשלים את הניקוי בסוף ההדרכה.
לאחר אישור הפריסה המוצלחת של נקודות הקצה, אתה מוכן לפרוס את היישום המלא לדוגמה. עם זאת, אם אתה מעוניין יותר לחקור רק את המחברות האחוריות והמחברות לניתוח, אתה יכול לפרוס רק את זה, אופציונלי, אשר נדון בסעיף הבא.
אפשרות 1: פרוס את אפליקציית הקצה האחורי בלבד
דפוס זה מאפשר לך לפרוס את פתרון הקצה האחורי בלבד ולקיים אינטראקציה עם הפתרון באמצעות מחברת Jupyter. השתמש בתבנית זו אם אינך רוצה לבנות את ממשק החזית המלא.
תנאים מוקדמים
אתה צריך להיות בעל הדרישות המוקדמות הבאות:
- נפרסה נקודת קצה מדגם SageMaker JumpStart - פרוס את הדגמים לנקודות קצה של SageMaker בזמן אמת באמצעות SageMaker JumpStart, כפי שתואר קודם לכן
- פרמטרי פריסה - רשמו את הדברים הבאים:
- שם נקודת הקצה של מודל הטקסט - שם נקודת הקצה של מודל יצירת הטקסט שנפרס עם SageMaker JumpStart
- שם נקודת הקצה של דגם ההטמעות - שם נקודת הקצה של מודל ההטמעה שנפרס עם SageMaker JumpStart
פרוס את המשאבים באמצעות AWS CDK
השתמש בפרמטרי הפריסה שצוינו בסעיף הקודם כדי לפרוס את ערימת CDK של AWS. למידע נוסף על התקנת AWS CDK, עיין ב תחילת העבודה עם AWS CDK.
ודא כי Docker מותקן ופועל בתחנת העבודה שתשמש לפריסת AWS CDK. מתייחס קבל את דוקר להדרכה נוספת.
לחלופין, אתה יכול להזין את ערכי ההקשר בקובץ שנקרא cdk.context.json
ב pattern1-rag/cdk
ספרייה והפעל cdk deploy BackendStack --exclusively
.
הפריסה תדפיס פלטים, שחלקם יידרשו להפעלת המחברת. לפני שתוכל להתחיל שאלה ותשובה, הטמע את מסמכי ההתייחסות, כפי שמוצג בסעיף הבא.
הטמע מסמכי עזר
עבור גישת RAG זו, מסמכי עזר מוטמעים תחילה עם מודל הטבעת טקסט ומאוחסנים במסד נתונים וקטורי. בפתרון זה, נבנה צינור הכנסה שמכניס מסמכי PDF.
An ענן מחשוב אלסטי של אמזון מופע (Amazon EC2) נוצר עבור הטמעת מסמך PDF ו- מערכת הקבצים של אמזון אלסטית מערכת הקבצים (Amazon EFS) מותקנת במופע EC2 כדי לשמור את מסמכי ה-PDF. א AWS DataSync המשימה מופעלת כל שעה כדי להביא מסמכי PDF שנמצאו בנתיב מערכת הקבצים EFS ולהעלות אותם לדלי S3 כדי להתחיל בתהליך הטבעת הטקסט. תהליך זה מטביע את מסמכי העזר ושומר את ההטמעות ב-OpenSearch Service. זה גם שומר ארכיון הטמעה בדלי S3 דרך Kinesis Data Firehose לניתוח מאוחר יותר.
כדי להטמיע את מסמכי העזר, בצע את השלבים הבאים:
- אחזר את מזהה המופע לדוגמה של EC2 שנוצר (ראה פלט AWS CDK
JumpHostId
) והתחבר באמצעות מנהל מושב, יכולת של מנהל מערכות AWS. להנחיות, עיין ב התחבר למופע הלינוקס שלך עם מנהל הפעלות של AWS Systems Manager. - עבור אל המדריך
/mnt/efs/fs1
, שם מותקנת מערכת הקבצים EFS, וצור תיקייה בשםingest
: - הוסף את מסמכי PDF ההתייחסות שלך ל-
ingest
במדריך.
משימת DataSync מוגדרת להעלות את כל הקבצים שנמצאים בספרייה זו לאמזון S3 כדי להתחיל את תהליך ההטמעה.
משימת DataSync פועלת לפי לוח זמנים שעתי; באפשרותך להתחיל את המשימה באופן ידני כדי להתחיל את תהליך ההטמעה באופן מיידי עבור מסמכי ה-PDF שהוספת.
- כדי להתחיל את המשימה, אתר את מזהה המשימה מהפלט של AWS CDK
DataSyncTaskID
ו להתחיל את המשימה עם ברירות מחדל.
לאחר יצירת ההטבעות, תוכל להתחיל את שאלת ה-RAG והתשובה באמצעות מחברת Jupyter, כפי שמוצג בסעיף הבא.
שאלה ומענה באמצעות מחברת Jupyter
בצע את הצעדים הבאים:
- אחזר את שם מופע המחברת של SageMaker מהפלט של AWS CDK
NotebookInstanceName
ולהתחבר ל-JupyterLab ממסוף SageMaker. - עבור אל המדריך
fmops/full-stack/pattern1-rag/notebooks/
. - פתח והפעל את המחברת
query-llm.ipynb
במופע המחברת לבצע שאלות ותשובות באמצעות RAG.
הקפד להשתמש ב conda_python3
קרנל למחברת.
דפוס זה שימושי כדי לחקור את פתרון הקצה האחורי מבלי להקצות תנאים מוקדמים נוספים הנדרשים עבור יישום ערימה מלאה. הסעיף הבא מכסה את היישום של יישום ערימה מלאה, כולל רכיבי הקצה והקצה האחורי כאחד, כדי לספק ממשק משתמש לאינטראקציה עם יישום הבינה המלאכותית הגנרטיבית שלך.
אפשרות 2: פרוס את אפליקציית הדוגמה המלאה עם חזית Streamlit
דפוס זה מאפשר לך לפרוס את הפתרון עם ממשק חזית משתמש לשאלות ותשובות.
תנאים מוקדמים
כדי לפרוס את היישום לדוגמה, עליך לעמוד בדרישות הקדם הבאות:
- נקודת קצה של מודל SageMaker JumpStart נפרסה – פרוס את הדגמים לנקודות הקצה של SageMaker בזמן אמת באמצעות SageMaker JumpStart, כפי שתואר בסעיף הקודם, באמצעות המחברות המסופקות.
- אזור מארח כביש 53 של אמזון - ליצור כביש אמזון 53 אזור מתארח ציבורי לשימוש עבור פתרון זה. אתה יכול גם להשתמש באזור מתארח ציבורי קיים של כביש 53, כגון
example.com
. - תעודת מנהל תעודות AWS – הוראה א מנהל תעודות AWS (ACM) תעודת TLS עבור שם הדומיין של האזור המתארח בכביש 53 ותתי-הדומיינים הרלוונטיים שלו, כגון
example.com
ו*.example.com
עבור כל תת הדומיינים. להנחיות, עיין ב בקשת תעודה ציבורית. אישור זה משמש להגדרת HTTPS אמזון CloudFront ומאזן העומס המקורי. - פרמטרי פריסה - רשמו את הדברים הבאים:
- שם דומיין מותאם אישית ליישום Frontend - שם דומיין מותאם אישית המשמש לגישה ליישום לדוגמה הקדמי. שם הדומיין שסופק משמש ליצירת רשומת DNS של Route 53 המצביעה על הפצת CloudFront הקדמי; לדוגמה,
app.example.com
. - שם דומיין מותאם אישית מקור מאזן עומסים – שם תחום מותאם אישית המשמש למקור מאזן העומס של ההפצה של CloudFront. שם התחום שסופק משמש ליצירת רשומת DNS של Route 53 המצביעה על מאזן העומס המקורי; לדוגמה,
app-lb.example.com
. - מזהה אזור מתארח של כביש 53 - מזהה האזור המתארח בכביש 53 לארח את שמות הדומיין המותאמים אישית שסופקו; לדוגמה,
ZXXXXXXXXYYYYYYYYY
. - שם אזור מתארח בכביש 53 – שם האזור המתארח בכביש 53 לארח את שמות הדומיין המותאמים אישית שסופקו; לדוגמה,
example.com
. - תעודת ACM ARN – ה-ARN של אישור ACM לשימוש עם הדומיין המותאם אישית שסופק.
- שם נקודת הקצה של מודל הטקסט - שם נקודת הקצה של מודל יצירת הטקסט שנפרס עם SageMaker JumpStart.
- שם נקודת הקצה של דגם ההטמעות - שם נקודת הקצה של מודל ההטמעה שנפרס עם SageMaker JumpStart.
- שם דומיין מותאם אישית ליישום Frontend - שם דומיין מותאם אישית המשמש לגישה ליישום לדוגמה הקדמי. שם הדומיין שסופק משמש ליצירת רשומת DNS של Route 53 המצביעה על הפצת CloudFront הקדמי; לדוגמה,
פרוס את המשאבים באמצעות AWS CDK
השתמש בפרמטרי הפריסה שציינת בתנאים המוקדמים כדי לפרוס את ערימת ה-CDK של AWS. למידע נוסף, עיין ב תחילת העבודה עם AWS CDK.
ודא כי Docker מותקן ופועל בתחנת העבודה שתשמש לפריסת AWS CDK.
בקוד הקודם, -c מייצג ערך הקשר, בצורה של התנאים המוקדמים הנדרשים, שסופקו בקלט. לחלופין, אתה יכול להזין את ערכי ההקשר בקובץ שנקרא cdk.context.json
ב pattern1-rag/cdk
ספרייה והפעל cdk deploy --all
.
שימו לב שאנו מציינים את האזור בקובץ bin/cdk.ts
. הגדרת יומני גישה של ALB דורשת אזור מוגדר. אתה יכול לשנות אזור זה לפני הפריסה.
הפריסה תדפיס את כתובת האתר כדי לגשת לאפליקציית Streamlit. לפני שתוכל להתחיל בשאלות ובתשובות, עליך להטמיע את מסמכי ההתייחסות, כפי שמוצג בסעיף הבא.
הטמע את מסמכי ההתייחסות
עבור גישת RAG, מסמכי עזר מוטמעים תחילה עם מודל הטבעת טקסט ומאוחסנים במסד נתונים וקטורי. בפתרון זה, נבנה צינור הכנסה שמכניס מסמכי PDF.
כפי שדיברנו באפשרות הפריסה הראשונה, נוצר מופע EC2 לדוגמה עבור הטמעת מסמך PDF ומערכת קבצים EFS מותקנת על מופע EC2 כדי לשמור את מסמכי ה-PDF. משימת DataSync מופעלת כל שעה כדי להביא מסמכי PDF שנמצאו בנתיב מערכת הקבצים EFS ולהעלות אותם לדלי S3 כדי להתחיל בתהליך הטבעת הטקסט. תהליך זה מטביע את מסמכי העזר ושומר את ההטמעות ב-OpenSearch Service. זה גם שומר ארכיון הטמעה בדלי S3 דרך Kinesis Data Firehose לניתוח מאוחר יותר.
כדי להטמיע את מסמכי העזר, בצע את השלבים הבאים:
- אחזר את מזהה המופע לדוגמה של EC2 שנוצר (ראה פלט AWS CDK
JumpHostId
) והתחבר באמצעות מנהל הפעלות. - עבור אל המדריך
/mnt/efs/fs1
, שם מותקנת מערכת הקבצים EFS, וצור תיקייה בשםingest
: - הוסף את מסמכי PDF ההתייחסות שלך ל-
ingest
במדריך.
משימת DataSync מוגדרת להעלות את כל הקבצים שנמצאים בספרייה זו לאמזון S3 כדי להתחיל את תהליך ההטמעה.
משימת DataSync פועלת לפי לוח זמנים שעתי. אתה יכול לחלופין להתחיל את המשימה באופן ידני כדי להתחיל את תהליך ההטמעה באופן מיידי עבור מסמכי ה-PDF שהוספת.
- כדי להתחיל את המשימה, אתר את מזהה המשימה מהפלט של AWS CDK
DataSyncTaskID
ו להתחיל את המשימה עם ברירות מחדל.
שאלה ותשובה
לאחר הטמעת מסמכי ההתייחסות, תוכל להתחיל את השאלה והתשובה של RAG על ידי ביקור בכתובת האתר כדי לגשת לאפליקציית Streamlit. א אמזון קוגניטו נעשה שימוש בשכבת אימות, ולכן היא דורשת יצירת חשבון משתמש במאגר המשתמשים של Amazon Cognito הפרוס באמצעות AWS CDK (ראה פלט AWS CDK עבור שם מאגר המשתמשים) לגישה ראשונה לאפליקציה. להנחיות ליצירת משתמש אמזון קוגניטו, עיין ב יצירת משתמש חדש ב-AWS Management Console.
הטמע ניתוח סחיפה
בסעיף זה, אנו מראים לך כיצד לבצע ניתוח סחיפה על ידי יצירת קו בסיס של הטמעות נתוני התייחסות והטבעות הנחיות, ולאחר מכן יצירת תמונת מצב של ההטבעות לאורך זמן. זה מאפשר לך להשוות את ההטבעות הבסיסיות להטמעות תמונת המצב.
צור קו בסיס הטמעה עבור נתוני ההפניה והבקשה
כדי ליצור קו בסיס הטמעה של נתוני ההפניה, פתח את מסוף הדבק של AWS ובחר את עבודת ה-ETL embedding-drift-analysis
. הגדר את הפרמטרים עבור עבודת ה-ETL באופן הבא והפעל את העבודה:
- לקבוע
--job_type
לBASELINE
. - לקבוע
--out_table
אל ה אמזון דינמו טבלה לעיון בנתוני הטבעה. (ראה את הפלט של AWS CDKDriftTableReference
עבור שם הטבלה.) - לקבוע
--centroid_table
לטבלת DynamoDB לצורך התייחסות לנתוני מרכז. (ראה את הפלט של AWS CDKCentroidTableReference
עבור שם הטבלה.) - לקבוע
--data_path
לדלי S3 עם הקידומת; לדוגמה,s3://
/embeddingarchive/
. (ראה את הפלט של AWS CDKBucketName
עבור שם הדלי.)
באופן דומה, באמצעות עבודת ETL embedding-drift-analysis
, צור קו בסיס הטמעה של ההנחיות. הגדר את הפרמטרים עבור עבודת ה-ETL באופן הבא והפעל את העבודה:
- לקבוע
--job_type
לBASELINE
- לקבוע
--out_table
לטבלת DynamoDB להטמעת נתונים מהירה. (ראה את הפלט של AWS CDKDriftTablePromptsName
עבור שם הטבלה.) - לקבוע
--centroid_table
לטבלת DynamoDB לקבלת נתוני מרכז מידה. (ראה את הפלט של AWS CDKCentroidTablePrompts
עבור שם הטבלה.) - לקבוע
--data_path
לדלי S3 עם הקידומת; לדוגמה,s3://
/promptarchive/
. (ראה את הפלט של AWS CDKBucketName
עבור שם הדלי.)
צור תמונת מצב הטמעה עבור נתוני ההפניה והבקשה
לאחר שתטמע מידע נוסף בשירות OpenSearch, הפעל את עבודת ה-ETL embedding-drift-analysis
שוב כדי לצלם את הטבעות נתוני ההפניה. הפרמטרים יהיו זהים לעבודת ה-ETL שהרצת כדי ליצור את קו הבסיס של ההטמעה של נתוני ההפניה כפי שמוצג בסעיף הקודם, למעט הגדרת --job_type
פרמטר SNAPSHOT
.
באופן דומה, כדי לצלם את ההטמעות של ההנחיות, הפעל את עבודת ה-ETL embedding-drift-analysis
שוב. הפרמטרים יהיו זהים לעבודת ה-ETL שהרצת כדי ליצור את קו הבסיס של ההטמעה עבור ההנחיות כפי שמוצג בסעיף הקודם, למעט הגדרת --job_type
פרמטר SNAPSHOT
.
השווה את קו הבסיס לתמונת המצב
כדי להשוות את קו הבסיס ואת תמונת המצב עבור נתוני עזר והנחיות, השתמש במחברת המצורפת pattern1-rag/notebooks/drift-analysis.ipynb
.
כדי להסתכל על השוואת הטבעה עבור נתוני עזר או הנחיות, שנה את משתני שם הטבלה של DynamoDB (tbl
ו c_tbl
) במחברת לטבלת DynamoDB המתאימה לכל הפעלה של המחברת.
משתנה המחברת tbl
יש לשנות לשם טבלת הסחף המתאים. להלן דוגמה לאיפה להגדיר את המשתנה במחברת.
ניתן לאחזר את שמות הטבלאות באופן הבא:
- עבור נתוני הטבעת העזר, אחזר את שם טבלת הסחף מפלט AWS CDK
DriftTableReference
- לקבלת נתוני הטמעת הבקשה, אחזר את שם טבלת הסחף מפלט AWS CDK
DriftTablePromptsName
בנוסף, משתנה המחברת c_tbl
יש לשנות לשם טבלת המרכז המתאים. להלן דוגמה לאיפה להגדיר את המשתנה במחברת.
ניתן לאחזר את שמות הטבלאות באופן הבא:
- עבור נתוני הטמעת הפניות, אחזר את שם טבלת המרכז מהפלט של AWS CDK
CentroidTableReference
- לקבלת נתוני הטמעת הבקשה, אחזר את שם טבלת המרכז מהפלט של AWS CDK
CentroidTablePrompts
נתח את המרחק המהיר מנתוני הייחוס
ראשית, הפעל את עבודת הדבק של AWS embedding-distance-analysis
. עבודה זו תגלה לאיזה אשכול, מתוך הערכת K-Means של הטמעות נתוני התייחסות, אליו שייכת כל הנחיה. לאחר מכן הוא מחשב את הממוצע, החציון וסטיית התקן של המרחק מכל הנחיה למרכז האשכול המתאים.
אתה יכול להפעיל את המחברת pattern1-rag/notebooks/distance-analysis.ipynb
לראות את המגמות במדדי המרחק לאורך זמן. זה ייתן לך תחושה של המגמה הכוללת בהתפלגות מרחקי ההטבעה המהירים.
המחברת pattern1-rag/notebooks/prompt-distance-outliers.ipynb
הוא מחברת AWS Glue שמחפשת חריגים, שיכולים לעזור לך לזהות אם אתה מקבל יותר הנחיות שאינן קשורות לנתוני ההפניה.
עקוב אחר ציוני הדמיון
כל ציוני הדמיון משירות OpenSearch מחוברים אמזון CloudWatch תחת rag
מרחב שמות. לוח המחוונים RAG_Scores
מציג את הציון הממוצע ואת המספר הכולל של הציונים שנבלעו.
לנקות את
כדי להימנע מחיובים עתידיים, מחק את כל המשאבים שיצרת.
מחק את דגמי SageMaker הפרוסים
עיין בסעיף הניקוי של דוגמה למחברת כדי למחוק את דגמי SageMaker JumpStart הפרוסים, או שאתה יכול למחוק את הדגמים בקונסולת SageMaker.
מחק את משאבי AWS CDK
אם הזנת את הפרמטרים שלך ב-a cdk.context.json
קובץ, נקה באופן הבא:
אם הזנת את הפרמטרים שלך בשורת הפקודה ופרסת רק את אפליקציית הקצה האחורי (מחסנית ה-backend AWS CDK), נקה באופן הבא:
אם הזנת את הפרמטרים שלך בשורת הפקודה ופרסת את הפתרון המלא (ערימות ה-frontend וה-backend AWS CDK), נקה באופן הבא:
סיכום
בפוסט זה, סיפקנו דוגמה עובדת של יישום הלוכד וקטורים הטמעים הן עבור נתוני התייחסות והן עבור הנחיות בדפוס RAG עבור AI מחולל. הראינו כיצד לבצע ניתוח אשכולות כדי לקבוע אם נתוני הפניה או הנחיה נסחפים לאורך זמן, ועד כמה נתוני ההפניה מכסים את סוגי השאלות שמשתמשים שואלים. אם אתה מזהה סחיפה, זה יכול לספק אות לכך שהסביבה השתנתה והדגם שלך מקבל כניסות חדשות שאולי לא מותאם לטפל בהן. זה מאפשר הערכה יזומה של המודל הנוכחי מול תשומות משתנות.
על הכותבים
עבדאללהי אולאוי הוא ארכיטקט פתרונות בכיר בשירותי האינטרנט של אמזון (AWS). עבדוללהי הוא בעל תואר MSC ברשתות מחשבים מאוניברסיטת וויצ'יטה סטייט והוא מחבר שמילא תפקידים בתחומי טכנולוגיה שונים כגון DevOps, מודרניזציה של תשתיות ובינה מלאכותית. כיום הוא מתמקד בבינה מלאכותית גנרטיבית וממלא תפקיד מפתח בסיוע לארגונים לתכנן ולבנות פתרונות חדישים המופעלים על ידי AI Generative. מעבר לתחום הטכנולוגיה, הוא מוצא שמחה באמנות החקירה. כשהוא לא יוצר פתרונות בינה מלאכותית, הוא נהנה לטייל עם משפחתו כדי לחקור מקומות חדשים.
רנדי דפאו הוא אדריכל פתרונות בכיר ב-AWS. הוא בעל תואר MSEE מאוניברסיטת מישיגן, שם עבד על ראייה ממוחשבת לרכבים אוטונומיים. הוא גם בעל תואר MBA מאוניברסיטת קולורדו סטייט. רנדי מילא מגוון תפקידים בתחום הטכנולוגיה, החל מהנדסת תוכנה ועד לניהול מוצר. אין נכנסה לתחום ה-Big Data בשנת 2013 וממשיכה לחקור את התחום הזה. הוא עובד באופן פעיל על פרויקטים בתחום ה-ML והציג בכנסים רבים כולל Strata ו-GlueCon.
שלבי אייגנברודה הוא ארכיטקט פתרונות ראשי בינה מלאכותית ולמידת מכונה בשירותי האינטרנט של אמזון (AWS). היא עוסקת בטכנולוגיה כבר 24 שנים בפריסה של תעשיות, טכנולוגיות ותפקידים רבים. כרגע היא מתמקדת בשילוב רקע ה-DevOps ו-ML שלה בתחום ה-MLOps כדי לעזור ללקוחות לספק ולנהל עומסי עבודה של ML בקנה מידה. עם יותר מ-35 פטנטים שהוענקו על פני תחומי טכנולוגיה שונים, יש לה תשוקה לחדשנות מתמשכת ושימוש בנתונים כדי להניע תוצאות עסקיות. שלבי היא שותפה ליצירה ומדריכה של ההתמחות במדעי הנתונים המעשיים ב-Coursera. היא גם מנהלת משותפת של נשים בביג דאטה (WiBD), פרק דנבר. בזמנה הפנוי, היא אוהבת לבלות עם משפחתה, חבריה וכלבים פעילים מדי.
- הפצת תוכן ויחסי ציבור מופעל על ידי SEO. קבל הגברה היום.
- PlatoData.Network Vertical Generative Ai. העצים את עצמך. גישה כאן.
- PlatoAiStream. Web3 Intelligence. הידע מוגבר. גישה כאן.
- PlatoESG. פחמן, קלינטק, אנרגיה, סביבה, שמש, ניהול פסולת. גישה כאן.
- PlatoHealth. מודיעין ביוטכנולוגיה וניסויים קליניים. גישה כאן.
- מקור: https://aws.amazon.com/blogs/machine-learning/monitor-embedding-drift-for-llms-deployed-from-amazon-sagemaker-jumpstart/
- :יש ל
- :הוא
- :לֹא
- :איפה
- $ למעלה
- 1
- 10
- 100
- 2%
- 2013
- 24
- 35%
- 39
- 4
- 53
- 62
- 7
- 9
- 90
- 95%
- a
- יכול
- אודות
- מוּחלָט
- גישה
- חֶשְׁבּוֹן
- ACM
- לרוחב
- באופן פעיל
- הוסיף
- תוספת
- נוסף
- מידע נוסף
- בנוסף
- שוב
- נגד
- לְקַבֵּץ
- AI
- מיישר
- תעשיות
- מאפשר
- מאפשר
- גם
- למרות
- אמזון בעברית
- אמזון קוגניטו
- אמזון
- אמזון SageMaker
- אמזון SageMaker JumpStart
- אמזון שירותי אינטרנט
- אמזון שירותי אינטרנט (AWS)
- an
- אנליזה
- לנתח
- ניתוח
- ו
- לענות
- מענה
- דבר
- ישים
- בקשה
- גישה
- מתאים
- ארכיטקטורה
- ארכיון
- ARE
- AREA
- אזורים
- אמנות
- מאמרים
- AS
- לשאול
- לשאול
- סיוע
- לְהַנִיחַ
- At
- לְהַגדִיל
- מוגבר
- אימות
- מחבר
- באופן אוטומטי
- אוטונומי
- כלי רכב אוטונומיים
- זמין
- מְמוּצָע
- לְהִמָנַע
- רָחוֹק
- AWS
- דבק AWS
- קצה אחורי
- רקע
- איזון
- מבוסס
- Baseline
- BE
- כי
- היה
- לפני
- להיות
- שייך
- מוטב
- בֵּין
- מעבר
- גָדוֹל
- נתונים גדולים
- גופים
- שניהם
- בְּהַרְחָבָה
- לִבנוֹת
- נבנה
- עסקים
- by
- לחשב
- מחשב
- שיחה
- נקרא
- CAN
- יכולת
- ללכוד
- נתפס
- לוכדת
- לכידה
- מקרה
- CD
- מרכז
- מרכזים
- תעודה
- שינוי
- השתנה
- שינויים
- משתנה
- הפרק
- חיובים
- שבב
- שׁוֹקוֹלַד
- בחרו
- לְנַקוֹת
- סְגוֹר
- קרוב יותר
- ענן
- אשכול
- קיבוץ
- קוד
- קולורדו
- שילוב
- משולב
- שילוב
- מגיע
- קומפקטי
- לְהַשְׁווֹת
- לעומת
- השוואה
- להשלים
- רְכִיב
- רכיבים
- לחשב
- המחשב
- ראייה ממוחשבת
- מושגים
- כנסים
- מוגדר
- תצורה
- לְחַבֵּר
- שיקולים
- עקביות
- קונסול
- מכולה
- תוכן
- הקשר
- ממשיך
- רציף
- הומר
- עוגיות
- ליבה
- תוֹאֵם
- Coursera
- כיסוי
- מכוסה
- כיסוי
- מכסה
- לִיצוֹר
- נוצר
- יוצר
- יוצרים
- נוֹכְחִי
- כיום
- מנהג
- לקוחות
- שיא הטכנולוגיה
- לוח מחוונים
- נתונים
- מרכז נתונים
- עיבוד נתונים
- מדע נתונים
- מסד נתונים
- ירידה
- מחדל
- מוגדר
- להסיר
- למסור
- דנבר
- לפרוס
- פרס
- פריסה
- פריסה
- פורס
- נגזר
- להרוס
- מְפוֹרָט
- לאתר
- איתור
- לקבוע
- צעצועי התפתחות
- סטייה
- דופים
- תרשים
- אחר
- קשה
- מֵמַד
- ממדים
- נָדוֹן
- מפוזרים
- מרחק
- רחוק
- הפצה
- DNS
- do
- סַוָר
- מסמך
- מסמכים
- כלבים
- תחום
- שם תחום
- שמות דומיינים
- תחומים
- לא
- מטה
- נהיגה
- כל אחד
- שבץ
- מוטבע
- הטבעה
- סוף
- מקצה לקצה
- נקודת קצה
- נקודות קצה
- הנדסה
- זן
- נכנס
- חברות
- סביבה
- Ether (ETH)
- להעריך
- הערכה
- כל
- דוגמה
- דוגמאות
- יוצא מן הכלל
- קיימים
- ניסיוני
- להסביר
- חקירה
- לחקור
- היכרות
- חיצוני
- תמצית
- תמציות
- משפחה
- רחוק
- תרשים
- שלח
- קבצים
- סופי
- בסופו של דבר
- ממצאים
- ראשון
- צף
- תזרים
- מרוכז
- התמקדות
- הבא
- כדלקמן
- בעד
- טופס
- מצא
- קרן
- חברים
- החל מ-
- ממשק
- מלא
- עתיד
- ללקט
- כללי
- יצירת
- דור
- גנרטטיבית
- AI Generative
- מודל גנראטיבי
- לקבל
- מקבל
- לתת
- Go
- נעלם
- כמובן מאליו
- קְבוּצָה
- הדרכה
- לטפל
- יש
- he
- הוחזק
- לעזור
- לה
- גבוה יותר
- שֶׁלוֹ
- מחזיק
- המארח
- אירח
- שעה
- איך
- איך
- אולם
- HTML
- http
- HTTPS
- טבור
- ID
- לזהות
- if
- מדגים
- מיד
- הפעלה
- מיישמים
- חשוב
- in
- לכלול
- כולל
- כולל
- נכנס
- להצביע
- המציין
- תעשיות
- אינרציה
- מידע
- תשתית
- בתחילה
- חדשנות
- קלט
- תשומות
- תובנה
- התקנה
- למשל
- הוראות
- אינטראקציה
- אינטראקציה
- אינטראקטיבי
- מעוניין
- מִמְשָׁק
- אל תוך
- IT
- שֶׁלָה
- עבודה
- מקומות תעסוקה
- שמחה
- jpg
- מחברת צדק
- רק
- מפתח
- Kinesis Data Firehose
- ידע
- שפה
- גָדוֹל
- מאוחר יותר
- האחרון
- שכבה
- לִלמוֹד
- למידה
- מאפשר לי
- סִפְרִיָה
- אוהב
- קו
- לינוקס
- LLM
- לִטעוֹן
- מיקום
- מחובר
- נראה
- נראה
- להוריד
- מכונה
- למידת מכונה
- לעשות
- לנהל
- ניהול
- מנהל
- באופן ידני
- מאי..
- MBA
- אומר
- אומר
- למדוד
- אמצעים
- מדדים
- מישיגן
- יכול
- ML
- MLOps
- מודל
- מודלים
- מוֹדֶרנִיזָצִיָה
- צג
- יותר
- רוב
- נע
- מספר
- צריך
- שם
- שמות
- טבעי
- שפה טבעית
- עיבוד שפה טבעית
- צורך
- נחוץ
- צורך
- רשתות
- חדש
- חדש יותר
- הבא
- NLP
- מחברה
- מחשבים ניידים
- ציין
- מספר
- מספרים
- רב
- of
- לעתים קרובות
- on
- רק
- לפתוח
- אופטימיזציה
- אפשרות
- or
- תזמור
- להזמין
- מָקוֹר
- אחר
- שלנו
- הַחוּצָה
- תוצאות
- המתואר
- תפוקה
- פלטים
- יותר
- מקיף
- חֲפִיפָה
- שֶׁלוֹ
- פרמטר
- פרמטרים
- מסוים
- תשוקה
- פטנטים
- נתיב
- תבנית
- דפוסי
- לבצע
- ביצוע
- חתיכות
- צינור
- מקומות
- אפלטון
- מודיעין אפלטון
- אפלטון נתונים
- משחק
- נקודה
- נקודות
- בריכה
- עמדות
- אפשרי
- הודעה
- פוטנציאל
- מופעל
- מעשי
- קודם
- תנאים מוקדמים
- מוצג
- משמר
- מִשׁמֶרֶת
- קודם
- קוֹדֶם
- מנהל
- קופונים להדפסה
- פרואקטיבי
- תהליך
- תהליך
- המוצר
- ניהול מוצר
- פרויקטים
- הנחיות
- פרופורציה
- לספק
- ובלבד
- מספק
- אַספָּקָה
- ציבורי
- לאור
- מושך
- שאלה
- שאלות
- סמרטוט
- טווחים
- טִוּוּחַ
- מוכן
- זמן אמת
- תחום
- מתכון
- שיא
- להפחית
- הפחתה
- להתייחס
- הפניה
- באזור
- קָשׁוּר
- יחסית
- רלוונטי
- לייצג
- נציגות
- מייצג
- נדרש
- דורש
- משאבים
- תגובה
- תוצאות
- שליפה
- תפקיד
- תפקידים
- מסלול
- הפעלה
- ריצה
- פועל
- בעל חכמים
- אותו
- שמור
- סולם
- לוח זמנים
- מדע
- ציון
- ציונים
- חיפוש
- חיפושים
- שְׁנִיָה
- סעיף
- סעיפים
- לִרְאוֹת
- לראות
- בחר
- סמנטי
- לחצני מצוקה לפנסיונרים
- תחושה
- נשלח
- נפרד
- שרות
- שירותים
- מושב
- סט
- הצבה
- כמה
- היא
- צריך
- לְהַצִיג
- הראה
- הראה
- הופעות
- לאותת
- אותות
- דומה
- פָּשׁוּט
- לפשט
- מידה
- תמונת בזק
- So
- תוכנה
- הנדסת תוכנה
- פִּתָרוֹן
- פתרונות
- כמה
- מָקוֹר
- מקורות
- מֶרחָב
- מתח
- מומחה
- מפורט
- לבלות
- מרובע
- לערום
- ערימות
- תֶקֶן
- התחלה
- החל
- החל
- מדינה
- סטטיסטיקה
- צעדים
- אחסון
- חנות
- מאוחסן
- מוצלח
- כזה
- סכום
- בטוח
- מערכת
- מערכות
- שולחן
- לקחת
- המשימות
- טכניקה
- טכנולוגיות
- טכנולוגיה
- טֶקסט
- דור טקסט
- זֶה
- השמיים
- המידע
- המקור
- שֶׁלָהֶם
- אותם
- אז
- שם.
- אלה
- זֶה
- אלה
- שְׁלוֹשָׁה
- דרך
- זמן
- TLS
- ל
- יַחַד
- נושאים
- סה"כ
- לשנות
- נסיעה
- מְגַמָה
- מגמות
- מנסה
- לנסות
- שתיים
- סוגים
- תחת
- אוניברסיטה
- אוניברסיטת מישיגן
- כתובת האתר
- us
- להשתמש
- מְשׁוּמָשׁ
- מועיל
- משתמש
- ממשק משתמש
- משתמשים
- באמצעות
- אימות
- ערך
- ערכים
- משתנה
- משתנים
- מגוון
- שונים
- וקטור
- וקטורים
- כלי רכב
- באמצעות
- חזון
- חזותי
- בהדרכה
- רוצה
- היה
- דֶרֶך..
- we
- אינטרנט
- שירותי אינטרנט
- טוֹב
- מתי
- אם
- אשר
- בזמן
- יצטרך
- עם
- בתוך
- לְלֹא
- נשים
- תיק עבודות
- עבד
- עובד
- תחנת עבודה
- גרוע יותר
- היה
- שנים
- עוד
- אתה
- זפירנט
- אזור