Рубрики
Без рубрики

Как сравнить статистику вывода любых моделей ML для производства

Найдите Pyinfer на GitHub: https://github.com/cdpierse/pyinfer Документы для пакета можно найти здесь: … Tagged с помощью машинного обучения, Python, Data Science, Show Dev.

Найдите Pyinfer на GitHub: https://github.com/cdpierse/pyinfer

Документы для пакета можно найти здесь: https://pyinfer.readthedocs.io/en/latest/

Введение

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

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

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

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

Вот почему я разработал Pyinfer очень легкий Но, надеюсь, полезный инструмент для разработчиков и исследователей ML.

Пример: Выбор модели трансформатора

Пример ниже показывает MultiinferenceReport Класс из Pyinfer используется для сравнения и сравнения трех моделей из популярной библиотеки Huggingface. Каждая из этих моделей использует вариации архитектуры трансформатора и достигает различных показателей по показателям на основе точности. У них также есть различное количество параметров, что является огромным индикатором для того, как долго каждая модель будет выполнять один вывод.

Мы сравниваем три модели из библиотеки:

  • Берт
  • Дистильберт
  • Электрический

Каждая модель создана для проведения анализа настроений на кусочке текста.

Мы создаем создание каждой модели и связанного с ним токенизатора и создаем текстовый ввод для каждой модели, которая будет выполнена.

С помощью модели и текстового ввода мы теперь готовы создать и запустить отчет, и посмотрим, что выводится.

Вывод таблицы таблицы отчетов с несколькими выводами

Участок отчета о нескольких выводах.

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

Особенности Пийнфера

  • Простой в использовании интерфейс.
  • Способность сравнивать любое количество моделей друг с другом.
  • Работает с любой вызовной моделью, методом или даже сложной функцией.
  • Возможность запустить отчет для n_iterations или n_seconds в зависимости от того, что является более практичным.
  • Пользователи могут установить предопределенную точку сбоя вывода в секундах/MS, которая будет отмечать любой вывод выше этой точки в качестве сбоя в отчете.
  • Визуально привлекательная таблица, которая сообщает о статистике вывода, напечатана для консоли после завершения отчета. Эта статистика также возвращается в виде списка словари.
  • Время выполнения может быть построено друг на друга на графике для быстрого визуального сравнения.
  • Пакет хорошо протестирован

Монтаж

Pyinfer находится на PYPI, вы можете установить через: PIP установить Pyinfer

Резюме

Pyinfer – это легкий инструмент для разработчиков и исследователей ML, чтобы сравнить статистику вывода для модели или количества моделей, которые они тестируют. Это позволяет разработчикам принимать решения о практической пригодности модели для производства с простым в использовании интерфейса.

Вы можете найти проект на GitHub Анкет

Если кто -то хотел бы внести вклад в проект или предложить изменение/функцию, я бы хотел услышать об этом.

Оригинал: “https://dev.to/cdpierse/how-to-benchmark-any-ml-models-inference-statistics-for-production-8dh”