אנו מציגים הטמעות, נקודת קצה חדשה ב-OpenAI API המאפשרת לבצע בקלות משימות שפה וקוד טבעיים כמו חיפוש סמנטי, אשכולות, מודלים של נושאים וסיווג. הטבעות הן ייצוגים מספריים של מושגים המומרים לרצפי מספרים, מה שמקל על מחשבים להבין את הקשרים בין מושגים אלה. ההטמעות שלנו עולות על הדגמים המובילים ב-3 מדדים סטנדרטיים, כולל שיפור יחסי של 20% בחיפוש הקוד.
הטמעות שימושיות לעבודה עם שפה וקוד טבעיים, מכיוון שניתן לצרוך אותן בקלות ולהשוות אותן על ידי מודלים ואלגוריתמים אחרים של למידת מכונה כמו אשכולות או חיפוש.
הטבעות דומות מבחינה מספרית דומות גם מבחינה סמנטית. לדוגמה, וקטור ההטמעה של "לווי כלבים אומרים" יהיה דומה יותר לווקטור ההטמעה של "ווף" מאשר זה של "מיאו".
נקודת הקצה החדשה משתמשת במודלים של רשתות עצביות, שהם צאצאים של GPT-3, כדי למפות טקסט וקוד לייצוג וקטור - "להטמיע" אותם במרחב בעל מימד גבוה. כל מימד לוכד היבט כלשהו של הקלט.
DELETE THIS / embeddings נקודת קצה ב- ממשק API של OpenAI מספק הטמעת טקסט וקוד עם כמה שורות קוד:
import openai
response = openai.Embedding.create( input="canine companions say", engine="text-similarity-davinci-001")
אנו משחררים שלוש משפחות של דגמי הטבעה, שכל אחד מהם מכוון לביצועים טובים בפונקציות שונות: דמיון טקסט, חיפוש טקסט וחיפוש קוד. המודלים מקבלים טקסט או קוד כקלט ומחזירים וקטור הטמעה.
מודלים | השתמש במקרים | |
---|---|---|
דמיון טקסט: לוכד דמיון סמנטי בין פיסות טקסט. | text-similarity-{ada, babbage, curie, davinci}-001 | מקבץ, רגרסיה, זיהוי אנומליה, הדמיה |
חיפוש טקסטים: אחזור מידע סמנטי על פני מסמכים. | text-search-{ada, babbage, curie, davinci}-{query, doc}-001 | חיפוש, רלוונטיות ההקשר, אחזור מידע |
חיפוש קוד: מצא קוד רלוונטי עם שאילתה בשפה טבעית. | code-search-{ada, babbage}-{code, text}-001 | חיפוש קוד ורלוונטיות |
מודלים של דמיון טקסט
מודלים של דמיון טקסט מספקים הטמעות הלוכדות את הדמיון הסמנטי של פיסות טקסט. מודלים אלה שימושיים למשימות רבות כולל קיבוץ, נתונים להדמיה, ו מיון.
ההדמיה האינטראקטיבית הבאה מציגה הטמעות של דוגמאות טקסט ממערך הנתונים של DBpedia:
כדי להשוות את הדמיון של שני קטעי טקסט, אתה פשוט משתמש ב- מוצר נקודה על הטבעות הטקסט. התוצאה היא "ציון דמיון", הנקרא לפעמים "דמיון קוסינוס," בין -1 ל-1, כאשר מספר גבוה יותר פירושו יותר דמיון. ברוב היישומים, ניתן לחשב מראש את ההטבעות, ואז השוואת מוצרי הנקודה היא מהירה ביותר לביצוע.
import openai, numpy as np resp = openai.Embedding.create( input=["feline friends go", "meow"], engine="text-similarity-davinci-001") embedding_a = resp['data'][0]['embedding']
embedding_b = resp['data'][1]['embedding'] similarity_score = np.dot(embedding_a, embedding_b)
אחד השימושים הפופולריים בהטמעות הוא להשתמש בהן כתכונות במשימות למידת מכונה, כגון סיווג. בספרות למידת מכונה, בעת שימוש במסווג ליניארי, משימת סיווג זו נקראת "בדיקה ליניארית". מודלים של דמיון טקסטים שלנו משיגים תוצאות מתקדמות חדשות בסיווג בדיקה ליניארי ב SentEval (Conneau et al., 2018), אמת מידה נפוץ להערכת איכות ההטמעה.
מודלים לחיפוש טקסט
מודלים של חיפוש טקסט מספקים הטמעות המאפשרות משימות חיפוש בקנה מידה גדול, כמו מציאת מסמך רלוונטי בין אוסף מסמכים שקיבלו שאילתת טקסט. הטבעה עבור המסמכים והשאילתה מיוצרות בנפרד, ולאחר מכן נעשה שימוש בדמיון קוסינוס כדי להשוות את הדמיון בין השאילתה לכל מסמך.
חיפוש מבוסס הטבעה יכול להכליל טוב יותר מאשר טכניקות חפיפת מילים המשמשות בחיפוש מילות מפתח קלאסי, מכיוון שהוא לוכד את המשמעות הסמנטית של טקסט ופחות רגיש לביטויים או מילים מדויקות. אנו מעריכים את הביצועים של מודל חיפוש הטקסט ב- BEIR (Thakur, et al. 2021) חבילת הערכת חיפוש ולקבל ביצועי חיפוש טובים יותר משיטות קודמות. שֶׁלָנוּ מדריך לחיפוש טקסט מספק פרטים נוספים על שימוש בהטמעות למשימות חיפוש.
מודלים של חיפוש קוד
מודלים של חיפוש קוד מספקים הטמעת קוד וטקסט עבור משימות חיפוש קוד. בהינתן אוסף של בלוקי קוד, המשימה היא למצוא את בלוק הקוד הרלוונטי עבור שאילתת שפה טבעית. אנו מעריכים את מודל חיפוש הקוד ב- CodeSearchNet (Husian et al., 2019) חבילת הערכה שבה ההטמעות שלנו משיגות תוצאות טובות משמעותית משיטות קודמות. בדוק את מדריך לחיפוש קוד להשתמש בהטבעות לחיפוש קוד.
דוגמאות של Embeddings API בפעולה
מחקר JetBrains
של JetBrains Research מעבדה לפיזיקת אסטרוחלקיקים מנתח נתונים כמו מברק האסטרונום ושל נאס"א חוזרי GCN, שהם דוחות המכילים אירועים אסטרונומיים שלא ניתן לנתח על ידי אלגוריתמים מסורתיים.
מופעל על ידי ההטמעות של OpenAI של הדוחות האסטרונומיים הללו, חוקרים יכולים כעת לחפש אירועים כמו "התפרצויות פולסר סרטנים" על פני מסדי נתונים ופרסומים מרובים. הטמעות השיגו גם דיוק של 99.85% בסיווג מקור הנתונים באמצעות clustering k-means.
FineTune למידה
FineTune למידה היא חברה הבונה פתרונות אנושיים-AI היברידיים ללמידה, כמו לולאות למידה אדפטיביות שעוזרים לסטודנטים להגיע לסטנדרטים אקדמיים.
ההטמעות של OpenAI שיפרו משמעותית את המשימה של מציאת תוכן ספרי לימוד על בסיס יעדי למידה. בהשגת דיוק של 5% מובילים, מודל הטבעת הטקסט-חיפוש-curie של OpenAI עלה על גישות קודמות כמו Sentence-BERT (89.1%). בעוד שמומחים אנושיים עדיין טובים יותר, צוות FineTune מסוגל כעת לתייג ספרי לימוד שלמים תוך שניות, בניגוד לשעות שלקח למומחים.
פאביוס
פאביוס עוזר לחברות להפוך שיחות עם לקוחות לתובנות מובנות המאפשרות תכנון ותעדוף. ההטמעות של OpenAI מאפשרות לחברות למצוא ולתייג ביתר קלות תמלילי שיחות של לקוחות עם בקשות תכונה.
לדוגמה, לקוחות עשויים להשתמש במילים כמו "אוטומטי" או "קל לשימוש" כדי לבקש פלטפורמת שירות עצמי טובה יותר. בעבר, פאביוס השתמש בחיפוש מילות מפתח מעורפל כדי לנסות לתייג את התמלילים האלה עם תווית פלטפורמת השירות העצמי. עם ההטמעות של OpenAI, הם יכולים כעת למצוא פי 2 יותר דוגמאות באופן כללי, ופי 6-10 דוגמאות נוספות עבור תכונות עם מקרי שימוש מופשטים שאין להם מילת מפתח ברורה שהלקוחות עשויים להשתמש בהם.
כל לקוחות ה-API יכולים להתחיל עם תיעוד הטמעות לשימוש בהטבעות ביישומים שלהם.
.vector-diagram img { display: none;
}
.vector-diagram img:first-child { display: block;
}
var printResponse = function (btn) { // append response var responseEl = document .querySelector('.endpoint-code-response') .querySelector('code') var callParentEl = document .querySelector('.endpoint-code-call' ) .querySelector('pre') if (!responseEl || !callParentEl) מחזירה; callParentEl.appendChild(responseEl); // hide button btn.style.display= 'none';
}; var initRotate = function () { var rotates = document.querySelectorAll('.js-rotate'); if (!rotates.length) לחזור; // עבור כל קבוצה של rotates rotates.forEach(function (r) { // העבר את הילד הראשון לסוף כל n שניות window.setInterval(function(){ moveToEnd(r, r.firstElementChild); }, 1500); }) ;
};
var moveToEnd = function (הורה, ילד) { parent.removeChild(ילד); parent.appendChild(ילד); // הוסף להורה
}; var initShowMore = function () { var showmores = document.querySelectorAll('.js-showmore'); showmores.forEach(function (e) { e.addEventListener('click', function () { var showmoreparent = this.parentElement; if (!showmoreparent) return; var more = showmoreparent.querySelector('.js-more'); if (!more) return; more.style.display = 'block'; this.style.display = 'none'; }); });
}; // init
document.addEventListener('DOMContentLoaded', function () { initRotate(); initShowMore();
});
לייבא את {Runtime, Inspector, Library} מ-"https://unpkg.com/@observablehq/runtime@4.5.0/dist/runtime.js";
import notebook_topk from “https://api.observablehq.com/d/20c1e51d6e663e6d.js?v=3”;
ייבוא notebook_embed3d מ-"https://api.observablehq.com/d/fef0801cb0a0b322.js?v=3" const customWidth = function (selector) { return (new Library).Generators.observe(function(change) { var width = change(document.querySelector(selector).clientWidth); function resized() { var w = document.querySelector(selector).clientWidth; if (w !== width) change(width = w); } window.addEventListener(“ resize", resized); return function() { window.removeEventListener("resize", resized); }; });
}; const topk_renders = { "chart": "#topk-chart",
};
new Runtime(Object.assign(new Library, {width: customWidth(“#topk-chart”)})).module(notebook_topk, name => { const selector = topk_renders[name]; if (selector) { // key exists return new Inspector(document.querySelector(selector)); } else { return true; }
}); const embed3d_renders = { "chart": "#embed3d-chart", "legend": "#embed3d-legend",
};
new Runtime(Object.assign(new Library, {width: customWidth(“#embed3d-chart”)})).module(notebook_embed3d, name => { const selector = embed3d_renders[name]; if (selector) { // key exists return new Inspector(document.querySelector(selector)); } else { return true; }
});
- '
- 100
- 11
- 3d
- 7
- הושג
- לרוחב
- אלגוריתמים
- בין
- API
- יישומים
- זמין
- בנצ 'מרק
- לחסום
- בִּניָן
- שיחה
- יכול לקבל
- מקרים
- שינוי
- ילד
- מיון
- קוד
- אוסף
- חברות
- חברה
- לעומת
- מחשבים
- תוכן
- שיחות
- לקוחות
- נתונים
- מאגרי מידע
- איתור
- אחר
- מֵמַד
- לְהַצִיג
- מסמכים
- בקלות
- נקודת קצה
- אירועים
- דוגמה
- מומחים
- משפחות
- מהר
- מאפיין
- תכונות
- מָשׁוֹב
- ראשון
- הבא
- פונקציה
- כללי
- גובה
- לעזור
- עוזר
- הסתר
- איך
- איך
- HTTPS
- היברידי
- כולל
- מידע
- תובנות
- אינטראקטיבי
- IT
- מפתח
- שפה
- למד
- למידה
- סִפְרִיָה
- ספרות
- מכונה
- למידת מכונה
- מַפָּה
- תואם
- דבר
- משמעות
- מדדים
- מודל
- מודלים
- מורגן
- רוב
- המהלך
- נאס"א
- טבעי
- רשת
- מספר
- אחר
- ביצועים
- ביטויים
- פיסיקה
- תכנון
- פלטפורמה
- פופולרי
- התחזיות
- בדיקה
- מיוצר
- המוצר
- תכנות
- לספק
- מספק
- איכות
- RE
- מערכות יחסים
- לשחרר
- לדווח
- דוחות לדוגמא
- תגובה
- תוצאות
- חיפוש
- נבחר
- סט
- דומה
- פתרונות
- מֶרחָב
- תקנים
- החל
- מדינה-of-the-art
- סגנון
- משימות
- נבחרת
- טכניקות
- דרך
- חלק עליון
- מסורתי
- להבין
- להשתמש
- ראיה
- W
- W3
- ויקיפדיה
- בתוך
- מילים
- עובד
- יוּאָן