Transformers documentation

Compartilhamento

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

Compartilhamento

O Hub do Hugging Face é uma plataforma para compartilhar, descobrir e consumir modelos de todos os tipos e tamanhos. Recomendamos fortemente que você compartilhe seu modelo no Hub para impulsionar o aprendizado de máquina de código aberto para todos!

Este guia mostrará como compartilhar um modelo no Hub a partir do Transformers.

Configuração

Para compartilhar um modelo no Hub, você precisa de uma conta do Hugging Face. Crie um User Access Token (armazenado no cache por padrão) e faça login na sua conta pela linha de comando ou pelo notebook.

huggingface-CLI
notebook
hf auth login

Recursos do repositório

Cada repositório de modelos oferece controle de versões, histórico de commits e visualização de diffs.

O versionamento é baseado em Git e Git Large File Storage (LFS) e permite revisões, uma forma de especificar uma versão de modelo com um hash de commit, tag ou branch.

Por exemplo, use o parâmetro revision em from_pretrained() para carregar uma versão específica de um modelo a partir de um hash de commit.

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

Carregar de um branch ou tag fixa todos os arquivos naquela chamada em um único commit e, em seguida, busca todos os arquivos desse commit.

Esse pin é válido apenas para a chamada. Para reprodutibilidade entre execuções, passe um hash de commit explícito ou uma tag que você trate como fixa. Não dependa de main ou de outro ramo móvel permanecer fixo entre execuções.

Os repositórios de modelos também suportam gating para controlar quem pode acessar um modelo. O gating é comum para permitir que um grupo seleto de usuários visualize um modelo de pesquisa antes de ele ser tornado público.

Um repositório de modelos também inclui um widget de inferência para que os usuários interajam diretamente com um modelo no Hub.

Consulte a documentação de Modelos do Hub para obter mais informações.

Enviando um modelo

Existem várias formas de enviar um modelo para o Hub, dependendo da sua preferência de fluxo de trabalho. Você pode enviar um modelo com o Trainer, chamar push_to_hub() diretamente em um modelo ou usar a interface web do Hub.

Trainer

Trainer pode enviar um modelo diretamente para o Hub após o treinamento. Defina push_to_hub=True em TrainingArguments e passe-o para Trainer. Quando o treinamento for concluído, chame push_to_hub() para fazer o upload do modelo.

push_to_hub() adiciona automaticamente informações úteis, como hiperparâmetros de treinamento e resultados, ao cartão do modelo.

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()

Para enviar o modelo para um repositório privado, defina hub_private_repo=True em TrainingArguments. Se o repositório ainda não tiver sido criado (por exemplo, quando push_to_hub=False em TrainingArguments), você também pode passar private=True para push_to_hub() em vez disso. O argumento private só tem efeito quando o repositório é criado, portanto, ele não altera a visibilidade de um repositório existente.

trainer.push_to_hub(private=True)

PushToHubMixin

O PushToHubMixin fornece a funcionalidade para enviar um modelo ou tokenizer para o Hub.

Chame push_to_hub() diretamente em um modelo para enviá-lo ao Hub. Ele cria um repositório no seu namespace com o nome do modelo especificado em push_to_hub().

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

Outros objetos, como um tokenizer, também são enviados para o Hub da mesma forma.

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

Seu perfil no Hugging Face deve exibir o repositório de modelo recém-criado. Acesse a aba Files para ver todos os arquivos enviados.

Consulte o guia Upload de arquivos para o Hub para obter mais informações sobre como enviar arquivos para o Hub.

Interface web do Hub

A interface web do Hub é uma abordagem sem código para o upload de um modelo.

  1. Crie um novo repositório selecionando Novo Modelo.

Adicione algumas informações sobre o seu modelo:

  • Selecione o proprietário do repositório. Pode ser você mesmo ou qualquer uma das organizações às quais você pertence.
  • Escolha um nome para o seu modelo, que também será o nome do repositório.
  • Escolha se o seu modelo é público ou privado.
  • Defina o uso da licença.
  1. Clique em Create model para criar o repositório do modelo.

  2. Selecione a aba Files e clique no botão Add file para arrastar e soltar um arquivo no seu repositório. Adicione uma mensagem de commit e clique em Commit changes to main para commitar o arquivo.

Cartão do modelo

Cards de modelo informam os usuários sobre o desempenho, as limitações, os possíveis vieses e as considerações éticas de um modelo. É altamente recomendável adicionar um card de modelo ao seu repositório!

Um model card é um arquivo README.md no seu repositório. Adicione este arquivo da seguinte forma:

  • criando e enviando manualmente um arquivo README.md
  • clicando no botão Editar cartão do modelo no repositório

Dê uma olhada no model card do Llama 3.1 para ver um exemplo do que incluir em um model card.

Saiba mais sobre outros metadados de cartões de modelo (emissões de carbono, licença, link para o paper, etc.) disponíveis no guia Model Cards.

Update on GitHub