Обучение модели Vowpal Wabbit версии 7-4

Важно!

Поддержка Студии машинного обучения (классической) будет прекращена 31 августа 2024 г. До этой даты рекомендуется перейти на Машинное обучение Azure.

Начиная с 1 декабря 2021 года вы не сможете создавать новые ресурсы Студии машинного обучения (классической). Существующие ресурсы Студии машинного обучения (классическая версия) можно будет использовать до 31 августа 2024 г.

Поддержка документации по ML Studio (классической) прекращается, а сама документация может не обновляться в будущем.

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

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

Примечание

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

Подобные модули перетаскивания доступны в конструкторе машинного обучения Azure.

Обзор модуля

в этой статье описывается, как использовать модуль train Vowpal Wabbit версии 7-4 в Машинное обучение Studio (классическая модель) для создания модели машинного обучения с помощью экземпляра Vowpal Wabbit (версия 7-4).

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

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

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

Примечание

в Машинное обучение Studio (классическая модель) размещается несколько версий Vowpal Wabbit framework. Этот модуль использует версию 7-4 Vowpal Wabbit. При создании модели с помощью этого модуля необходимо использовать соответствующий модуль оценки: Оценка Vowpal Wabbit 7-4.

Для последней версии используйте модель Train Vowpal Wabbit версии 8вместе со своим модулем оценки ( Оценка Vowpal Wabbit 8).

Что такое 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 версии 7-4 в свой эксперимент.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  11. После создания модели щелкните правой кнопкой мыши выходные данные Train Vowpal Wabbit версии 7-4 и выберите команду Сохранить как обученную модель, чтобы впоследствии можно было повторно использовать и переучить модель.

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

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

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

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

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

  2. Подключение ранее обученную модель для входного порта train Vowpal Wabbit версии 7-4.

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

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

    Примечание

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

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

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

Примеры

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

  • Пример Wabbit Vowpal

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

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

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

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

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

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

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

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

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

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

нельзя использовать следующие аргументы командной строки в Машинное обучение Studio (классическая модель).

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

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

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

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

Все аргументы, отличные от описанных выше, являются разрешенными.

Полный список аргументов см. на вики-странице Vowpal Wabbit.

Ограничения

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

вместо использования данных в рабочей области azure ML обучающие данные напрямую передаются из azure в целях максимальной производительности и минимальных затрат на синтаксический анализ. По этой причине существует только ограниченное взаимодействие между модулями VW и другими модулями ML Azure.

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

Имя Диапазон Тип По умолчанию Описание
Имя учетной записи хранения 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) any Строка Если значение указано, выводит файл, содержащий инвертированную хэш-функцию, в контейнер Azure.

Этот аргумент является необязательным.
Укажите тип файла VW

SVMLight
DataType VW Укажите, использует ли тип файла формат SVMLight или формат Vowpal Wabbit.

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

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

Исключения

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

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

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

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

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