шаблон архитектуры Azure для рабочих нагрузок ИИ

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

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

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

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

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

Архитектура высокоуровневой рабочей нагрузки ИИ

На этой схеме показаны ключевые компоненты, которые можно использовать в проектировании рабочей нагрузки ИИ.

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

Компонент Description
Обработка и аналитика данных Соберите необработанные данные из разных источников, очистите их, преобразуйте их и упорядочите в наборы данных, готовые для обучения моделей, тонкой настройки и привязки. Этот уровень не взаимодействует с пользователями напрямую, но обеспечивает точное, эффективное взаимодействие с искусственным интеллектом ниже.
Обучение и настройка моделей Обучайте модели на ваших данных, контролируйте версии и следите за производительностью в рамках повторяющегося процесса. Используйте методики MLOps для повышения качества новых данных и поддержания согласованности с бизнес-потребностями.
Интеллектуальные приложения искусственного интеллекта Именно здесь пользователи взаимодействуют с вашим ИИ. Он объединяет предварительно обученные модели с логикой приложения, чтобы найти нужные сведения, создавать запросы, создавать интерфейсы и учиться на основе отзывов.
Методики и процессы ИИ Сохраняйте надежность решения ИИ, включив принципы DevOps, управление версиями и автоматизированные конвейеры в рабочие процессы MLOps. Развертывайте итеративно с помощью средств защиты и постоянно проверяйте точность, производительность и предвзятость.
Службы и средства платформы Основные облачные службы, которые защищают ресурсы, управляют затратами и отслеживают работоспособность системы от разработки до развертывания. Используйте конвейеры CI/CD для надежной автоматизации и специализированных средств для проверки выходных данных ИИ на соответствие требованиям.

Композиция рабочей нагрузки

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

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

Конструктивные характеристики Description
Время существования и состояние Время существования относится к ожидаемой продолжительности существования ресурса и активности в рабочей нагрузке.
Состояние ссылается на данные или сведения, которые ресурс поддерживает с течением времени.
Охват и зависимости Reach относится к степени, в которой ресурс должен быть доступен или распределен.
Зависимости ссылаются на связи и зависимость от других ресурсов.
Доступность и масштабируемость Масштабируемость — это возможность ресурса обрабатывать повышенную нагрузку или спрос.
Доступность — это способность ресурса оставаться в рабочем состоянии и быть доступным.
Безопасность и ответственный ИИ Безопасность относится к мерам, которые защищают данные и обеспечивают соответствие нормативным требованиям.
Ответственный ИИ относится к методикам, обеспечивающим этический ИИ, включая справедливость, прозрачность и подотчетность.

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

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

Компонент Description
Уровень клиента Клиентский уровень позволяет пользователям и внешним системам подключаться к ИИ. Этот уровень принимает ваши запросы и возвращает ответы, созданные ИИ, при этом убедитесь, что интерфейс прост и прост в использовании.
Уровень аналитики — API API уровня аналитики мостит клиенты и функции аналитики системы с помощью четко определенных API. Он отвечает за направление запросов к правильному агенту или процессу оркестрации, что гарантирует бесперебойное и согласованное взаимодействие между пользователями и службами. Этот уровень также обрабатывает доступ к данным, помещает меры безопасности и задает ограничения, чтобы предотвратить перегрузку системы. Если приложению требуется простой прогноз, этот уровень может пропустить сложные шаги оркестрации и отправить запрос непосредственно в подсистему вывода для быстрого ответа.
Уровень интеллектуальности — оркестрация и вычислительные процессы агента Слой оркестрации и вычислений агента отвечает за координацию того, как разные компоненты ИИ взаимодействуют для выполнения всех задач. В зависимости от того, что требуется, он может выполнять задачи один после другого или позволить нескольким агентам работать одновременно, а затем объединить их результаты. Он определяет намерения пользователя, проверяет ответы, чтобы убедиться в их безопасности, интегрируется с уровнем знаний, чтобы получать информацию, и использует инструменты для объединения всего, предоставляя вам лучший ответ.
Уровень аналитики — управление беседами Слой управления беседами — это менеджер памяти и бесед системы. Он позволяет ИИ чат естественно вспоминать предыдущие сообщения, отслеживать текущие темы и хранить важные части обсуждения, чтобы беседы могли плавно проходить даже во время длительных сеансов. Он также следит за тем, как данные беседы хранятся или удаляются, гарантируя, что ваша информация обрабатывается ответственно.
Уровень вывода — базовые или прогнозные модели Уровень вывода заключается в том, что обученная модель делает прогнозы, создает содержимое или предоставляет решения на основе получаемых сведений. Процесс начинается с загрузки модели ИИ, подготовки данных, выполнения прогнозов, а затем форматирования результатов, чтобы они были доступны немедленно (в режиме реального времени) или более поздней версии (пакетная обработка).
Уровень знаний Уровень знаний заключается в том, что система получает информацию и контекст, необходимый для точного ответа на вопросы. Он обеспечивает безопасный доступ к данным с помощью разрешений и авторизации. Уровень знаний помогает ИИ следовать подходу RAG, выполняя поиск по индексам или векторным базам данных, чтобы найти только правильное содержимое. Он позволяет ИИ получать доступ к различным внутренним и внешним источникам данных согласованно, независимо от того, используется ли это через протоколы MCP или REST.
Уровень инструментов Уровень инструментов заключается в том, что бизнес-действия и внешние возможности становятся доступными. Уровень аналитики может активировать эти действия или подключиться к другим системам, вызывая средства или агенты стандартизированным способом, будь то MCP, A2A или OpenAPI/REST. Эти возможности представлены как используемые опции, готовые к использованию аналитическим уровнем, и они могут непосредственно обрабатываться рабочей нагрузкой или внешними службами.

Рекомендации по проектированию

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

Время существования и состояние

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

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

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

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

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

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

Охват и зависимости

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

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

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

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

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

Доступность и масштабируемость

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

API аналитики масштабируется для обработки дополнительных запросов. Разверните его в нескольких зонах или регионах для повышения доступности и обеспечения близкого доступа пользователей к конечной точке.

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

Уровень вывода масштабируется в зависимости от нужд ваших моделей. Добавьте дополнительные экземпляры с графическими процессорами по мере роста спроса. Используйте подход «инфраструктура как код» (IaC) для быстрой реконструкции окружающей среды во время восстановления.

Управление беседами масштабируется с числом одновременных пользователей. Используйте копии и резервные копии для хранения данных сеанса.

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

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

Безопасность и ответственный ИИ

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

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

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

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

Базовые архитектуры для рабочих нагрузок ИИ

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

Следующий шаг

Ознакомьтесь с рекомендациями по проектированию сценариев интеллектуального приложения.