Wprowadzamy osadzanie, nowy punkt końcowy w interfejsie API OpenAI, który ułatwia wykonywanie zadań w języku naturalnym i kodowaniu, takich jak wyszukiwanie semantyczne, klastrowanie, modelowanie tematów i klasyfikacja. Osadzenia to liczbowe reprezentacje pojęć przekonwertowane na sekwencje liczbowe, co ułatwia komputerom zrozumienie relacji między tymi pojęciami. Nasze osadzania przewyższają najlepsze modele w 3 standardowych testach porównawczych, w tym względną poprawę wyszukiwania kodu o 20%.
Osadzania są przydatne do pracy z językiem naturalnym i kodem, ponieważ mogą być łatwo wykorzystywane i porównywane przez inne modele i algorytmy uczenia maszynowego, takie jak klastrowanie lub wyszukiwanie.
Osadzenia, które są podobne numerycznie, są również podobne semantycznie. Na przykład wektor osadzania słowa „psi towarzysze mówią” będzie bardziej podobny do wektora osadzania „hau” niż wektora „miau”.
Nowy punkt końcowy wykorzystuje modele sieci neuronowych, które są potomkami GPT-3, do mapowania tekstu i kodu na reprezentację wektorową — „osadzając” je w przestrzeni wielowymiarowej. Każdy wymiar oddaje pewien aspekt danych wejściowych.
Nowa /osadzania punkt końcowy w API OpenAI zapewnia osadzanie tekstu i kodu z kilkoma linijkami kodu:
import openai
response = openai.Embedding.create( input="canine companions say", engine="text-similarity-davinci-001")
Udostępniamy trzy rodziny modeli osadzania, z których każda jest dostosowana do różnych funkcji: podobieństwa tekstu, wyszukiwania tekstu i wyszukiwania kodu. Modele pobierają tekst lub kod jako dane wejściowe i zwracają wektor osadzania.
modele | Przypadków użycia | |
---|---|---|
Podobieństwo tekstu: Przechwytuje semantyczne podobieństwo między fragmentami tekstu. | tekst-podobieństwo-{ada, babbage, curie, davinci}-001 | Klastrowanie, regresja, wykrywanie anomalii, wizualizacja |
Wyszukiwanie tekstu: Semantyczne wyszukiwanie informacji w dokumentach. | wyszukiwanie tekstowe-{ada, babbage, curie, davinci}-{zapytanie, doc}-001 | Wyszukiwanie, znaczenie kontekstowe, wyszukiwanie informacji |
Wyszukiwanie kodu: Znajdź odpowiedni kod za pomocą zapytania w języku naturalnym. | wyszukiwanie kodu-{ada, babbage}-{kod, tekst}-001 | Wyszukiwanie kodu i trafność |
Modele podobieństwa tekstu
Modele podobieństwa tekstu zapewniają osadzania, które przechwytują semantyczne podobieństwo fragmentów tekstu. Modele te są przydatne do wielu zadań, w tym: klastrowanie, Wizualizacja danych, klasyfikacja.
Poniższa interaktywna wizualizacja pokazuje osadzanie próbek tekstu z zestawu danych DBpedia:
Aby porównać podobieństwo dwóch fragmentów tekstu, wystarczy użyć produkt kropkowy na osadzeniach tekstu. Wynikiem jest „wynik podobieństwa”, czasami nazywany „podobieństwo cosinusowe”, między –1 a 1, gdzie wyższa liczba oznacza większe podobieństwo. W większości zastosowań osadzania można wstępnie obliczyć, a następnie porównanie iloczynów skalarnych jest niezwykle szybkie do przeprowadzenia.
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)
Jednym z popularnych zastosowań osadzania jest używanie ich jako funkcji w zadaniach uczenia maszynowego, takich jak klasyfikacja. W literaturze dotyczącej uczenia maszynowego, gdy używa się klasyfikatora liniowego, to zadanie klasyfikacji nazywa się „sondą liniową”. Nasze modele podobieństwa tekstu osiągają nowe, najnowocześniejsze wyniki w zakresie klasyfikacji sond liniowych w WysłaneEval (Conneau i in., 2018), powszechnie używany punkt odniesienia do oceny jakości osadzania.
Modele wyszukiwania tekstowego
Modele wyszukiwania tekstu zapewniają osadzania, które umożliwiają wykonywanie zadań wyszukiwania na dużą skalę, takich jak znajdowanie odpowiedniego dokumentu w zbiorze dokumentów na podstawie zapytania tekstowego. Osadzania dla dokumentów i zapytania są tworzone oddzielnie, a następnie podobieństwo kosinusowe jest używane do porównania podobieństwa między zapytaniem a każdym dokumentem.
Wyszukiwanie oparte na osadzeniu może uogólniać lepiej niż techniki nakładania się słów stosowane w klasycznym wyszukiwaniu słów kluczowych, ponieważ przechwytuje semantyczne znaczenie tekstu i jest mniej wrażliwe na dokładne frazy lub słowa. Oceniamy skuteczność modelu wyszukiwania tekstowego na BEIR (Thakura i in. 2021) zestaw do oceny wyszukiwania i uzyskać lepszą wydajność wyszukiwania niż poprzednie metody. Nasz przewodnik wyszukiwania tekstu zawiera więcej szczegółów na temat korzystania z osadzeń w zadaniach wyszukiwania.
Modele wyszukiwania kodu
Modele wyszukiwania kodu zapewniają osadzanie kodu i tekstu dla zadań wyszukiwania kodu. Mając zestaw bloków kodu, zadaniem jest znalezienie odpowiedniego bloku kodu dla zapytania w języku naturalnym. Oceniamy modele wyszukiwania kodu na CodeSearchNet (Husian i in., 2019) pakiet ewaluacyjny, w którym nasze osadzania osiągają znacznie lepsze wyniki niż wcześniejsze metody. Sprawdź przewodnik wyszukiwania kodu używać osadzeń do wyszukiwania kodu.
Przykłady Embeddings API w działaniu
Badania JetBrains
Badania JetBrains Laboratorium fizyki astrocząstek analizuje dane, takie jak Telegram Astronomera i NASA Okólniki GCN, czyli raporty zawierające zdarzenia astronomiczne, których nie można przeanalizować za pomocą tradycyjnych algorytmów.
Opierając się na osadzeniu tych raportów astronomicznych przez OpenAI, naukowcy są teraz w stanie wyszukiwać zdarzenia, takie jak „wybuchy pulsarów kraba” w wielu bazach danych i publikacjach. Osadzenia osiągnęły również 99.85% dokładność klasyfikacji źródeł danych za pomocą grupowania k-średnich.
Nauka dostrajania
Nauka dostrajania jest firmą budującą hybrydowe rozwiązania człowiek-AI do nauki, takie jak adaptacyjne pętle uczenia się które pomagają uczniom osiągnąć standardy akademickie.
Osadzania OpenAI znacznie poprawiły zadanie wyszukiwania treści podręcznika w oparciu o cele nauczania. Osiągając dokładność top-5 na poziomie 89.1%, model osadzania OpenAI przewyższył poprzednie podejścia, takie jak Sentence-BERT (64.5%). Podczas gdy eksperci są wciąż lepsi, zespół FineTune jest teraz w stanie oznaczyć całe podręczniki w ciągu kilku sekund, w przeciwieństwie do godzin, które zajęło ekspertom.
Fabius
Fabius pomaga firmom przekształcać rozmowy z klientami w uporządkowane informacje, które pomagają w planowaniu i ustalaniu priorytetów. Osadzania OpenAI pozwalają firmom łatwiej znajdować i oznaczać transkrypcje połączeń klientów za pomocą żądań funkcji.
Na przykład klienci mogą używać słów takich jak „automatyczny” lub „łatwy w użyciu”, aby poprosić o lepszą platformę samoobsługową. Wcześniej Fabius używał rozmytego wyszukiwania słów kluczowych, aby oznaczyć te transkrypcje etykietą platformy samoobsługowej. Dzięki osadzeniom OpenAI są teraz w stanie znaleźć 2x więcej przykładów ogólnie i 6x-10x więcej przykładów funkcji z abstrakcyjnymi przypadkami użycia, które nie mają jasnego słowa kluczowego, którego mogliby użyć klienci.
Wszyscy klienci API mogą zacząć od dokumentacja osadzeń za wykorzystanie osadzeń w swoich aplikacjach.
.vector-diagram img { wyświetlanie: brak;
}
.vector-diagram img:pierwsze dziecko { wyświetlacz: blok;
}
var printResponse = function (btn) { // dodaj odpowiedź 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); // ukryj przycisk btn.style.display= 'brak';
}; var initRotate = function () { var obraca = document.querySelectorAll('.js-rotate'); if (!rotates.length) return; // dla każdego zestawu obrotów obraca się.forEach(function (r) { // przenieś pierwsze dziecko do końca co n sekund window.setInterval(function(){ moveToEnd(r, r.firstElementChild); }, 1500; }) ;
};
var moveToEnd = function (rodzic, dziecko) { parent.removeChild(dziecko); rodzic.dołączDziecko(dziecko); // dołącz do rodzica
}; var initShowMore = function () { var showmores = document.querySelectorAll('.js-showmore'); showmores.forEach(function (e) { e.addEventListener('kliknij', function () { var showmoreparent = this.parentElement; if (!showmoreparent) return; var more = showmoreparent.querySelector('.js-more'); if (!more) return;more.style.display = 'blok'; this.style.display = 'brak'; }); });
}; // w tym
document.addEventListener('DOMContentLoaded', function () { initRotate(); initShowMore();
});
importuj {Runtime, Inspector, Library} z „https://unpkg.com/@observablehq/runtime@4.5.0/dist/runtime.js”;
import notebook_topk from “https://api.observablehq.com/d/20c1e51d6e663e6d.js?v=3”;
importuj notebook_embed3d z „https://api.observablehq.com/d/fef0801cb0a0b322.js?v=3” const customWidth = function (selector) { return (nowa biblioteka).Generators.observe(function(change) { var width = change(document.querySelector(selector).clientWidth); function resized() { var w = document.querySelector(selector).clientWidth; if (w !== szerokość) change(width = w); } window.addEventListener(“ zmień rozmiar”, zmień rozmiar); return function() { window.removeEventListener(„zmień rozmiar”, zmień rozmiar); }; });
}; const topk_renders = { „wykres”: „#wykres-topk”,
};
new Runtime(Object.assign(new Library, {width: customWidth(“#topk-chart”)})).module(notebook_topk, name => { const selector = topk_renders[name]; if (selector) { // key istnieje return new Inspector(document.querySelector(selector)); } else { return true; }
}); const embed3d_renders = { „wykres”: „#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) { // key istnieje return new Inspector(document.querySelector(selector)); } else { return true; }
});
- '
- 100
- 11
- 3d
- 7
- osiągnięty
- w poprzek
- Algorytmy
- wśród
- api
- aplikacje
- dostępny
- Benchmark
- Blokować
- Budowanie
- wezwanie
- Może uzyskać
- Etui
- zmiana
- dziecko
- klasyfikacja
- kod
- kolekcja
- Firmy
- sukcesy firma
- w porównaniu
- komputery
- zawartość
- rozmowy
- Klientów
- dane
- Bazy danych
- Wykrywanie
- różne
- Wymiary
- Wyświetlacz
- dokumenty
- z łatwością
- Punkt końcowy
- wydarzenia
- przykład
- eksperci
- rodzin
- FAST
- Cecha
- Korzyści
- informacja zwrotna
- i terminów, a
- następujący
- funkcjonować
- Ogólne
- wysokość
- pomoc
- pomaga
- Ukryj
- W jaki sposób
- How To
- HTTPS
- Hybrydowy
- Włącznie z
- Informacja
- spostrzeżenia
- interaktywne
- IT
- Klawisz
- język
- dowiedziałem
- nauka
- Biblioteka
- literatura
- maszyna
- uczenie maszynowe
- mapa
- dopasowywanie
- Materia
- znaczenie
- Metryka
- model
- modele
- Morgan
- większość
- ruch
- NASA
- Naturalny
- sieć
- numer
- Inne
- jest gwarancją najlepszej jakości, które mogą dostarczyć Ci Twoje monitory,
- Zwroty
- Fizyka
- planowanie
- Platforma
- Popularny
- Przewidywania
- sonda
- Wytworzony
- Produkt
- Programowanie
- zapewniać
- zapewnia
- jakość
- RE
- Relacje
- zwolnić
- raport
- Raporty
- odpowiedź
- Efekt
- Szukaj
- wybrany
- zestaw
- podobny
- Rozwiązania
- Typ przestrzeni
- standardy
- rozpoczęty
- state-of-the-art
- styl
- zadania
- zespół
- Techniki
- Przez
- Top
- tradycyjny
- zrozumieć
- posługiwać się
- wyobrażanie sobie
- W
- W3
- Wikipedia
- w ciągu
- słowa
- pracujący
- Yuan