Игорь Гербылев, Just AI: Для ML, AI и речевых технологий серверы на базе GPU в три раза выгоднее обычных
Just AI работает в сфере машинного обучения и речевых технологий. Значительная часть вычислительных мощностей компании размещается в облаке Selectel, причем сотрудничество продолжается почти 6 лет — с октября 2017 г. На текущий момент особым спросом пользуются серверы на базе GPU. Подробностями поделились Игорь Гербылев, технический директор компании Just AI, и его коллеги.
Market.CNews: Добрый день, коллеги. Расскажите, пожалуйста, чем занимается компания Just AI, кто пользуется вашими сервисами, сколько у вас сотрудников?
Антон Сипачев, руководитель отдела разработки: С 2011 года Just AI работает в сфере разговорного искусственного интеллекта. Компания известна на рынке как ведущий разработчик диалоговых AI-решений: интеллектуальных голосовых и чат-ботов, виртуальных ассистентов, а также навыков для умных устройств.
Работаем как с сегментом enterprise, так и с представителями среднего и малого бизнеса. Также компания занимается развитием собственной технологии понимания естественного языка NLU (Natural Language Understanding).
И, конечно, мы не остаемся в стороне от происходящей техно-революции, за которой стоят мощные нейросетевые модели. Мы активно внедряем их в свои продукты и создаем инструменты, которые помогут бизнесу проще и эффективнее взаимодействовать с технологиями генеративного ИИ.
Сейчас у нас около 200 сотрудников, штат компании постоянно растет.
Потребности в облачных вычислениях и выбор провайдера
Market.CNews: Как устроен ИТ-отдел в вашей компании и какие ИТ-сервисы вам нужны для работы?
Антон Сипачев: Так как основное направление деятельности — это разработка ИТ-решений, то основными потребителями ИТ-ресурсов в нашей компании являются отдел разработки, R&D и отдел эксплуатации.
Первые заняты непосредственно программированием сервисов и используют почту, мессенджеры, таск-трекеры, различные среды разработки, тестовые окружения и другие сервисы.
Помимо этого есть исследовательский отдел, которому нужны R&D-ресурсы: высокопроизводительные серверы на базе GPU для изучения и тестирования новых ML-моделей. Это как облачные и выделенные серверы, арендованные в Selectel, так и наши собственные, установленные on-prem.
Наконец, отдел DevOps-инженеров является промежуточным звеном между отделом разработки и другими ИТ-специалистами. В их руках находится продуктивная среда сервисов, которая также развернута в облаке Selectel.
Market.CNews: Когда у вас возникла потребность в миграции в облако и почему вы выбрали именно Selectel?
Игорь Гербылев: В 2016 году. К тому времени у нас возникла потребность в платформенных сервисах PaaS, и нужно было организовать надежную быструю и отказоустойчивую продуктивную площадку. Полагаясь на опыт коллег, выбрали Selectel как одного из наиболее серьезных провайдеров в этой области.
Помимо, собственно, рекомендаций, в Selectel нас привлекла возможность использования как выделенных, так и виртуальных серверов, а также создание геораспределенного кластера на базе ЦОД провайдера в Москве и Санкт-Петербурге.
Использование и окупаемость GPU-серверов
Market.CNews: Почему вам потребовались именно GPU-серверы? Какие альтернативные варианты вы рассматривали?
Игорь Гербылев: Мы разрабатываем платформу для построения голосовых сервисов, в ней используется несколько алгоритмов на базе машинного обучения. Многие из них гораздо лучше работают на GPU, чем на CPU. Порой разница настолько существенная, что обучение нейросети можно выполнить только на GPU.
Взять, к примеру, наш сервис Aimyvoice. Это набор из 21 голоса, с помощью которых наши клиенты могут озвучивать тексты. Для обучения новой версии базовой модели требуется более недели машинного времени сервера с большим количеством видеокарт. На серверах без видеокарт производить такие вычисления не имеет смысла с практической точки зрения, потому что такая операция потребует больше месяца времени и очень большое количество CPU.
Market.CNews: Но GPU-серверы заметно дороже CPU. Окупаются ли они?
Игорь Гербылев: На самом деле, если пересчитать на единицу производительности, то окажется, что GPU дешевле. Недавно мы проводили подобные расчеты. Для одной из задач нам нужно было сделать нагрузочное тестирование, и мы рассмотрели два равнозначных с точки зрения производительности варианта:
- Один сервер с видеокартой GTX 1080.
- 10 обычных серверов с 8 CPU в каждом из них.
Разница в цене в пользу GPU оказалась трехкратной. Кроме того, администрировать гораздо удобнее 1 сервер, чем связку из 10 штук.
Market.CNews: Ранее вы сказали, что используете собственные и арендованные серверы. Как распределяете нагрузку между ними? По каким критериям определяете, где запускать задачу — на своем сервере или арендованном?
Игорь Гербылев: Это хороший вопрос. Свои серверы нам проще контролировать, с ними проще экспериментировать, но мы не можем обеспечить столь же отказоустойчивую их работу, как это делает провайдер. Поэтому мы разделили нагрузку в зависимости от этих требований:
- Свои «машины» используем преимущественно для разработки и тестирования. В этих вопросах нужна высокая производительность и полный доступ к железу и драйверам, а высокая доступность не столь критична. Если случайно погаснет свет, то R&D-отдел, конечно, расстроится, но клиенты не пострадают.
- В Selectel развернуты серверы продуктивной среды, на которых обрабатываются запросы клиента. Здесь критичным фактором является отказоустойчивость и отсутствие простоя в работе клиентов. В то же время доступ к драйверам не нужен, так как на этих серверах работает хорошо отлаженная версия нашего ПО.
Как подобрать GPU-сервер
Market.CNews: Как выбрать тип и количество GPU-карточек? Вы сразу арендуете несколько серверов или наращиваете мощности постепенно?
Игорь Гербылев: Выбор строится на основе следующих предпосылок:
- Модель GPU должна удовлетворять минимальным техническим требованиям. В первую очередь, это ограничение по размеру видеопамяти. Технические требования определяются на этапе разработки и тестирования приложения. Тем не менее во время пилотного запуска сначала мы делаем прогон на мощных серверах и пытаемся определить степень загрузки оборудования. После этого подбираем оптимальную конфигурацию сервера.
- Вычислительных ресурсов должно быть достаточно для рассматриваемой нагрузки. Нагрузка определяется количеством пользователей, количеством запросов в секунду и количеством каналов для синтеза/распознавания речи.
- Чтобы определить тип карты, проводим нагрузочное тестирование. Для этого симулируем нагрузку и смотрим на две характеристики — пропускную способность (кол-во запросов/сек или кол-во одновременных каналов) и время отклика сервиса (время ответа чат-бота).
Если по итогам работ подошло несколько конфигураций, то выбираем наиболее подходящую по цене.
Market.CNews: Могут ли на одном GPU-сервере обрабатываться запросы разных клиентов?
Игорь Гербылев: Да, конечно. Контроль за распределением вычислительных ресурсов между разными клиентами обеспечивает наша платформа. Данные разных клиентов изолированы друг от друга, а все запросы выполняются независимо.
Зачем использовать несколько типов видеокарт и другие сервисы на базе GPU
Market.CNews: Как показывает наш рейтинг GPU Cloud 2023, у Selectel самый широкий набор сервисов на базе GPU и самый большой выбор видеокарт. Зачем нужны серверы с разной конфигурацией и разными картами GPU? Какие задачи они могут решать?
Игорь Гербылев: Оборудование всегда выбирается под определенную задачу. В наших продуктах используются различные ML-модели для разных задач. Например, для более простых моделей, работающих с текстом, мы используем карты попроще (GTX 1080), для синтеза голоса — модели помощнее (A4000). Для одного из проектов мы сейчас проводим тестирование производительности системы на картах T4 и A2, эта работа пока что в процессе.
Кроме того, нашим инженерам всегда интересно попробовать новое железо, протестировать его производительность и измерить скорость выполнения задач. Поэтому время от времени мы арендуем другие видеокарты, которые появляются у провайдера, и анализируем возможность их применения в нашем бизнесе.
Market.CNews: А что касается других облачных сервисов с использованием GPU?
Игорь Гербылев: Я бы отметил GPU в Kubernetes. На данный момент мы не используем Kubernetes, но это одно из приоритетных направлений развития.
Наша платформа решает множество задач — извлечение сущностей, классификация, распознавание и синтез речи, расстановка знаков препинания и т.д. Под каждую из них есть несколько моделей от разных разработчиков, у каждой модели — несколько версий. Таким образом, перед нами стоит проблема одновременного тестирования и управления множеством моделей.
Для решения этой задачи у нас создана собственная MLOps платформа, работающая поверх Kubernetes. Часть ML-сервисов, разумеется, требуют GPU, и мы активно используем GPU-серверы, включенные в кластер Kubernetes.
Market.CNews: Спасибо за интервью!
■ Рекламаerid:Kra249HAKРекламодатель: ООО «Селектел»ИНН/ОГРН: 7842393933 / ОГРН 1089847357126Сайт: https://selectel.ru/