Обучение модели Vowpal Wabbit
В этой статье описано, как использовать компонент Обучение модели Vowpal Wabbit в конструкторе Машинного обучения Azure для создания модели машинного обучения с помощью Vowpal Wabbit.
Чтобы использовать Vowpal Wabbit для машинного обучения, отформатируйте введенные данные в соответствии с требованиями Vowpal Wabbit и подготовьте данные в требуемом формате. Этот компонент используется для указания аргументов командной строки Vowpal Wabbit.
При запуске конвейера экземпляр Vowpal Wabbit загружается в среду выполнения эксперимента вместе с указанными данными. По завершении обучения модель сериализуется обратно в рабочую область. Вы можете немедленно использовать эту модель для оценки данных.
Чтобы выполнить последовательное обучение существующей модели на основе новых данных, подключите сохраненную модель к порту ввода предварительно подготовленной модели Vowpal Wabbit в модуле Обучение модели Vowpal Wabbit и добавьте новые данные на другой порт ввода.
Что такое Vowpal Wabbit?
Vowpal Wabbit (VW) — это быстрая платформа параллельного машинного обучения, разработанная для распределенных вычислений компанией Yahoo!. Исследование. Позже она была перенесена в Windows и адаптирована Джоном Лэнгфордом (Microsoft Research) для научных вычислений в параллельных архитектурах.
К возможностям Vowpal Wabbit, важным для машинного обучения, относятся непрерывное обучение (обучение в подключенном режиме), сокращение размерностей и интерактивное обучение. Vowpal Wabbit также является решением для проблем, когда нельзя поместить данные модели в память.
Основными пользователями Vowpal Wabbit являются специалисты по обработке и анализу данных, которые ранее использовали платформу для задач машинного обучения, таких как классификация, регрессия, моделирование разделов или факторизация матриц. Программа-оболочка Azure для Vowpal Wabbit имеет очень похожие характеристики производительности для локальной версии, поэтому вы можете использовать мощные функции и производительность машинного кода Vowpal Wabbit, а также легко опубликовать обученную модель в качестве рабочей службы.
Компонент Хэширование признаков также включает в себя функции Vowpal Wabbit, которые позволяют преобразовать текстовые наборы данных в двоичные признаки с помощью алгоритма хэширования.
Как настроить модель Vowpal Wabbit
В этом разделе описано, как обучить новую модель и добавить новые данные в существующую модель.
В отличие от других, этот компонент конструктора не только задает параметры, но и обучает модель. При наличии существующей модели ее можно добавить как необязательный ввод, чтобы обучать модель последовательно.
- Подготовка входных данных в одном из требуемых форматов
- Обучение новой модели
- Последовательное обучение существующей модели
Подготовка входных данных
Для обучения модели с помощью этого компонента входной набор данных должен состоять из одного текстового столбца в одном из двух поддерживаемых форматов: SVMLight или VW. Это не значит, что Vowpal Wabbit анализирует только текстовые данные, а только то, что функции и значения должны быть подготовлены в требуемом формате текстового файла.
Данные могут считываться из двух видов наборов данных: набора данных файлов или табличного набора данных. Оба этих набора данных должны быть в формате SVMLight или VW. Формат данных Vowpal Wabbit имеет преимущество, что не требуется формат столбца, который экономит пространство при работе с разреженными данными. Дополнительные сведения об этом формате см. на вики-странице Vowpal Wabbit.
Создание и обучение модели Vowpal Wabbit
Добавьте компонент Обучение модели Vowpal Wabbit в эксперимент.
Добавьте обучающий набор данных и подключите его к обучающим данным. Если обучающий набор данных является каталогом, который содержит обучающий файл данных, укажите имя этого файла в поле Имя обучающего файла данных. Если обучающим набором данных является один файл, оставьте поле Имя обучающего файла данных пустым.
В текстовое поле Аргументы VW введите аргументы командной строки для исполняемого файла Vowpal Wabbit.
Например, можно добавить
–l
, чтобы указать частоту обучения, или-b
, чтобы указать число битов хэширования.Дополнительные сведения см. в разделе Параметры Vowpal Wabbit.
Имя обучающего файла — введите имя файла, содержащего входные данные. Этот аргумент используется, только если обучающий набор данных является каталогом.
Укажите тип файла — укажите, какой формат используют ваши обучающие данные. Vowpal Wabbit поддерживает следующие два формата входных файлов:
- VW — это внутренний формат, используемый Vowpal Wabbit. Дополнительные сведения см. на вики-странице Vowpal Wabbit.
- SVMLight — это формат, используемый некоторыми другими средствами машинного обучения.
Выходной файл доступной для чтения модели — выберите этот параметр, если нужно, чтобы компонент сохранял доступную для чтения модель в записях о задании. Этот аргумент соответствует параметру
--readable_model
в командной строке VW.Выходной инвертированный хэш-файл — выберите этот параметр, если требуется, чтобы компонент сохранял инвертированную хэш-функцию в один файл в записях о задании. Этот аргумент соответствует параметру
--invert_hash
в командной строке VW.Отправьте конвейер.
Повторное обучение существующей модели Wabbit Vowpal
Vowpal Wabbit поддерживает последовательное обучение путем добавления новых данных в существующую модель. Есть два способа получить существующую модель для повторного обучения:
используйте выходные данные другого компонента Обучение модели Vowpal Wabbit в том же конвейере;
выберите сохраненную модель в категории Наборы данных в области навигации конструктора слева и перетащите ее в конвейер.
Добавьте компонент Обучение модели Vowpal Wabbit в конвейер.
Соедините ранее обученную модель с портом ввода Предварительно обученная модель Vowpal Wabbit в компоненте.
Соедините новые обучающие данные с портом ввода Обучающие данные в компоненте.
В области параметров модуля Обучение модели Vowpal Wabbit укажите формат новых обучающих данных, а также имя обучающего файла данных, если входной набор данных является каталогом.
Выберите параметры Выходной файл доступной для чтения модели и Выходной инвертированный хэш-файл, если в записях о задании необходимо сохранить соответствующие файлы.
Отправьте конвейер.
Выберите компонент и выберите Регистрация набора данных на вкладке Выходные данные и журналы в области справа, чтобы сохранить обновленную модель в рабочей области Машинного обучения Azure. Если не указать новое имя, обновленная модель перезапишет существующую сохраненную модель.
Результаты
- Чтобы создать оценки на основе модели, используйте модуль Оценка модели Vowpal Wabbit.
Примечание.
Если необходимо развернуть обученную модель в конструкторе, в конвейере вывода подключите ко входу компонента Выходные данные веб-службы модуль Оценка модели Vowpal Wabbit вместо Оценка модели.
Технические примечания
В этом разделе содержатся сведения о реализации, советы и ответы на часто задаваемые вопросы.
Преимущества Vowpal Wabbit
Vowpal Wabbit обеспечивает чрезвычайно быстрое обучение над нелинейными функциями, такими как n-граммы.
Vowpal Wabbit использует методы онлайн-обучения , такие как стохастический градиентный градиентный градиент (ГРАДиентный градиент) для соответствия модели одной записи за раз. Таким образом он выполняет итерацию очень быстро по необработанным данным и может разрабатывать хороший прогнозировщик быстрее, чем большинство других моделей. Этот подход также позволяет избежать необходимости считывать все обучающие данные в память.
Vowpal Wabbit преобразует все данные в хэши, а не только текстовые данные, но и другие категориальные переменные. Использование хэшей делает поиск весовых коэффициентов регрессии более эффективным, что очень важно для вероятностного градиентного спуска.
Поддерживаемые и неподдерживаемые параметры
В этом разделе описана поддержка параметров командной строки Vowpal Wabbit в конструкторе Машинного обучения Azure.
Как правило, поддерживаются все аргументы, кроме ограниченного набора. Полный список аргументов см. на вики-странице Vowpal Wabbit.
Не поддерживаются следующие параметры:
Параметры ввода-вывода, указанные в https://github.com/JohnLangford/vowpal_wabbit/wiki/Command-line-arguments
Эти свойства автоматически настраивает компонент.
Кроме того, запрещены любые параметры, которые создают несколько выводов или принимают несколько вводов. Это операторы
--cbt
,--lda
, а также--wap
.Поддерживаются только контролируемые алгоритмы обучения. Поэтому не поддерживаются параметры
–active
,--rank
,--search
и т. д.
Ограничения
Служба предназначена для опытных пользователей Vowpal Wabbit. Поэтому входные данные нужно заранее подготовить в собственном текстовом формате Vowpal Wabbit, а не в формате набора данных, который используется другими компонентами.
Следующие шаги
Ознакомьтесь с набором доступных компонентов для машинного обучения Azure.