OpenAIPublicación de la fuente

Cómo construimos la novedosa pila publicitaria de ChatGPT para la confianza del usuario y la relevancia

Los sistemas publicitarios tradicionales están diseñados para responder a unidades discretas de intención del usuario. Un usuario busca o ve algo en línea, el sistema publicitario recibe esas consultas y vistas de página como eventos, y el sistema busca anuncios que coincidan según esos eventos.

Los sistemas publicitarios tradicionales están diseñados para responder a unidades discretas de intención del usuario. Un usuario busca o ve algo en línea, el sistema publicitario recibe esas consultas y vistas de página como eventos, y el sistema busca anuncios que coincidan según esos eventos. Construir una pila publicitaria para ChatGPT fue diferente: la intención del usuario se desarrolla a lo largo de las conversaciones y cambia a lo largo de varios turnos de una conversación, a veces sin un momento publicitario apropiado. Para respaldar este nuevo paradigma, construimos un sistema de entrega de anuncios a medida. Este nuevo tipo de pila publicitaria se basa en un LLM frontera personalizado con post-entrenamiento que realiza llamadas a herramientas para la recuperación (identificando las mejores opciones), la clasificación (prediciendo la participación del usuario), la relevancia (evaluando la utilidad del anuncio) y la ejecución de subastas para la selección final y el precio de los anuncios.

Nuestro sistema de anuncios respalda la evolución de los objetivos de los usuarios mediante tres decisiones de diseño clave: 1) implementar sesiones de anuncios con estado, lo que significa que la información se recuerda a lo largo de los turnos de una conversación y a través de múltiples conversaciones, 2) confiar en un LLM personalizado con post-entrenamiento que utiliza una arquitectura de llamadas a herramientas para interpretar el contexto de una conversación y su intención subyacente, y luego seleccionar, clasificar y entregar anuncios de manera efectiva, y 3) ejecutar el proceso de selección de anuncios por separado de la generación de respuestas de ChatGPT, en su propio servicio, para evitar que los anuncios influyan en las respuestas y mantener la voz neutral de ChatGPT. Usamos nuestro LLM con post-entrenamiento para orquestar todo el flujo de anuncios, determinando el anuncio adecuado a mostrar en el momento adecuado según tanto el turno actual del usuario como el historial de la conversación. Mientras que arrancar un sistema de anuncios automejorable como este solía tomar años, ChatGPT Ads alcanzó $1 mil millones en tasa de ingresos anualizada menos de 200 días después del lanzamiento; ahora, más de 100,000 anunciantes han publicado anuncios en ChatGPT desde su lanzamiento.

¿Cómo deberían funcionar los anuncios en un chat agéntico?

Una solicitud publicitaria convencional generalmente comienza con un evento bien definido. Un usuario envía una consulta de búsqueda o abre una página web y el sistema publicitario recibe una solicitud. Este tipo de sistema es bastante simple: recupera posibles candidatos publicitarios, los clasifica, ejecuta una subasta para poner el precio adecuado a la oportunidad y muestra el anuncio resultante al usuario. ChatGPT no produce naturalmente un momento tan concreto.

En una conversación de ChatGPT, las personas llegan con objetivos en lugar de una consulta de búsqueda de una sola respuesta. Podrían estar planificando un viaje, eligiendo software para su negocio, amueblando una casa o aprendiendo un nuevo pasatiempo. Esto no sucede todo en un solo turno de una conversación. ChatGPT a menudo ayuda al usuario a aclarar qué importa en el camino.

Como ejemplo, nuestro equipo de ingeniería le preguntó a ChatGPT cómo entrenar para una carrera: una conversación comienza con una pregunta general sobre correr. Varios turnos después, preguntan sobre zapatos para ayudar en el entrenamiento. El significado comercial de la conversación cambia a medida que llega cada restricción, y este contexto personalizado evoluciona a lo largo de múltiples sesiones. Un sistema que actuara sobre el primer mensaje podría recuperar una intención completamente errónea, degradando potencialmente la experiencia del usuario y estorbando en su camino.

Construir nuestro sistema publicitario requirió ir más allá de la arquitectura publicitaria de solicitud-respuesta y construir una pila publicitaria desde cero para encontrar oportunidades económicas potenciales mientras se prioriza la confianza o el valor del usuario.

Memoria de conversación, sin influir en las respuestas de ChatGPT

Convertir cada mensaje en una solicitud independiente, como lo haría un sistema publicitario tradicional, habría conllevado algunos riesgos en nuestro caso de uso de chat: 1) malinterpretar el objetivo del usuario al sobresimplificarlo, 2) iniciar el flujo publicitario demasiado pronto, antes de que la verdadera necesidad del usuario se haya aclarado, 3) mostrar anuncios que estorban el recorrido del usuario en lugar de apoyarlo, y 4) volver a ejecutar de manera ineficiente el flujo publicitario cada vez que cambia la solicitud, creando ruido y desperdiciando costos. En lugar de construir alrededor de eventos individuales, el sistema publicitario (compuesto por recuperación, clasificación y entrega) mantiene una sesión con estado, lo que significa que la sesión publicitaria se ejecuta durante la duración de un turno elegible, recordando y actualizando la información a medida que evoluciona. ChatGPT envía el contexto de la solicitud inicial al servidor de anuncios. El sistema publicitario sigue y se adapta al intercambio en desarrollo en lugar de depender de una única consulta aplanada.

El proceso de selección de anuncios se ejecuta junto con la generación normal de respuestas de ChatGPT para garantizar que el flujo publicitario no influya en las respuestas de ChatGPT. Los anuncios se filtran y seleccionan a través de un sistema separado que consume la conversación bajo sus propias restricciones de elegibilidad, calidad y entrega. Este límite arquitectónico importante —servicios diferentes que usan modelos y código separados— permite que los servidores centrales de ChatGPT se encarguen de generar la respuesta orgánica; mientras tanto, el sistema publicitario evalúa de manera independiente si existe una oportunidad publicitaria apropiada y, de ser así, prepara una ubicación patrocinada a través de un proceso de servicio separado.

La publicidad se ejecuta junto con la ruta de respuesta de ChatGPT.

Más allá de proteger la experiencia del usuario, esta separación tiene algunas consecuencias prácticas. ChatGPT no tiene ninguna dependencia del sistema publicitario: los servicios no están entrelazados en absoluto y no comparten un modelo de generación de contenido. Así que si el sistema de servicio de anuncios no está disponible o es lento, la respuesta orgánica de ChatGPT continúa sin verse afectada. Esto significa que el sistema publicitario no puede derribar ni retrasar el producto ChatGPT. El otro beneficio de esta separación es que mantiene el listón muy alto para los anuncios valiosos. No devolver ningún anuncio es un resultado ordinario y exitoso. El sistema solo entrega un anuncio si es claramente beneficioso para los usuarios y los anunciantes.

Un LLM interpreta las conversaciones y llama a herramientas

El otro componente arquitectónico clave de nuestra pila de anuncios es el LLM post-entrenado que interpreta las conversaciones y ejecuta todo el flujo de anuncios en un bucle agéntico, realizando llamadas a herramientas a las funciones centrales del sistema de anuncios, desde la etapa de recuperación hasta el ranking, la subasta y, en última instancia, la entrega. Llamamos a este LLM el orquestador.

La primera parte de un flujo de anuncios es comprender la intención del usuario para iniciar el proceso de recuperación, que es una búsqueda rápida y deliberadamente amplia de anuncios potenciales para filtrarlos más adelante. Recibir la conversación de manera incremental crea un problema de recuperación más rico pero más ambiguo, porque el sistema de anuncios necesita distinguir la intención actual del contexto obsoleto. El orquestador debe interpretar referencias a mensajes anteriores, reconocer cuándo un usuario habla de manera hipotética y evitar tratar cada mención de un producto o servicio como una solicitud de compra.

El orquestador de anuncios utiliza la conversación disponible y el contexto del usuario, iterando para encontrar buenos anuncios y eligiendo repetidamente cuándo llamar a qué herramienta con el objetivo subyacente de encontrar el anuncio más apropiado (el anuncio que equilibra un alto valor para el usuario y un alto valor para el anunciante) para esa conversación y contexto. Si el usuario elige personalizar los anuncios, el orquestador también considera la información no sensible disponible sobre las conversaciones pasadas del usuario para encontrar las mejores coincidencias de anuncios.

El orquestador de anuncios llama iterativamente a las herramientas de entrega de anuncios para encontrar anuncios valiosos.

A medida que la conversación avanza y el orquestador de anuncios obtiene información más actualizada, el orquestador puede ejecutar un nuevo conjunto de llamadas a herramientas con el contexto actualizado para encontrar mejores anuncios y devolverlos al cliente, el cual puede usar estos nuevos anuncios si llegan a tiempo.

El orquestador está diseñado para equilibrar el valor del usuario y el valor del anunciante, poniendo siempre a los usuarios primero.

Cómo llama el orquestador a las herramientas de anuncios en un bucle agéntico

El sistema de anuncios consta de herramientas individuales, y el orquestador las llama iterativamente para encontrar los mejores anuncios para una conversación. A grandes rasgos, el orquestador convierte las conversaciones en breves resúmenes de texto, que luego se convierten en embeddings semánticos (significados almacenados que son más fáciles de examinar para un sistema de anuncios), recupera candidatos de anuncios usando esos embeddings semánticos, filtra esos candidatos por elegibilidad (según el presupuesto, la configuración del usuario y otras comprobaciones preliminares), evalúa su calidad y relevancia, y realiza un ranking final para identificar oportunidades de alto valor para su colocación al final de una respuesta de chat. Por lo tanto, cada anuncio debe cumplir con un alto estándar de elegibilidad y relevancia para ser elegible para su colocación.

Preparación de consultas de recuperación que capturan la intención

El LLM del orquestador primero prepara una o más consultas que representan la intención comercial relevante. Esto puede incluir reescribir el contexto de la conversación para ampliar las posibilidades comerciales más allá de las consultas de búsqueda 1:1 y luego crear representaciones semánticas, donde el orquestador destila una conversación de múltiples turnos en una versión resumida para el sistema de recuperación, recuperando anuncios de nuestra base de datos de manera enfocada.

Las colocaciones de anuncios serán mejores tanto para los usuarios como para los anunciantes si solo aparecen cuando hay una comprensión profunda de la intención del usuario. Múltiples consultas pueden preservar diferentes aspectos de la intención. Una conversación sobre la planificación de un viaje, por ejemplo, podría contener necesidades distintas relacionadas con el transporte, el alojamiento o las actividades. El sistema de recuperación puede preservar estas distinciones en lugar de comprimir toda la conversación en una sola cadena literal.

Como ejemplo, veamos una posible secuencia de conversación sobre zapatos de senderismo:

  1. ¿Qué debería cubrir en un viaje de dos días a Yosemite?

  2. ¿Hará frío la próxima semana?

  3. ¿Nuevas líneas de productos de [insertar marca]?

Aunque el usuario no ha conectado la pregunta sobre la marca de zapatos con el viaje a Yosemite, esta conversación podría representarse en nuestro sistema de anuncios mediante dos consultas, como [shoes appropriate for hiking trip] y [new [brand] product lines good for travel]. Esta podría ser solo la primera tentativa; el orquestador está diseñado para iterar sobre estas representaciones hasta que encuentre anuncios en nuestro inventario que sean altamente valiosos para el usuario.

Recuperación de anuncios posibles

La recuperación es el proceso de crear un conjunto deliberadamente amplio de opciones de anuncios. Los candidatos pueden provenir de diferentes estrategias de recuperación y pueden competir más adelante bajo las mismas restricciones de servicio. Construimos múltiples índices que optimizan para diferentes restricciones del sistema y del producto (por ejemplo, el índice para anuncios de feeds de productos está diseñado para tener en cuenta las reseñas positivas o negativas de los productos al buscar los mejores anuncios posibles. Esto no es relevante para otros anuncios que pueden no tener reseñas asociadas). Cada índice está optimizado para alguna versión de búsqueda aproximada de vecinos más cercanos (ANN), utilizando embeddings que representan la intención del usuario. Esta búsqueda ANN es un algoritmo de aproximación para la recuperación sobre grandes índices semánticos, lo que significa que los anuncios se obtienen muy rápidamente, acercándose a una buena solución en lugar de buscar "la" solución correcta, mientras se retiene la mayoría de los candidatos relevantes.

El sistema de anuncios utiliza consultas reescritas para crear embeddings semánticos durante el proceso de recuperación de anuncios y producir un amplio conjunto de candidatos de anuncios.

Filtrado de candidatos no elegibles

El objetivo del filtrado es eliminar de la consideración todos los candidatos de anuncios que no cumplan el estándar de ubicación en cuanto a relevancia, pujas y presupuesto. Dependiendo del candidato y de la configuración, las verificaciones de filtrado pueden incluir la disponibilidad del creativo y de la campaña (si la campaña o los creativos de anuncios están activos), la segmentación de la campaña (por ejemplo, en qué configuraciones regionales se permite operar a una campaña), las restricciones de políticas (requisitos de cumplimiento sobre lo que se puede anunciar), la disponibilidad de presupuesto (si una campaña aún tiene presupuesto disponible para gastar), el ritmo de gasto (si una campaña debe gastar presupuesto ahora frente a otro momento del día), la compatibilidad de ubicación (en qué tipos de conversaciones es elegible este anuncio) y la desduplicación a nivel de anunciantes y campañas (elegir un número apropiado de anuncios por anunciante para garantizar una participación justa entre negocios).

Evaluación de la relevancia y la calidad

Los candidatos que superan las verificaciones de elegibilidad pasan a una fase de puntuación, en la que el orquestador hace llamadas a herramientas de varios sistemas de puntuación, por consideraciones de servicio como la relevancia semántica (¿es el anuncio relevante para el objetivo del usuario?), la participación prevista (¿es probable que el anuncio sea visto, clicado y convertido en el resultado deseado por el anunciante?) y el rendimiento histórico (¿ha funcionado bien el anuncio al mostrarse a los usuarios hasta ahora?). El orquestador también filtra los anuncios para garantizar la relevancia y la seguridad antes de la subasta. Estos sistemas reducen el campo a un grupo de candidatos más pequeño listo para la subasta, pero aún no determinan el anuncio final entregado.

Ejecución de la subasta de anuncios

El orquestador evalúa los candidatos preparados en el contexto de la conversación y elige qué candidatos de anuncios son lo suficientemente plausibles para entrar en la subasta final. El orquestador no decide directamente qué anuncio se mostrará, ni establece un precio. Nombra candidatos contextualmente apropiados para que la herramienta de subastas los evalúe.

La subasta aplica las mecánicas finales de servicio, incluida la admisión en la subasta (superar un umbral mínimo de relevancia y valor), el ritmo de gasto (gastar el presupuesto publicitario de manera más uniforme), el cálculo de pujas y funciones de subasta, la clasificación ajustada por calidad, la fijación de precios y la selección final.

Verificaciones finales de elegibilidad

Después de la subasta, hay dos formas en que un anuncio puede no entregarse, ambas específicas del medio conversacional de ChatGPT.

  1. El anuncio podría no resultar apropiado en el chat: Aunque la conversación en sí fue considerada segura para la ubicación de anuncios por los modelos de integridad (los modelos que deciden cuándo es apropiado mostrar un anuncio), y el anuncio en sí fue considerado conforme a las políticas, a veces el anuncio podría resultar inapropiado en el contexto de ciertas conversaciones. El orquestador bloquea estos anuncios para que no se muestren.

  2. La solicitud de anuncio podría no llegar a tiempo: Si el modelo de ChatGPT está listo para responder, pero el anuncio aún no está listo para colocarse, la solicitud de anuncio agota el tiempo de espera y el anuncio no se entrega. Por lo tanto, un objetivo del sistema de anuncios es funcionar lo más rápido posible. El tiempo de respuesta del modelo de ChatGPT es dinámico, y no retrasamos las respuestas del chat para esperar a que se carguen los anuncios.

Si se cumplen todas las verificaciones anteriores, enviamos el anuncio al frontend para su renderizado. Consideramos esto una entrega de anuncios del lado del servidor delivery, pero aún es posible que no mostremos el anuncio al usuario, y esto es por diseño.

El paso final: mostrar los anuncios al usuario

En un producto conversacional como ChatGPT, la entrega del lado del servidor de un creativo de anuncio no garantiza que el anuncio se muestre; el anuncio también debe llegar a tiempo para incluirse en el turno actual. El creativo del anuncio incluye el título, la descripción, el enlace de destino y cualquier llamada a la acción. Además, el sistema de anuncios también devuelve un preámbulo generado por el modelo, que es una breve introducción neutral que explica cómo se relaciona el anuncio con la conversación. Mantener el preámbulo separado del creativo preserva el mensaje del anunciante mientras se mantiene neutral la voz de ChatGPT.

El frontend de ChatGPT recibe el preámbulo y el creativo del anuncio como un paquete. Si llega antes de que la respuesta de ChatGPT se haya generado por completo, el frontend muestra el anuncio debajo de la respuesta de ChatGPT, claramente etiquetado como patrocinado. Si llega demasiado tarde, el anuncio no se muestra en ese turno. Esta es la diferencia entre la entrega de anuncios del lado del servidor y una impresión de anuncio visible para el usuario.

La selección del ganador y la entrega son eventos separados. Un anuncio seleccionado se convierte en una entrega solo después de que ChatGPT aprueba y muestra la ubicación y se confirma la entrega.

Qué sucede después de que se muestra el anuncio

Nuestra pila publicitaria utiliza registros y canalizaciones de datos tradicionales, lo que tiene tres beneficios principales: los anunciantes pueden integrar más fácilmente sus sistemas existentes con nuestra pila, los anunciantes pueden mejorar sus estrategias con los datos de informes, y nuestro equipo puede encontrar áreas del sistema para mejorar. Más allá de estas herramientas de informes y optimización, desplegamos un modelo de alta calidad para evaluar nuestra entrega y entrenar otros modelos de anuncios, creando un poderoso ciclo de automejora.

Los desgloses detallados de lo que ocurrieron nos ayudan a comprender y mejorar cada parte del sistema de anuncios de forma aislada. El sistema de procesamiento de registros también registra resultados granulares tales como:

  • El turno no era elegible para publicidad.

  • Comenzó una sesión de anuncios pero no se solicitó ninguna recuperación.

  • La recuperación no devolvió candidatos.

  • Se recuperaron candidatos pero fallaron la hidratación o la elegibilidad.

  • Se entregó un anuncio y luego recibió una interacción.

Estos desgloses detallados nos ayudan a mejorar cada parte del sistema de servicio de anuncios de forma aislada. Mejorar la detección de oportunidades requiere evidencia diferente a la de mejorar la recuperación, la calidad de los candidatos, la participación en la subasta o la fiabilidad de la entrega.

Los sistemas de entrega, servicio y calidad observan una parte diferente del ciclo de vida. El procesamiento con controles de privacidad determina qué puede usarse para mediciones y para la mejora de modelos.

Modelos de alta potencia evalúan y mejoran toda la pila

La idea detrás de la evaluación basada en modelos es que nuestros modelos más potentes y con mayor razonamiento observan y juzgan los resultados de nuestro sistema, y luego mejoran el LLM post-entrenado al entrenarlo para que rinda mejor. Por ejemplo, podemos usar modelos más pequeños y eficientes o modelos de menor razonamiento para la orquestación o la recuperación si nuestro modelo más poderoso recopila retroalimentación y entrena a estos pequeños trabajadores para que hagan el mejor trabajo posible.

La retroalimentación humana guía una dirección con buen gusto

Recopilamos y actuamos según la retroalimentación humana (clics y ocultamientos de los usuarios), así como encuestas para los usuarios y retroalimentación directa de los anunciantes a través de nuestro Ads Manager. También ponemos a nuestro equipo a disposición para dar retroalimentación mientras construimos, y escuchamos directamente lo que quieren tanto los usuarios de ChatGPT como los anunciantes. Esta fuente de retroalimentación informa nuestra dirección incluso más que la retroalimentación observacional del modelo y es parte de lo que nos permitió iterar rápidamente hacia las decisiones de producto correctas. El modelo puede ser capaz de comprender la intención del usuario y pensar críticamente para entregar algo valioso, pero las personas moldean el gusto.

Qué viene después

Hace un año, no teníamos un sistema de anuncios y solo unas pocas personas pensaban en este espacio problemático. Ahora tenemos un sistema de anuncios robusto que impulsa más de $1 mil millones en tasa anualizada, con un orquestador basado en LLM gestionando el flujo de anuncios. Codex fue un multiplicador de fuerza fundamental que nos permitió poner en marcha nuestro sistema para lograr este gran hito de uso con una velocidad sin precedentes. Desde el principio, configuramos el equipo y los flujos de trabajo de desarrollo para usar Codex y construir y escalar el sistema rápidamente. Construimos salvaguardas para que Codex enviara código de manera confiable y segura. En paralelo, configuramos complementos de infraestructura de datos para Codex para reducir enormemente el ciclo de recopilación de información e implementación de mejoras en el sistema, incluidas nuevas funciones de producto, mejoras de calidad y mejor rendimiento del sistema.

La combinación de los límites de nuestro sistema (basados en nuestros principios publicitarios⁠) y nuestro orquestador basado en LLM nos permite hacer que la publicidad sea útil sin tratar cada conversación como una solicitud de anuncio. De cara al futuro, continuaremos experimentando con formatos de anuncios más dinámicos para aumentar el valor para el usuario (por ejemplo, dar a los usuarios la capacidad de hablar directamente con las empresas a través de los anuncios) y el valor para los anunciantes. La arquitectura de automejora de la pila, construida sobre modelos de OpenAI con ciclos continuos de retroalimentación, acelerará nuestra capacidad de seguir mejorando la relevancia y la personalización con el tiempo.

Fuente original

OpenAI

Notas sobre el contenido

La publicación original y los derechos pertenecen a la fuente.

Traducción automática · Consulte el original