энергия данных
Искусственный
интеллект
Корпоративный онлайн-марафон, направленный на поддержку внедрения и развития инструментов расширенной аналитики в деятельность компаний
Цифровые диалоговые ассистенты и распознавание естественной речи
История развития цифровых диалоговых ассистентов
Началом отсчета развития цифровых диалоговых ассистентов и чат-ботов можно считать эмпирический тест «Тест Тьюринга», описанный Аланом Тьюрингом в статье «Вычислительные машины и разум» в 1950 году. Стандартная интерпретация этого теста звучит следующим образом: «Человек взаимодействует с одним компьютером и одним человеком. На основании ответов на вопросы он должен определить, с кем он разговаривает: с человеком или компьютерной программой. Задача компьютерной программы — ввести человека в заблуждение, заставив сделать неверный выбор».

Одним из первых виртуальных собеседников был ELIZA, созданный в 1966 году Джозефом Вейценбаумом. ELIZA имитирует диалог с психотерапевтом, используя выделение ключевых слов во входной фразе. Похожим образом работала и PARRY – виртуальный собеседник был создан в 1972 году психиатром Кеннетом Колбай. Но Колбай реализовал диалоговую стратегию, поэтому PARRY стала более продвинутая, чем ELIZE. До сих пор в некоторых случаях можно эффективно использовать чат-ботов, основанных на правилах, синтаксическом анализе.

В 1995 началась разработка A.L.I.C.E. Этот чат-бот сопоставлял фразу пользователя с образцами в базе знаний. Он стал одним из лучших чат-ботов в своё время, в 2000, 2001 и 2004 годах становился победителем премии Лёбнера.

В 2007 году началась разработка IBM Watson. Компьютерная программа, основанная на технологии DeepQA, предназначена для извлечения и анализа информации из текстов на естественном языке, а также для быстрого поиска ответов на вопросы. В 2011 году IBM Watson выиграл у сильнейших игроков во втором матче интеллектуальной викторины Jeopardy (российский аналог – «Своя игра»), став победителем трехдневного турнира.

Начиная с 2010 года началось активное развитие виртуальных ассистентов для массового потребителя. 2011 г. – Siri (Apple), 2014 г. – Cortana (Microsoft), 2016 г. – Google Assistant (Google), 2017 г. – Алиса (Яндекс), 2020 г. – Салют (Сбер).
Цифровые диалоговые ассистенты — что под «капотом»
Рассмотрим подробнее устройство цифрового диалогового ассистента (ЦДА). В современных ЦДА ядром являются алгоритмы и модели NLU (Natural Language Understanding — понимание естественного языка). Обычно NLU состоит из последовательности шагов (pipeline-конвейер), например: подготовка и преобразование текста (очистка, разделение на токены, нормализация…), извлечение сущностей (номера телефонов, ФИО…), классификация текста (определение тональности/выделение намерения…). В основе этих шагов могут лежать как «классические» алгоритмы, алгоритмы на правилах, так и решения на основе нейронных сетей.

Цифровые диалоговые ассистенты помимо NLU могут содержать не менее важные компоненты, такие как: базу знаний/фактов, наборы умений, предиктивные алгоритмы, модули интеграции с различными сервисами (в том числе и с другими цифровыми ассистентами).

Набор компонентов ЦДА и шаги NLU пайплайна определяются бизнес-задачей и могут существенно отличаться в разных приложениях. Далее мы рассмотрим детальнее несколько примеров ЦДА.
Распознавание естественной речи
Первое устройство для распознавания речи появилось в 1952 году, оно могло распознавать произнесённые человеком цифры. В 1962 году на ярмарке компьютерных технологий в Нью-Йорке было представлено устройство IBM Shoebox.

В 1963 году в США были презентованы разработанные инженерами корпорации «Сперри» миниатюрные распознающие устройства с волоконно-оптическим запоминающим устройством под названием «Септрон», выполняющие ту или иную последовательность действий на произнесённые человеком-оператором определённые фразы.

Коммерческие программы по распознаванию речи появились в начале девяностых годов. Обычно их используют люди, которые из-за травмы руки не в состоянии набирать большое количество текста. Эти программы (например, Dragon NaturallySpeaking, VoiceNavigator) переводят голос пользователя в текст, таким образом разгружая его руки. Надежность перевода у таких программ не очень высока, но с годами она постепенно улучшается.
Подходы для распознавания речи
На основе сравнения с эталоном:
  • Динамическое программирование — временные динамические алгоритмы (Dynamic Time Warping).

Контекстно-зависимая классификация:
  • Методы дискриминантного анализа, основанные на Байесовской дискриминации (Bayesian discrimination);
  • Скрытые Марковские модели (Hidden Markov Model);
  • Нейронные сети (Neural networks).
Пайплайн распознавания речи
  1. Шумоочистка и отделение полезного сигнала.
  2. Акустическая модель. Распознавание речевого сегмента на звуковом уровне.
  3. Языковая модель. Определение наиболее вероятных последовательностей слов.
  4. Декодер. Совмещение данных, получаемых в ходе распознавания от акустических и языковых моделей, и на основании их объединения определение наиболее вероятной последовательности слов.
Возможности ЦДА
  • Распознавание и синтез человеческой речи
  • Перевод с одного языка на другой
  • Извлечение сущностей из текста
  • Определение намерения пользователя
  • Определение эмоционального оттенка сообщения
  • Суммаризация сообщения (выделение темы)
  • Видеоаналитика
  • Запросы к базам знаний
  • Персонализация пользователя
  • Рекомендации для пользователя
  • Интеграция со сторонними сервисами
  • Интеграция с мессенджерами, телефонией и другими привычными для пользователя каналами коммуникации
  • Взаимодействие с пользователем на естественном языке
  • «Развлечение» пользователя (Chit-Chat Skill)
Введение в распознавание естественной речи
Немного теории про распознавание интентов. Распознавание интентов. Модель распознавания интентов, регулярные выражения.
NLP (Natural Language Processing) – это задачи по обработке текстов на естественном языке, то есть на том языке, на котором пишут и говорят люди.

Классические задачи NLP это:

  • Машинный перевод – перевод с одного естественного языка на другой;
  • Классификация текстов – спам/не спам, рубрикация по новостям, сентимент-анализ;
  • NER – извлечение именованных сущностей. Выделение в тексте участков, которые являются «именами» заранее заданных сущностей. Например, географические локации, персоны, организации.
  • QnA – вопросно-ответные системы. Это когда у нас есть некоторый текст, мы задаем вопрос, ответ на который есть в этом тексте, и система выдает нам этот ответ.
  • Другие…

Для создания диалоговых ассистентов важной задачей является распознавание интентов или намерений — это задача многоклассовой классификация с отказом. Отказ или fallback – это когда текст не относится ни к одному из классов. Часто, хотя это и не совсем верно, задачу распознавания интентов называют NLU (natural language understanding). Вообще NLU – это про понимание языка в целом, то есть понимание того, что пользователь сказал или написал. Сюда может входить целый список задач: и распознавание интентов, и выделение сущностей, и все, что поможет нам понять, что же имел в виду пользователь.
Для распознавания намерения пользователя часто используются модели машинного обучения, но не стоит забывать и об эвристических алгоритмах – регулярных выражениях, они часто могут дать хороший результат для распознавания намерения пользователя. И, естественно, можно использовать различные комбинации правил (эвристик) и моделей машинного обучения.

Давайте немного погрузимся в то, как обычно работает модель распознавания интенов (основанная на машинном обучении). На вход модели попадает реплика пользователя и нам надо ее отнести к определенному интенту. Есть 2 принципиальных шага – векторизация фразы и ее классификация. Векторизация фразы — это функция, которая на каждую реплику выдает вектор (размер вектора зависит от модели, например, 1024). Векторизаторы отдельно много и сложно обучаются, но их задача в многомерном пространстве расположить фразы таким образом, чтобы фразы со схожим смыслом были близки друг к другу, а с разными смыслами – находились дальше, и чем фразы более похожи, тем ближе они должны располагаться. Второй шаг — это классификация. В некотором смысле в этом многомерном пространстве проводятся границы между интентами – по сути, стандартная задача многоклассовой классификации.

Векторизаторы можно обучать отдельно в целом для всего языка и делать их независимыми от самой задачи – интентов. Векторизатор можно получить из другой задачи NLP – построения языковой модели.
Языковая модель
Задача заключается в том, чтобы по началу фразы оценить вероятность слова, которое может быть в конце фразы. Например, у нас есть фраза:

ну и гадость эта ваша заливная <…>

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

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

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

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


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

Классификация задач
Можно выделить 4 основные функции видеоаналитики:

  • обнаружение;
  • слежение;
  • распознавание;
  • прогнозирование.

По сферам применения видеоаналитика классифицируется как:

  • охранная:
• периметральная;
• ситуационная;
• биометрическая видеоаналитика.

  • бизнес-видеоаналитика:
• маркетинговая;
• производственная.

  • транспортная:
• номерная;
• для контроля безопасности движения.
Применение
Распознавание людей:
  • Построение маршрутов;
  • Подсчет количества людей в очереди/в помещении;
  • Определение персонала по униформе;
  • Расчет времени нахождения в заданном периметре;
  • Мониторинг активности людей в заданном периметре;
  • Построение графа взаимодействия людей;
  • Распознавание лиц (идентификация);
  • Отслеживание местоположения персонала.

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

Детектирование событий:
  • Детектирование пересечения допустимых линий и границ;
  • Обнаружение перебрасывания предметов через ограждение;
  • Обнаружение возгорания, задымления, потопа;
  • Детектирование оставленного включенного освещения.
Погружаемся глубже в распознавание образов

В конце 1950-х годов в университете Джона Хопкинса физиологи Дэвид Хьюбел и Торстен Визель начали проводить свои исследования, чтобы выяснить, как обрабатывается визуальная информация в коре головного мозга млекопитающих. Они проводили исследования, демонстрируя изображения кошкам, находившимся под воздействием анестезии, и одновременно регистрируя активность отдельных нейронов первичной зрительной коры, передней части коры головного мозга, получающей нервные импульсы от глаз. Фотоны света стимулируют нейроны, находящиеся в сетчатке каждого глаза, и эта необработанная визуальная информация передается от глаз к первичной зрительной коре головного мозга. Там первый слой нейронов, простые клетки Хьюбела и Визеля, получающие эту информацию, обнаруживают края (прямые линии) в определенных ориентациях. Таких нейронов многие тысячи. Эти простые нейроны передают информацию о наличии или отсутствии линий в определенных ориентациях следующему слою сложных клеток, которые принимают и рекомбинируют информацию, формируя более сложные зрительные абстракции

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

Фактически он заимствует определение «простых» и «сложных» клеток из работ Хьюбела и Визеля для описания первого и второго слоев своего неокогнитрона.

При организации в иерархическую структуру искусственные нейроны, ближе расположенные к входному сигналу, распознают линии с разной ориентацией, а находящиеся в более глубоких слоях распознают все более сложные абстрактные объекты.
LeNet-5
В 1998 году появилась модель LeNet-5, созданная Яном Лекуноми Йошуа Бенжио, точность и эффективность которой сделали ее значимым событием. Иерархическая архитектура LeNet-5 основана на работе Фукусимы и открытии Хьюбела и Визеля.

В LeNet-5 Ян Лекун с коллегами реализовали алгоритм, способный правильно предсказывать рукописные цифры и не требовавший включать какие-либо знания о рукописных цифрах в код. LeNet-5 стала первой сверточной нейронной сетью – разновидностью глубокого обучения.
ImageNet
В 2010 году Фей-Фей Ли организовала открытый конкурс под названием ILSVRC (ImageNet Large Scale Visual Recognition Challenge — состязание по масштабному распознаванию образов на основе ImageNet) на подмножестве данных ImageNet, ставший главной площадкой для оценки самых современных алгоритмов компьютерного зрения. ImageNet — это маркированный каталог фотографий. На данный момент в ImageNet 14 197 122 изображения, разбитых на 21 841 категорию.
AlexNet
В 2012 году Алексей Крижевский опубликовал AlexNet, углубленную и расширенную версию LeNet, которая с большим отрывом победила в соревновании ImageNet (с количеством ошибок 15,3% против 26,2% у второго места). Кардинальных отличий внесено не было. Сеть стала значительно больше.
VGG19
В 2014 году была представлена модель VGG19, разработанная K. Simonyan и A. Zisserman из Оксфордского университета. Модель достигает точности 74.5% — топ-1 при тестировании на ImageNet в задаче распознавания объектов на изображении.

Она является улучшенной версией AlexNet, в которой заменены «большие» свертки на несколько сверток с размером ядра 3х3, следующих один за другим.
Inception
В 2015 году представлено третье издание начальной сверточной нейронной сети Google Inception. Архитектура Inceptionv3 повторно использовалась во многих различных приложениях, часто использовалась «предварительно обученная» из ImageNet.
ResNet
В декабре 2015 года, примерно в то же время, как была представлена архитектура Inception v3, опубликовали ResNet. Также это был первый в истории пример обучения сети из нескольких сотен, даже тысячи слоёв.
EfficientNet
В 2019 году, опубликовали EfficientNet. Исследователи выбирали начальную архитектуру автоматически с помощью AutoML фреймворка. Методом переборки параметров по «сетке» изменяли параметры начальной сети с фиксированным ограничением по количеству операций с плавающей запятой в секунду. Эти ограничения определяли коэффициенты масштабирования для оптимизации размера нейросети до определенного размера.
ViT
В 2020 году опубликован Vision Transformers в статье «An Image is Worth 16x16 Words». Идея в основном состоит в том, чтобы разбить входные изображения на серии участков, которые после преобразования в векторы рассматриваются как слова в обычном transformer. В июне 2021 года добавили часть transformer в Resnet, что значительно снизило затраты и повысило точность.
Введение в аудиоаналитику

Аудиоаналитика – технология получения данных на основе анализа аудиосигнала. Данная технология востребована в следующих сферах: медицина, безопасность, военное дело.

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


Звукометрия (способ определения местоположения звучащего объекта по создаваемому им звуку) начала активно развиваться с начала XX века. Технология в первую очередь нашла свое применение в военном деле: детектирование летательных аппаратов, выстрелов артиллерии и стрелкового оружия.

Бумеранг (локатор выстрела)
Средства звукового наблюдения (звукоулавливатель)
Ежегодно проходят конкурсы по классификации акустических сцен, например – DCASE Challenge. В 2022 году в DCASE Challenge можно принять участие в решении следующих задач: классификация акустических сцен с помощью устройств с низким объемом вычислений и памяти; обнаружение аномального звука для автоматического обнаружения механических неисправностей в автомобиле; и другие задачи.
Применение
Безопасность и охрана:
  • Детектирование оружейных выстрелов;
  • Детектирование разбитого стекла;
  • Детектирование срабатывания автомобильной сигнализации;
  • Детектирование человеческого крика;
  • Детектирование произношения ключевых слов и враждебной интонации;
  • Детектирование проезда транспортных средств.

Производство:
  • Выявление технических неисправностей оборудования.

Повышение уровня обслуживания клиентов:
  • Контроль речи персонала или/и клиента;
  • Распознавание эмоциональной окраски речи;
  • Выявление популярных тем и запросов.
Введение в предиктивные модели

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

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

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

Кластеризация – разделение объектов на схожие категории по объединяющему признаку. Кластеризацию не стоит путать с задачей классификации, в которой заранее известны классы и принадлежащие им объекты. В кластеризации они не заданы и определяются разными способами. Применяется в следующих задачах: разделение покупателей или товаров по категориям, выявление мошенников по нетипичному поведению, обнаружение аномалий и т.д. Основные модели: k-средние, анализ главных компонентов, изоляционный лес, t-SNE, спектральная кластеризация.
Применение предиктивной аналитики
Бизнес и маркетинговый анализ:
  • Управление рисками;
  • Прогноз оттока клиентов;
  • Таргетинг;
  • Рекомендации оптимальной цены;
  • Прогноз спроса;
  • Прогноз продаж.

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

Банковская сфера, страхование, финансы:
  • Прогноз стоимости ценных бумаг;
  • Прогноз вероятности наступления страхового случая;
  • Обнаружение мошенничества;
  • Кредитный скоринг.

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

Прогноз погоды и природных явлений:
  • Краткосрочные и долгосрочные прогнозы температуры, направления и скорости ветра, осадков, используя данные с метеорологических станций и исторические данные;
  • Прогноз климатических изменений;
  • Прогноз катаклизмов.

Медицина:
  • Предсказание наличия заболевания или склонности к заболеванию;
  • Прогноз течения заболевания;
  • Выявление факторов, негативно сказывающихся на здоровье.
Введение в рекомендательные системы

Рекомендательные системы — программы, которые анализируют интересы, поведение пользователя и пытаются предсказать, какие объекты будут ему интересны.

Виды рекомендательных систем

Фильтрация, основанная на контенте
Суть этого подхода заключается в том, что мы сопоставляем пользователей с тем контентом или товарами, которые им нравились или были ими куплены. Здесь важны атрибуты пользователей и продуктов. Например, для рекомендаций к фильмам мы используем такие признаки, как режиссер, актеры, продолжительность фильма, жанр и т.д., чтобы найти сходство между фильмами. Контент-ориентированные методы используют «профиль» для каждого пользователя и каждого объекта. Построив эти «профили», мы вычисляем сходства между пользователями и объектами. Объекты должны быть рекомендованы пользователю, если они имеют наибольшее сходство с пользователем или имеют большое сходство с другими предметами, которые заинтересовали пользователя.
Коллаборативная фильтрация
Рекомендации основаны на истории оценок как самого пользователя, так и других. Коллаборативная фильтрация предполагает наличие матрицы оценок пользователь-объект. Идея заключается в том, чтобы для каждого пользователя найти наиболее похожих «соседей» и заполнить пропуски конкретного пользователя, взвешенно усредняя рейтинги «соседей». Ограничение: показывать хорошие рекомендации новым пользователям не получится, о них нет никакой информации.
Фильтрация, основанная на знаниях
Этот тип работает на основе знаний о какой-то предметной области: о пользователях, товарах и других знаниях, которые могут помочь в ранжировании. Используются алгоритмы, которые выбирают рекомендованные объекты, опираясь на конкретные свойства объектов. Например, свойство «аксессуар» (телефон и чехол к нему, игровая консоль и популярные к ней игры) или связь свойства «новогодний» и текущей даты (для рекомендации новогоднего фильма) т.д.. Как и в случае с фильтрацией, основанной на контенте, оценки других пользователей рекомендательная система не учитывает. Ограничение: глубокое понимание предметной области необходимо для создания алгоритмов, основанных на правилах.
Гибридные рекомендательные системы
Каждый из описанных выше вариантов формирования рекомендаций имеет свои преимущества и недостатки. На практике практически каждая рекомендательная система представляет композицию нескольких изложенных методов. Рассмотрим несколько распространенных архитектур гибридных рекомендательных систем.

Независимо друг от друга вычисляются рекомендации по алгоритмам коллаборативной фильтрации и фильтрации на контексте. Полученные рекомендации объединяются по определенному правилу и составляются итоговые объекты для рекомендаций. Такой подход позволяет учесть не только предпочтения пользователей, но «похожие» между собой объекты. Из минусов можно отметить возросшие затраты для реализации и функционирования системы.

Гибридная система может состоять из последовательно вычисляемых алгоритмов. Например, рекомендательная система, которая состоит из кластеризации (разбиения на определенные группы) пользователей, и затем для каждой группы применяется алгоритм коллаборативной фильтрации.
MLOps на ЦДА

MLOps — это набор процедур, направленных на последовательное и эффективное внедрение и поддержку моделей машинного обучения, используемых в производстве. Само слово представляет собой сочетание, обозначающее «Machine Learning» и процесс непрерывной разработки «DevOps» в области программного обеспечения.

На практике проблема внедрения ML-моделей в реальный бизнес не исчерпывается подготовкой данных, разработкой и обучением нейросети или другого алгоритма машинного обучения. На качество production-решения влияет множество факторов, от верификации датасетов до тестирования и развертывания в производственной среде. Это означает, что реальные результаты прогнозирования или классификации зависят не только от метода машинного обучения, но и от того, как команда разработчиков реализовала данную модель, а администраторы развернули ее в кластерном окружении. Также имеет значение качество входных данных, источники, каналы и периодичность их поступления, что относится к области ответственности дата-инженера. Организационные и технические препятствия при взаимодействии разнопрофильных специалистов, задействованных в разработке, тестировании, развертывании и поддержке ML-решений приводят к увеличению сроков создания продукта. Для устранения таких барьеров и придумана концепция MLOps, которая, подобно DevOps и DataOps, стремится увеличить автоматизацию и улучшить качество промышленных ML-решений.
Этапы MLOps
Подготовка данных
Как известно, без данных нет машинного обучения. Прежде чем приступить к чему-либо другому, командам ML необходим доступ к историческим или онлайн-данным из различных источников, а также возможность хранить и организовывать данные таким образом, чтобы обеспечить быстрый и простой анализ. Этот этап включает в себя сотрудничество между инженером по данным и специалистами по данным из различных источников, так как подразумевает сбор и подготовку данных для разработки моделей.

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

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

Мониторинг
Сервисы и приложения искусственного интеллекта быстро становятся неотъемлемым аспектом деятельности любой компании. Команды ML должны добавлять данные, код и отслеживать данные на предмет проблем с качеством, проверять модели на предмет дрейфа концепций и повышать точность моделей. Этот этап включает в себя мониторинг модели и инфраструктуры.
Рассмотрим на примере
Допустим, у нас есть приложение, которое выявляет мошеннические банковские транзакции.

Подготовка данных
Дата-инженеры настроили систему получения данных из различных источников, используя Apache Ni-Fi. Очистили данные и сохранили их в hadoop HDFS. Теперь у инженеров по машинному обучению есть единое хранилище готовых для использования исторических данных.

Разработка машинного обучения
Дата-саентисты извлекают данные, нужные им для анализа данных и разработки моделей, из HDFS-хранилища. Весь код, который они создают, отправляют в Git, итерации обучения моделей фиксируют в MLflow.

Производственное развертывание
После успешной разработки модели и принятия решения о ее выкатке на прод, начинается работа для девопс-инженеров. Девопс-инженеры извлекают модель из регистра-моделей MLflow, а код для ее работы — из Git. Упаковывают это всё в docker-контейнер, который потом «отправится» в Kubernetes на прод.

Мониторинг
Проводится непрерывный мониторинг инфраструктуры и работы модели, а также качества ее работы на реальных данных. Данные мониторинга в реальном времени отображаются в дашборде Grafana. Там же настроен алертинг, если что-то пошло не так.