Экосистема вычислений на базе графических процессоров (graphics processing unit, GPU) стремительно развивается. Конечная цель — повысить эффективность и масштабируемость различных рабочих нагрузок, которые выполняются на GPU. Тем не менее, существуют приемы, позволяющие максимизировать производительность дорогостоящих графических процессоров для выполнения таких задач, как работа с искусственным интеллектом, и при этом избежать потенциальных проблем с СХД и сетями.

Повышенные требования к вычислительным ресурсам, которые демонстрируют приложения ИИ, машинного обучения (МО) и глубокого обучения (ГО), бросают вызов производительности, надежности и масштабируемости ЦОДов, особенно это касается ситуаций, когда архитекторы имитируют дизайн публичных облаков, чтобы упростить переход к гибридным облакам и локальным развертываниям. В настоящее время рынок начал стремительно наполняться GPU-серверами, а вместе с ними, чтобы повысить эффективность и масштабируемость рабочих нагрузок GPU, начала развиваться экосистема GPU-вычислений. Вместе с тем существуют приемы, которые позволяют максимизировать дорогостоящие вычислительные ресурсы GPU, избегая при этом потенциально узких мест с СХД и сетью.

CTO компании Excelero Свен Бройнер и его коллега, системный архитектор Кирилл Шойхет приводят на портале eWeek девять лучших практик по подготовке ЦОДов для работы с ИИ, МО и ГО.

1. Хорошо изучите целевую производительность системы, ROI и планы масштабируемости

Это требуется для того, чтобы привести их в соответствие с целями ЦОДа. Большинство организаций приступают к внедрению ИИ, изначально выделяя на это небольшой бюджет, чтобы создать небольшой комплект обучающих наборов данных. Помимо этого они готовят инфраструктуру таким образом, чтобы система могла плавно и быстро расти, поскольку ИИ становится важной частью основного бизнеса. Подобранная предприятием аппаратная и программная инфраструктура должна быть подготовленной к гибкому масштабированию — это позволит избежать разрушительных изменений на каждом новом этапе роста. Чтобы изучить требования к производительности и спланировать дальнейшее развитие инфраструктуры, крайне важно наладить тесное сотрудничество между специалистами по данным и системными администраторами.

2. Оценка возможностей для кластеризации нескольких GPU-систем для текущей ситуации или для будущего

Наличие нескольких графических процессоров внутри одного сервера обеспечивает эффективный обмен данными и коммуникацию внутри системы, а также экономичность, при этом эталонные конструкции предполагают ее будущую кластеризацию с поддержкой до 16 GPU в одном сервере. Сервер с несколькими графическими процессорами должен быть готов к считыванию входящих данных с очень высокой скоростью, чтобы по максимуму загрузить GPU, а это означает, что он нуждается в сверхскоростном сетевом соединении c системой хранения, которая поддерживает обучающую базу данных. Однако в какой-то момент мощностей одного сервера для работы с разросшейся обучающей базой данных станет не хватать, поэтому предприятию следует создать распределенную инфраструктуру хранения данных — это облегчит добавление GPU-серверов по мере расширенного внедрения ИИ, МО и ГО.

3. Оценка контрольных точек на всех этапах работы ИИ

Инфраструктура ЦОДа должна обладать возможностью одновременной обработки рабочих процедур ИИ на всех этапах. Наличие надежной концепции планирования и совместного использования ресурсов имеет решающее значение для экономически эффективных ЦОДов, поэтому работа специалистов по данным должна быть выстроена следующим образом: пока одна группа получает новые данные, чтобы подготовить их, другая в то же время будут обучаться на основе уже имеющихся данных, тогда как третья будет применять ранее сгенерированные модели в производстве. Популярным решением этой проблемы является Kubernetes — эта технология позволяет перенести облачные технологии в локальную среду с последующим гибридным развертыванием.

4. Выбор стратегий для оптимального баланса между загрузкой GPU и производительностью

Серверы на базе GPU являются естественным выбором для многих приложений ИИ/МО/ГО, потому что природа их вычислений носит интенсивный вычислительный характер. Несмотря на то, что GPU эффективны при загрузке данных из оперативной памяти, обучающие наборы данных, как правило, намного превышают ее объем, что существенно осложняет обработку огромного количества задействованных файлов. Исходя из этого, решающее значение имеет достижение оптимального баланса между количеством графических процессоров и доступной мощностью центрального процессора (CPU), объемом памяти и пропускной способностью сети — как между самими GPU-серверами, так и между ними и инфраструктурой хранения.

5. Поддержка требований на этапах обучения и вывода

В классическом примере обучения системы «распознаванию» кошки, компьютеру предлагается поиграть в игру чисел, где ему (или, скорее, GPU) нужно будет запоминать большое количество фотографий кошек всех цветов. Эти требования идеально поддерживает флэш-память NVMe, обладающая сверхнизкой задержкой доступа и возможностью выполнения большого количества операций в секунду, что связано с характером обращений, состоящих из массивных параллельных операций чтения файлов. На этапе вывода задача аналогична, потому что распознавание объектов обычно происходит в режиме реального времени — и это еще один довод в пользу использования флэш-памяти NVMe, которая сводит к минимуму задержки в обработке.

6. Параллельные файловые системы и альтернативы

Параллельные файловые системы, такие как IBM SpectrumScale или BeeGFS, могут помочь эффективно обрабатывать метаданные большого количества небольших файлов, позволяя в 3-4 раза ускорить анализ наборов данных МО, доставляя за секунду по сети десятки тысяч фрагментов файлов. Учитывая, что обучающие данные носят характер «только для чтения», это означает, что необходимость в параллельной файловой системе полностью отпадает, если открыть GPU-серверам доступ к томам данных и совместно использовать их через такую среду, как Kubernetes.

7. Выберите правильную сетевую магистраль

ИИ/МО/ГО представляют собой новую рабочую нагрузку, и ее подгонка под существующую сетевую инфраструктуру приводит к тому, что та не всегда способна поддерживать требуемые низкие задержки, высокую пропускную способность, быструю скорость передачи сообщений и интеллектуальные разгрузки, необходимые для сложных вычислений и быстрой и эффективной доставки данных. В качестве альтернативы для удовлетворения новых требований предприятия могут рассмотреть основанные на протоколе RDMA сетевые транспортировщики RoCE (RDMA over Converged Ethernet) и InfiniBand.

8. Четыре рычага, которые оказывают влияние на систему хранения по соотношению цена/производительность

1. Высокая пропускная способность чтения в сочетании с низкой задержкой, которая не ограничивает гибридное развертывание и может работать как на облачных, так и локальных ресурсах.

2. Защита данных. Как правило, СХД для ИИ/МО/ГО работает значительно быстрее, чем другие системы в ЦОДе, поэтому восстановление ее из резервной копии после критического сбоя может занять очень много времени и нарушить текущие операции. Характер ГО, который в основном направлен на считывание информации, делает его подходящим для распределенного кода избыточности, когда наивысший уровень отказоустойчивости уже встроен в первичную систему хранения с очень небольшой разницей между необработанной и полезной емкостью.

3. Эластичность емкости для размещения накопителей любого размера и типа. По мере развития флэш-накопителей и расширения их возможностей ЦОДы могут оптимально сбалансировать соотношение цена/производительность в масштабе, когда в этом имеется насущная потребность.

4. Адаптация производительности. Чтобы в дальнейшем точность моделей повышалась, наборы данных ИИ должны со временем увеличиваться, тогда как инфраструктура хранения должна достигать коэффициента масштабирования, близкого к линейному, где каждому набору дополнительных данных в СХД отвечает эквивалентная добавка производительности. Это позволяет организациям начинать с малого и беспрерывно расти, как того требуют бизнес-задачи.

9. Установите контрольные метрики и критерии производительности, чтобы лучше контролировать масштабируемость

Например, для хранилища, которое обслуживает задачи ГО, одной из метрик может быть то, что каждый GPU обычно обрабатывает тысячи или десятки тысяч файлов в секунду, где каждый файл имеет средний размер от нескольких десятков до тысяч килобайтов. Предварительная установка соответствующих метрик с самого начала помогает классифицировать архитектурные подходы и решения и вносить в них последующие изменения.