Transformers documentation

Обмен

You are viewing main version, which requires installation from source. If you'd like regular pip install, checkout the latest stable version (v5.22.2).
Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Обмен

Hub Hugging Face — это платформа для обмена, поиска и использования моделей самых разных типов и размеров. Мы настоятельно рекомендуем делиться своими моделями на Hub, чтобы продвигать открытое машинное обучение для всех!

В этом руководстве показано, как опубликовать модель на Hugging Face Hub с помощью Transformers.

Настройка

Чтобы опубликовать модель на Hub, вам нужен аккаунт Hugging Face account. Создайте User Access Token (по умолчанию он хранится в cache) и войдите в свой аккаунт из командной строки или ноутбука.

huggingface-CLI
notebook
hf auth login

Возможности репозитория

Каждый репозиторий моделей поддерживает версионирование, историю коммитов и визуализацию различий.

Версионирование основано на Git и Git Large File Storage (LFS) и позволяет использовать ревизии — способ указать версию модели с помощью хэша коммита, тега или ветки.

Например, используйте параметр revision в from_pretrained(), чтобы загрузить конкретную версию модели по хэшу коммита.

model = AutoModel.from_pretrained(
    "julien-c/EsperBERTo-small", revision="4c77982"
)

Загрузка из ветки или тега фиксирует каждый файл в этом вызове на одном коммите, после чего загружает все файлы из этого коммита.

Эта фиксация действует только на время вызова. Для воспроизводимости между запусками передавайте явный хеш коммита или тег, который вы рассматриваете как неизменный. Не полагайтесь на то, что main или другая изменяющаяся ветвь останутся фиксированными между запусками.

Репозитории моделей также поддерживают ограничение доступа для управления тем, кто может получить доступ к модели. Ограничение доступа часто используется, чтобы позволить ограниченной группе пользователей протестировать исследовательскую модель до её публичного выпуска.

Репозиторий модели также включает виджет для инференса, позволяющий пользователям напрямую взаимодействовать с моделью на Hub.

Подробнее см. в документации Models на Hub.

Загрузка модели

There are several ways to upload a model to the Hub depending on your workflow preference. You can push a model with Trainer, call push_to_hub() directly on a model, or use the Hub web interface.

Trainer

Trainer может напрямую отправить модель на Hub после обучения. Установите push_to_hub=True в TrainingArguments и передайте их в Trainer. После завершения обучения вызовите push_to_hub(), чтобы загрузить модель.

push_to_hub() автоматически добавляет полезную информацию, такую как гиперпараметры обучения и результаты, в карточку модели.

from transformers import TrainingArguments, Trainer

training_args = TrainingArguments(output_dir="my-awesome-model", push_to_hub=True)
trainer = Trainer(
    model=model,
    args=training_args,
    train_dataset=small_train_dataset,
    eval_dataset=small_eval_dataset,
    compute_metrics=compute_metrics,
)
trainer.push_to_hub()

Чтобы загрузить модель в приватный репозиторий, установите hub_private_repo=True в TrainingArguments. Если репозиторий ещё не создан (например, когда push_to_hub=False в TrainingArguments), можно также передать private=True в push_to_hub(). Аргумент private действует только при создании репозитория, поэтому он не изменяет видимость уже существующего репозитория.

trainer.push_to_hub(private=True)

PushToHubMixin

Класс PushToHubMixin предоставляет функциональность для загрузки модели или токенизатора на Hub.

Call push_to_hub() directly on a model to upload it to the Hub. It creates a repository under your namespace with the model name specified in push_to_hub().

model.push_to_hub("my-awesome-model")

Другие объекты, такие как токенизатор, также загружаются на Hub аналогичным образом.

tokenizer.push_to_hub("my-awesome-model")

Ваш профиль Hugging Face теперь должен отображать недавно созданный репозиторий модели. Перейдите на вкладку Files, чтобы увидеть все загруженные файлы.

См. руководство Загрузка файлов в Hub для получения дополнительной информации о загрузке файлов в Hub.

Веб-интерфейс Hub

Веб-интерфейс Hub — это подход без написания кода для загрузки модели.

  1. Создайте новый репозиторий, выбрав New Model.

Добавьте информацию о вашей модели:

  • Выберите владельца репозитория. Это может быть вы сами или любая из организаций, в которых вы состоите.
  • Выберите имя для вашей модели, которое также станет именем репозитория.
  • Выберите, будет ли ваша модель публичной или частной.
  • Установите условия использования лицензии.
  1. Нажмите Создать модель, чтобы создать репозиторий модели.

  2. Выберите вкладку Files и нажмите кнопку Add file, чтобы перетащить файл в репозиторий. Введите сообщение коммита и нажмите Commit changes to main, чтобы зафиксировать изменения.

Карточка модели

Карточки моделей информируют пользователей о производительности модели, её ограничениях, потенциальных предвзятостях и этических аспектах. Настоятельно рекомендуется добавить карточку модели в ваш репозиторий!

Карточка модели — это файл README.md в вашем репозитории. Добавьте этот файл, выполнив следующие действия:

  • ручное создание и загрузка файла README.md
  • нажатие на кнопку Edit model card в репозитории

Ознакомьтесь с карточкой модели Llama 3.1, чтобы увидеть пример того, что следует включать в карточку модели.

Подробнее о других метаданных карточки модели (выбросы углерода, лицензия, ссылка на статью и т. д.) можно узнать в руководстве Model Cards.

Update on GitHub