Pinterest: один эмбеддинг вместо трёх — +46,7% сохранений в Lens и втрое меньше ML-систем на поддержке
В офлайн-оценке асессорами универсальный эмбеддинг поднял точность precision@5 на +22,2% в Flashlight, +110,1% в Lens и +72,1% в Shop-the-Look относительно специализированных моделей. Самый большой прирост получил самый сложный домен — Lens: мультизадачное обучение на смешанных данных дало именно то обобщение,…

| Компания и отрасль | Pinterest — Social & Visual Search |
|---|---|
| Стек моделей и ИИ | Multi-task metric learning · SE-ResNeXt101 (ImageNet pretrain) · Модуль сабсэмплинга (прокси-банк на CPU) · Бинаризация эмбеддингов (GroupNorm) · PyTorch DDP + FP16 (Apex), 8x Tesla V100 · Единая инфраструктура извлечения · Flashlight / Lens / Shop-the-Look |
| Хронология внедрения | 2014 — Related Pins; 2015 — Similar Looks и визуальный кроппер (Caffe, VGG16); 2016 — Flashlight; 2017 — Lens (поиск по фото с камеры); 2018 — Shop the Look на PyTorch/SE-ResNeXt — парк специализированных эмбеддингов разрастается. 2019 — унификация: статья принята на KDD 2019, препринт arXiv — 5 августа 2019, разбор в инженерном блоге — 8 августа 2019; автоматизированный Shop the Look запущен в том же году. |
| Верификация | Проверено 2026-07-11 · 3 первоисточн. |
Контекст и масштаб бизнеса
Pinterest — платформа, для которой визуальный поиск не фича, а суть продукта: пользователь приходит искать идеи, у которых часто нет словесного описания. Компания строила это направление годами: Related Pins (2014), Similar Looks (2015), Flashlight (2016) — поиск похожего внутри любого пина, Lens (2017) — поиск по фотографии с камеры телефона, а в 2019 году — автоматизированный Shop the Look, находящий конкретные товары в интерьере или образе. К моменту публикации кейса платформа насчитывала 250+ миллионов активных пользователей в месяц, корпус из 200+ миллиардов «идей», а визуальный поиск обслуживал более 10 внутренних клиентов-продуктов. Масштаб запросов сама команда оценивала в статье на KDD 2019 как 600+ миллионов визуальных поисков в месяц (в сопутствующем блог-посте — осторожнее: «сотни миллионов»).
Оборотная сторона этой эволюции — типичный для быстрорастущих ML-организаций технический долг. Каждый новый продукт запускался со своей специализированной моделью эмбеддингов: визуальный кроппер 2015 года работал на Caffe и VGG16, Shop the Look 2018-го — уже на PyTorch и SE-ResNeXt. Стеки, датасеты и векторные пространства разошлись; командам было проще завести очередную «модель под задачу», чем улучшать общую, — и парк специализированных эмбеддингов рос.
Решение этой проблемы команда визуального поиска под руководством Эндрю Чжая описала в статье «Learning a Unified Embedding for Visual Search at Pinterest», принятой на KDD 2019, и в разборе в инженерном блоге. Это одна из первых детальных публикаций о консолидации нескольких боевых эмбеддингов в один универсальный — с полными цифрами офлайн- и онлайн-экспериментов.
Бизнес-проблема и узкие места
Три продукта визуального поиска — Flashlight, Lens и Shop the Look — жили на трёх отдельных специализированных эмбеддингах, и это означало утроенные затраты по всей цепочке. Каждую модель нужно обучать и версионировать отдельно; под каждую — держать собственную инфраструктуру извлечения и хранения; и главное, при каждом обновлении любой из моделей — переиндексировать миллиарды изображений каталога именно под её векторное пространство. Стоимость хранения и сервинга росла линейно с числом моделей, а скорость итераций падала: команда тратила ресурсы на поддержку зоопарка, а не на улучшение качества.
Была и более тонкая проблема: улучшения не переносились. Прогресс в модели Flashlight никак не помогал Lens и наоборот — знания, выученные на одном продукте, оставались заперты в его эмбеддинге. При этом задачи объективно разные, что и оправдывало исходную специализацию. Flashlight ищет похожее среди «чистых» каталожных изображений по сигналам вовлечённости. Lens решает задачу кратно сложнее: фотография с камеры — с бытовым освещением, случайным ракурсом и шумом — должна находить соответствия в каталожном домене; это классический domain shift. Shop the Look требует точности на уровне конкретного товара: найти не «похожий стул», а именно эту модель.
Вопрос, на который отвечала команда: может ли один универсальный эмбеддинг, обученный сразу на задачах всех трёх продуктов, сравняться со специализированными моделями — или неизбежна деградация качества в обмен на операционную простоту?
Архитектура и внедрение ИИ-решения
Команда обучила один универсальный эмбеддинг мультизадачным метрическим обучением (multi-task metric learning). База — свёрточная сеть SE-ResNeXt101, предобученная на ImageNet; поверх общего ствола — ветки под каждую задачу: полносвязный слой и классификационный softmax-лосс. Обучение шло одновременно на датасетах всех трёх продуктов: 800 тысяч изображений Flashlight (15 тысяч семантических классов, собранных по сигналам вовлечённости), 540 тысяч Lens (2 тысячи классов, размеченных людьми, смешанные домены — от каталожных картинок до камерных фото) и 340 тысяч Shop the Look (189 товарных классов плюс 50 тысяч instance-меток конкретных товаров).
Два инженерных модуля сделали схему практичной на масштабе Pinterest. Модуль сабсэмплинга позволил обучать классификацию на десятках тысяч классов, храня банк прокси-векторов на CPU и подгружая в GPU-память только нужную подвыборку. Модуль бинаризации (с заменой LayerNorm на GroupNorm, что оказалось критично для совместимости с мультизадачностью) сжимает вектор в бинарный код — именно бинарные эмбеддинги идут в продакшен, кратно снижая стоимость хранения и скорость поиска по миллиардам изображений. Инфраструктура обучения — PyTorch DistributedDataParallel с mixed-precision (FP16, Apex): типовой прогон — 9 эпох на восьми Tesla V100, оптимизатор SGD с momentum 0,9.
Принципиальный продуктовый выигрыш архитектуры: единое векторное пространство обслуживает все сценарии поиска через общую инфраструктуру извлечения. Одна переиндексация каталога — вместо трёх; одно улучшение модели автоматически достаётся всем продуктам и более чем десяти внутренним клиентам визуального поиска.
Проверка велась на двух уровнях. Офлайн — и по автоматическим метрикам на бинарных эмбеддингах (например, precision@1 для Shop the Look вырос с 33,0% у специализированной модели до 52,8% у универсальной), и по оценкам асессоров на реальных запросах. Онлайн — A/B-тест в продукте Lens, самом сложном по домену: измерялись сохранения (repins), переходы, раскрытия карточек и доля вовлекающихся пользователей.
“Развёртывание универсального эмбеддинга в Pinterest кардинально снизило операционные и инженерные затраты на поддержку нескольких эмбеддингов — одновременно повысив качество. — Эндрю Чжай и соавторы, Pinterest (KDD 2019)
Измеримый результат и экономика
В офлайн-оценке асессорами универсальный эмбеддинг поднял точность precision@5 на +22,2% в Flashlight, +110,1% в Lens и +72,1% в Shop-the-Look относительно специализированных моделей. Самый большой прирост получил самый сложный домен — Lens: мультизадачное обучение на смешанных данных дало именно то обобщение, которого не хватало камерным фотографиям. Статья честно показывает и дисперсию: внутри Shop the Look по категориям разброс от −33,3% до +249,7% — усреднённый выигрыш не означает выигрыша везде.
Онлайн A/B-тест в Lens подтвердил офлайн-картину ростом всех продуктовых метрик: сохранения (repins) +46,7%, переходы +35,0%, раскрытия карточек +32,7%, доля вовлекающихся пользователей — от +16,3% до +26,7%. Операционный итог: вместо трёх моделей, трёх пайплайнов обучения и трёх инфраструктур извлечения команда поддерживает одну; в статье прямо говорится, что развёртывание универсального эмбеддинга «кардинально снизило операционные и инженерные затраты» — при одновременном росте качества.
На наш взгляд, ключевой урок кейса контринтуитивен: консолидация моделей обычно воспринимается как компромисс «проще, но хуже», а у Pinterest универсальная модель обыграла специалистов на их собственных задачах. Механика понятна из ML-теории — мультизадачность работает как регуляризация, а данные одного продукта становятся аугментацией для другого, — но масштаб эффекта (+110% в Lens) стал возможен потому, что задачи оказались достаточно родственными, а самый слабый домен получил больше всего «чужих» данных. Переносить вывод «один эмбеддинг всегда лучше» на любой набор задач мы бы не стали: сама статья с разбросом по категориям Shop the Look это и демонстрирует.
Второе наше наблюдение: этот кейс — про экономику ML-платформ, а не только про качество. При 600+ миллионах визуальных поисков в месяц каждая лишняя модель — это переиндексации миллиардов изображений и дублирующий сервинг; втрое меньший парк систем ускоряет каждую следующую итерацию. Консолидация инфраструктуры — из тех редких инвестиций, что одновременно снижают затраты и повышают скорость команды; отметим лишь, что онлайн-цифры опубликованы только для Lens, и все результаты — самоотчёт компании.
Уроки для индустрии
Консолидация моделей — это и качество, и экономика: один мультизадачный эмбеддинг обыграл три специализированных по релевантности и втрое сократил поддерживаемую инфраструктуру.
Мультизадачное обучение работает как регуляризация: данные одного продукта улучшают качество для остальных — самый большой прирост получил самый «сложный» домен (Lens, +110% precision@5).
Смотрите на дисперсию, а не только на среднее: внутри Shop the Look разброс по категориям — от −33,3% до +249,7%; усреднённый выигрыш не гарантирует выигрыша в каждом сегменте.
Проверяйте и офлайн (асессоры), и онлайн (A/B): у Pinterest прирост точности подтвердился ростом всех продуктовых метрик вовлечённости.
Бинаризация эмбеддингов — недооценённый рычаг экономики: бинарные коды кратно удешевляют хранение и поиск по миллиардам изображений; дьявол в деталях (GroupNorm вместо LayerNorm).
Чем меньше моделей, тем быстрее итерации: одно улучшение эмбеддинга автоматически прокачивает все продукты визуального поиска и 10+ внутренних клиентов сразу.
Инвестиции в унификацию окупаются на масштабе: при 600M+ визуальных поисков в месяц каждая переиндексация и каждая лишняя модель стоят очень дорого.
Верифицированные первоисточники
Вопросы и ответы по материалу
Что дал Pinterest переход на единый визуальный эмбеддинг?
Рост качества всех трёх продуктов визуального поиска (precision@5: +22% Flashlight, +110% Lens, +72% Shop-the-Look), рост вовлечённости в A/B-тесте Lens (+46,7% сохранений, +35% переходов) и кратное снижение затрат на инфраструктуру — одна модель вместо трёх.
Как Pinterest обучил один эмбеддинг под три разных продукта?
Мультизадачным метрическим обучением: сеть SE-ResNeXt101 с общим стволом и ветками под задачи учится одновременно на данных Flashlight (800K изображений, 15K классов), Lens (540K, 2K классов) и Shop-the-Look (340K, 189 классов + 50K instance-меток), формируя общее векторное пространство.
Почему универсальная модель оказалась лучше специализированных?
Мультизадачное обучение действует как регуляризация: данные каждого продукта становятся дополнительным сигналом для остальных. Больше всего выиграл самый сложный домен — Lens (+110% precision@5), где фотографиям с камеры не хватало разнообразия обучающих данных.
Как единый эмбеддинг работает на масштабе миллиардов изображений?
В продакшен идут бинаризованные векторы (модуль бинаризации с GroupNorm), что кратно снижает стоимость хранения и ускоряет поиск, а модуль сабсэмплинга с прокси-банком на CPU позволяет обучать классификацию на десятках тысяч классов на восьми GPU Tesla V100.
Внедряйте ИИ быстрее рынка вместе с инженерами и фаундерами
Внутри Vibe Club (hamidun.com/club): еженедельные живые мастермайнды и разборы архитектуры с Жемалом Хамидуном, закрытый Tech Radar, LMS и обновляемая база из 370+ боевых скиллов.
Главное из мира ИИ — раз в неделю
7 ключевых событий недели, отобранных вручную. Без шума, репостов и пресс-релизов.
Готово! Проверьте почту — мы отправили подтверждение.