реклама
Бургер менюБургер меню

Денис Соломатин – Искусственный интеллект от А до Б (страница 28)

18

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

К некоторым изменениям адаптироваться сложнее, особенно к тем, которые связаны с регулированием. Технологии, связанные с ИИ, считаются вопросами национальной безопасности во многих странах, а это означает, что ресурсы для ИИ, включая вычислительные ресурсы, таланты и данные, строго регулируются. Например, введение Общего регламента по защите данных (GDPR) в Европе, по оценкам, обойдется компаниям в 9 миллиардов долларов для обеспечения соответствия. Доступность вычислительных ресурсов может измениться в одночасье, поскольку новые законы накладывают больше ограничений на то, кто может покупать и продавать вычислительные ресурсы (см. Указ президента США от октября 2023 г.). Если вашему поставщику графических процессоров внезапно запретили продавать графические процессоры в вашу страну, у вас проблемы. Некоторые изменения могут даже привести к летальному исходу. Например, регулирование интеллектуальной собственности (ИС) и использования ИИ все еще находится в стадии разработки. Если вы создадите свой продукт на основе модели, обученной с использованием данных других людей, можете ли вы быть уверены, что интеллектуальная собственность вашего продукта всегда будет принадлежать вам? Многие компании такие как игровые студии, не решаются использовать ИИ, опасаясь потерять свои IP-адреса в будущем.

После того, как вы решили создать продукт ИИ, давайте рассмотрим инженерный стек, необходимый для создания этих приложений.

Быстрый рост инженерии искусственного интеллекта также вызвал невероятный ажиотаж. Количество новых инструментов, методов, моделей и приложений, представляемых каждый день, может быть ошеломляющим. Вместо того, чтобы пытаться идти в ногу с постоянно меняющимся песком, давайте рассмотрим фундаментальные строительные блоки инженерии ИИ. Чтобы понять инженерию ИИ, важно признать, что инженерия ИИ развилась из инженерии машинного обучения. Когда компания начинает экспериментировать с базовыми моделями, вполне естественно, что ее существующая команда ML должна возглавить эту работу. Независимо от того, где в организациях расположены инженеры ИИ и инженеры машинного обучения, их роли в значительной степени пересекаются. Существующие инженеры машинного обучения могут добавить инженерию искусственного интеллекта в свои списки навыков, чтобы расширить свои перспективы трудоустройства. Однако есть и инженеры ИИ, у которых нет опыта работы с машинным обучением.

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

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

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

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

Чтобы понять, как развивался ландшафт с базовыми моделями, в марте 2024 года искали на GitHub все репозитории, связанные с искусственным интеллектом, с не менее чем 500 звездами. Учитывая распространенность GitHub, эти данные являются хорошим показателем для понимания экосистемы. В анализ также были включены репозитории для приложений и моделей, которые являются продуктами уровней разработки приложений и разработки моделей соответственно. Всего нашлось 920 репозиториев. Данные показывают большой скачок в количестве инструментов искусственного интеллекта в 2023 году после внедрения Stable Diffusion и ChatGPT. В 2023 году наибольший рост наблюдался в категориях приложений и разработки приложений. На инфраструктурном уровне наблюдался некоторый рост, но он был намного меньше, чем на других уровнях. Это ожидаемо. Несмотря на то, что модели и приложения изменились, основные потребности инфраструктуры – управление ресурсами, обслуживание, мониторинг и т. д. – остались прежними.

Это подводит нас к следующему пункту. Несмотря на беспрецедентный ажиотаж и творческий подход к базовым моделям, многие принципы создания приложений ИИ остаются прежними. Для корпоративных сценариев использования приложениям ИИ по-прежнему необходимо решать бизнес-задачи, и, следовательно, по-прежнему важно сопоставлять бизнес-метрики с метриками машинного обучения и наоборот. Вам все равно нужно проводить систематические эксперименты. В классической ML-инженерии вы экспериментируете с различными гиперпараметрами. С помощью базовых моделей вы экспериментируете с различными моделями, подсказками, алгоритмами извлечения, переменными выборки и многим другим. Мы по-прежнему хотим, чтобы модели работали быстрее и дешевле. По-прежнему важно настроить цикл обратной связи, чтобы мы могли итеративно улучшать наши приложения с помощью производственных данных. Это означает, что многое из того, что инженеры машинного обучения узнали и поделились за последнее десятилетие, по-прежнему применимо. Этот коллективный опыт облегчает всем начало создания приложений ИИ. Тем не менее, на основе этих непреходящих принципов построено множество инноваций, уникальных для инженерии ИИ, которые мы рассмотрим в этой книге.

Несмотря на то, что неизменные принципы развертывания приложений ИИ обнадеживают, также важно понимать, как все изменилось. Это полезно для команд, которые хотят адаптировать свои существующие платформы к новым сценариям использования ИИ, и разработчиков, которые заинтересованы в том, какие навыки нужно освоить, чтобы оставаться конкурентоспособными на новом рынке.

На высоком уровне создание приложений с использованием моделей фундаментов сегодня отличается от традиционного проектирования машинного обучения по трем основным параметрам:

1. Без базовых моделей вам придется обучать собственные модели для своих приложений. При проектировании ИИ вы используете модель, которую кто-то другой обучил за вас. Это означает, что инженерия ИИ меньше фокусируется на моделировании и обучении, а больше на адаптации моделей.

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

3. Инженерия ИИ работает с моделями, которые могут выдавать открытые результаты. Открытые выходные данные обеспечивают гибкость моделей для использования в большем количестве задач, но их также сложнее оценить. Это делает оценку гораздо более серьезной проблемой в ИИ.

Короче говоря, инженерия ИИ отличается от инженерии машинного обучения тем, что она меньше связана с разработкой моделей и больше с адаптацией и оценкой моделей. В целом, методы адаптации моделей можно разделить на две категории, в зависимости от того, требуют ли они обновления весов модели.

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