Для современного рядового пользователя облако — это прежде всего удалённое хранение, не более того. В облако можно загрузить часть фотографий и видео со смартфона или ноутбука - чтобы не занимали лишнего места. Однако это лишь малая часть его возможностей, особенно если говорить о ближайшем будущем. Искусственный интеллект тоже может быть удалённым и распределённым — в виде услуги. Компаниям больше не обязательно покупать суперкомпьютеры и заниматься этим важным вопросом с нуля.
Искусственный интеллект (ИИ) и машинное обучение (МО) кардинально меняют все отрасли экономики. Их влияние и интеграция — в том числе и в промышленности — будут только расти. И в конечном итоге будущее ИИ за распределенными вычислениями. Такие вычисления позволяют совместно использовать компоненты программных систем на нескольких компьютерах и работать как одна система, что радикально повышает эффективность и производительность. Причём под «несколькими» подразумеваются тысячи и даже десятки тысяч компьютеров.
Конечно, это сравнительно новое направление программирования, поэтому на данном этапе создавать приложения для распределённых вычислений достаточно сложно. В частности, такие вычисления, связанные с искусственным интеллектом и машинным обучением, сопряжены со множеством проблем — распределенные системы сильно различаются по сложности реализации, единого стандарта на сегодняшний день нет. Инженеры должны тестировать все аспекты сбоев сети и устройств, а также их различных сочетаний. Если пытаться найти относительно понятную аналогию, это немного похоже на «дикую» конкуренцию Windows и MacOS в 90-х годах прошлого столетия.
Одна из ведущих компаний в этой новой сфере — Anyscale. Она предлагает набор стандартизированных инструментов, позволяющих разработчикам создавать, развертывать и управлять распределенными приложениями. Компания была основана создателями Ray, распределенной платформы искусственного интеллекта с открытым исходным кодом, которая упрощает масштабирование рабочих нагрузок ИИ в облаке.
Ray позволяет пользователям преобразовывать последовательно выполняющийся код Python в распределенное приложение с минимальными изменениями кода. Проще говоря, программистам, которые уже освоили Python, не придётся обучаться работе с Ray с нуля: система специально спроектирована так, чтобы быть понятной без предварительного вводного курса на несколько недель.
Решение Anyscale — бессерверное, и при этом не зависящее от облака напрямую. Оно поддерживает и вычисления без сохранения состояния, и вычисления с отслеживанием такого состояния. То есть если произойдёт внезапный разрыв подключения к интернету, защита от критической ошибки и потери данных всё равно будет осуществляться. Инструмент абстрагирует серверы и кластеры, и обеспечивает автоматическое масштабирование.
В зависимости от набора данных требования к вычислительным ресурсам для обучения современных моделей продолжают расти на порядки. Например, Google Pathways Language Model (PaLM) — единая модель, которая с высокой эффективностью обобщает домены и задачи — имеет 530 миллиардов параметров. А некоторые из крупнейших носителей имеют более одного триллиона параметров.
Существует огромный разрыв между требованиями приложений машинного обучения и возможностями одного процессора или сервера. Создание приложения ML состоит из нескольких этапов, таких как маркировка, обучение конкретным данным, настройка, и затем обучение с подкреплением. Каждый из этих этапов необходимо масштабировать, на каждом из них обычно используется отдельная распределенная система.
Построение сквозных конвейеров требует объединения таких систем, а затем повторного управления, повторной разработки. Это и есть та самая проблема стандартизации, которая уже не раз решалась в других сферах программирования и создания оборудования. Миссия Anyscale и Ray состоит в том, чтобы упростить распределенные вычисления и сделать масштабирование рабочих нагрузок существенно более лёгким.
ИИ и машинное обучение сегодня присутствуют во многих сферах экономики, и варианты использования Ray уже исчисляются десятками. Инструмент использовался в финансовой сфере, розничной торговле, производстве — и даже в приложениях для “Кубка Америки”, где решение было задействовано в обучении персонала.
Другой пример — использование в тестировании видеоигр. В силу безупречной концентрации и фиксирования абсолютно всех результатов вплоть до самых мелочей, ИИ справляется с этой задачей лучше, чем тестировщик с многолетним стажем. В Anyscale считают, что искусственный интеллект сейчас там, где большие данные были 10 лет назад. То есть через 10 лет произойдёт качественно новый прорыв, и мы увидим то, что раньше было лишь в научной фантастике. Однако этому будет предшествовать фаза дальнейшей разработки и стандартизации инструментов, и, что немаловажно, обучения экспертов.
С управляемой службой Anyscale (которая находится в стадии бета-тестирования) и последней версией Ray (Ray 1.0) разработчики могут начать работу в одном общедоступном облаке, таком как Amazon Web Services или Google Cloud Platform, и затем выполнить развертывание в другом. Они получают доступ к бессерверному API-интерфейсу вычислений с поддержкой библиотек Python, предназначенных для обучения моделей ИИ, что также позволяет выполнять такие задачи, как обработка естественного языка и настройка гиперпараметров.
Всего полдюжины или около того лет назад, колледжи и университеты начали присуждать степени в области науки о больших данных. Теперь же высшие учебные заведения предлагают всё больше курсов по искусственному интеллекту. То есть уже сейчас в сфере бизнеса и образование появляется чёткое осознание того, что «ИИ-ведение» — одна из ключевых наук будущего, а искусственный интеллект будет присутствовать повсеместно — без привязки к отдельным серверным кластерам и брендам.