Hub documentation

Использование AllenNLP в Hugging Face

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Использование AllenNLP в Hugging Face

allennlp — это библиотека для обработки естественного языка, предназначенная для разработки передовых моделей для различных лингвистических задач. Она предоставляет высокоуровневые абстракции и API для распространённых компонентов и моделей в современной обработке естественного языка. Кроме того, библиотека включает расширяемую среду, которая упрощает запуск и управление экспериментами в области обработки естественного языка.

Исследование allennlp в Hub

Модели allennlp можно найти на Hub, отфильтровав их на странице моделей слева.

Все модели на Hub поставляются с полезными функциями

  1. Вкладка с метриками обучения и автоматически размещёнными трассами TensorBoard.
  2. Метки метаданных, которые помогают в поиске.
  3. Интерактивный виджет, с помощью которого можно взаимодействовать с моделью непосредственно в браузере.
  4. Виджет Inference Providers, позволяющий отправлять запросы на инференс.

Использование существующих моделей

Вы можете использовать класс Predictor для загрузки существующих моделей с Hub. Для этого используйте метод from_path и префикс "hf://" с идентификатором репозитория. Ниже приведён пример «от и до».

import allennlp_models
from allennlp.predictors.predictor import Predictor

predictor = Predictor.from_path("hf://allenai/bidaf-elmo")
predictor_input = {
    "passage": "My name is Wolfgang and I live in Berlin", 
    "question": "Where do I live?"
}
predictions = predictor.predict_json(predictor_input)

Чтобы получить фрагмент кода, подобный этому, вы можете нажать Use in AllenNLP в правом верхнем углу,

Обмен моделями

Первый шаг — сохранить модель локально. Например, можно использовать метод archive_model, чтобы сохранить модель в файл model.tar.gz. Затем можно загрузить упакованную модель на Hub. При обучении модели с помощью allennlp она автоматически сериализуется, поэтому этот вариант можно считать предпочтительным.

Использование CLI AllenNLP

Чтобы выполнить публикацию с помощью CLI, вы можете использовать команду allennlp push_to_hf, как показано ниже.

allennlp push_to_hf --repo_name test_allennlp --archive_path model 
АргументТипОписание
--repo_name, -nstr / PathНазвание репозитория на Hub.
--organization, -ostrНеобязательное имя организации, в которую следует загрузить конвейер.
--serialization-dir, -sstr / PathПуть к каталогу с сериализованной моделью.
--archive-path, -astr / PathЕсли вместо пути к сериализации вы используете упакованную модель (например, model/model.tar.gz), вы можете использовать этот флаг.
--local-repo-path, -lstr / PathЛокальный путь к репозиторию модели (будет создан, если не существует). По умолчанию — hub в текущей рабочей директории.
--commit-message, -cstrСообщение коммита, используемое для обновления. По умолчанию "update repository".

Из Python-скрипта

Функция push_to_hf имеет те же параметры, что и bash-скрипт.

from allennlp.common.push_to_hf import push_to_hf

serialization_dir = "path/to/serialization/directory"
push_to_hf(
    repo_name="my_repo_name",
    serialization_dir=serialization_dir,
    local_repo_path=self.local_repo_path
)

Всего за минуту вы сможете разместить свою модель в Hub, протестировать её прямо в браузере и поделиться ею с остальным сообществом. Все необходимые метаданные будут загружены автоматически!

Дополнительные ресурсы

Update on GitHub