OpenAI SitemapPublication de la source

Comment nous avons construit la nouvelle régie publicitaire de ChatGPT pour la confiance des utilisateurs et la pertinence

Les systèmes publicitaires traditionnels sont conçus pour répondre à des unités discrètes d'intention utilisateur. Un utilisateur recherche ou consulte quelque chose en ligne, le système publicitaire reçoit ces requêtes et consultations de pages sous forme d'événements, et le système recherche des publicités correspondantes sur la base de ces événements.

Les systèmes publicitaires traditionnels sont conçus pour répondre à des unités discrètes d'intention utilisateur. Un utilisateur recherche ou consulte quelque chose en ligne, le système publicitaire reçoit ces requêtes et consultations de pages sous forme d'événements, et le système recherche des publicités correspondantes sur la base de ces événements. Construire une régie publicitaire pour ChatGPT était différent : l'intention utilisateur se développe au fil des conversations et évolue sur plusieurs tours d'une conversation, parfois sans moment publicitaire approprié. Pour prendre en charge ce nouveau paradigme, nous avons construit un système de diffusion publicitaire sur mesure. Ce nouveau type de régie publicitaire repose sur un LLM frontal personnalisé, entraîné après coup, qui effectue des appels d'outils pour la récupération (identification des meilleures options), le classement (prédiction de l'engagement utilisateur), la pertinence (évaluation de l'utilité de la publicité) et l'exécution d'enchères pour la sélection et la tarification finales des publicités.

Notre système publicitaire prend en charge la nuance des objectifs utilisateurs en évolution grâce à trois décisions de conception clés : 1) la mise en œuvre de sessions publicitaires à état, ce qui signifie que les informations sont mémorisées à travers les tours d'une conversation et à travers plusieurs conversations, 2) l'utilisation d'un LLM personnalisé, entraîné après coup, qui s'appuie sur une architecture d'appels d'outils pour interpréter le contexte et l'intention sous-jacente d'une conversation, puis sélectionner, classer et diffuser efficacement les publicités, et 3) l'exécution du processus de sélection des publicités séparément de la génération de réponses de ChatGPT, dans son propre service, afin d'empêcher les publicités d'influencer les réponses et de préserver la voix neutre de ChatGPT. Nous utilisons notre LLM entraîné après coup pour orchestrer l'ensemble du flux publicitaire, déterminant la bonne publicité à présenter au bon moment en fonction du tour actuel de l'utilisateur et de l'historique de la conversation. Alors que l'amorçage d'un système publicitaire auto-améliorant de ce type prenait autrefois des années, ChatGPT Ads a atteint 1 milliard de dollars de revenu annualisé moins de 200 jours après le lancement; désormais, plus de 100,000 annonceurs ont diffusé des publicités sur ChatGPT depuis son lancement.

Comment les publicités devraient-elles fonctionner dans un chat agentique ?

Une requête publicitaire conventionnelle commence généralement par un événement bien défini. Un utilisateur soumet une requête de recherche ou ouvre une page web et le système publicitaire reçoit une demande. Ce type de système est assez simple : il récupère les candidats publicitaires potentiels, les classe, organise une enchère pour évaluer correctement l'opportunité, et affiche la publicité résultante à l'utilisateur. ChatGPT ne produit pas naturellement un moment aussi concret.

Dans une conversation avec ChatGPT, les gens arrivent avec des objectifs plutôt qu'avec une requête de recherche à réponse unique. Ils préparent peut-être un voyage, choisissent un logiciel pour leur entreprise, meublent une maison ou apprennent un nouveau passe-temps. Tout cela ne se déroule pas en un seul tour de conversation. ChatGPT aide souvent l'utilisateur à clarifier ce qui compte au fil du chemin.

À titre d'exemple, notre équipe d'ingénierie a demandé à ChatGPT comment s'entraîner pour une course : une conversation commence par une question générale sur la course à pied. Plusieurs tours plus tard, ils posent une question sur les chaussures pour s'entraîner. Le sens commercial de la conversation change à mesure que chaque contrainte arrive — et ce contexte personnalisé évolue à travers plusieurs sessions. Un système qui aurait agi sur le premier message aurait pu récupérer une intention totalement erronée, dégradant potentiellement l'expérience de l'utilisateur et le gênant.

Construire notre système publicitaire nous a demandé d'aller au-delà de l'architecture publicitaire requête-réponse et de bâtir une régie publicitaire de toutes pièces pour trouver des opportunités économiques potentielles tout en priorisant la confiance et la valeur pour l'utilisateur.

Mémoire de conversation, sans influencer les réponses de ChatGPT

Transformer chaque message en une requête autonome, comme le ferait un système publicitaire traditionnel, aurait présenté plusieurs risques dans notre cas d'usage de chat : 1) mal interpréter l'objectif de l'utilisateur en le simplifiant à l'excès, 2) débuter le flux publicitaire trop tôt, avant que le véritable besoin de l'utilisateur ne soit devenu clair, 3) afficher des publicités qui gênent le parcours de l'utilisateur au lieu de le soutenir, et 4) réexécuter de manière inefficace le flux publicitaire chaque fois que la requête change, créant du bruit et gaspillant des coûts. Au lieu de construire autour d'événements individuels, le système publicitaire (composé de la récupération, du classement et de la diffusion) maintient une session à état, ce qui signifie que la session publicitaire s'exécute pendant toute la durée d'un tour éligible, mémorisant et mettant à jour les informations à mesure qu'elles évoluent. ChatGPT envoie le contexte initial de la requête au serveur publicitaire. Le système publicitaire suit et s'adapte à l'échange en développement plutôt que de s'appuyer sur une seule requête aplatie.

Le processus de sélection des publicités s'exécute en parallèle de la génération normale des réponses de ChatGPT afin de garantir que le flux publicitaire n'influence pas les réponses de ChatGPT. Les publicités sont filtrées et sélectionnées par un système séparé qui consomme la conversation selon ses propres contraintes d'éligibilité, de qualité et de diffusion. Cette frontière architecturale importante — des services distincts qui utilisent des modèles séparés et un code séparé — permet aux serveurs principaux de ChatGPT de gérer la génération de la réponse organique ; pendant ce temps, le système publicitaire évalue indépendamment s'il existe une opportunité publicitaire appropriée et, le cas échéant, prépare un emplacement sponsorisé via un processus de diffusion séparé.

La publicité s'exécute en parallèle du chemin de réponse de ChatGPT.

Au-delà de la protection de l'expérience utilisateur, cette séparation a des conséquences pratiques. ChatGPT n'a aucune dépendance au système publicitaire — les services ne sont en rien entremêlés et ne partagent pas de modèle de génération de contenu. Ainsi, si le système de diffusion publicitaire est indisponible ou lent, la réponse organique de ChatGPT continue sans être affectée. Cela signifie que le système publicitaire ne peut pas faire tomber ni retarder le produit ChatGPT. L'autre avantage de cette séparation est qu'elle maintient la barre très haute pour les publicités de valeur. Ne renvoyer aucune publicité est un résultat ordinaire et réussi. Le système ne diffuse une publicité que si elle est clairement bénéfique pour les utilisateurs et les annonceurs.

Un LLM interprète les conversations et appelle des outils

L'autre composant architectural clé de notre stack publicitaire est le LLM post-entraîné qui interprète les conversations et exécute l'intégralité du flux publicitaire dans une boucle agentique—en effectuant des appels d'outils vers les fonctions principales du système publicitaire, de l'étape de récupération au classement, en passant par la vente aux enchères et, finalement, la diffusion. Nous appelons ce LLM le orchestrator.

La première partie d'un flux publicitaire consiste à comprendre l'intention de l'utilisateur pour lancer le processus de récupération, qui est un sourcing rapide et volontairement large d'annonces potentielles à filtrer ultérieurement. La réception incrémentale de la conversation crée un problème de récupération plus riche mais plus ambigu, car le système publicitaire doit distinguer l'intention actuelle du contexte obsolète. L'orchestrator doit interpréter les références à des messages antérieurs, reconnaître quand un utilisateur parle de manière hypothétique et éviter de traiter chaque mention d'un produit ou service comme une demande d'achat.

L'ads orchestrator utilise la conversation et le contexte utilisateur disponibles, en itérant pour trouver de bonnes annonces et en choisissant à répétition quand appeler quel outil avec pour objectif sous-jacent de trouver l'annonce la plus appropriée (celle qui équilibre une valeur utilisateur élevée et une valeur annonceur élevée) pour cette conversation et ce contexte. Si l'utilisateur choisit de personnaliser les annonces, l'orchestrator prend également en compte les informations non sensibles disponibles sur les conversations passées de l'utilisateur pour trouver les meilleures correspondances publicitaires.

L'ads orchestrator appelle de manière itérative des outils de diffusion publicitaire pour trouver des annonces de valeur.

À mesure que la conversation progresse et que l'ads orchestrator obtient des informations plus à jour, l'orchestrator peut exécuter une nouvelle série d'appels d'outils avec le contexte mis à jour pour trouver de meilleures annonces et les renvoyer au client, qui peut ensuite utiliser ces nouvelles annonces si elles arrivent à temps.

L'orchestrator est conçu pour équilibrer la valeur utilisateur et la valeur annonceur, en plaçant toujours les utilisateurs en premier.

Comment l'orchestrator appelle les outils publicitaires dans une boucle agentique

Le système publicitaire se compose d'outils individuels, et l'orchestrator les appelle de manière itérative pour trouver les meilleures annonces pour une conversation. À un haut niveau, l'orchestrator transforme les conversations en brefs résumés textuels, qui sont ensuite convertis en embeddings sémantiques (des significations stockées plus faciles à trier pour un système publicitaire), récupère des annonces candidates à l'aide de ces embeddings sémantiques, filtre ces candidats pour vérifier leur éligibilité (en fonction du budget, des paramètres utilisateur et d'autres vérifications préliminaires), évalue leur qualité et leur pertinence, et effectue un classement final pour identifier les opportunités de grande valeur à placer à la fin d'une réponse de chat. Chaque annonce doit donc atteindre un niveau élevé d'éligibilité et de pertinence pour pouvoir être placée.

Préparation de requêtes de récupération qui capturent l'intention

Le LLM orchestrator prépare d'abord une ou plusieurs requêtes représentant l'intention commerciale pertinente. Cela peut inclure la réécriture du contexte de la conversation pour élargir les possibilités commerciales au-delà des requêtes de recherche 1:1, puis la création de représentations sémantiques, où l'orchestrator distille une conversation multitours en une version résumée pour le système de récupération—en récupérant les annonces de notre base de données de manière ciblée.

Les placements publicitaires seront meilleurs à la fois pour les utilisateurs et les annonceurs s'ils n'apparaissent que lorsqu'il existe une compréhension approfondie de l'intention de l'utilisateur. Plusieurs requêtes peuvent préserver différents aspects de l'intention. Une conversation sur la planification d'un voyage, par exemple, peut contenir des besoins distincts liés au transport, à l'hébergement ou aux activités. Le système de récupération peut préserver ces distinctions plutôt que de comprimer toute la conversation en une seule chaîne littérale.

À titre d'exemple, examinons une séquence de conversation potentielle sur des chaussures de randonnée :

  1. Que devrais-je visiter lors d'un voyage de deux jours à Yosemite ?

  2. Fera-t-il froid la semaine prochaine ?

  3. Nouvelles gammes de produits [insérer la marque] ?

Bien que l'utilisateur n'ait pas relié la question sur la marque de chaussures au voyage à Yosemite, cette conversation pourrait être représentée dans notre système publicitaire par deux requêtes, telles que [shoes appropriate for hiking trip] et [new [brand] product lines good for travel]. Ce ne pourrait être que la première tentative ; l'orchestrator est conçu pour itérer sur ces représentations jusqu'à ce qu'il trouve dans notre inventaire des annonces hautement précieuses pour l'utilisateur.

Récupération des annonces possibles

La récupération est le processus de création d'un vivier volontairement large d'options publicitaires. Les candidats peuvent provenir de différentes stratégies de récupération et peuvent ensuite être en concurrence sous les mêmes contraintes de service. Nous construisons plusieurs index qui optimisent différentes contraintes système et produit (par exemple, l'index pour les annonces de flux de produits est conçu pour tenir compte des avis produits positifs ou négatifs lorsqu'il récupère les meilleures annonces possibles. Cela n'est pas pertinent pour d'autres annonces qui peuvent ne pas avoir d'avis associés). Chaque index est optimisé pour une version de la recherche approximative des plus proches voisins (ANN), en utilisant des embeddings représentant l'intention de l'utilisateur. Cette recherche ANN est un algorithme d'approximation pour la récupération sur de grands index sémantiques, ce qui signifie que les annonces sont récupérées très rapidement, en s'approchant d'une bonne solution plutôt qu'en cherchant « la bonne » solution, tout en retenant la plupart des candidats pertinents.

Le système publicitaire utilise des requêtes réécrites pour créer des embeddings sémantiques pendant le processus de récupération d'annonces et produire un large vivier de candidats publicitaires.

Filtrage des candidats inéligibles

L'objectif du filtrage est d'éliminer de la considération tous les candidats publicitaires qui n'atteignent pas le seuil requis pour le placement en matière de pertinence, d'enchères et de budget. Selon le candidat et la configuration, les vérifications de filtrage peuvent inclure la disponibilité des créations et des campagnes (si la campagne ou les créations publicitaires sont actives), le ciblage des campagnes (par exemple, dans quelles zones géographiques une campagne est autorisée à opérer), les restrictions de politique (exigences de conformité concernant ce qui peut être annoncé), la disponibilité du budget (si une campagne dispose encore d'un budget à dépenser), le rythme de diffusion (si une campagne doit dépenser son budget maintenant plutôt qu'à un autre moment de la journée), la compatibilité des placements (quels types de conversations cette publicité est éligible à rejoindre) et la déduplication au niveau des annonceurs et des campagnes (choisir un nombre approprié de publicités par annonceur pour assurer une participation équitable entre les entreprises).

Évaluer la pertinence et la qualité

Les candidats qui survivent aux vérifications d'éligibilité passent à une phase de notation, où l'orchestrateur effectue des appels d'outils vers divers systèmes de notation—for des considérations de diffusion telles que la pertinence sémantique (la publicité est-elle pertinente par rapport à l'objectif de l'utilisateur ?), l'engagement prédit (la publicité est-elle susceptible d'être vue, cliquée et convertie en résultat souhaité par l'annonceur ?), la performance historique (la publicité a-t-elle bien performé auprès des utilisateurs jusqu'à présent ?). L'orchestrateur filtre également les publicités pour garantir leur pertinence et leur sécurité avant l'enchère. Ces systèmes réduisent le champ des candidats à un bassin plus restreint prêt pour l'enchère, mais ils ne déterminent toujours pas la publicité finale diffusée.

Exécuter l'enchère publicitaire

L'orchestrateur évalue les candidats préparés dans le contexte de la conversation et choisit quels candidats publicitaires sont suffisamment plausibles pour entrer dans l'enchère finale. L'orchestrateur ne décide pas directement quelle publicité sera diffusée, ni ne fixe de prix. Il nomme des candidats contextuellement appropriés pour que l'outil d'enchère les évalue.

L'enchère applique les mécanismes finaux de diffusion, notamment l'admission à l'enchère (passage d'un seuil minimal de pertinence et de valeur), le rythme de diffusion (dépense plus régulière du budget publicitaire), le calcul des enchères et des fonctionnalités d'enchère, le classement ajusté par la qualité, la tarification et la sélection finale.

Vérifications finales d'éligibilité

Après l'enchère, il existe deux façons pour une publicité de ne pas être diffusée, toutes deux propres au moyen conversationnel de ChatGPT.

  1. La publicité pourrait sembler inappropriée dans le chat: Même si la conversation elle-même a été jugée sûre pour le placement publicitaire par les modèles d'intégrité (les modèles qui décident quand il est approprié de diffuser une publicité), et que la publicité elle-même a été jugée conforme aux politiques, il arrive parfois que la publicité semble inappropriée dans le contexte de certaines conversations. L'orchestrateur bloque ces publicités et empêche leur affichage.

  2. La demande de publicité pourrait ne pas arriver à temps: Si le modèle de ChatGPT est prêt à répondre, mais que la publicité n'est pas encore prête à être placée, la demande de publicité expire et la publicité n'est pas diffusée. L'un des objectifs du système publicitaire est donc de s'exécuter aussi rapidement que possible. Le temps de réponse du modèle de ChatGPT est dynamique, et nous ne retardons pas les réponses du chat pour attendre le chargement des publicités.

Si toutes les vérifications ci-dessus sont satisfaites, nous envoyons la publicité au frontend pour le rendu. Nous considérons cela comme une diffusion de publicité côté serveur (delivery), mais il se peut toujours que nous n'affichions pas la publicité à l'utilisateur—et cela est voulu.

La dernière étape : montrer les publicités à l'utilisateur

Dans un produit conversationnel comme ChatGPT, la diffusion côté serveur d'une création publicitaire ne garantit pas qu'une publicité sera affichée ; la publicité doit également arriver à temps pour être incluse dans le tour en cours. La création publicitaire comprend le titre, la description, le lien de destination et tout appel à l'action. De plus, un préambule généré par modèle, c'est-à-dire une courte introduction neutre expliquant comment la publicité se rapporte à la conversation, est également renvoyé par le système publicitaire. Le fait de maintenir le préambule séparé de la création préserve le message de l'annonceur tout en gardant la voix de ChatGPT neutre.

Le frontend de ChatGPT reçoit le préambule et la création publicitaire sous forme d'un ensemble. S'il arrive avant que la réponse de ChatGPT ne soit entièrement générée, le frontend affiche la publicité sous la réponse de ChatGPT, clairement étiquetée comme sponsorisée. S'il arrive trop tard, la publicité n'est pas affichée pour ce tour. C'est la différence entre la diffusion de publicité côté serveur et une impression publicitaire visible par l'utilisateur.

La sélection du gagnant et la diffusion sont des événements distincts. Une publicité sélectionnée devient une diffusion uniquement après que ChatGPT a approuvé et affiché le placement et que la diffusion a été confirmée.

Que se passe-t-il après l'affichage de la publicité

Notre pile publicitaire utilise des journaux et des pipelines de données traditionnels, qui présentent trois avantages principaux : les annonceurs peuvent plus facilement intégrer leurs systèmes existants à notre pile, les annonceurs peuvent améliorer leurs stratégies grâce aux données de reporting, et notre équipe peut identifier les domaines du système à améliorer. Au-delà de ces outils de reporting et d'optimisation, nous déployons un modèle de haute qualité pour évaluer notre diffusion et entraîner d'autres modèles publicitaires, créant ainsi une puissante boucle d'auto-amélioration.

Des analyses détaillées de ce qui s'est passé nous aident à comprendre et à améliorer chaque partie du système publicitaire de manière isolée. Le système de traitement des journaux enregistre également des résultats granulaires tels que :

  • Le tour n'était pas éligible à la publicité.

  • Une session publicitaire a commencé mais aucune récupération n'a été demandée.

  • La récupération n'a renvoyé aucun candidat.

  • Des candidats ont été récupérés mais ont échoué à l'hydratation ou à l'éligibilité.

  • Une publicité a été diffusée et a ensuite reçu une interaction.

Ces analyses détaillées nous aident à améliorer chaque partie du système de diffusion publicitaire de manière isolée. Améliorer la détection d'opportunités nécessite des preuves différentes de celles requises pour améliorer la récupération, la qualité des candidats, la participation aux enchères ou la fiabilité de la diffusion.

Les systèmes de diffusion, de service et de qualité observent une partie différente du cycle de vie. Un traitement contrôlé par la confidentialité détermine ce qui peut être utilisé pour la mesure et l'amélioration des modèles.

Des modèles haute puissance évaluent et améliorent l'ensemble de la pile

L'idée derrière l'évaluation basée sur les modèles est que nos modèles les plus puissants, dotés du plus haut niveau de raisonnement, observent et jugent les résultats de notre système, puis améliorent le LLM post-entraîné en le formant pour qu'il obtienne de meilleures performances. Par exemple, nous pouvons utiliser des modèles plus petits et plus efficaces ou des modèles à raisonnement réduit pour l'orchestration ou la récupération, tandis que notre modèle le plus puissant recueille des retours et forme ces petits travailleurs à faire le meilleur travail possible.

Le retour humain oriente vers un goût raffiné

Nous recueillons et exploitons les retours humains (clics et masquages des utilisateurs), ainsi que des enquêtes auprès des utilisateurs et des retours directs des annonceurs via notre Ads Manager. Nous rendons également notre équipe disponible pour les retours au fur et à mesure de la construction, et nous écoutons directement ce que veulent les utilisateurs de ChatGPT et les annonceurs. Cette source de retours informe notre direction encore plus que les retours d'observation du modèle et fait partie de ce qui nous a permis d'itérer rapidement vers les bonnes décisions produit. Le modèle peut être capable de comprendre l'intention des utilisateurs et de réfléchir de manière critique pour fournir quelque chose de précieux, mais ce sont les humains qui façonnent le goût.

Et maintenant ?

Il y a un an, nous n'avions aucun système publicitaire et seulement quelques personnes réfléchissant à ce domaine. Aujourd'hui, nous disposons d'un système publicitaire robuste générant plus de 1 milliard de dollars de revenus annualisés, avec un orchestrateur basé sur un LLM qui gère le flux publicitaire. Codex a été un multiplicateur de force fondamental qui nous a permis d'amorcer notre système pour atteindre ce jalon d'utilisation majeur avec une vitesse inégalée. Dès le départ, nous avons mis en place l'équipe et les flux de développement pour utiliser Codex afin de construire et de faire évoluer rapidement le système. Nous avons construit des garde-fous pour que Codex livre du code de manière fiable et sûre. En parallèle, nous avons mis en place des plugins d'infrastructure de données pour Codex afin de resserrer considérablement la boucle entre la collecte d'informations et l'apport d'améliorations au système, notamment de nouvelles fonctionnalités produit, des améliorations de qualité et de meilleures performances du système.

La combinaison des limites de notre système (ancrées dans nos principes publicitaires⁠) et de notre orchestrateur basé sur un LLM nous permet de rendre la publicité utile sans traiter chaque conversation comme une demande publicitaire. Pour l'avenir, nous continuerons d'expérimenter des formats publicitaires plus dynamiques afin d'augmenter la valeur pour les utilisateurs (par exemple, donner aux utilisateurs la possibilité de parler directement aux entreprises via les publicités) et la valeur pour les annonceurs. L'architecture auto-améliorante de la stack, construite sur des modèles OpenAI avec des boucles de retour continues, accélérera notre capacité à améliorer continuellement la pertinence et la personnalisation au fil du temps.

Source originale

OpenAI Sitemap

À propos du contenu

La publication originale et les droits appartiennent à la source.

Traduction automatique · Consultez l’original