- PVSM.RU - https://www.pvsm.ru -
Всем привет! В первой статье [1] из нашего цикла мы узнали, что такое DeepPavlov, какие модели библиотеки готовы к использованию без предварительного обучения и как запустить REST серверы с ними. Перед тем, как приступить к обучению моделей, мы расскажем о различных возможностях деплоймента моделей DeepPavlov и некоторых особенностях настройки библиотеки.
Договоримся, что все скрипты запуска библиотеки выполняются в environment Python с установленной библиотекой DeepPavlov (про установку см. первую [1] статью, про virtualenv можно прочитать здесь [2]). Примеры из этой статьи не требуют знания синтаксиса Python.
На данный момент DeepPavlov поддерживает 4 способа взаимодействия с NLP моделями (как предобученными, так и созданными пользователями):
python -m deeppavlov interact <config_path>
Параметр <config_path> (обязательный во всех четырёх режимах) в качестве значения может принимать либо полный путь к файлу конфига модели, либо имя файла конфига без расширения. В последнем случае, конфиг модели должен быть зарегистрирован в библиотеке.
Конфиги всех поставляемых с DeepPavlov моделей зарегистрированы в библиотеке. Перечень поставляемых моделей можно найти в разделе MODELS документации [6] DeepPavlov, их конфиги можно найти тут [7].
В любом из вышеперечисленных режимов инициализируются NLP модели, в основе которых лежат нейронные сети. Это делает их достаточно требовательными к вычислительным ресурсам. Повысить производительность работы моделей можно за счёт использования GPU. Для этого вам понадобится графическая карта nVidia с достаточным объёмом видеопамяти (зависит от запускаемой модели) и поддерживаемая версия фреймворка CUDA [8]. Всю необходимую информацию по запуску моделей DeepPavlov на GPU вы сможете найти здесь [9].
Все настройки библиотеки содержатся в трёх файлах:
По умолчанию файлы настроек находятся в <deep_pavlov_root>/utils/settings, где <deep_pavlov_root> — это директория установки DeepPavlov (обычно это lib/python<X.X>/site-packages/deeppavlov в virtual environment). С помощью команды
python -m deeppavlov.settings
вы можете узнать точный путь к директории с файлами настроек. Также вы можете задать путь к удобной вам директории, указав его в переменной окружения DP_SETTINGS_PATH. После первого запуска вышеуказанной команды (сервера с любой обученной моделью DeepPavlov) файлы из директории по умолчанию будут скопированы в директорию из DP_SETTINGS_PATH. Команда
python -m deeppavlov.settings -d
сбрасывает настройки путём копирования файлов настройки из директории по умолчанию поверх файлов в DP_SETTINGS_PATH.
Из настроек DeepPavlov следует обратить внимание на:
Структуру конфигов моделей мы подробно разберем в следующих статьях, сейчас лишь отметим, что имена аргументов в REST API можно переопределить следующим образом:
model_args_names: [“arg_1_name”, ..., “arg_n_name”]
Последовательность имён аргументов соответствует последовательности, в которой аргументы определены в конфиге модели, пустая строка в качестве значения параметра model_args_names соответствует именам по умолчанию.
Любую предобученную модель DeepPavlov можно запустить в контейнере Docker в режиме REST сервиса. Подробные инструкции находятся в наших репозиториях на DockerHub: для CPU — здесь [11], для GPU — здесь [12]. API моделей в контейнерах полностью соответствуют описанию из предыдущей статьи.
Чтобы упростить работу с предобученными NLP моделями из DeepPavlov, мы начали предоставлять их в режиме SaaS. Для использования моделей необходимо зарегистрироваться в нашем сервисе [13] и получить токен в разделе Tokens личного кабинета. Документация по API находится в разделе Info. Под одним токеном можно отправить до 1000 запросов к модели.
На текущий момент сервис запущен в Альфа версии и его использование предоставляется бесплатно. Далее набор и формат предоставления моделей будет расширяться в соответствии с запросами пользователей. Форму для запросов можно найти внизу страницы Demo [14].
Сейчас в DeepPavlov Cloud доступны следующие модели:
В этой статье мы познакомились с особенностями конфигурирования и деплоя моделей DeepPavlov, узнали о Docker образах DP и возможности свободного доступа к моделям DP как к SaaS.
В следующей статье мы обучим простую модель DeepPavlov на своём датасете. И не забывайте, что у DeepPavlov есть форум [15] – задавайте свои вопросы относительно библиотеки и моделей. Спасибо за внимание!
Автор: Moryshka
Источник [16]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/python/337370
Ссылки в тексте:
[1] первой статье: https://habr.com/ru/company/mipt/blog/472890/
[2] здесь: https://virtualenv.pypa.io/en/latest/
[3] Документация: http://docs.deeppavlov.ai/en/master/integrations/rest_api.html
[4] Документация: http://docs.deeppavlov.ai/en/master/integrations/socket_api.html
[5] Документация: http://docs.deeppavlov.ai/en/master/integrations/telegram.html
[6] документации: http://docs.deeppavlov.ai/en/master/index.html
[7] тут: https://github.com/deepmipt/DeepPavlov/tree/master/deeppavlov/configs
[8] CUDA: https://developer.nvidia.com/cuda-toolkit
[9] здесь: http://docs.deeppavlov.ai/en/master/intro/quick_start.html
[10] здесь: https://docs.python.org/3/library/logging.config.html
[11] здесь: https://hub.docker.com/r/deeppavlov/base-cpu
[12] здесь: https://hub.docker.com/r/deeppavlov/base-gpu
[13] сервисе: http://2276.lnsigo.mipt.ru/
[14] Demo: https://demo.deeppavlov.ai/
[15] форум: https://forum.deeppavlov.ai
[16] Источник: https://habr.com/ru/post/476772/?utm_campaign=476772&utm_source=habrahabr&utm_medium=rss
Нажмите здесь для печати.