Всегда включайте базовые модели для разработки новых моделей.
Выбор модельной архитектуры
Предположим, у вас есть задача моделирования. Вы приложили много усилий для подготовки наборов данных. Следующим шагом будет выбор архитектуры модели, подходящей для вашей задачи. Это непростое решение, поскольку обучение и последующие эксперименты обходятся дорого.
На этом этапе мы часто руководствуемся неофициальными свидетельствами :
- Удачных экспериментов в домене. Привет, эта команда добилась потрясающих успехов в своей задаче, используя этот вариант BERT. Почему бы не попробовать это?
- Существующая литература по SOTA для вашего домена. Эй, группа X начала использовать широкие и глубокие сети вместо расширенных деревьев решений и достигла лучших результатов.
- Легкость обучения / доступность конвейера шаблонов: инфраструктура полностью настроена для обучения этого класса моделей. Почему бы нам не попробовать это, поскольку это сокращает время развертывания?
- Знакомство с классом алгоритмов: разработчики машинного обучения имеют предубеждения за / против класса алгоритмов, основанные на их прошлом опыте.
В какой-то момент мы делали часть этого при разработке ml. Некоторые эксперименты проходят успешно, а некоторые - нет. Мы виним в этом экспериментальный характер машинного обучения. Проблема с этим подходом заключается в том, что если наш эксперимент не удастся, у нас будет ограниченная информация, которая поможет нам выбрать лучший алгоритм обучения.
Исходные данные
Базовая модель проста в настройке, дешева в обучении и может быть проанализирована без особых усилий.
Примеры исходных условий модели -
- Модель набора слов может быть хорошей базой для задач НЛП.
- Класс большинства, KNN, LR, SVM, RandomForest, Naive Bayes для вашей задачи классификации.
- Простые MLP могут быть базовыми для сложных архитектур на основе nn.
Итак, как вы включите определение базовой модели в свою разработку ML?
- Обучите несколько простых моделей вместе с архитектурой вашей целевой модели. Используйте заранее определенный список разнообразных алгоритмов для обучения. Поскольку их дешево обучать, нет причин использовать интуицию при выборе подмножества из них.
- Отчет по широкому спектру применимых показателей (качество, производительность, продукт) с доверительными интервалами по набору тестов для всех базовых показателей + целевой архитектуры. Наличие разнообразного набора отчетных показателей - хорошая практика. Проанализируйте производительность вашей целевой архитектуры по сравнению с базовыми показателями. Обратите внимание на компромиссы.
План тестирования разработки модели должен содержать базовый отчет.
- Целевые архитектуры - это те архитектуры, которые вы планируете использовать для онлайн-экспериментов или развертывания.
- Целевой показатель - это ваш основной показатель качества. Это также может быть показатель продукта.
- Используйте понятные единицы измерения для перф. Укажите значение в долларах США для стоимости обучения (может быть эвристическим) для сравнения.
Примеры анализа компромиссов
- Моя целевая архитектура 1 лучше по целевой метрике, чем лучшая базовая, но требует обучения в долларах и имеет гораздо более высокую задержку. Стоит ли соглашаться со сложностью ради улучшения качества?
- Мои целевые архитектуры не лучше базовых или немного лучше. Стоит ли вкладывать средства в получение большего количества данных или выбрать другой алгоритм?
- Базовая логистическая регрессия лучше или равна целевой архитектуре. Развертывание, которое даст нам значительный выигрыш в стоимости производительности (время обучения, размер обслуживания, задержка).
Заключение
Предоставление исходных данных модели - хорошая практика при разработке мл. Примите обоснованное решение о выборе архитектур моделей на основе качества, производительности и сложности модели.