Predstavljamo vdelave, novo končno točko v API-ju OpenAI, ki olajša izvajanje nalog naravnega jezika in kode, kot so semantično iskanje, združevanje v gruče, modeliranje tem in klasifikacija. Vdelave so numerične predstavitve konceptov, pretvorjene v številska zaporedja, ki računalnikom olajšajo razumevanje odnosov med temi koncepti. Naše vdelave prekašajo vrhunske modele v 3 standardnih merilih uspešnosti, vključno z 20-odstotnim relativnim izboljšanjem pri iskanju kode.
Vdelave so uporabne za delo z naravnim jezikom in kodo, saj jih je mogoče brez težav uporabljati in primerjati z drugimi modeli in algoritmi strojnega učenja, kot sta združevanje v gruče ali iskanje.
Vdelave, ki so številčno podobne, so tudi pomensko podobne. Na primer, vdelani vektor »pasji spremljevalci pravijo« bo bolj podoben vdelanemu vektorju »woof« kot vektorju »meow«.
Nova končna točka uporablja modele nevronskih mrež, ki so potomci GPT-3, za preslikavo besedila in kode v vektorsko predstavitev – ju »vdela« v visokodimenzionalni prostor. Vsaka dimenzija zajame določen vidik vnosa.
Novi /vdelave končna točka v API OpenAI ponuja vdelavo besedila in kode z nekaj vrsticami kode:
import openai
response = openai.Embedding.create( input="canine companions say", engine="text-similarity-davinci-001")
Izdajamo tri družine modelov vdelave, od katerih je vsaka prilagojena za dobro delovanje pri različnih funkcijah: podobnost besedila, iskanje besedila in iskanje kode. Modeli sprejmejo besedilo ali kodo kot vhod in vrnejo vdelani vektor.
Modeli | Uporabite primere | |
---|---|---|
Podobnost besedila: Zajame semantično podobnost med deli besedila. | besedilna podobnost-{ada, babbage, curie, davinci}-001 | Grozdenje, regresija, odkrivanje anomalij, vizualizacija |
Iskanje besedila: Semantično iskanje informacij nad dokumenti. | iskanje po besedilu-{ada, babbage, curie, davinci}-{poizvedba, dokument}-001 | Iskanje, ustreznost konteksta, iskanje informacij |
Iskanje kode: Poiščite ustrezno kodo s poizvedbo v naravnem jeziku. | code-search-{ada, babbage}-{code, text}-001 | Iskanje kode in ustreznost |
Modeli podobnosti besedila
Modeli podobnosti besedila zagotavljajo vdelave, ki zajemajo semantično podobnost delov besedila. Ti modeli so uporabni za številne naloge, vključno z grozdenje, vizualizacija podatkovin Razvrstitev.
Naslednja interaktivna vizualizacija prikazuje vdelave vzorcev besedila iz nabora podatkov DBpedia:
Če želite primerjati podobnost dveh delov besedila, preprosto uporabite pik izdelek na vdelave besedila. Rezultat je "rezultat podobnosti", včasih imenovan "kosinusna podobnost,« med –1 in 1, pri čemer večja številka pomeni večjo podobnost. V večini aplikacij je mogoče vdelave vnaprej izračunati, nato pa je primerjava pikčastih produktov izjemno hitra.
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)
Ena priljubljena uporaba vdelav je njihova uporaba kot funkcij v nalogah strojnega učenja, kot je klasifikacija. V literaturi o strojnem učenju se pri uporabi linearnega klasifikatorja ta klasifikacijska naloga imenuje »linearna sonda«. Naši modeli podobnosti besedila dosegajo nove najsodobnejše rezultate pri klasifikaciji linearne sonde SentEval (Conneau et al., 2018), pogosto uporabljeno merilo uspešnosti za ocenjevanje kakovosti vdelave.
Modeli iskanja besedila
Modeli iskanja po besedilu zagotavljajo vdelave, ki omogočajo obsežne iskalne naloge, kot je iskanje ustreznega dokumenta med zbirko dokumentov, ki jih poda besedilna poizvedba. Vdelava za dokumente in poizvedbo se izvedeta ločeno, nato pa se za primerjavo podobnosti med poizvedbo in posameznim dokumentom uporabi kosinusna podobnost.
Iskanje na podlagi vdelave lahko posplošuje bolje kot tehnike prekrivanja besed, ki se uporabljajo pri klasičnem iskanju po ključnih besedah, ker zajame semantični pomen besedila in je manj občutljivo na natančne fraze ali besede. Učinkovitost modela iskanja po besedilu ocenjujemo na BEIR (Thakur, et al. 2021) zbirko za vrednotenje iskanja in doseči boljšo zmogljivost iskanja kot prejšnje metode. Naš vodnik za iskanje po besedilu nudi več podrobnosti o uporabi vdelav za iskalna opravila.
Modeli iskanja kode
Modeli iskanja kode zagotavljajo vdelave kode in besedila za naloge iskanja kode. Glede na zbirko kodnih blokov je naloga najti ustrezen kodni blok za poizvedbo v naravnem jeziku. Ocenjujemo modele iskanja kode na CodeSearchNet (Husian et al., 2019) ocenjevalni paket, kjer naše vdelave dosegajo bistveno boljše rezultate kot prejšnje metode. Oglejte si vodnik za iskanje kode za uporabo vdelav za iskanje kode.
Primeri API-ja za vdelave v akciji
JetBrains Research
JetBrains Research's Laboratorij za fiziko delcev analizira podatke, kot so Astronomski telegram in NASA Okrožnice GCN, ki so poročila, ki vsebujejo astronomske dogodke, ki jih tradicionalni algoritmi ne morejo razčleniti.
S pomočjo vdelav teh astronomskih poročil OpenAI lahko raziskovalci zdaj iščejo dogodke, kot so "izbruhi rakovega pulsarja", v več bazah podatkov in publikacijah. Vdelave so dosegle tudi 99.85-odstotno natančnost pri razvrščanju virov podatkov prek združevanja k-means v gruče.
FineTune Learning
FineTune Learning je podjetje, ki gradi hibridne rešitve človek-AI za učenje, kot je prilagodljive učne zanke ki študentom pomagajo doseči akademske standarde.
Vdelave OpenAI so znatno izboljšale nalogo iskanja učbeniške vsebine na podlagi učnih ciljev. Z doseganjem top 5 natančnosti 89.1 % je OpenAI-jev model vdelav besedilnega iskanja curie presegel prejšnje pristope, kot je Sentence-BERT (64.5 %). Medtem ko so človeški strokovnjaki še vedno boljši, lahko ekipa FineTune zdaj označi celotne učbenike v nekaj sekundah, v nasprotju z urami, ki so jih potrebovali strokovnjaki.
Fabius
Fabius podjetjem pomaga spremeniti pogovore s strankami v strukturirane vpoglede, ki so osnova za načrtovanje in določanje prednostnih nalog. Vdelave OpenAI omogočajo podjetjem, da lažje najdejo in označijo prepise klicev strank z zahtevami po funkcijah.
Stranke lahko na primer uporabijo besede, kot sta »avtomatsko« ali »enostavno za uporabo«, da zahtevajo boljšo samopostrežno platformo. Pred tem je Fabius uporabljal mehko iskanje po ključnih besedah, da bi poskušal te prepise označiti z oznako samopostrežne platforme. Z vdelavami OpenAI lahko zdaj najdejo 2x več primerov na splošno in 6x–10x več primerov za funkcije z abstraktnimi primeri uporabe, ki nimajo jasne ključne besede, ki bi jo stranke morda uporabile.
Vse stranke API-ja lahko začnejo uporabljati dokumentacijo o vdelavah za uporabo vdelav v njihovih aplikacijah.
.vector-diagram img { display: none;
}
.vector-diagram img:first-child { display: block;
}
var printResponse = function (btn) { // pripni odgovor 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); // skrij gumb btn.style.display= 'brez';
}; var initRotate = function () { var rotates = document.querySelectorAll('.js-rotate'); if (!rotates.length) return; // za vsak niz vrtenja rotates.forEach(function (r) { // premakni prvega podrejenega na konec vsakih n sekund window.setInterval(function(){ moveToEnd(r, r.firstElementChild); }, 1500); }) ;
};
var moveToEnd = funkcija (starš, otrok) { parent.removeChild(child); parent.appendChild(child); // pripni nadrejenemu
}; var initShowMore = funkcija () { 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'; }); });
}; // v
document.addEventListener('DOMContentLoaded', function () { initRotate(); initShowMore();
});
uvozite {Runtime, Inspector, Library} iz “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 from “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(“ spremeni velikost", spremenjena velikost); return function() { window.removeEventListener("spremeni velikost", spremenjena velikost); }; });
}; const topk_renders = { “graf”: “#topk-graf”,
};
new Runtime(Object.assign(new Library, {width: customWidth(“#topk-chart”)})).module(notebook_topk, name => { const selector = topk_renders[name]; if (selector) { // tipka obstaja vrni nov Inspector(document.querySelector(selector)); } else { return true; }
}); const embed3d_renders = { “chart”: “#embed3d-chart”, “legenda”: “#embed3d-legend”,
};
new Runtime(Object.assign(new Library, {width: customWidth(“#embed3d-chart”)})).module(notebook_embed3d, name => { const selector = embed3d_renders[name]; if (selector) { // tipka obstaja vrni nov Inspector(document.querySelector(selector)); } else { return true; }
});
- '
- 100
- 11
- 3d
- 7
- doseže
- čez
- algoritmi
- med
- API
- aplikacije
- Na voljo
- merilo
- Block
- Building
- klic
- Lahko dobiš
- primeri
- spremenite
- otrok
- Razvrstitev
- Koda
- zbirka
- Podjetja
- podjetje
- v primerjavi z letom
- računalniki
- vsebina
- pogovorov
- Stranke, ki so
- datum
- baze podatkov
- Odkrivanje
- drugačen
- Dimenzije
- zaslon
- Dokumenti
- enostavno
- Končna točka
- dogodki
- Primer
- Strokovnjaki
- družine
- FAST
- Feature
- Lastnosti
- povratne informacije
- prva
- po
- funkcija
- splošno
- višina
- pomoč
- Pomaga
- Skrij
- Kako
- Kako
- HTTPS
- Hybrid
- Vključno
- Podatki
- vpogledi
- interaktivno
- IT
- Ključne
- jezik
- naučili
- učenje
- Knjižnica
- literatura
- stroj
- strojno učenje
- map
- ujemanje
- Matter
- kar pomeni,
- Meritve
- Model
- modeli
- Morgan
- Najbolj
- premikanje
- Nasa
- naravna
- mreža
- Številka
- Ostalo
- performance
- stavki
- Fizika
- načrtovanje
- platforma
- Popular
- Napovedi
- Sonda
- Proizvedeno
- Izdelek
- Programiranje
- zagotavljajo
- zagotavlja
- kakovost
- RE
- Razmerja
- sprostitev
- poročilo
- Poročila
- Odgovor
- Rezultati
- Iskalnik
- izbran
- nastavite
- Podoben
- rešitve
- Vesolje
- standardi
- začel
- state-of-the-art
- slog
- Naloge
- skupina
- tehnike
- skozi
- vrh
- tradicionalna
- razumeli
- uporaba
- vizualizacija
- W
- W3
- Wikipedia
- v
- besede
- deluje
- Yuan