Модель обучения Vowpal Wabbit версии 8

Обучение модели с помощью версии 8 системы машинного обучения Vowpal Wabbit

Категория: анализ текста

Примечание

Применимо к: машинное обучение Studio (классическая модель)

Это содержимое относится только к Studio (классическая модель). Аналогичные модули перетаскивания были добавлены в конструктор Машинное обучение Azure. Дополнительные сведения см. в статье сравнение двух версий.

Обзор модуля

В этой статье описывается, как использовать модуль Train Vowpal Wabbit версии 8 в машинное обучение Azure Studio (классическая модель) для создания модели машинного обучения с помощью Vowpal Wabbit (версия 8).

Чтобы использовать Vowpal Wabbit для машинного обучения, отформатируйте входные данные в соответствии с требованиями Vowpal Wabbit и сохраните данные в большом двоичном объекте Azure. Этот модуль используется для указания аргументов командной строки Vowpal Wabbit.

При запуске эксперимента экземпляр Vowpal Wabbit загружается во время выполнения эксперимента вместе с указанными данными. По завершении обучения модель сериализуется обратно в рабочую область. Вы можете немедленно использовать эту модель для оценки данных. Обученная модель также сохраняется в службе хранилища Azure, поэтому ее можно использовать позже без повторной обработки обучающих данных.

Чтобы выполнить постепенное обучение существующей модели на основе новых данных, подключите сохраненную модель к входным данным предварительно обученной модели и добавьте новые данные к другим входным данным.

Примечание

В Машинное обучение Azure Studio (классическая модель) размещается несколько версий Vowpal Wabbit Framework. Этот модуль использует последнюю версию платформы Vowpal Wabbit Framework версии 8. Чтобы оценить новые входные данные, необходимо использовать модель Score Vowpal Wabbit версии 8.

Vowpal Wabbit версии 7-4 или 7-6: обучение Vowpal Wabbit 7-4 Model и Score Vowpal Wabbit 7-4 Model.

Vowpal Wabbit версии 7-10: обучение Vowpal Wabbit 7-10 Model и Score Vowpal Wabbit 7-10 Model.

Что такое Vowpal Wabbit?

Vowpal Wabbit (VW) — это быстрая, параллельная инфраструктура машинного обучения, разработанная для распределенных вычислений с помощью Yahoo!. Research. Research и позже перенесенная в Windows и адаптированная Джоном Лэнгфордом (John Langford) из Microsoft Research для научных вычислений в параллельных архитектурах.

Функции Vowpal Wabbit, которые важны для машинного обучения, включают непрерывное обучение (онлайн-обучение), сокращение размерности и интерактивное обучение. Vowpal Wabbit также позволяет решать задачи, в которых данные модели не могут разместиться в памяти.

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

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

Настройка модели Vowpal Wabbit версии 8

В этом разделе описывается обучение новой модели и добавление новых данных в существующую модель.

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

Для использования этого модуля требуется проверка подлинности в учетной записи хранения Azure.

Подготовка входных данных

Для обучения модели с помощью этого модуля входной набор данных должен состоять из одного текстового столбца в одном из двух поддерживаемых форматов: либсвм или VW. Это не значит, что Vowpal Wabbit анализирует только текстовые данные, и только те функции и значения должны быть подготовлены в требуемом формате текстового файла.

Данные должны считываться из службы хранилища Azure. Нельзя использовать Export Data для непосредственного сохранения входного файла в Azure для использования с Vowpal Wabbit, так как для этого формата требуется дополнительное изменение. Необходимо убедиться, что данные имеют правильный формат, а затем передать данные в хранилище BLOB-объектов Azure.

Однако в качестве ярлыка можно использовать модуль Convert to SVMLight для создания файла форматирования SVMLight. Затем можно отправить файл формата SVMLight в хранилище BLOB-объектов Azure и использовать его в качестве входных данных. Кроме того, можно немного изменить файл, чтобы он соответствовал требованиям к входным файлам Vowpal Wabbit.

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

Создание и обучение модели Vowpal Wabbit

  1. Добавьте модуль Train Vowpal Wabbit версии 8 в свой эксперимент.

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

    • В поле имя учетной записи хранения Azure введите имя учетной записи хранения Azure.

    • Для ключа службы хранилища Azure скопируйте и вставьте ключ, который предоставляется для доступа к учетной записи хранения.

    Если у вас нет ключа, см. раздел Повторное создание ключей доступа к хранилищу .

  3. В поле имя контейнера Azure введите имя одного контейнера в указанной учетной записи хранения Azure, где хранятся обучающие данные модели. Не вводите имя учетной записи или префикс протокола.

    Например, если полный путь к контейнеру и его имя имеют значение https://myaccount.blob.core.windows.net/vwmodels , следует ввести просто vwmodels . Дополнительные сведения об именах контейнеров см. в разделе именование и создание ссылок на контейнеры, большие двоичные объекты и метаданные.

  4. В текстовом поле аргументы VW введите аргументы командной строки для исполняемого файла Vowpal Wabbit.

    Например, можно добавить, –l чтобы указать частоту обучения или -b указать число битов хэширования.

    Дополнительные сведения см. в разделе Vowpal Wabbit Parameters .

  5. Имя входного файла VW: введите имя файла, содержащего входные данные. Файл должен быть существующим файлом в хранилище BLOB-объектов Azure, расположенном в указанной ранее учетной записи хранения и контейнере. Файл должен быть подготовлен с помощью одного из поддерживаемых форматов.

  6. Имя файла модели, доступной для чтения (--readable_model): введите имя файла, в котором должна быть сохранена обученная модель. Файл должен быть сохранен в той же учетной записи хранения и контейнере, что и входной файл.

    Этот аргумент соответствует --readable_model параметру в командной строке VW.

  7. Имя выходного файла с инвертированным хэшем (--invert_hash): введите имя файла, в котором должна быть сохранена обратная хэшированная функция. Файл должен быть сохранен в той же учетной записи хранения и контейнере, что и входной файл.

    Этот аргумент соответствует --invert_hash параметру в командной строке VW.

  8. Укажите тип файла: укажите, какой формат использует обучающие данные. Vowpal Wabbit поддерживает следующие два формата входных файлов:

    • VW представляет внутренний формат, используемый Vowpal Wabbit. Дополнительные сведения см. на вики-странице Vowpal Wabbit .

    • SVMLight — это формат, используемый некоторыми другими средствами машинного обучения.

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

    Если этот параметр не выбран, модуль всегда считывает данные из хранилища.

  10. Запустите эксперимент.

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

Повторное обучение существующей модели Wabbit Vowpal

Vowpal Wabbit поддерживает пошаговое обучение, добавляя новые данные в существующую модель. Существует два способа получить существующую модель для повторного обучения.

  • Используйте выходные данные другого модуля обучения Vowpal Wabbit версии 8 в одном эксперименте.

  • Выберите сохраненную модель в группе обученные модели в левой области навигации Studio (классическая модель) и перетащите ее в свой эксперимент.

  1. Добавьте модуль Train Vowpal Wabbit версии 8 в свой эксперимент.

  2. Подключите ранее обученную модель к входному порту Train Vowpal Wabbit версии 8.

  3. На панели Свойства в окне обучение Vowpal Wabbit версии 8 укажите расположение и формат новых обучающих данных.

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

    Примечание

    Если в указанном расположении имеется существующая модель Vowpal Wabbit или хэш-файл, файлы автоматически перезаписываются новой обученной моделью. Чтобы сохранить промежуточные модели при повторном обучении, необходимо изменить место хранения или создать локальную копию файлов модели.

  5. Запустите эксперимент.

  6. Щелкните модуль правой кнопкой мыши и выберите команду Сохранить как обученную модель , чтобы сохранить обновленную модель в машинное обучение Azure рабочей области. Если не указать новое имя, то обновленная модель перезапишет существующую сохраненную модель.

Примеры

Примеры того, как Vowpal Wabbit можно использовать в машинном обучении, см. в Коллекция решений ии Azure:

  • Пример Wabbit Vowpal

    В этом эксперименте демонстрируется препратион данных, обучение и эксплуатация модели VW.

См. также следующие ресурсы:

Технические примечания

В этом разделе содержатся сведения о реализации, советы и ответы на часто задаваемые вопросы.

Преимущества Vowpal Wabbit

Vowpal Wabbit обеспечивает очень быстрое обучение по сравнению с нелинейными функциями, такими как n-граммы.

Vowpal Wabbit использует методы онлайн-обучения, такие как вероятностный градиентный спуск (SGD) для коррекции модели по одной записи за раз. Таким образом платформа очень быстро проходит по необработанным данным и может предоставлять более хорошие прогнозы, чем другие модели. Такой подход также позволяет избежать считывания данных обучения в память.

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

Во время обучения модуль обращается к оболочке Vowpal Wabbit, разработанной для Azure. Обучающие данные загружаются в блоки из Azure, используя высокую пропускную способность между рабочими ролями, в которых выполняются вычисления и магазин, и передается в VW. Итоговая модель обычно очень компактна из-за внутреннего сжатия, выполненного VW. Модель копируется обратно в рабочую область эксперимента, где ее можно использовать так же, как и другие модели в Машинное обучение Azure.

Поддерживаемые и неподдерживаемые параметры

В этом разделе описывается поддержка параметров командной строки Vowpal Wabbit в Машинное обучение Azure Studio (классическая модель).

Как правило, поддерживаются все аргументы, кроме ограниченного набора. Чтобы получить полный список аргументов, используйте вики-страницу Vowpal Wabbit.

Следующие параметры не поддерживается:

  • Параметры ввода-вывода, указанные в https://github.com/JohnLangford/vowpal_wabbit/wiki/Command-line-arguments

    Эти свойства уже настроены автоматически модулем.

  • Кроме того, любой параметр, который создает несколько выходов или принимает несколько входов, запрещен. К ним относятся --cbt , --lda и --wap .

  • Поддерживаются только защищенные алгоритмы обучения. Поэтому эти параметры не поддерживаются: –active , --rank и --search т. д. Ограничения # # #

Ограничения

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

Вместо того чтобы использовать данные в рабочей области машинного обучения Azure, обучающие данные напрямую передаются из Azure в целях максимальной производительности и минимальных затрат на синтаксический анализ. По этой причине в МАШИНном обучении Azure существует только ограниченное взаимодействие между модулями VW и другими модулями.

Параметры модуля

Имя Диапазон Type Необязательно По умолчанию Описание
Укажите тип файла VW

SVMLight
DataType Обязательно VW Укажите, является ли тип файла SVMLight или Vowpal Wabbit.
Имя учетной записи хранения Azure any Строка Обязательно Введите имя учетной записи хранилища Azure
Ключ к хранилищу Azure any SecureString Обязательно Укажите ключ хранилища Azure
Имя контейнера Azure any Строка Обязательно Введите имя контейнера Azure
Аргументы VW any Строка Необязательно Задайте аргументы Vowpal Wabbit. Не включайте-f.
Имя входного файла VW any Строка Обязательно Укажите имя входного файла в формате Vowpal Wabbit
Имя файла модели вывода для чтения (--readable_model) any Строка Необязательно Если значение указано, выводит модель для чтения в контейнер Azure.
Имя файла выходного инвертированного хэша (--invert_hash) Строка Строка Необязательно Если значение указано, выводит файл, содержащий инвертированную хэш-функцию, в контейнер Azure.

Выходные данные

Имя Type Описание
Обученная модель Интерфейс ILearner Обученный ученик

Исключения

Исключение Описание
Ошибка 0001 Исключение возникает, если не удалось найти один или несколько столбцов указанного набора данных.
Ошибка 0003 Исключение возникает, если один или несколько входных аргументов имеют значение NULL или пусты.
Ошибка 0004 Исключение возникает, если параметр меньше или равен определенному значению.
Ошибка 0017 Исключение возникает, если один или несколько указанных столбцов относятся к типу, который не поддерживается в текущем модуле.

Список ошибок, относящихся к модулям студии (классическая версия), см. в разделе машинное обучение коды ошибок.

Список исключений API см. в разделе Машинное обучение REST API коды ошибок.

См. также раздел

Анализ текста
Хэширование компонентов
Распознавание именованных сущностей
Оценка модели Vowpal Wabbit 7-4
Оценка модели Vowpal Wabbit версии 8.
Обучение модели Vowpal Wabbit 7-4
Список модулей в алфавитном порядке