Меню
Главная Блог компании De Novo Карты на стол. Как выбрать правильный AI-ускоритель в облаке
Карты на стол. Как выбрать правильный AI-ускоритель в облаке

Карты на стол. Как выбрать правильный AI-ускоритель в облаке

2024-04-10

Почему не все современные ускорители вычислений оптимальны для AI/ML-нагрузок и в чем принципиальная разница между GPU и TPU?

История ИТ знает несколько пиков интереса к технологиям искусственного интеллекта и машинного обучения (AI/ML). Сегодня мы приближаемся к одному из них, что обусловлено очередным прорывом в области аппаратных систем — наконец появились достаточные вычислительные мощности, способные обрабатывать действительно большие и сложные модели AI. Прогресса во многом удалось достичь благодаря специализированным ускорителям (акселераторам) вычислений — картам GPU и TPU. 

И хотя такие решения сами по себе все еще довольно дороги — стоимость мощных моделей достигает десятков тысяч $ — доступ к ним можно получить из облака за вполне умеренные деньги. Так что цена уже не является сдерживающим фактором даже для стартапов в области AI/ML, а значит перспективные разработки на основе искусственного интеллекта будут появляться все чаще и чаще. Другое дело, что при выборе облачного сервиса стоит обратить самое пристальное внимание на то, что именно предлагает оператор, ведь, между различными моделями ускорителей есть принципиальная разница и она важна.

Ядра-ядрам рознь

Один из наиболее эффективных методов ускорения вычислений — это параллельная обработка. Одна большая и сложная задача делится на много более простых подзадач, каждая из которых, в свою очередь, выполняется в отдельном вычислительном узле (процессоре/ядре/потоке). Обработка происходит параллельно и одновременно. Долгое время для этой цели в основном использовались универсальные центральные процессоры (CPU) в составе кластеров и/или мультипроцессорных серверов. 

Проблема в том, что функциональность CPU зачастую оказывается избыточной, а производительность на ’этом классе задач — недостаточной. Если задачу можно распараллелить, то вместо одного мощного универсального чипа, лучше иметь массу относительно простых узкоспециализированных процессоров. Прогресс в этом вопросе наметился на рубеже 2000-х годов, когда компания NVIDIA показала новую видеокарту GeForce 256, оснащенную блоком специальных ядер, адаптированных для работы с графикой (классическая область для параллельной обработки данных). Тогда же впервые появилась аббревиатура GPU (graphics processing unit, графический процессор). 

Но настоящий прорыв случился, когда NVIDIA решила не ограничиваться только графикой и в 2007 году вела на рынок карты нового поколения — GPU общего назначения (General-purpose computing on graphics processing units) и специализированную архитектуру Compute Unified Device Architecture (CUDA), обеспечившую эффективную параллельную обработку данных. Карты GPGPU (для краткости их все также называли и называют GPU) на базе CUDA уже могли выполнять широкий круг вычислительных задач, выходящих далеко за пределы работы с графикой. Что еще более важно, на одной видеокарте можно разместить сотни и тысячи CUDA-ядер. 

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

Конечно же и к задачам AI/ML их тоже пытались приспособить, но быстро выяснилось, что здесь нужно что-то побыстрее. Ядра CUDA, это, на самом деле, те же универсальные процессоры, хотя и заметно упрощенные. В то же время, при обработке AI/ML-моделей большая часть вычислительной мощности, как правило, приходится на довольно простые, однотипные, но очень многочисленные операции с тензорами (в данном случае они сводятся к перемножению матриц). Поэтому в 2017 году NVIDIA выпустила новый тип GPU на базе архитектуры Volta, преимуществом которых стало наличие ядер нового типа — тензорных (tensor core). 

Nvidia Tesla V100 — первый ускоритель на базе архитектуры Volta / Новости /  Overclockers.ua
NVIDIA Volta — первая классическая GPU для дата-центров. На фото ее представляет Дженсен Хуанг (Jensen Huang), руководитель и сооснователь компании

Об особенностях тензорных ядер мы рассказывали в отдельной статье. Здесь лишь отметим, что они позволили радикально увеличить производительность GPU на задачах искусственного интеллекта и машинного обучения, подняв эффективность ускорителей на недосягаемую ранее высоту. Развивая успех, в последующие годы NVIDIA представила еще несколько поколений архитектур с тензорными ядрами:  Turing,  Ampere,  Ada Lovelace,  Hopper и — в середине марта 2024 года — Blackwell. Сейчас ведущие облачные операторы предлагают доступ к ускорителям на базе архитектур  Ampere,  Ada и Hopper. При этом Turing уже считается устаревшей, а модели на Blackwell еще не поступали на массовый рынок (они должны появится в 2024 году, но неизвестно, когда именно и как быстро они будут доступны заказчикам).

Почему мы все время говорим только о решениях NVIDIA (притом, что есть и другие производители GPU с тензорными ярами)? Ответ прост — сегодня подавляющее большинство дата-центров и облачных операторов по всему миру, включая De Novo, используют ускорители именно этой компании. Другое дело, что карты, доступные в облаках, могут существенно различаться по своим характеристикам. Давайте разберемся, в чем же разница.

TPU ≠ GPU

Начнем с того, что в продуктовом портфеле NVIDIA есть два принципиально разных семейства GPU-ускорителей с тензорными ядрами — пользовательские модели или т.н. «игровые карты» (имеют в названии GeForce) и решения для дата-центров, у которых первая буква наименования соответствует типу архитектуры: «T» – Turing, «A» – Ampere, «L» – Ada Lovelace, «H» – Hopper  (например, A40, L40, H100 и т.д.).

Потребительские модели предназначены исключительно для персонального использования, в пользовательском соглашении (EULA) NVIDIA прямо указано, что такие карты не могут работать в дата-центрах и к ним нельзя открывать удаленный доступ. Система активного охлаждения не позволяет установить их в промышленное серверное оборудование. Что еще не менее важно — пользовательские карты не поддерживают виртуализацию GPU, не предназначены для работы в режиме 24x7, а их удельная энергоэффективность (производительность в расчете на ватт) примерно вдвое ниже, чем у акселераторов для дата-центров.

В контексте данной статьи нас больше интересует второе семейство ускорителей — предназначенное для ЦОД и, соответственно, для облачных сервисов. Помимо повышенной производительности такие модели поддерживают виртуализацию, удаленный доступ нескольких пользователе одновременно и могут объединяться в кластеры с возможностью почти безграничного масштабирования.

GPU-Server mieten 8xA40, 8x48GB GPU, 2x6248R , 384GB RAM
GPU NVIDIA A40 на базе микроархитектуры Ampere — мощное решение для работы с графикой (и не только) 

В сегменте для дата-центров  NVIDIA предлагает более десятка различных базовых моделей карт, но все их тоже можно разделить на две группы. Первая объединяет классические GPU, ориентированные, в основном, на работу с графикой и видео. Такие модели содержат увеличенное число универсальных ядер CUDA (их может быть более 10 тыс. на одном устройстве), имеют «на борту» специальные RT-ядра для «рейтрейсинга» (это наиболее реалистичная технология эмуляции освещения на 3D-изображениях), обязательно содержат видео кодеры/декодеры, а основное предназначение тензорных ядер – помощь в обработке графики (технологии DLSS , AI denoising и др.). Наиболее мощными картами этой группы являются модели А40 и L40, на базе микроархитектур Ampere и Ada Lovelace соответственно. 

Конечно, такие ускорители можно использовать не только для профессиональной графики, модели А40 будут хорошим решением также для развертывания инфраструктур виртуальных рабочих столов (VDI), облачных видеоигр, анализа бизнес-данных, НРС-нагрузок умеренной интенсивности. Их также можно применять для обучения  моделей  искусственного интеллекта умеренного размера и сложности. Но все же лучше всего они проявляют себя именно на задачах, так или иначе, связанных с обработкой изображений, прежде всего – рендеринг графики в реальном времени.

Второе семейство, номинально, также относится к GPU, но, ориентировано, главным образом, на решение задач не связанных с графикой. Речь идет о моделях «сотых» серий, например, A100 и ее наследник H100 в которых полностью отсутствуют видео кодеки, RT-ядра и прочие сопутствующие компоненты. Зато их вычислительные способности, связанные с AI/ML выставлены на максимум. Такие модели также содержат тысячи ядер CUDA (в Н100 их почти 17 тыс.) и вместе с тем имеют повышенное количество тензорных процессоров, которые к тому же более технологичны и производительны.

NVIDIA verdoppelt den Speicher der A100-GPU und bietet DGX-Workstation an -  Hardwareluxx
NVIDIA A100 — яркий пример современной мощной TPU для задач AI/ML

Еще одна характерная особенность — больший, чем у любых других ускорителей, объем и скорость работы оперативной памяти, а интерконнект (скорость обмена данными между картами), благодаря фирменной технологии NVIDIA NVLink достигает невероятных 900 Гбайт/с в обоих направлениях (в семь раз больше, чем пропускная способность шины PCIe Gen5). Есть и другие особенности, которые существенно повышают продуктивность ускорителей A100 и H100 именно на задачах AI/ML. То есть, более корректно было бы называть такие устройства не GPU — потому что работа с графикой здесь далеко не на первом месте — а TPU (Tensor Processing Unit), поскольку именно развитые технологии для тензорных вычислений являются их преимуществом и отличительной чертой. 

Такие TPU могут эффективно работать с большими моделями искусственного интеллекта и машинного обучения, обрабатывать огромные массивы данных, осуществлять интенсивные HPC-вычисления, крупномасштабные научные симуляции и т.д. Моделирование, прогнозирование, анализ больших данных, сложнейшие расчеты и поиск лучших решений — эти и многие другие задачи сегодня эффективно решают с помощью TPU.

NVIDIA H100 80GB PCIe 5.0 Data Center GPU
NVIDIA H100. На сегодняшний день — самая производительная модель TPU в мире 

Но, если вам все же требуется некое универсальное решение — более производительное на задачах AI/ML, чем GPU A40, но в то же время с полноценной поддержкой графических задач, то на этот случай в номенклатуре NVIDIA есть специальная модель L40S. По производительности она не уступает А100, но и стоит не меньше. 

Что предпочесть?

Построение собственной современной ИТ-инфраструктуры достаточной производительности для AI/ML — сложная, дорогая и длительная задача. Стоимость серверов с подходящими ускорителями и соответствующей инфраструктурой легко переваливает за $100 тыс., а сроки поставки TPU, спрос на которые сегодня бьет рекорды, исчисляются месяцами. Кроме того, собственная инфраструктура, как правило, довольно статична и не обладает высокой гибкостью. При этом задачи, для решения которых она проектировалась и создавалась, могут кардинально измениться на протяжении даже нескольких кварталов. 

В то же время, получить доступ к самым современным AI-ускорителям с тензорными ядрами можно из облака оператора, не тратя время на ожидание и оплачивая мощности по мере их использования. К тому же облака обеспечивают большую гибкость, что позволяет пользователю своевременно адаптировать свою ИТ-инфраструктуру в соответствии с изменениями задач.

Но, при выборе облачной платформы стоит обратить внимание на предлагаемый тип ускорителей — если вы в основном планируете работать с графикой, то подойдут классические GPU (например, упомянутые NVIDIA А40, L40, L4). Но когда круг ваших задач больше ориентирован на искусственный интеллект и машинное обучение, например, работу с большими языковыми моделями (LLM), HPC-вычислениями или другими сложными расчетами — оптимальным выбором будут TPU (A100, H100, L40S).

Компания De Novo предлагает доступ к мощнейшим TPU NVIDIA H100 и L40S непосредственно из окружения Kubernetes в составе новых облачных уcлуг Tensor Cloud (в коллективном облаке) и HTI (сервис класса  GPU  Private  Cloud), а с PaaS-платформой ML Cloud вы получаете еще и готовую полноценную рабочую среду для ML-инженера (класса  AWS  SageMaker или Google Vertex AI). Если хотите узнать больше— обращайтесь за детальной консультацией к нашим экспертам, которые не только ответят на ваши вопросы, но и помогут развернуть пилотный проект или перенести нагрузки в облако De Novo.

© 2008—2024 De Novo (Де Ново)