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

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

Для таких сценариев было бы очень полезно иметь инструмент контроля версий, такой как git, и репозиторий хранения, такой как GitHub, для хранения, просмотра и извлечения этих различных моделей.

Этот инструмент будет действовать как «База данных как услуга». Эти сохраненные модели сохраняются в облачном хранилище данных. Каждая новая версия модели имеет атрибуты / метаданные, описывающие модель на этом этапе; это сделает базу данных доступной для поиска и запросов. Этот инструмент дополняется веб-панелью пользовательского интерфейса, где пользователи могут просматривать различные версии модели и запрашивать их на основе своих метаданных. Запросы могут выглядеть примерно так: «Модель обнаружения объектов в наборе данных изображений с точностью› 90% и объемом памяти ‹100 МБ и может выполнять логический вывод на процессоре с тактовой частотой 1 ГГц». Затем пользователю будет разрешено проанализировать результаты, сравнить и визуализировать метрики и точность модели с различными наборами данных проверки.

Еще одной уникальной особенностью этого инструмента является его способность вычислять разницу между двумя сохраненными моделями (например, git diff). Так что пользователь сможет увидеть, как модель менялась между разными версиями. Это поможет объяснить возможные изменения производительности модели в разных версиях. Это также позволит сотрудничать в рабочем процессе науки о данных, где другие члены команды смогут выбирать разные версии модели, настраивать ее и отправлять обратно в базу данных, комментировать изменения и улучшения, которые могут быть внесены в модель.

«Различия» модели можно рассчитать, разделив задачу на два этапа:

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

**********

В январе 2021 года блог TFX опубликовал это - https://blog.tensorflow.org/2021/01/ml-metadata-version-control-for-ml.html, предлагая механизм управления версиями для моделей машинного обучения.

В феврале 2021 года Google представил Введение в поиск моделей: платформу с открытым исходным кодом для поиска оптимальных моделей машинного обучения. :)