Hub documentation
Использование AllenNLP в Hugging Face
Использование AllenNLP в Hugging Face
allennlp — это библиотека для обработки естественного языка, предназначенная для разработки передовых моделей для различных лингвистических задач. Она предоставляет высокоуровневые абстракции и API для распространённых компонентов и моделей в современной обработке естественного языка. Кроме того, библиотека включает расширяемую среду, которая упрощает запуск и управление экспериментами в области обработки естественного языка.
Исследование allennlp в Hub
Модели allennlp можно найти на Hub, отфильтровав их на странице моделей слева.
Все модели на Hub поставляются с полезными функциями
- Вкладка с метриками обучения и автоматически размещёнными трассами TensorBoard.
- Метки метаданных, которые помогают в поиске.
- Интерактивный виджет, с помощью которого можно взаимодействовать с моделью непосредственно в браузере.
- Виджет 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, -n | str / Path | Название репозитория на Hub. |
--organization, -o | str | Необязательное имя организации, в которую следует загрузить конвейер. |
--serialization-dir, -s | str / Path | Путь к каталогу с сериализованной моделью. |
--archive-path, -a | str / Path | Если вместо пути к сериализации вы используете упакованную модель (например, model/model.tar.gz), вы можете использовать этот флаг. |
--local-repo-path, -l | str / Path | Локальный путь к репозиторию модели (будет создан, если не существует). По умолчанию — hub в текущей рабочей директории. |
--commit-message, -c | str | Сообщение коммита, используемое для обновления. По умолчанию "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, протестировать её прямо в браузере и поделиться ею с остальным сообществом. Все необходимые метаданные будут загружены автоматически!