Bevezetjük a beágyazásokat, az OpenAI API új végpontját, amely megkönnyíti a természetes nyelvi és kódolási feladatok, például a szemantikus keresés, fürtözés, témamodellezés és osztályozás végrehajtását. A beágyazások a fogalmak számsorozatokká konvertált numerikus ábrázolásai, amelyek megkönnyítik a számítógépek számára a fogalmak közötti kapcsolatok megértését. Beágyazásaink felülmúlják a csúcsmodelleket 3 standard benchmarkban, beleértve a 20%-os relatív javulást a kódkeresésben.
A beágyazások hasznosak a természetes nyelvvel és kóddal való munkavégzéshez, mert könnyen felhasználhatók és összehasonlíthatók más gépi tanulási modellekkel és algoritmusokkal, például a fürtözéssel vagy a kereséssel.
A számszerűen hasonló beágyazások szemantikailag is hasonlóak. Például a „kutyatársak azt mondják” beágyazási vektora jobban fog hasonlítani a „woof” beágyazási vektorához, mint a „miau”.
Az új végpont neurális hálózati modelleket használ, amelyek a GPT-3 leszármazottai, hogy a szöveget és a kódot vektoros reprezentációra képezzék le – „beágyazva” azokat egy nagy dimenziós térbe. Mindegyik dimenzió a bemenet bizonyos aspektusait rögzíti.
Az új /beágyazások végpont a OpenAI API szöveg- és kódbeágyazást biztosít néhány kódsorral:
import openai
response = openai.Embedding.create( input="canine companions say", engine="text-similarity-davinci-001")
Három beágyazási modellcsaládot adunk ki, amelyek mindegyikét úgy hangoljuk, hogy jól teljesítsenek a különböző funkciókban: szöveghasonlóság, szövegkeresés és kódkeresés. A modellek szöveget vagy kódot vesznek bemenetként, és egy beágyazási vektort adnak vissza.
Modellek | Használjon ügyeket | |
---|---|---|
Szöveg hasonlóság: Szemantikai hasonlóságot rögzít a szövegrészek között. | text-hasonlóság-{ada, babbage, curie, davinci}-001 | Klaszterezés, regresszió, anomália-detektálás, vizualizáció |
Szöveges keresés: Szemantikai információ visszakeresés dokumentumokon keresztül. | text-search-{ada, babbage, curie, davinci}-{query, doc}-001 | Keresés, kontextus relevancia, információkeresés |
Kódkeresés: Keresse meg a releváns kódot természetes nyelvű lekérdezéssel. | code-search-{ada, babbage}-{code, text}-001 | Kódkeresés és relevancia |
Szöveghasonlósági modellek
A szöveghasonlósági modellek olyan beágyazásokat biztosítanak, amelyek rögzítik a szövegrészek szemantikai hasonlóságát. Ezek a modellek számos feladathoz hasznosak, beleértve csoportosítás, adatmegjelenítésés besorolás.
A következő interaktív vizualizáció a DBpedia adatkészlet szövegmintáinak beágyazását mutatja be:
Két szövegrész hasonlóságának összehasonlításához egyszerűen használja a pont termék a szövegbeágyazásokon. Az eredmény egy „hasonlósági pontszám”, amelyet néha „koszinusz hasonlóság”, –1 és 1 között, ahol a nagyobb szám nagyobb hasonlóságot jelent. A legtöbb alkalmazásban a beágyazás előre kiszámítható, így a pontszerű termék-összehasonlítás rendkívül gyorsan elvégezhető.
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)
A beágyazások egyik népszerű felhasználási módja a gépi tanulási feladatok, például az osztályozás funkcióként való használata. A gépi tanulási szakirodalomban lineáris osztályozó használatakor ezt az osztályozási feladatot „lineáris próbának” nevezik. Szöveghasonlósági modelljeink a legkorszerűbb eredményeket érik el a lineáris szondák osztályozásában SentEval (Conneau és társai, 2018), egy általánosan használt viszonyítási alap a beágyazás minőségének értékeléséhez.
Szöveges keresési modellek
A szöveges keresési modellek olyan beágyazásokat biztosítanak, amelyek lehetővé teszik a nagyszabású keresési feladatokat, például egy releváns dokumentum megtalálását egy szöveges lekérdezéssel rendelkező dokumentumgyűjtemény között. A dokumentumok és a lekérdezés beágyazása külön jön létre, majd a koszinusz hasonlóságot használja a lekérdezés és az egyes dokumentumok közötti hasonlóság összehasonlítására.
A beágyazáson alapuló keresés jobban általánosítható, mint a klasszikus kulcsszavas keresésben használt szóátfedési technikák, mivel megragadja a szöveg szemantikai jelentését, és kevésbé érzékeny a pontos kifejezésekre vagy szavakra. Értékeljük a szöveges keresési modell teljesítményét a BEIR (Thakur és mtsai. 2021) keressen kiértékelő csomagot, és jobb keresési teljesítményt érjen el, mint a korábbi módszerek. A miénk szöveges keresési útmutató további részleteket ad a beágyazások keresési feladatokhoz való használatáról.
Kódkereső modellek
A kódkeresési modellek kód- és szövegbeágyazást biztosítanak a kódkeresési feladatokhoz. Adott egy kódblokk gyűjtemény, a feladat az, hogy megtaláljuk a megfelelő kódblokkot egy természetes nyelvű lekérdezéshez. Kiértékeljük a kódkeresési modelleket a CodeSearchNet (Husian és társai, 2019) kiértékelő csomag, ahol a beágyazásaink lényegesen jobb eredményeket érnek el, mint a korábbi módszerek. Nézze meg a kódkeresési útmutató beágyazások használatához kódkereséshez.
Példák az Embeddings API-ra működés közben
JetBrains kutatás
JetBrains Research Astroparticle Physics Lab olyan adatokat elemzi A csillagász távirata és a NASA -é GCN körlevelek, amelyek olyan csillagászati eseményeket tartalmaznak, amelyek hagyományos algoritmusokkal nem elemezhetők.
Az OpenAI beágyazott csillagászati jelentéseinek köszönhetően a kutatók több adatbázisban és publikációban is képesek olyan események után kutatni, mint a „rákpulzár-kitörések”. A beágyazások 99.85%-os pontosságot értek el az adatforrások osztályozásában is a k-means klaszterezés révén.
FineTune Learning
FineTune Learning egy hibrid ember-AI tanulási megoldásokat fejlesztő vállalat, mint pl adaptív tanulási hurkok amelyek segítenek a hallgatóknak elérni a tudományos színvonalat.
Az OpenAI beágyazásai jelentősen javították a tankönyvi tartalom keresési feladatát a tanulási célok alapján. Az OpenAI szöveg-kereső-curie beágyazási modellje az öt legjobb 5%-os pontosságot elérve felülmúlta a korábbi megközelítéseket, például a Sentence-BERT-t (89.1%). Míg a humán szakértők még mindig jobbak, a FineTune csapata immár pillanatok alatt képes egész tankönyvet felcímkézni, ellentétben azzal, hogy a szakértőknek ez több órát vett igénybe.
Fabius
Fabius segít a vállalatoknak, hogy az ügyfelekkel folytatott beszélgetéseket strukturált betekintésekké alakítsák, amelyek a tervezést és a prioritások meghatározását szolgálják. Az OpenAI beágyazásai lehetővé teszik a vállalatok számára, hogy könnyebben megtalálják és megcímkézzék az ügyfélhívások átiratait a szolgáltatáskérésekkel.
Például az ügyfelek olyan szavakat használhatnak, mint az „automatizált” vagy „könnyen használható”, hogy jobb önkiszolgáló platformot kérjenek. Korábban Fabius fuzzy kulcsszavas keresést használt, hogy megpróbálja ezeket az átiratokat az önkiszolgáló platform címkéjével ellátni. Az OpenAI beágyazásaival most 2x több példát találhatnak általában, és 6x-10x több példát olyan elvont használati esetekkel rendelkező funkciókra, amelyekhez nincs egyértelmű kulcsszó, amelyet az ügyfelek használhatnának.
Minden API-ügyfél elkezdheti a beágyazási dokumentáció a beágyazás használatához az alkalmazásaikban.
.vector-diagram img { display: none;
}
.vector-diagram img:first-child { display: block;
}
var printResponse = function (btn) { // válasz hozzáfűzése var responseEl = document .querySelector('.endpoint-code-response') .querySelector('code') var callParentEl = document .querySelector('.endpoint-code-call') ) .querySelector('pre') if (!responseEl || !callParentEl) return; callParentEl.appendChild(responseEl); // gomb elrejtése btn.style.display= 'nincs';
}; var initRotate = function () { var rotates = document.querySelectorAll('.js-rotate'); if (!forog.hossz) return; // minden forgatás halmazhoz rotates.forEach(function (r) { // az első gyermek mozgatása a végére n másodpercenként window.setInterval(function(){ moveToEnd(r, r.firstElementChild); }, 1500; }) ;
};
var moveToEnd = function (szülő, gyermek) { parent.removeChild(child); szülő.appendChild(gyermek); // hozzáfűzi a szülőhöz
}; var initShowMore = function () { var showmores = document.querySelectorAll('.js-showmore'); showmores.forEach(function (e) { e.addEventListener('kattintás', function () { var showmoreparent = this.parentElement; if (!showmoreparent) return; var more = showmoreparent.querySelector('.js-more'); if (!more) return; more.style.display = 'blokk'; this.style.display = 'nincs'; }); });
}; // benne
document.addEventListener('DOMContentLoaded', function () { initRotate(); initShowMore();
});
import {Runtime, Inspector, Library} innen: „https://unpkg.com/@observablehq/runtime@4.5.0/dist/runtime.js”;
import notebook_topk from “https://api.observablehq.com/d/20c1e51d6e663e6d.js?v=3”;
import notebook_embed3d innen: “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 !== szélesség) change(width = w); } window.addEventListener(“ resize", átméretezett); return function() { window.removeEventListener("átméretezés", átméretezett); }; });
}; 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 létezik return new Inspector(document.querySelector(selector)); } else { return true; }
}); const embed3d_renders = { “diagram”: “#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 létezik return new Inspector(document.querySelector(selector)); } else { return true; }
});
- '
- 100
- 11
- 3d
- 7
- elért
- át
- algoritmusok
- között
- api
- alkalmazások
- elérhető
- benchmark
- Blokk
- Épület
- hívás
- Kaphat
- esetek
- változik
- gyermek
- besorolás
- kód
- gyűjtemény
- Companies
- vállalat
- képest
- számítógépek
- tartalom
- beszélgetések
- Ügyfelek
- dátum
- adatbázisok
- Érzékelés
- különböző
- Dimenzió
- kijelző
- dokumentumok
- könnyen
- Endpoint
- események
- példa
- szakértők
- családok
- GYORS
- Funkció
- Jellemzők
- Visszacsatolás
- vezetéknév
- következő
- funkció
- általános
- magasság
- segít
- segít
- elrejt
- Hogyan
- How To
- HTTPS
- hibrid
- Beleértve
- információ
- meglátások
- interaktív
- IT
- Kulcs
- nyelv
- tanult
- tanulás
- könyvtár
- irodalom
- gép
- gépi tanulás
- térkép
- egyező
- Anyag
- jelenti
- Metrics
- modell
- modellek
- Morgan
- a legtöbb
- mozog
- Nasa
- Természetes
- hálózat
- szám
- Más
- teljesítmény
- kifejezés
- Fizika
- tervezés
- emelvény
- Népszerű
- Tippek
- szonda
- Készült
- Termékek
- Programozás
- ad
- biztosít
- világítás
- RE
- Kapcsolatok
- engedje
- jelentést
- Jelentések
- válasz
- Eredmények
- Keresés
- kiválasztott
- készlet
- hasonló
- Megoldások
- Hely
- szabványok
- kezdődött
- csúcs-
- stílus
- feladatok
- csapat
- technikák
- Keresztül
- felső
- hagyományos
- megért
- használ
- megjelenítés
- W
- W3
- Wikipedia
- belül
- szavak
- dolgozó
- Yuan