Разработка обучающих данных для рабочих нагрузок ИИ в Azure
При разработке данных для функциональных возможностей ИИ в приложениях следует учитывать как нефункциональное требование, например опероспособность, затраты и безопасность, так и функциональные требования, связанные с приемом данных, подготовкой и проверкой.
Проектирование данных и проектирование приложений не могут быть разделены. Для разработки приложений необходимо понимать варианты использования, шаблоны запросов и требования к свежести. Для решения бизнес-требований, которые управляют необходимостью использования ИИ, приложение может потребовать выходных данных из дискриминирующих моделей, генерирующих моделей или сочетания типов моделей.
Чтобы получить значимые результаты, модели искусственного интеллекта должны быть обучены. Обучение модели включает обучение модели для классификации или прогнозирования новых или невидимых ситуаций. Данные обучения должны быть адаптированы к определенной проблеме и контексту рабочей нагрузки.
Защищенное обучение включает предоставление модели с помеченными примерами. Этот тип обучения полезен, если нужный результат является ясным. В отличие от этого, неконтролируемое обучение позволяет модели определять шаблоны и связи в данных без указания ожидаемых выходных данных. Во время обучения тип алгоритма и его параметры настраиваются для управления тем, как модель учится. Подход зависит от типа модели, которая может включать нейронные сети, деревья принятия решений и другие.
Например, модели обнаружения изображений обычно обучены таким задачам, как обнаружение объектов, распознавание лиц или понимание сцены. Они учатся на аннотированных изображениях для идентификации определенных объектов или функций. Другие распространенные примеры включают алгоритмы обнаружения мошенничества и модели прогнозирования цен. Эти модели учатся на основе исторических финансовых данных для принятия обоснованных решений.
В этой статье основное внимание уделяется предыдущему варианту использования, в котором модели обучены , прежде чем они могут дать значимые входные данные приложению. В этой статье содержатся рекомендации по сбору данных, обработке, хранению, тестированию и обслуживанию. Проектирование данных для анализа и анализа данных или бизнес-аналитики с помощью ИИ не рассматривается. Цель заключается в поддержке потребностей в обучении с помощью стратегий, которые соответствуют требованиям рабочей нагрузки, предоставляя рекомендации по конвейеру обучающих данных рабочей нагрузки ИИ.
Сведения о проектировании данных для моделей искусственного интеллекта, требующих контекста во время вывода, см. в разделе "Проектирование данных заземления".
Внимание
Ожидается, что проектирование данных будет итеративным процессом, основанным на статистическом эксперименте. Чтобы достичь приемлемого уровня качества, настройте данные обучения, ее обработку, разработку признаков модели и гиперпараметры модели (по возможности). Этот цикл экспериментов обычно происходит как во время начального обучения модели, так и во время текущих усилий по уточнению данных и смещения модели в течение срока существования функции в рабочей нагрузке.
Рекомендации
Ниже приведена сводка рекомендаций, приведенных в этой статье.
Рекомендация | Description |
---|---|
Выберите источники данных на основе требований к рабочей нагрузке. | Фактор доступности ресурсов и возможность доступа к приемлемому качеству данных для обучения моделей. Рассмотрим как положительные, так и отрицательные примеры. Объединение различных типов данных для обеспечения достаточной полноты для анализа и моделирования. Рассмотрим такие методы, как искусственный метод переуспечений (SMOTE) для нехватки данных или дисбаланса. ▪ Прием и анализ данных |
Проводите анализ данных на ранних этапах сбора данных. | Выполнение процессов анализа, таких как анализ данных Exploratory (EDA), в автономном режиме. Рассмотрим затраты и последствия для безопасности. Для небольших наборов данных без ограничений ресурсов можно рассмотреть возможность выполнения анализа в источнике. ▪ Хранилище сбора данных |
Сохраняйте сегментацию данных, если для него требуются бизнес-требования и технические требования. | При использовании источников данных, имеющих различные требования к безопасности, создайте отдельные конвейеры для каждой модели. Установите элементы управления доступом, чтобы ограничить взаимодействие с определенными подмножествами данных. ▪ Сегментация данных |
Предварительно обработайте данные, чтобы сделать его значимым для целей обучения. | Уточнение качества приема данных путем фильтрации шума, повторного анализа данных, адресации дубликатов и стандартизации различных форматов. ▪ Предварительная обработка данных |
Избегайте обучения устаревшим данным. | Отслеживайте смещение данных и смещение концепции в рамках внутренних и внешних операционных циклов, чтобы обеспечить точность и надежность моделей с течением времени. Регулярно обновляйте обучающие данные с новыми наблюдениями. Определите условия повторного обучения модели и определите частоту обновления. ▪ Обслуживание данных |
Типы данных
Чтобы создать прогнозную мощность в моделях, необходимо собирать данные, обрабатывать их и передавать в модель. Обычно этот процесс является концептуальным как конвейер, который разбивается на этапы. Каждый этап конвейера может иметь дело с одинаковым набором данных, но он может служить различным целям. Как правило, данные этих типов обрабатываются следующим образом:
Исходные данные — это данные наблюдения на определенный момент времени. Это также могут быть данные, которые могут быть помечены как потенциальные входные данные для конвейера данных.
Обычно эти данные получаются из рабочей среды или из внешнего источника. Эти источники данных могут находиться в учетных записях хранения, базах данных, API или других источниках. Данные могут находиться в различных форматах данных, таких как базы данных OLTP, неструктурированные документы или файлы журналов. Эти данные служат потенциальными входными данными в конвейер данных.
Обучающие данные — это подмножество исходных данных, используемых для предоставления примеров модели. Примеры представляют собой описательные предварительно вычисляемые данные, которые помогают модели изучать шаблоны и связи. Без этих данных модель не может генерировать соответствующие выходные данные.
Данные оценки — это подмножество исходных данных, которые используются для мониторинга и проверки производительности модели машинного обучения во время обучения. Он отличается от обучающих и тестовых данных и используется для периодической оценки производительности модели на этапе обучения и руководства по настройке гиперпараметров. Дополнительные сведения см. в разделе "Оценка модели".
Данные тестирования используются для проверки прогнозной мощности обученной модели. Эти данные образцы из исходных данных, которые не использовались для обучения. Он содержит наблюдения из рабочей среды, чтобы процесс тестирования был исчерпывающим. С точки зрения проектирования данных необходимо хранить эти данные. Сведения о моделях тестирования см. в области проектирования тестирования .
В некоторых случаях сведения, предоставляемые пользователями во время взаимодействия с приложением, могут в конечном итоге стать исходными данными. Как правило, мы рекомендуем, чтобы входные данные пользователей использовались таким образом, что это является высоким качеством. В противном случае необходимость непрерывной обработки проблем с качеством может стать проблематичной. Руководство по обработке пользовательских данных не рассматривается в этой статье.
Прием и анализ данных
Данные обучения собираются в предопределенном окне с достаточными представлениями для обучения выбранного типа модели. Например, при обучении модели двоичной классификации данные обучения должны включать представления того, что такое (положительные примеры) и что не так (отрицательные примеры). Чтобы обучающие данные были значимыми, проводите EDA рано во время разработки функций.
EDA помогает анализировать исходные данные для выявления характеристик, связей, шаблонов и проблем с качеством. Вы можете выполнять EDA непосредственно в исходном хранилище данных или реплицировать данные в централизованные хранилища, такие как озеро данных или хранилище данных. Результатом процесса является информирование о сборе и обработке данных для эффективного обучения модели.
Примечание.
Хотя EDA является предварительным процессом, он использует данные, полученные из рабочей среды. Примените тот же уровень управления к этому процессу, что и для рабочей среды.
Ниже приведены некоторые рекомендации по сбору данных при подготовке к обучению модели.
Источники данных
Данные можно собирать из следующих источников:
Собственные данные создаются или принадлежат организации. Он не предназначен для общественного потребления. Он служит внутренним целям.
Общедоступные источники доступны всем пользователям. К этим источникам относятся веб-сайты, исследования и общедоступные базы данных. Это может быть конкретно для ниши области. Например, содержимое из Википедии и PubMed считается общедоступным.
Выбор источников данных зависит от требований к рабочей нагрузке, доступных ресурсов и качества данных, приемлемых для обучения модели. Несбалансированные наборы данных могут привести к предвзятым моделям, поэтому необходимо разработать сбор данных, чтобы получить достаточные образцы репрезентативных данных. Возможно, вам потребуется переначислить данные меньшинства или неуклюжие данные большинства. Если данные недостаточно или несбалансированы, рассмотрите такие методы, как SMOTE и создание искусственных данных.
Хранилище сбора данных
Существует два основных варианта сбора исходных данных:
- Запрос данных в источнике данных
- Копирование данных в локализованное хранилище данных, а затем запрос к хранилищу
Выбор зависит от требований рабочей нагрузки и объема данных. Если у вас есть относительно небольшой объем данных, исходная система может обрабатывать необработанные запросы напрямую. Однако распространенная практика заключается в запросе и анализе из локализованного хранилища.
Компромиссное решение. Хотя локализованные хранилища данных могут упростить анализ и процесс обучения, также необходимо сбалансировать затраты, безопасность и требования к модели.
Дедупликация данных вызывает затраты на хранение и вычислительные ресурсы. Обслуживание отдельной копии требует дополнительных ресурсов. Локальные копии могут содержать конфиденциальную информацию. Если это так, необходимо защитить данные с помощью обычных мер безопасности.
Если вы используете рабочие данные для обучения данных, они должны быть подвержены всем исходным ограничениям классификации данных этих данных.
Данные могут быть предоставлены процессу обучения (режим отправки) или сам процесс может запрашивать источник данных (режим извлечения). Выбор зависит от ограничений владения, эффективности и ресурсов.
При отправке данных в рабочую нагрузку владелец источника данных несет ответственность за предоставление свежих данных. Владелец рабочей нагрузки предоставляет подходящее расположение в локализованном хранилище данных для хранения данных. Этот подход применяется к закрытым данным, принадлежащим организации, а не к общедоступным источникам.
Существует два подхода, которые можно использовать для извлечения данных. В одном из подходов рабочая нагрузка запрашивает хранилище данных, извлекает необходимые данные и помещает его в локализованное хранилище. Другим способом является выполнение запросов в режиме реального времени в памяти. Решение зависит от объема данных и доступных вычислительных ресурсов. Для небольших наборов данных может быть достаточно извлечения в памяти для обучения моделей.
Независимо от того, используется ли режим принудительной отправки или извлечения, избежать обучения моделей на устаревших данных. Частота обновлений данных должна соответствовать требованиям рабочей нагрузки.
Сегментация данных
Требования, относящиеся к рабочей нагрузке, могут потребовать сегментации данных. Ниже приведены некоторые возможные варианты использования:
Требования к безопасности часто выполняют решения сегментации. Например, нормативные ограничения могут препятствовать экспорту данных в геополитических регионах. Если проект приложения позволяет использовать отдельные модели, проектирование данных включает отдельные конвейеры данных для каждой модели.
Тем не менее, если используется одна модель, сегментированные источники данных в этой модели. Необходимо обучить модель на данных из обоих географических регионов, что потенциально повышает сложность.
Независимо от того, использует ли приложение одну модель или несколько моделей, сохраняйте меры безопасности в каждом сегменте данных таким образом, чтобы он был защищен тем же уровнем строгости, что и данные в источнике.
Скорость свежести данных может быть фактором разделения данных. Данные из разных источников могут обновляться в разных интервалах времени. Если данные изменяются, переобучение становится необходимым. Сегментация позволяет детализировать управление жизненным циклом данных. Рекомендуется использовать отдельные таблицы или конвейеры для разных сегментов данных.
Независимо от варианта использования, когда данные сегментированы, элементы управления доступом являются ключевыми. Специалисты по обработке и анализу данных, такие как инженеры данных и специалисты по обработке и анализу данных, изучают доступные исходные данные, чтобы понять закономерности и связи. Их аналитические сведения способствуют обучению моделей, которые прогнозируют результаты. Установите элементы управления доступом, чтобы обеспечить взаимодействие только авторизованных пользователей с определенными подмножествами данных. Примените минимальные привилегии к данным, которые считаются релевантными. Совместная работа с владельцами данных для настройки соответствующих разрешений.
Предварительная обработка данных
В реальном сценарии исходные данные не просто хранятся для сценариев искусственного интеллекта. Существует промежуточный процесс, который подготавливает данные для обучения. На этом этапе данные лишены шума, что делает его полезным для потребления. При работе с исходными данными специалисты по обработке и анализу данных занимаются процессом изучения, экспериментирования и принятия решений. Их основная цель — определить и извлечь части исходных данных, которые содержат прогнозную мощность.
Логика предварительной обработки зависит от проблемы, типа данных и требуемых результатов. Ниже приведены некоторые распространенные методы предварительной обработки. Этот список не является исчерпывающим. Фактические критерии рабочей нагрузки зависят от бизнес-требований.
Качество. Предварительная обработка поможет вам убедиться, что обучающие данные лишены шума. Цель заключается в том, чтобы каждая строка в данных обучения представляла собой четкое наблюдение или хороший пример, соответствующий вашему варианту использования, и устранить наблюдения, которые не имеют качества или прогнозной мощности. Например, если вы сопоставляете отзывы о продуктах, вы можете исключить слишком короткие данные. Необходимо узнать, какое качество данных создает значимые прогнозные результаты.
Повторная привязка. Поля исходных данных, которые слишком конкретные, могут ограничить прогнозные способности. Например, рассмотрим поле адреса. Расширение области от полного адреса (номера дома и имени улицы) до более высокого уровня, например города, штата или страны или региона, может быть более актуальным.
Дедупликация. Устранение избыточности может гарантировать, что данные обучения остаются точными и репрезентативным. В некоторых случаях частота, с которой делается наблюдение, не имеет значения. Например, при проверке журналов, если запись журнала отображается в 1000 раз, это указывает на ее частоту. Это не обязательно означает, что это более серьезная ошибка, чем журнал, который произошел только один раз. Этот тип избыточности может привести к шуму.
Обработка конфиденциальных данных. Исключите персональные данные, если она не является абсолютно жизненно важной для прогнозной власти модели таким образом, что невозможно достичь с помощью анонимизации. Учебные данные должны быть эффективными без ущерба для конфиденциальности. Если данные предоставляют ценность, необходимо учитывать этические аспекты обработки конфиденциальных данных. Подробнее см. в разделе Ответственное использование ИИ.
Стандартизированное преобразование. Эксперты домена считают, что предыдущие методы являются основной частью проектирования признаков. Широкая область и разнообразные исходные данные в конечном итоге должны объединяться в хранилища функций, где функции упорядочены (например, в таблицы функций) для явной цели обучения моделей. После выбора прогнозных данных для обучения преобразуйте данные в стандартный формат. Стандартизация также обеспечивает совместимость с моделью обучения.
Преобразование изображений в текстовые представления — это форма преобразования. Например, можно преобразовать сканированные документы или изображения в удобочитаемый компьютером текст.
Чтобы обеспечить совместимость с моделями, может потребоваться настроить ориентацию или пропорции изображений в соответствии с ожиданиями модели.
Примечание.
Сочетание больших объемов структурированных и неструктурированных данных может увеличить время обработки. Группы рабочей нагрузки должны измерять влияние различных форматов обработки. По мере того как интервал между переобучением усилий становится короче, время, затраченное на предварительную обработку, становится более важным.
Хранение данных
После обучения модели определите, следует ли удалять данные, используемые для обучения, и перестроить модель для следующего окна обучения.
Если данные остаются относительно неизменными, переобучение может не потребоваться, если не происходит смещение модели. Если точность прогнозирования уменьшается, необходимо переобучить модель. Вы можете снова принять данные, предварительно обработать и создать модель. Этот курс действий лучше всего подходит, если с момента последнего периода обучения имеется значительный разностный объем данных. Если есть большой объем данных, и он не изменился много, вам может не потребоваться предварительно обработать и перестроить модель. В этом случае сохраняйте данные, выполняйте обновления на месте и переобучение модели. Определите, сколько времени вы хотите сохранить обучающие данные.
Как правило, удалите данные из хранилищ компонентов, чтобы сократить затраты на работу и хранение компонентов, которые имеют низкую производительность и которые больше не относятся к текущим или будущим моделям. При сохранении данных ожидается управление затратами и устранение проблем безопасности, которые являются типичными проблемами дублирования данных.
отслеживание происхождения данных.
Происхождение данных относится к отслеживанию пути данных из источника к его использованию в обучении моделей. Отслеживание происхождения данных важно для объяснения. Хотя пользователям может не потребоваться подробная информация о источниках данных, эта информация имеет решающее значение для внутренних групп управления данными. Метаданные происхождения обеспечивают прозрачность и подотчетность, даже если она не используется непосредственно моделью. Они используются для отладки. Это также помогает определить, вводятся ли предвзяты во время предварительной обработки данных.
Используйте функции платформы для отслеживания происхождения, когда можно. Например, Машинное обучение Azure интегрирован в Microsoft Purview. Эта интеграция предоставляет доступ к функциям обнаружения данных, отслеживания происхождения и управления в рамках жизненного цикла MLOps.
Обслуживание данных
Все модели могут стать устаревшими с течением времени, что приводит к снижению прогнозной мощности или релевантности модели. Несколько внешних изменений могут привести к распаду, включая изменение поведения пользователей, динамику рынка или другие факторы. Модели, обученные некоторое время назад, могут быть менее актуальными из-за изменения обстоятельств. Чтобы сделать прогнозы с лучшей точностью, вам нужны последние данные.
Внедрение новых моделей. Чтобы обеспечить релевантность, требуется рабочий цикл, который постоянно оценивает производительность модели и рассматривает более новые модели, что обеспечивает минимальное нарушение конвейера данных. Кроме того, можно подготовиться к более крупному изменению, включающее изменение жизненного цикла данных и конвейера.
При выборе новой модели вам не обязательно нужно начинать с нового набора данных. Существующие наблюдения, используемые для обучения, могут оставаться ценными даже во время переключения модели. Хотя новые модели могут выявить более узкие сценарии, фундаментальный процесс остается аналогичным. Подходы к управлению данными, такие как хранилища функций и сетки данных, могут упростить внедрение новых моделей машинного обучения.
Операции на основе триггеров и подпрограммы. Рассмотрите, следует ли переобучению модели активироваться определенными событиями или условиями. Например, доступность новых, более соответствующих данных или падение релевантности ниже установленного базового плана может вызвать переобучение. Преимущества этого подхода — это скорость реагирования и своевременное обновление.
Обслуживание также может быть запланировано по регулярным фиксированным интервалам, например ежедневно или еженедельно. Для операций проверки отказа рассмотрите оба подхода.
Удаление данных. Удалите данные, которые больше не используются для обучения для оптимизации использования ресурсов и минимизации риска использования устаревших или неуместных данных для обучения модели.
Право быть забытым относится к праву человека на удаление персональных данных с онлайн-платформ или баз данных. Не забудьте использовать политики для удаления персональных данных, используемых для обучения.
Хранение данных. В некоторых ситуациях необходимо перестроить существующую модель. Например, для аварийного восстановления модель должна быть повторно создана точно так же, как это было до катастрофического события. Рекомендуется использовать вторичный конвейер данных, который соответствует требованиям рабочей нагрузки основного конвейера, например для устранения распада модели, регулярных обновлений с помощью триггеров или обычных операций обслуживания и других задач обслуживания.
Компромиссное решение. Обслуживание данных является дорогостоящим. Она включает копирование данных, создание избыточных конвейеров и выполнение рутинных процессов. Помните, что регулярное обучение может не улучшить качество ответа. Он обеспечивает уверенность только в том, что он неустареет. Оцените важность изменений данных в качестве сигнала для определения частоты обновлений.
Убедитесь, что обслуживание данных выполняется в рамках операций модели. Необходимо установить процессы для обработки изменений с помощью автоматизации как можно больше и использовать правильный набор средств. Дополнительные сведения см. в разделе MLOps и GenAIOps для рабочих нагрузок искусственного интеллекта в Azure.