Pinterest: один эмбеддинг вместо трёх — +46,7% сохранений в Lens и втрое меньше ML-систем на поддержке

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

Pinterest: один эмбеддинг вместо трёх — +46,7% сохранений в Lens и втрое меньше ML-систем на поддержке
Pinterest · Social & Visual Search · Hamidun News
Паспорт проекта и стек технологий
Компания и отрасль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, и все результаты — самоотчёт компании.

Уроки для индустрии

01

Консолидация моделей — это и качество, и экономика: один мультизадачный эмбеддинг обыграл три специализированных по релевантности и втрое сократил поддерживаемую инфраструктуру.

02

Мультизадачное обучение работает как регуляризация: данные одного продукта улучшают качество для остальных — самый большой прирост получил самый «сложный» домен (Lens, +110% precision@5).

03

Смотрите на дисперсию, а не только на среднее: внутри Shop the Look разброс по категориям — от −33,3% до +249,7%; усреднённый выигрыш не гарантирует выигрыша в каждом сегменте.

04

Проверяйте и офлайн (асессоры), и онлайн (A/B): у Pinterest прирост точности подтвердился ростом всех продуктовых метрик вовлечённости.

05

Бинаризация эмбеддингов — недооценённый рычаг экономики: бинарные коды кратно удешевляют хранение и поиск по миллиардам изображений; дьявол в деталях (GroupNorm вместо LayerNorm).

06

Чем меньше моделей, тем быстрее итерации: одно улучшение эмбеддинга автоматически прокачивает все продукты визуального поиска и 10+ внутренних клиентов сразу.

07

Инвестиции в унификацию окупаются на масштабе: при 600M+ визуальных поисков в месяц каждая переиндексация и каждая лишняя модель стоят очень дорого.

Верифицированные первоисточники

  1. Learning a Unified Embedding for Visual Search at Pinterest (KDD 2019) ↗ — Pinterest / arXiv (Zhai et al.) · 2019-08-05
  2. Unifying visual embeddings for visual search at Pinterest ↗ — Pinterest Engineering Blog (Andrew Zhai) · 2019-08-08
  3. Visual Discovery at Pinterest (история продуктов: Related Pins 2014, Similar Looks 2015, Flashlight 2016, Lens 2017) ↗ — Pinterest / arXiv (Zhai, Kislyuk et al.) · 2017-02-15

Вопросы и ответы по материалу

Что дал 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.

ЖХ
Жемал Хамидун — CPO Alpina Digital, продакт-менеджер AlpinaGPT. Делает AI-продукты с 2019 года. Hamidun News — pet project, который вырос в production-агрегатор с 6000+ читателей.
✦ Закрытый клуб практиков · Vibe Club

Внедряйте ИИ быстрее рынка вместе с инженерами и фаундерами

Внутри Vibe Club (hamidun.com/club): еженедельные живые мастермайнды и разборы архитектуры с Жемалом Хамидуном, закрытый Tech Radar, LMS и обновляемая база из 370+ боевых скиллов.

Вступить в Vibe Club →Тест-драйв Академии (72ч)