Meta’s AI Storage Blueprint at Scale

Замечательная, короткая, но очень интересная статья от инженеров Meta* о том, как они оптимизировали слой хранения данных для ускорения экспериментов и исследований в области AI/ML.

Современным моделям нужно очень много данных, поэтому оптимизации в слое хранения приводят к тому, что бигтехи начинают быстрее проводить исследования. В случае Meta* в ногу стрелять начала старая архитектура хранения и постоянные переносы датасетов между регионами: загрузка данных для эксперимента занимала часы.

Конечно же, Meta* это не выгодно – компании хочется, чтобы инженеры больше занимались моделями, а не ожиданием загрузки датасетов.

Инженеры преследовали две цели: максимизировать утилизацию GPU и ускорить исследования.

⭐️ Интересные идеи ➡️ Первая проблема старой архитектуры BLOB-storage заключалась в том, что на каждый чих приходилась делать кучу lookup-запросов по метаданным, что создавало задержки в сотни миллисекунд. Боттлнек в хранилище приводил к простоям GPU.

➡️ Инженеры Meta* первым делом объединили разбросанные между слоями метаданные в одну плоскую схему на ZippyDB (это их внутренний KV). В итоге они получили поиск путей в хранилище сложностью O(1) на чанк.

➡️ Помимо изменения архитектуры, инженеры сделали «толстый» SDK и убрали dataplane proxy, который стоял в хранилище и проксировал данные на клиент после получения метаданных. Это дополнительно снизило задержку и позволило стримить данные с хранилищ прямо на клиенты.

➡️ Вторая проблема заключалсь в необходимости заранее переносить датасеты в регион с GPU – она заставляла исследователей ждать загрузки данных часами. Для решения этой проблемы инженеры сделали «умную» подгрузку данных и многослойное кэширование.

➡️ Идею кэширования инженеры взяли из устройства операционной системы Linux (L1/L2/in-memory cache). У них получилась следующая система: память GPU хоста как L1, flash/NVMe GPU хоста как L2, региональный BLOB storage на flash как L3, глобальный BLOB-storage как источник правды.

➡️ Система «умной» подгрузки и кэшей значительно сократила время на ingestion данных (p90 179мин => 30 мин)

Приятного чтения!

*Meta, в том числе ее продукты Facebook и Instagram, признана экстремистской организацией в России. ➖➖➖➖➖➖➖➖➖➖➖ 📝 @ulshinblog