Pinterest : un embedding au lieu de trois — +46.7 % d'épingles dans Lens et un tiers des systèmes ML à maintenir
Dans les évaluations de jugement humain hors ligne, l'embedding unifié a augmenté la précision@5 de +22.2 % pour Flashlight, +110.1 % pour Lens, et +72.1 % pour Shop-the-Look par rapport aux modèles spécialisés. Le domaine le plus difficile a connu les plus grands gains — Lens : l'entraînement multi-tâches sur des données mixtes a fourni exactement la généralisation que les photos prises par caméra n'avaient pas. L'article montre aussi honnêtement la variance : au sein de Shop the Look, les résultats par catégorie varient de −33.3 % à +249.7 % — une victoire moyenne ne signifie pas gagner partout. Le test A/B en ligne dans Lens a confirmé le tableau hors ligne avec des gains dans chaque métrique de produit : épingles +46.7 %, clics +35.0 %, gros plans +32.7 %, propension d'engagement en hausse de +16.3 % à +26.7 %. Le bilan opérationnel : au lieu de trois modèles, trois pipelines d'entraînement et trois infrastructures de récupération, l'équipe en maintient un ; l'article affirme directement que le déploiement de l'embedding unifié « a drastiquement réduit le coût opérationnel et d'ingénierie » — tout en améliorant la qualité. À notre avis, la leçon clé de ce cas est contre-intuitive : la consolidation de modèles est généralement perçue comme un compromis « plus simple mais pire », or à Pinterest le modèle universel a surpassé les spécialistes à leurs propres tâches. Les mécanismes suivent la théorie ML — l'apprentissage multi-tâches agit comme une régularisation, et les données d'un produit deviennent une augmentation pour un autre — mais l'effet d'une telle ampleur (+110 % dans Lens) était possible parce que les tâches s'étaient avérées suffisamment liées et le domaine le plus faible avait reçu le plus de données « étrangères ». Nous ne généraliserions pas « un embedding est toujours meilleur » à n'importe quel ensemble de tâches : la dispersion propre de Shop the Look dans l'article démontre pourquoi. Notre deuxième observation : ce cas concerne l'économie des plateformes ML, pas seulement la qualité. À 600+ millions de recherches visuelles par mois, chaque modèle supplémentaire signifie une réindexation de milliards d'images et une duplication de service ; une flotte un tiers plus petite accélère chaque itération ultérieure. La consolidation des infrastructures est l'un de ces rares investissements qui réduisent les coûts et augmentent la vélocité de l'équipe en même temps ; nous notons simplement que les chiffres en ligne ne sont publiés que pour Lens seul, et tous les résultats relèvent de l'auto-rapport de l'entreprise.
- Learning a Unified Embedding for Visual Search at Pinterest (KDD 2019) — Pinterest / arXiv (Zhai et al.), 2019-08-05
- Unifying visual embeddings for visual search at Pinterest — Pinterest Engineering Blog (Andrew Zhai), 2019-08-08
- Visual Discovery at Pinterest (история продуктов: Related Pins 2014, Similar Looks 2015, Flashlight 2016, Lens 2017) — Pinterest / arXiv (Zhai, Kislyuk et al.), 2017-02-15
Contexte
Pinterest est une plateforme pour laquelle la recherche visuelle n'est pas une fonctionnalité mais l'essence même du produit : les utilisateurs viennent trouver des idées qui n'ont souvent aucune description verbale. L'entreprise a construit cette capacité au fil des années : Related Pins (2014), Similar Looks (2015), Flashlight (2016) — trouver des similaires dans n'importe quelle épingle, Lens (2017) — rechercher par photo depuis la caméra du téléphone, et en 2019 le Shop the Look automatisé, qui trouve des produits spécifiques dans une scène ou une tenue. Au moment de cette étude de cas, la plateforme comptait 250+ millions d'utilisateurs actifs mensuels, un corpus de 200+ milliards d'« idées », et la recherche visuelle servait plus de 10 produits clients internes. L'équipe elle-même a chiffré l'échelle des requêtes à 600+ millions de recherches visuelles par mois dans l'article KDD 2019 (le billet de blog d'accompagnement est plus prudent : « des centaines de millions »).
Le revers de cette évolution est la dette technique typique des organisations ML à croissance rapide. Chaque nouveau produit lancé avec son propre modèle d'embedding spécialisé : le pipeline visuel de 2015 fonctionnait sur Caffe et VGG16, tandis que Shop the Look de 2018 utilisait PyTorch et SE-ResNeXt. Les piles technologiques, les ensembles de données et les espaces vectoriels ont divergé ; il était plus facile pour les équipes de lancer un modèle supplémentaire spécifique à une tâche que d'améliorer un modèle partagé — et la flotte d'embeddings spécialisés n'a cessé de croître.
L'équipe de recherche visuelle dirigée par Andrew Zhai a décrit la solution dans « Learning a Unified Embedding for Visual Search at Pinterest », accepté à KDD 2019, et dans un billet de blog technique. C'est l'une des premières publications détaillées sur la consolidation de plusieurs embeddings en production en un embedding universel — avec des chiffres complets d'expériences hors ligne et en ligne.
Problème
Trois produits de recherche visuelle — Flashlight, Lens et Shop the Look — reposaient sur trois embeddings spécialisés distincts, ce qui signifiait des coûts triplés sur toute la chaîne. Chaque modèle devait être entraîné et versionnéisé séparément ; chacun nécessitait sa propre infrastructure de récupération et de stockage ; et surtout, chaque mise à jour de n'importe quel modèle exigeait une réindexation de milliards d'images de catalogue dans l'espace vectoriel de ce modèle. Les coûts de stockage et de service ont augmenté linéairement avec le nombre de modèles tandis que la vitesse d'itération a diminué : l'équipe dépensait des ressources pour maintenir un zoo plutôt que pour améliorer la qualité.
Il y avait aussi un problème plus subtil : les améliorations ne s'étaient pas transférées. Les progrès du modèle Flashlight n'ont rien fait pour Lens et vice versa — les connaissances acquises sur un produit restaient enfermées dans son embedding. Pourtant, les tâches sont véritablement différentes, ce qui justifiait la spécialisation d'origine. Flashlight trouve des articles similaires parmi les images de style catalogue « propres » en utilisant les signaux d'engagement. Lens est un problème beaucoup plus difficile : une photo prise par une caméra — avec un éclairage domestique, des angles arbitraires et du bruit — doit correspondre au domaine du catalogue ; un décalage de domaine classique. Shop the Look exige une précision au niveau du produit : trouver non pas « une chaise similaire » mais ce modèle exact.
La question que l'équipe s'est posée : un embedding universel unique, entraîné sur les tâches des trois produits simultanément, peut-il rivaliser avec les modèles spécialisés — ou la dégradation de la qualité est-elle le prix inévitable de la simplicité opérationnelle ?
Solution
L'équipe a entraîné un embedding universel avec un apprentissage métrique multi-tâches. La base est un réseau convolutif SE-ResNeXt101 pré-entraîné sur ImageNet ; au-dessus du tronc partagé se trouvent des branches par tâche : une couche entièrement connectée et une perte de classification softmax. L'entraînement s'est déroulé simultanément sur les ensembles de données des trois produits : 800K images Flashlight (15K classes sémantiques assemblées à partir de signaux d'engagement), 540K images Lens (2K classes annotées manuellement, domaines mixtes — à partir d'imagerie de catalogue à photos prises par caméra), et 340K images Shop the Look (189 classes de produits plus 50K étiquettes d'instance d'articles spécifiques).
Deux modules d'ingénierie ont rendu le schéma pratique à l'échelle de Pinterest. Un module de sous-échantillonnage a permis l'entraînement de classification sur des dizaines de milliers de classes en maintenant la banque de proxy sur CPU et en chargeant seulement le sous-ensemble nécessaire dans la mémoire GPU. Un module de binarisation (avec GroupNorm remplaçant LayerNorm, qui s'est avéré critique pour la compatibilité multi-tâches) compresse le vecteur en code binaire — ce sont les embeddings binaires qui se déploient en production, réduisant drastiquement les coûts de stockage et la latence de recherche sur des milliards d'images. L'infrastructure d'entraînement est PyTorch DistributedDataParallel avec précision mixte (FP16, Apex) : une exécution typique dure 9 epochs sur huit Tesla V100, SGD avec momentum 0.9.
Le gain produit clé de l'architecture : un espace vectoriel unique sert tous les scénarios de recherche grâce à une infrastructure de récupération partagée. Une réindexation de catalogue au lieu de trois ; une amélioration de modèle atteint automatiquement chaque produit et les 10+ clients internes de la recherche visuelle.
La validation s'est déroulée sur deux niveaux. Hors ligne — les deux métriques automatiques sur les embeddings binaires (par exemple, la précision@1 de Shop the Look est passée de 33.0 % avec le modèle spécialisé à 52.8 % avec celui unifié) et les jugements de pertinence humains sur des requêtes réelles. En ligne — un test A/B dans Lens, le domaine le plus difficile : épingles, clics, gros plans et propension d'engagement ont été mesurés.
Résultat
Dans les évaluations de jugement humain hors ligne, l'embedding unifié a augmenté la précision@5 de +22.2 % pour Flashlight, +110.1 % pour Lens, et +72.1 % pour Shop-the-Look par rapport aux modèles spécialisés. Le domaine le plus difficile a connu les plus grands gains — Lens : l'entraînement multi-tâches sur des données mixtes a fourni exactement la généralisation que les photos prises par caméra n'avaient pas. L'article montre aussi honnêtement la variance : au sein de Shop the Look, les résultats par catégorie varient de −33.3 % à +249.7 % — une victoire moyenne ne signifie pas gagner partout.
Le test A/B en ligne dans Lens a confirmé le tableau hors ligne avec des gains dans chaque métrique de produit : épingles +46.7 %, clics +35.0 %, gros plans +32.7 %, propension d'engagement en hausse de +16.3 % à +26.7 %. Le bilan opérationnel : au lieu de trois modèles, trois pipelines d'entraînement et trois infrastructures de récupération, l'équipe en maintient un ; l'article affirme directement que le déploiement de l'embedding unifié « a drastiquement réduit le coût opérationnel et d'ingénierie » — tout en améliorant la qualité.
À notre avis, la leçon clé de ce cas est contre-intuitive : la consolidation de modèles est généralement perçue comme un compromis « plus simple mais pire », or à Pinterest le modèle universel a surpassé les spécialistes à leurs propres tâches. Les mécanismes suivent la théorie ML — l'apprentissage multi-tâches agit comme une régularisation, et les données d'un produit deviennent une augmentation pour un autre — mais l'effet d'une telle ampleur (+110 % dans Lens) était possible parce que les tâches s'étaient avérées suffisamment liées et le domaine le plus faible avait reçu le plus de données « étrangères ». Nous ne généraliserions pas « un embedding est toujours meilleur » à n'importe quel ensemble de tâches : la dispersion propre de Shop the Look dans l'article démontre pourquoi.
Notre deuxième observation : ce cas concerne l'économie des plateformes ML, pas seulement la qualité. À 600+ millions de recherches visuelles par mois, chaque modèle supplémentaire signifie une réindexation de milliards d'images et une duplication de service ; une flotte un tiers plus petite accélère chaque itération ultérieure. La consolidation des infrastructures est l'un de ces rares investissements qui réduisent les coûts et augmentent la vélocité de l'équipe en même temps ; nous notons simplement que les chiffres en ligne ne sont publiés que pour Lens seul, et tous les résultats relèvent de l'auto-rapport de l'entreprise.
Leçons
- La consolidation de modèles est à la fois une question de qualité et d'économie : un embedding multi-tâches unique a surpassé trois modèles spécialisés en pertinence et a réduit l'infrastructure maintenue à un tiers.
- L'apprentissage multi-tâches agit comme une régularisation : les données d'un produit améliorent les autres — le domaine le plus difficile a connu les plus grands gains (Lens, +110 % précision@5).
- Regardez la variance, pas seulement la moyenne : au sein de Shop the Look, les résultats par catégorie varient de −33.3 % à +249.7 % ; une victoire moyenne ne garantit pas gagner chaque segment.
- Validez à la fois hors ligne (juges humains) et en ligne (A/B) : chez Pinterest, les gains de précision ont été confirmés par des gains dans chaque métrique d'engagement.
- La binarisation des embeddings est un effet de levier économique sous-estimé : les codes binaires réduisent le stockage et les coûts de recherche sur des milliards d'images ; le diable est dans les détails (GroupNorm plutôt que LayerNorm).
- Moins de modèles signifient des itérations plus rapides : une seule amélioration d'embedding met automatiquement à niveau chaque produit de recherche visuelle et 10+ clients internes à la fois.
- L'unification paie à l'échelle : avec 600M+ recherches visuelles par mois, chaque passe de réindexation et chaque modèle supplémentaire est coûteux.
Questions fréquentes
Qu'a gagné Pinterest d'un embedding visuel unifié unique ?
Des gains de qualité sur les trois produits de recherche visuelle (précision@5 : +22 % Flashlight, +110 % Lens, +72 % Shop-the-Look), des gains d'engagement dans le test A/B Lens (+46.7 % épingles, +35 % clics), et des coûts d'infrastructure substantiellement inférieurs — un modèle au lieu de trois.
Comment Pinterest a-t-il entraîné un embedding pour trois produits différents ?
Avec l'apprentissage métrique multi-tâches : un réseau SE-ResNeXt101 avec un tronc partagé et des branches par tâche s'entraîne simultanément sur Flashlight (800K images, 15K classes), Lens (540K, 2K classes), et Shop-the-Look (340K, 189 classes + 50K étiquettes d'instance), formant un espace vectoriel unique.
Pourquoi le modèle universel a-t-il surpassé les modèles spécialisés ?
L'apprentissage multi-tâches agit comme une régularisation : les données de chaque produit deviennent un signal supplémentaire pour les autres. Le domaine le plus difficile a connu les plus grands gains — Lens (+110 % précision@5), où les photos prises par caméra manquaient de diversité des données d'entraînement.
Comment fonctionne un embedding unique à l'échelle de milliards d'images ?
La production utilise des vecteurs binarisés (un module de binarisation avec GroupNorm), qui réduisent drastiquement les coûts de stockage et accélèrent la recherche, tandis qu'un module de sous-échantillonnage avec une banque de proxy côté CPU permet l'entraînement de classification sur des dizaines de milliers de classes sur huit GPU Tesla V100.
Quelle est l'échelle de la recherche visuelle chez Pinterest ?
Selon l'article KDD 2019 — plus de 600 millions de recherches visuelles par mois sur 250+ millions d'utilisateurs actifs mensuels et un corpus de 200+ milliards d'épingles ; le billet de blog l'a présenté de manière plus prudente comme « des centaines de millions » de recherches par mois.