Это платформа MLOps, которую я хочу

Привет, мир!
Разрешите мне вкратце рассказать об операциях машинного обучения? Как и многие вещи в ML, концепция ML Ops стала жертвой шумихи, что привело к фундаментальным недоразумениям. После более чем года покупки платформы MLOps я только больше разочаровался в том, что люди продают. Я буду избегать теоретических рассуждений о том, что такое MLOps, и сразу перейду к тому, что люди должны создавать.

По определению, MLOps нацелен на объединение технических характеристик машинного обучения и операционных сложностей на одной платформе. Как мы реализуем, обучаем, развертываем, обслуживаем, отслеживаем, проверяем и управляем моделями на единой платформе?

Это то, что я хочу, чтобы платформа MLOps делала. Позвольте мне упростить это.

Моя идеальная платформа MLOps

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

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

Развертывание должно выполняться одним щелчком мыши или триггерами мерж-реквеста (например, CI/CD) и не зависеть от платформы, любых целевых вычислений (плюс аппаратное ускорение) и, конечно же, это должно быть любое место, где можно запустить контейнер — будь то локальная или любая другая облачная платформа, независимо от того, где работает платформа MLOps.

Обслуживающий – высокозащищенная бессерверная конечная точка API, которая автоматически масштабируется по горизонтали или по вертикали.

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

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

Управление — это именно управление! Кто какую модель развернул и когда? Кто одобрил? Каковы были критерии приемлемости? Где отчет о проверке модели? Как насчет документации модели?

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

Разговор продолжается…

Стало очевидным, что большинство людей, предлагающих платформы MLOps, пытаются выбрать свою борьбу. Они обеспечивают либо мощную возможность управления экспериментом с мониторингом перед развертыванием, либо мощную возможность развертывания CI/CD, либо мощную возможность мониторинга после развертывания с объяснимостью, или, или, или! Дело в том, что я хочу все это!

Другие просто не понимают, что такое MLOps, путая его в основном с AutoML. А есть облачные, жаждущие заблокировать вас, как будто мы не живем в 2022 году.

Неразумно, наверное?

Меня обвиняли в том, что я прошу людей вскипятить океан моими требованиями к MLOps, и я уступаю. Однако с MLOps либо вы идете по-крупному, либо идете домой! Срезание углов только усугубит операционные накладные расходы, которые вы намеревались решить.

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

Так где же моя платформа MLOps, народ?

Я разглагольствую так чаще, чем вы думаете, следите за мной в LinkedIn и Twitter, чтобы увидеть больше разглагольствований.