Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Постоянно увеличивающееся число мультитенантных решений строится вокруг искусственного интеллекта и машинного обучения. Мультитенантное решение искусственного интеллекта и машинного обучения предоставляет универсальные возможности на основе машинного обучения любому количеству клиентов. Как правило, клиенты не могут просматривать или предоставлять общий доступ к данным любого другого клиента, но в некоторых случаях клиенты могут использовать те же модели, что и другие клиенты.
Многотенантные архитектуры искусственного интеллекта и машинного обучения должны учитывать требования к данным и моделям. Эти архитектуры также должны учитывать вычислительные ресурсы, необходимые для обучения моделей и выполнения вывода. Важно учитывать, насколько мультитенантные модели ИИ и машинного обучения развертываются, распределяются и оркестрируются, а также гарантируют, что решение является точным, надежным и масштабируемым.
Технологии создания искусственного интеллекта, созданные как крупными, так и небольшими языковыми моделями, продолжают получать популярность. В результате организации должны создавать эффективные операционные методики и стратегии управления этими моделями в рабочих средах путем внедрения операций машинного обучения (MLOps) и создания операций искусственного интеллекта (GenAIOps), иногда известных как LLMOps.
Ключевые рекомендации и требования
При работе с ИИ и машинным обучением важно отдельно учитывать требования к обучению и выводу. Цель обучения — создать прогнозную модель, основанную на наборе данных. Вы выполняете вывод при использовании модели для прогнозирования чего-то в приложении. Каждый из этих процессов имеет разные требования. В мультитенантном решении следует учитывать, как модель аренды влияет на каждый процесс. Учитывая все эти требования, вы можете убедиться, что ваше решение обеспечивает точные результаты, хорошо работает под нагрузкой, эффективно и может масштабироваться для будущего роста.
Изоляция арендаторов
Убедитесь, что клиенты не получают несанкционированный или нежелательный доступ к данным или моделям других клиентов. Обработка моделей с аналогичной чувствительностью к необработанным данным, обучающим их. Убедитесь, что клиенты понимают, как их данные используются для обучения моделей и того, как модели обучены на данных других клиентов могут использоваться для вывода в своих рабочих нагрузках.
Три распространенных подхода для работы с моделями машинного обучения в мультитенантных решениях — это модели для клиентов, общие модели и настроенные общие модели.
Модели для конкретного клиента
Модели, относящиеся к клиенту, обучены только для данных для одного клиента, а затем применяются к одному клиенту. Используйте модели, относящиеся к клиенту, если данные клиента конфиденциальны или если вы не можете эффективно применять аналитические сведения из данных одного клиента к другому клиенту. На следующей схеме показано, как можно создать решение с моделями для отдельных клиентов для двух клиентов.
Общие модели
В решениях, использующих общие модели, все клиенты выполняют вывод на основе одной общей модели. Общие модели могут быть предварительно обученными моделями, которые вы приобретаете или получаете из источника сообщества. На следующей схеме показано, как все клиенты могут использовать одну предварительно обученную модель для вывода.
Вы также можете создавать собственные общие модели, обучая их на основе данных, предоставляемых всеми клиентами. На следующей схеме показана одна общая модель, которая обучена данным из всех клиентов.
Это важно
Если вы обучаете общую модель из данных клиентов, убедитесь, что ваши клиенты понимают и согласны использовать свои данные. Убедитесь, что данные идентификации удаляются из данных клиентов.
Рассмотрим, что делать, если объекты клиента для их данных используются для обучения модели, которая служит другому клиенту. Например, если объекты клиента используются для обучения модели, которая служит другому клиенту, может потребоваться исключить данные этого клиента из обучающего набора данных.
Настроенные общие модели
Вы также можете приобрести предварительно обученную базовую модель, а затем выполнить дальнейшую настройку модели, чтобы сделать ее применимой для каждого клиента на основе собственных данных. На следующей схеме показан этот подход.
Масштабируемость
Рассмотрим, как рост вашего решения влияет на использование компонентов искусственного интеллекта и машинного обучения. Рост может ссылаться на увеличение числа клиентов, объема данных, хранящихся для каждого клиента, количества пользователей и объема запросов к решению.
Тренировка: Существует несколько факторов, влияющих на ресурсы, необходимые для обучения моделей. К этим факторам относятся количество моделей, которые необходимо обучить, объем данных, используемых для обучения моделей, и частоту обучения или переобучения моделей. Если вы создаете модели для конкретного клиента, то по мере роста числа клиентов объем вычислительных ресурсов и хранилища, необходимых также для роста. Если вы создаете общие модели и обучаете их с помощью данных со всех клиентов, учебные ресурсы обычно не масштабируются с той же скоростью, что и рост клиентов. Однако по мере увеличения общего объема обучающих данных она влияет на ресурсы, используемые для обучения как общих, так и для конкретных клиентов моделей.
Вывод: Ресурсы, необходимые для вывода, часто пропорциональны количеству запросов, обращаюющихся к моделям вывода. По мере увеличения числа клиентов число запросов также может увеличиться.
Рекомендуется использовать службы Azure, которые хорошо масштабируется. Так как рабочие нагрузки искусственного интеллекта и машинного обучения обычно используют контейнеры, служба Azure Kubernetes (AKS) и экземпляры контейнеров Azure, как правило, являются общими вариантами для рабочих нагрузок искусственного интеллекта и машинного обучения. AKS часто является хорошим выбором, чтобы обеспечить высокий масштаб и динамически масштабировать вычислительные ресурсы на основе спроса. Экземпляры контейнеров можно использовать для небольших рабочих нагрузок. Это относительно легко настроить, но не масштабируется так же легко, как AKS.
Performance
Рассмотрите требования к производительности для компонентов ИИ и машинного обучения вашего решения, включая обучение и вывод. Четко определите ожидания задержки и производительности для каждого процесса, чтобы можно было измерять и улучшать их по мере необходимости.
Тренировка: Обучение часто выполняется как пакетный процесс, что означает, что это может не быть столь же чувствительным к производительности, как и к другим частям рабочей нагрузки. Однако необходимо убедиться, что вы подготавливаете достаточные ресурсы для эффективного обучения модели, в том числе по мере масштабирования.
Вывод: Вывод — это процесс с учетом задержки, который часто требует быстрого или даже ответа в режиме реального времени. Даже если вам не нужно выполнять вывод в режиме реального времени, убедитесь, что вы отслеживаете производительность решения и используете соответствующие службы для оптимизации рабочей нагрузки.
Рекомендуется использовать высокопроизводительные вычислительные возможности Azure для рабочих нагрузок искусственного интеллекта и машинного обучения. Azure предоставляет множество различных типов виртуальных машин и других экземпляров оборудования. Рассмотрите возможность использования ЦП, GPU, программируемых массивов шлюзов (FPGAs) или других аппаратных ускоренных сред. Azure также предоставляет вывод в режиме реального времени с графическими процессорами NVIDIA, включая NVIDIA Triton Inference Server. Для низкоприоритетных требований к вычислительным ресурсам рекомендуется использовать пулы точечных узлов AKS. Дополнительные сведения о том, как оптимизировать службы вычислений в мультитенантном решении, см. в разделе "Архитектурные подходы" для вычислений в мультитенантных решениях.
Обучение модели обычно требует большого количества взаимодействий с хранилищами данных, поэтому важно учитывать стратегию данных и производительность, которую предоставляет ваш уровень данных. Дополнительные сведения о мультитенантности и службах данных см. в разделе "Архитектурные подходы к хранилищу и данным" в мультитенантных решениях.
Рассмотрите возможность профилирования производительности решения. Например, Машинное обучение Azure предоставляет возможности профилирования , которые можно использовать при разработке и инструментировании решения.
Сложность реализации
При создании решения для использования ИИ и машинного обучения можно использовать предварительно созданные компоненты или создавать пользовательские компоненты. Необходимо принять два ключевых решения. Сначала выберите платформу или службу , используемую для искусственного интеллекта и машинного обучения. Во-вторых, решите, следует ли использовать предварительно обученные модели или создавать собственные пользовательские модели.
Платформ: Существует множество служб Azure, которые можно использовать для рабочих нагрузок искусственного интеллекта и машинного обучения. Например, Microsoft Foundry предоставляет API для выполнения вывода по предварительно созданным моделям, а корпорация Майкрософт управляет базовыми ресурсами. Foundry позволяет быстро развертывать новое решение, но оно ограничивает контроль над процессами обучения и вывода и может не соответствовать каждому типу рабочей нагрузки. В отличие от этого, Машинное обучение — это платформа, которая позволяет создавать, обучать и использовать собственные модели машинного обучения. Машинное обучение обеспечивает контроль и гибкость, но повышает сложность проектирования и реализации. Просмотрите продукты и технологии машинного обучения от Корпорации Майкрософт , чтобы принять обоснованное решение при выборе подхода.
Модели: Даже если вы не используете полную модель, которую предоставляет служба, например Foundry, вы по-прежнему можете использовать предварительно обученную модель для ускорения разработки. Если предварительно обученная модель не соответствует вашим потребностям, рассмотрите возможность расширения предварительно обученной модели, применяя метод, известный как тонкой настройки или передачи обучения. Настройка позволяет расширить существующую модель и применить ее к другому домену. Например, если вы создаете службу рекомендаций по мультитенантной музыке, вы можете начать с предварительно обученной модели рекомендаций по музыке и использовать точную настройку для обучения модели для определенных настроек музыки пользователя.
Используя предварительно созданную платформу машинного обучения, например Foundry или предварительно обученную модель, можно значительно сократить начальные затраты на исследования и разработку. Использование предварительно созданных платформ может сэкономить вам много месяцев исследований и избежать необходимости набирать высококвалифицированных специалистов по обработке и оптимизации моделей.
Оптимизация затрат
Как правило, рабочие нагрузки искусственного интеллекта и машинного обучения влечет за собой большую долю затрат на вычислительные ресурсы, необходимые для обучения и вывода моделей. Дополнительные сведения о том, как оптимизировать затраты на рабочую нагрузку вычислений для ваших требований, см. в разделе "Архитектурные подходы" для вычислений в мультитенантных решениях.
При планировании затрат на ИИ и машинное обучение следует учитывать следующие требования:
Определите номера SKU вычислений для обучения и вывода. Вы можете использовать различные номера SKU для обучения и вывода. Выберите номера SKU, соответствующие вашим требованиям к производительности и затратам, и доступные в регионах, которые вы используете. Дополнительные сведения см. в рекомендациях по вычислению рабочих нагрузок ИИ в инфраструктуре Azure (IaaS).
Мониторинг использования. Наблюдая за использованием вычислительных ресурсов, вы можете определить, следует ли уменьшать или увеличивать их емкость, развертывая разные номера SKU или масштабируя вычислительные ресурсы по мере изменения требований. Дополнительные сведения см. в разделе "Мониторинг машинного обучения".
Оптимизируйте среду кластеризации вычислений. При использовании вычислительных кластеров отслеживайте использование кластера или настраивайте автоматическое масштабирование для уменьшения масштаба вычислительных узлов.
Общий доступ к вычислительным ресурсам. Рассмотрим, можно ли оптимизировать затраты вычислительных ресурсов, предоставив им общий доступ между несколькими клиентами.
Рассмотрим бюджет. Узнайте, есть ли у вас фиксированный бюджет и следите за потреблением соответствующим образом. Вы можете настроить бюджеты , чтобы предотвратить перерасход и выделить квоты на основе приоритета клиента.
Подходы и шаблоны, которые следует учитывать
Azure предоставляет набор служб для включения рабочих нагрузок искусственного интеллекта и машинного обучения. Существует несколько распространенных подходов к архитектуре, используемых в мультитенантных решениях:
Используйте предварительно созданные решения искусственного интеллекта и машинного обучения.
Создание пользовательской архитектуры искусственного интеллекта и машинного обучения с помощью машинного обучения.
Используйте одну из платформ аналитики Azure.
Использование предварительно созданных служб искусственного интеллекта и машинного обучения
Рекомендуется использовать предварительно созданные службы искусственного интеллекта и машинного обучения, когда вы можете. Например, ваша организация может начать изучать ИИ и машинное обучение и быстро интегрироваться с полезной службой. Или у вас могут быть базовые требования, которые не требуют обучения и разработки пользовательской модели машинного обучения. Предварительно созданные службы машинного обучения позволяют использовать вывод без создания и обучения собственных моделей.
В Azure есть несколько служб, которые предоставляют технологии искусственного интеллекта и машинного обучения в различных доменах. К этим доменам относятся распознавание речи, распознавание речи, знания, распознавание документов и форм, а также компьютерное зрение. Azure предоставляет предварительно созданные службы искусственного интеллекта и машинного обучения с помощью Foundry, которая является единой службой приложений ИИ. Эта служба предоставляет пользователям доступ к различным моделям, включая Azure OpenAI в модели Foundry. Azure также предоставляет набор автономных служб ИИ, включая поиск ИИ Azure и аналитику документов ИИ Azure. Каждая служба предоставляет простой интерфейс для интеграции и коллекции предварительно обученных и проверенных моделей. В качестве управляемых служб они предоставляют соглашения на уровне обслуживания и требуют мало конфигурации или текущего управления. Вам не нужно разрабатывать или тестировать собственные модели для использования этих служб.
Многие управляемые службы машинного обучения не требуют обучения моделей или данных, поэтому обычно нет проблем изоляции данных клиента. Однако некоторые управляемые службы искусственного интеллекта и машинного обучения предоставляют возможность настройки модели:
- Пользовательский голос Azure
- Автоматизированное машинное обучение (AutoML) в Машинном обучении Azure
- API распознавания лиц
- Пользовательские модели аналитики документов
- Модели Azure OpenAI, поддерживающие настройку и тонкую настройку
При работе с этими службами важно учитывать требования к изоляции данных клиентов.
Рассмотрите требования к масштабированию для компонентов в решении. Например, многие API в службах ИИ Azure поддерживают максимальное количество запросов в секунду. Если вы развертываете один ресурс служб ИИ для общего доступа между клиентами, то по мере увеличения числа клиентов может потребоваться масштабировать несколько ресурсов.
Настраиваемая архитектура искусственного интеллекта и машинного обучения
Если решение требует пользовательских моделей или работает в домене, который не охватывается управляемой службой машинного обучения, рассмотрите возможность создания собственной архитектуры искусственного интеллекта и машинного обучения. Машинное обучение предоставляет набор возможностей для оркестрации обучения и развертывания моделей машинного обучения:
Используйте различные библиотеки машинного обучения с открытым кодом, включая PyTorch, TensorFlow, Scikit и Keras.
Непрерывно отслеживайте метрики производительности моделей.
Обнаружение смещения данных, которое происходит при изменении входных данных модели с течением времени.
Переобучение триггера для повышения производительности модели.
Применение аудита и управления в течение жизненного цикла моделей машинного обучения. Используйте встроенное отслеживание и происхождение (которое является отслеживанием связей данных и моделей) для всех артефактов машинного обучения.
При работе с мультитенантным решением важно учитывать требования к изоляции клиентов на этапах обучения и вывода. Кроме того, необходимо определить процесс обучения модели и развертывания. Машинное обучение предоставляет конвейер для обучения моделей и их развертывания в среде для вывода. Этот процесс позволяет моделям создавать прогнозы или аналитические сведения на основе новых данных. В мультитенантном контексте рассмотрите, следует ли развертывать модели в общих вычислительных ресурсах или если у каждого клиента есть выделенные ресурсы. Проектирование конвейеров развертывания модели на основе модели изоляции и процесса развертывания клиента.
При использовании моделей с открытым исходным кодом может потребоваться переобучение этих моделей с помощью передачи обучения или настройки. Рассмотрим, как управлять различными моделями и данными обучения для каждого клиента, а также версиями каждой модели.
На следующей схеме показан пример архитектуры, которая использует машинное обучение. Кроме того, вы можете использовать интерфейс обработки и анализа данных Microsoft Fabric, который предоставляет такие возможности, как эксперименты, управление моделями и развертывание конечных точек. В этом примере используется подход к изоляции моделей для конкретного клиента .
Интегрированные решения искусственного интеллекта и машинного обучения
Azure предоставляет несколько мощных платформ аналитики, которые можно использовать для различных целей. К этим платформам относятся Microsoft Fabric, Azure Databricks и Apache Spark.
Вы можете использовать эти платформы для искусственного интеллекта и машинного обучения, когда необходимо масштабировать возможности для поддержки большого объема клиентов и требовать крупномасштабных вычислений и оркестрации. Вы также можете использовать эти платформы, если вам потребуется широкое решение аналитики для других частей системы, например аналитика данных и интеграция с отчетами через Power BI. Вы можете развернуть одну платформу, которая поддерживает все потребности аналитики и искусственного интеллекта и машинного обучения. При реализации платформ данных в мультитенантном решении просмотрите архитектурные подходы к хранилищу и данным в мультитенантных решениях.
Операционная модель машинного обучения
При внедрении ИИ и машинного обучения, включая методы создания ИИ, рекомендуется постоянно улучшать и оценивать возможности организации в управлении ими. Введение MLOps и GenAIOps объективно предоставляет платформу для постоянного расширения возможностей методов искусственного интеллекта и машинного обучения в вашей организации. Дополнительные сведения см. в модели зрелости MLOps и модели зрелости GenAIOps.
Неподходящие антишаблоны
Не рекомендуется учитывать требования к изоляции: Важно тщательно рассмотреть, как изолировать данные и модели клиентов для обучения и вывода. Не удаляя данные и модели клиентов, могут нарушать юридические или договорные требования. Кроме того, это может снизить точность обучения моделей между данными нескольких клиентов, если данные существенно отличаются.
Шумные соседи: Рассмотрите, может ли процесс обучения или вывода подвергаться шумной проблеме соседа. Например, если у вас есть несколько крупных клиентов и один небольшой клиент, убедитесь, что обучение модели для крупных клиентов не случайно потребляет все вычислительные ресурсы и лишает меньших клиентов. Используйте управление ресурсами и мониторинг, чтобы снизить риск того, что активность других клиентов влияет на рабочую нагрузку вычислений клиента.
Соавторы
Корпорация Майкрософт поддерживает эту статью. Следующие авторы написали эту статью.
Основной автор:
- Кевин Эшли | Старший инженер по работе с клиентами, FastTrack для Azure
Другие участники:
- Пол Берпо | Главный инженер клиента, FastTrack для Azure
- Джон Даунс | Главный инженер по программному обеспечению, шаблоны и практики Azure
- Вик Пердана | Архитектор решений партнеров ISV
- Даниэль Скотт-Райнсфорд | Архитектор решений партнеров
- Арсен Владимирский | Главный инженер клиента, FastTrack для Azure
- Родриго Родригес | Старший архитектор облачных решений, ИИ и квантовых технологий
Чтобы просмотреть неопубликованные профили LinkedIn, войдите в LinkedIn.