What ML feature stores require and how ScyllaDB fits in as fast, scalable online feature store בפוסט זה בבלוג, נחקור את התפקיד של חנויות תכונות ביישומי למידה ממוחשבת בזמן אמת (ML) ומדוע ScyllaDB הוא בחירה חזקה לשרת תכונות מקוונות.אנו מכסים את היסודות של תכונות, איך חנויות תכונות פועלות, היתרונות שלהם, דרישות עומס העבודה השונות, וכיצד הדחייה משחקת תפקיד קריטי ביישומי ML.אנו נסתכל על מסגרות חנות תכונות פופולריות כמו Feast וכיצד להתחיל עם ScyllaDB כחנות תכונות מקוונת שלך. מהי תכונה של למידה מכונה? תכונה היא תכונה נמדדת המשמשת להכשיר או לשרת מודל למידה מכונה.תכונות יכולות להיות נקודות נתונים טבעיות או ערכים מהנדסים שמקורם בנתונים טבעיים.לדוגמה, באפליקציית מדיה חברתית כגון ShareChat, תכונות עשויות לכלול: מספר אוהבים ב-10 הדקות האחרונות מספר המניות ב-7 הימים האחרונים נושא הפוסט צילום: איוואן בירמיסטרוב ואנדרי מאנקוב (ShareChat) נקודות נתונים אלה עוזרות לחזות תוצאות כגון מעורבות משתמשים או המלצות תוכן. וקטור תכונה הוא פשוט אוסף של תכונות הקשורות למשימה ספציפית של תחזית, לדוגמה, כך עשוי להיראות וקטור תכונה עבור יישום ציון אשראי. בחירת נקודות נתונים רלוונטיות ולהפוך אותן לתכונות לוקחת חלק משמעותי מהעבודה בפרויקטים של למידה מכונה. ארכיטקטורות גדולות כדי לעבוד ביעילות עם תכונות, באפשרותך ליצור מיקום מרכזי לניהול התכונות הזמינות בארגון שלך. תהליך סטנדרטי ליצירת תכונות חדשות אחסון תכונות עבור גישה פשוטה גילוי ושימוש חוזר של תכונות בקבוצות משרת תכונות הן עבור הכשרה מודל והן ההשלכות רוב האדריכלות להבחין בין שני חנויות / מסדי נתונים: חנות לא מקוונת להכשרת דוגמאות (bulk writes/reads) חנות מקוונת למסקנות (זמן אמיתי, כותבים / קוראים באיחור נמוך) צינור חנות תכונות טיפוסי מתחיל עם צריכת נתונים גלם (מתוך אגם נתונים או זרמים), ביצוע הנדסת תכונות, שמירה תכונות בשני חנויות, ולאחר מכן משרת אותם דרך שני צינורות נפרדות: אחד עבור הכשרה ואחד עבור ההשלכות. היתרונות של חנות תכונות מרכזית חנויות תכונות מרכזיות מציעות מספר יתרונות: הימנעות משכפלות: צוותים יכולים להשתמש מחדש בתכונות קיימות גישה לשירות עצמי: מדענים בנתונים יכולים ליצור ולחקור תכונות באופן עצמאי צינורות מאוחדות: גם אם עומסי העבודה של הכשרה ופירוט שונים מאוד, הם עדיין יכולים להיות נבדקים באמצעות אותה שכבת הפריצה התוצאה היא איטציה מהירה יותר, עקביות רבה יותר ושיתוף פעולה טוב יותר בין זרימי העבודה של ML. מגוון רחב של עבודות בחנויות בואו נפרק את שתי דרישות עומס עבודה שונות מאוד קיימות בתוך חנות תכונות: הכשרה מודל ופירוט בזמן אמת. חנות מקוונת (Offline Store) כדי לעשות תחזיות אתה צריך להכשיר מודל למידה מכונה תחילה. הכשרה דורשת ערכת נתונים גדולה ואיכות גבוהה. אתה יכול לאחסן את ערכת הנתונים הזאת בחנות תכונות לא מקוונת. תגיות: לא עדיפות נפח: גבוה (מיליוני עד מיליארדי רשומות) תדירות: עבודות נדירות, תדירות קבועה מטרה: לשחזר חלק גדול של נתונים היסטוריים באופן עקרוני, חנויות מקוונות צריכות לאחסן קבוצות נתונים ענקיות ביעילות. חנות מקוונת בזמן אמת (Real Time Online Store) ברגע שיש לך מודל מוכן, אתה יכול להפעיל חישוב בזמן אמת. חישוב בזמן אמת לוקח את ההכנסה המסופקת על ידי המשתמש והופך אותו לתחזית. הנה מבט על מה המאפיינים חשובים ביותר עבור חישוב בזמן אמת: איחור: עדיפות גבוהה נפח: נמוך לפי בקשה אך עוצמה גבוהה (עד מיליוני פעולות לשנייה) תדירות: קבוע, מופעל על ידי פעולות המשתמש (לדוגמה, הזמנת מזון) מטרה: לספק תכונות מעודכנות כדי לבצע תחזיות במהירות ייתכן שהתוכן, הגיל והמיקום האחרונים של המשתמש יהפכו לתכונות ולהשתמש באופן מיידי כדי להמליץ על פריטים אחרים לקנות. למה אינטליגנציה חשובה איחור (במקרה של מאמר זה) מתייחס לזמן בין שליחת שאלון לקבלת התשובה מחנות התכונות עבור יישומים ML בזמן אמת – במיוחד אלה שמתמקדים במשתמש – איחור נמוך הוא קריטי להצלחה. תארו לעצמכם שהמשתמש בביטול המזון מראה פריטי מזון קשורים.אם הצעה זו לוקחת זמן רב מדי כדי להעלות בשל חנות מקוונת איטית, ההזדמנות אבודה. הגדרת הנתונים האחרונים מחפשים תכונות רלוונטיות ריצה Inference בחזרה לקריאה זה חייב לקרות בתוך מילימטר. בחירת פתרון חנות תכונות ברגע שאתה מחליט לבנות חנות תכונות, תמצא במהירות כי יש עשרות מסגרות וספקים, הן קוד פתוח והן מסחריים, לבחור מתוך: Feast (קוד פתוח): מספק תמיכה גמישה של מסדי נתונים (למשל, Postgres, Redis, Cassandra, ScyllaDB) Hopsworks: קשורה באופן הדוק עם האקולוגיה שלה AWS SageMaker: מחובר ל- AWS Stack (למשל, S3, DynamoDB) ועוד רבים אחרים גורמים כגון המומחיות הטכנית של הצוות שלך, דרישות האינטגרציה הנדרשות והאינטגרציות הנדרשות עם החבילה הקיימת שלך, כולם משחקים תפקיד. אם אתה מודאג לגבי הגדלת היכולת ואת הביצועים של חנות התכונות המקוונת שלך, אז גמישות מסד נתונים צריכה להיות חשיבות מרכזית. יש חנויות התכונות (לדוגמה, AWS SageMaker, GCP Vertex, Hopsworks וכו ') המספקים טכנולוגיית מסד נתונים משלהם כחנות המקוונת. מצד אחד, זה יכול להיות נוח להתחיל כי הכל מטופל על ידי ספק אחד. תארו לעצמכם לבחור ספקית כזו עם דרישה קפדנית לטינטציה של P99 (למשל, <15ms P99). הדרישה פוגשת בהצלחה במהלך הוכחת המושג (POC).אבל מאוחר יותר אתה חווה שיאים של טינטציה – אולי בגלל הדרישות שלך משתנות או יש עלייה של משתמשים חדשים באפליקציה שלך או מסיבה בלתי צפויה אחרת. הבעיה היא שאתה לא יכול... לפחות לא בקלות.אתה תקוע עם הפתרון המובנה.זה בלתי אפשרי לעבור רק את החנות המקוונת חלק מהארכיטקטורה שלך כי הכל נעול. אם אתה רוצה להימנע מצבים אלה, אתה יכול להסתכל על כלים גמישים לגבי חנות מקוונת ובחנות מקוונת. כלים כמו Feast או FeatureForm מאפשרים לך להביא את האחסון של מסד הנתונים שלך, הן עבור חנויות מקוונות והן מקוונות. ScyllaDB כחנות תכונות מקוונת ScyllaDB הוא מסד נתונים NoSQL בעל ביצועים גבוהים שהוא API תואם עם Apache Cassandra ו- DynamoDB API. וכולל , מה שהופך אותו אידיאלי עבור יישומי חנות תכונות עם עיכוב נמוך, עוצמה גבוהה. ארכיטקטורה shard-per-core מערכת cache משולבת למה ScyllaDB? זרימה נמוכה (ביצועי מיליסימטר יחיד P99) זמינות גבוהה ועמידות עוצמה גבוהה בקנה מידה (Petabyte-scale deployments) אין מנעול ספקים (מופעל on-prem או בכל ענן) החלפת הגדרות Cassandra/DynamoDB קיימות הגירה קלה ממסדי נתונים אחרים של NoSQL (Cassandra, DynamoDB, MongoDB וכו ') אינטגרציה עם Feature Store Framework ScyllaDB זוהר במקרים של שימוש בחנות התכונות המקוונת, שבהם ביצועים בזמן אמת, זמינות ותחזית עיכוב הם קריטיים. ScyllaDB + Feast אינטגרציה Feast הוא פלטפורמת חנות תכונות פתוחה פופולרית שתומכת בשני חנויות מקוונות וחוץ. אחת החוזקות שלה היא היכולת לחבר מקורות מסדי נתונים משלך, כולל ScyllaDB. . ScyllaDB + אינטגרציה של Feast ב-docs להתחיל עם חנות תכונות Tutorial רוצה לנסות להשתמש ScyllaDB כמו חנות התכונות המקוונת שלך? לבדוק את המדריכים שלנו אשר להוביל אותך דרך התהליך של יצירת קבוצת ScyllaDB ובניית יישום תפיסה בזמן אמת. מדריך: אפליקציית חישוב מחירים עם ScyllaDB מדריך: אפליקציה בזמן אמת עם Feast & ScyllaDB Feast + ScyllaDB אינטגרציה GitHub: ScyllaDB כחנות תכונות דוגמאות לקוד יש לך שאלות או רוצה לעזור להגדיר את זה? ! פוסט בפורום סיימתי סדנה של מפתחים עם Feast Mainteniner, פרנסיסקו Javier Arceo: אתה יכול לצפות בו על פי דרישה עכשיו. Update: בניית אפליקציות ML בזמן אמת עם Python, Feast & NoSQL