RSS Stories by Pinterest Engineering on Medium
Подписаться
Кэширование функций для систем рекомендаций с Cachelib
В Pinterest мы управляем масштабной онлайн-системой машинного обучения, где кэширование функций играет ключевую роль в достижении оптимальной эффективности. Мы решили принять проект Cachelib от Meta Open Source и расширить его возможности, чтобы создать высокопроизводительную и гибкую кэш-функцию. Наша система сильно зависит от системы кэширования, чтобы обеспечивать ML-функции эффективно, и расположение кэша в нашей системе является ключевым. Мы эволюционировали нашу архитектуру системы, поскольку наша платформа ML-инференции перешла от CPU к GPU. Мы экспериментировали с тремя разными архитектурами кэша: разбросанным DRAM-кэшем, кэшем гибридного DRAM + NVM на одном узле и отдельными узлами кэша и вывода. Мы также реализовали конвейер для разогрева холодного кэша на новых узлах перед началом обслуживания трафика, который включает в себя регистрацию запросов функций, загрузку зарегистрированных запросов в S3 и повторное воспроизведение запросов на новых узлах.