Estamos introduciendo incrustaciones, un nuevo punto final en la API de OpenAI que facilita la realización de tareas de código y lenguaje natural como búsqueda semántica, agrupación, modelado de temas y clasificación. Las incrustaciones son representaciones numéricas de conceptos convertidos en secuencias numéricas, lo que facilita que las computadoras comprendan las relaciones entre esos conceptos. Nuestras incrustaciones superan a los mejores modelos en 3 puntos de referencia estándar, incluida una mejora relativa del 20 % en la búsqueda de código.
Las incrustaciones son útiles para trabajar con código y lenguaje natural, ya que pueden consumirse y compararse fácilmente con otros modelos y algoritmos de aprendizaje automático, como la agrupación en clústeres o la búsqueda.
Las incrustaciones que son numéricamente similares también lo son semánticamente. Por ejemplo, el vector de incrustación de "compañeros caninos dicen" será más similar al vector de incrustación de "guau" que al de "miau".
El nuevo punto final utiliza modelos de redes neuronales, que son descendientes de GPT-3, para asignar texto y código a una representación vectorial, "incrustarlos" en un espacio de alta dimensión. Cada dimensión captura algún aspecto de la entrada.
El nuevo /incrustaciones punto final en el API OpenAI proporciona incrustaciones de texto y código con unas pocas líneas de código:
import openai
response = openai.Embedding.create( input="canine companions say", engine="text-similarity-davinci-001")
Estamos lanzando tres familias de modelos integrados, cada uno ajustado para funcionar bien en diferentes funcionalidades: similitud de texto, búsqueda de texto y búsqueda de código. Los modelos toman texto o código como entrada y devuelven un vector de incrustación.
fexibles | Casos de uso | |
---|---|---|
Similitud de texto: captura la similitud semántica entre fragmentos de texto. | similitud de texto-{ada, babbage, curie, davinci}-001 | Clustering, regresión, detección de anomalías, visualización |
Búsqueda de texto: Recuperación de información semántica sobre documentos. | búsqueda de texto-{ada, babbage, curie, davinci}-{consulta, doc}-001 | Búsqueda, relevancia del contexto, recuperación de información |
Búsqueda de código: Encuentra código relevante con una consulta en lenguaje natural. | código-búsqueda-{ada, babbage}-{código, texto}-001 | Búsqueda de código y relevancia |
Modelos de similitud de texto
Los modelos de similitud de texto proporcionan incrustaciones que capturan la similitud semántica de los fragmentos de texto. Estos modelos son útiles para muchas tareas, incluyendo clustering, Visualización de datosy clasificación.
La siguiente visualización interactiva muestra incrustaciones de muestras de texto del conjunto de datos de DBpedia:
Para comparar la similitud de dos piezas de texto, simplemente use el producto de punto en las incrustaciones de texto. El resultado es una "puntuación de similitud", a veces llamada "similitud de coseno”, entre -1 y 1, donde un número más alto significa más similitud. En la mayoría de las aplicaciones, las incrustaciones se pueden precalcular y luego la comparación del producto escalar es extremadamente rápida de realizar.
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)
Un uso popular de las incrustaciones es usarlos como funciones en tareas de aprendizaje automático, como la clasificación. En la literatura de aprendizaje automático, cuando se utiliza un clasificador lineal, esta tarea de clasificación se denomina "sonda lineal". Nuestros modelos de similitud de texto logran nuevos resultados de vanguardia en la clasificación de sonda lineal en Evaluación enviada (Conneau y otros, 2018), un punto de referencia de uso común para evaluar la calidad de incrustación.
Modelos de búsqueda de texto
Los modelos de búsqueda de texto proporcionan incrustaciones que permiten tareas de búsqueda a gran escala, como encontrar un documento relevante entre una colección de documentos dada una consulta de texto. La incrustación de los documentos y la consulta se produce por separado, y luego se usa la similitud del coseno para comparar la similitud entre la consulta y cada documento.
La búsqueda basada en incrustaciones puede generalizar mejor que las técnicas de superposición de palabras utilizadas en la búsqueda clásica de palabras clave, porque captura el significado semántico del texto y es menos sensible a frases o palabras exactas. Evaluamos el rendimiento del modelo de búsqueda de texto en el BEIR (Thakur, et al. 2021) suite de evaluación de búsqueda y obtener un mejor rendimiento de búsqueda que los métodos anteriores. Nuestro guía de búsqueda de texto proporciona más detalles sobre el uso de incrustaciones para tareas de búsqueda.
Modelos de búsqueda de código
Los modelos de búsqueda de código proporcionan incrustaciones de código y texto para tareas de búsqueda de código. Dada una colección de bloques de código, la tarea es encontrar el bloque de código relevante para una consulta en lenguaje natural. Evaluamos los modelos de búsqueda de código en el CódigoBuscarNet (Husian et al., 2019) suite de evaluación donde nuestras incrustaciones logran resultados significativamente mejores que los métodos anteriores. Revisar la guía de búsqueda de código para usar incrustaciones para la búsqueda de código.
Ejemplos de la API de incrustaciones en acción
Investigación de JetBrains
Investigación de JetBrains Laboratorio de Física de Astropartículas analiza datos como El telegrama del astrónomo y de la NASA Circulares GCN, que son informes que contienen eventos astronómicos que los algoritmos tradicionales no pueden analizar.
Impulsado por las incrustaciones de OpenAI de estos informes astronómicos, los investigadores ahora pueden buscar eventos como "estallidos de púlsares de cangrejo" en múltiples bases de datos y publicaciones. Las incrustaciones también lograron una precisión del 99.85 % en la clasificación de fuentes de datos a través de la agrupación en clústeres k-means.
Aprendizaje FineTune
Aprendizaje FineTune es una empresa que crea soluciones híbridas de inteligencia artificial humana para el aprendizaje, como bucles de aprendizaje adaptativo que ayudan a los estudiantes a alcanzar los estándares académicos.
Las incrustaciones de OpenAI mejoraron significativamente la tarea de encontrar contenido de libros de texto en función de los objetivos de aprendizaje. Con una precisión del 5 % entre los 89.1 primeros, el modelo de incrustaciones de curie de búsqueda de texto de OpenAI superó a enfoques anteriores como Sentence-BERT (64.5 %). Si bien los expertos humanos son aún mejores, el equipo de FineTune ahora puede etiquetar libros de texto completos en cuestión de segundos, en contraste con las horas que les tomó a los expertos.
Fabius
Fabius ayuda a las empresas a convertir las conversaciones de los clientes en conocimientos estructurados que informan la planificación y la priorización. Las incrustaciones de OpenAI permiten a las empresas encontrar y etiquetar más fácilmente las transcripciones de llamadas de los clientes con solicitudes de funciones.
Por ejemplo, los clientes pueden usar palabras como "automatizado" o "fácil de usar" para solicitar una mejor plataforma de autoservicio. Anteriormente, Fabius utilizaba la búsqueda de palabras clave aproximadas para intentar etiquetar esas transcripciones con la etiqueta de la plataforma de autoservicio. Con las incrustaciones de OpenAI, ahora pueden encontrar 2 veces más ejemplos en general y 6 a 10 veces más ejemplos de características con casos de uso abstractos que no tienen una palabra clave clara que los clientes podrían usar.
Todos los clientes de API pueden comenzar con el documentación de incrustaciones por utilizar incrustaciones en sus aplicaciones.
.vector-diagrama img { pantalla: ninguno;
}
.diagrama vectorial img:primer hijo { mostrar: bloque;
}
var printResponse = function (btn) { // agregar respuesta 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); // ocultar botón btn.style.display= 'ninguno';
}; var initRotate = función () { var rota = document.querySelectorAll('.js-rotate'); if (!rota.longitud) return; // para cada conjunto de rotaciones rota.forEach(función (r) { // mueve el primer elemento secundario para finalizar cada n segundos window.setInterval(function(){ moveToEnd(r, r.firstElementChild); }, 1500); }) ;
};
var moveToEnd = function (padre, hijo) { padre.removeChild(hijo); padre.appendChild(hijo); // anexar al padre
}; 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'; }); });
}; // en eso
document.addEventListener('DOMContentLoaded', function () { initRotate(); initShowMore();
});
importar {Tiempo de ejecución, Inspector, Biblioteca} desde "https://unpkg.com/@observablehq/runtime@4.5.0/dist/runtime.js";
import notebook_topk from “https://api.observablehq.com/d/20c1e51d6e663e6d.js?v=3”;
importar notebook_embed3d desde "https://api.observablehq.com/d/fef0801cb0a0b322.js?v=3" const customWidth = function (selector) { return (nueva biblioteca).Generators.observe(function(change) { var width = change(document.querySelector(selector).clientWidth); función redimensionada() { var w = document.querySelector(selector).clientWidth; if (w !== ancho) change(width = w); } window.addEventListener(“ redimensionar”, redimensionado); return function() { window.removeEventListener(“redimensionar”, redimensionado); }; });
}; const topk_renders = { “gráfico”: “#gráfico-superior”,
};
new Runtime(Object.assign(new Library, {width: customWidth(“#topk-chart”)})).module(notebook_topk, name => { const selector = topk_renders[name]; if (selector) { // key existe devuelve nuevo Inspector(document.querySelector(selector)); } else { devuelve verdadero; }
}); const embed3d_renders = { "gráfico": "#embed3d-chart", "leyenda": "#embed3d-legend",
};
new Runtime(Object.assign(new Library, {width: customWidth(“#embed3d-chart”)})).module(notebook_embed3d, name => { const selector = embed3d_renders[name]; if (selector) { // clave existe devuelve nuevo Inspector(document.querySelector(selector)); } else { devuelve verdadero; }
});
- '
- 100
- 11
- 3d
- 7
- alcanzado
- a través de
- algoritmos
- entre
- abejas
- aplicaciones
- Hoy Disponibles
- Bloquear
- Construir la
- llamar al
- Puede conseguir
- cases
- el cambio
- sus hijos
- clasificación
- código
- --
- Empresas
- compañía
- en comparación con
- computadoras
- contenido
- conversaciones
- Clientes
- datos
- bases de datos
- Detección
- una experiencia diferente
- Dimensiones
- Pantalla
- documentos
- pasan fácilmente
- Punto final
- Eventos
- ejemplo
- expertos
- familias
- RÁPIDO
- Feature
- Caracteristicas
- realimentación
- Nombre
- siguiendo
- función
- General
- altura
- ayuda
- ayuda
- Esconder
- Cómo
- Como Hacer
- HTTPS
- Híbrido
- Incluye
- información
- Insights
- interactivo
- IT
- Clave
- idioma
- aprendido
- aprendizaje
- Biblioteca
- literatura
- máquina
- máquina de aprendizaje
- mapa
- pareo
- Materia
- sentido
- Métrica
- modelo
- modelos
- Morgan
- MEJOR DE TU
- movimiento
- NASA
- Natural
- del sistema,
- número
- Otro
- (PDF)
- actuación
- frases
- Física
- planificar
- plataforma
- Popular
- Predicciones
- sonda
- producido
- Producto
- Programación
- proporcionar
- proporciona un
- calidad
- RE
- Relaciones
- ,
- reporte
- Informes
- respuesta
- Resultados
- Buscar
- seleccionado
- set
- similares
- Soluciones
- Espacio
- estándares de salud
- fundó
- el estado de la técnica
- papa
- tareas
- equipo
- técnicas
- A través de esta formación, el personal docente y administrativo de escuelas y universidades estará preparado para manejar los recursos disponibles que derivan de la diversidad cultural de sus estudiantes. Además, un mejor y mayor entendimiento sobre estas diferencias y similitudes culturales permitirá alcanzar los objetivos de inclusión previstos.
- parte superior
- tradicional
- entender
- utilizan el
- visualización
- W
- W3
- Wikipedia
- dentro de
- palabras
- trabajando
- Yuan