Hub documentation
Cartões de Modelo
Cartões de Modelo
O que são Model Cards?
Model cards são arquivos que acompanham os modelos e fornecem informações úteis. Por baixo dos panos, model cards são arquivos Markdown simples com metadados adicionais. Model cards são essenciais para descoberta, reprodutibilidade e compartilhamento! Você pode encontrar um model card como o arquivo README.md em qualquer repositório de modelo.
O cartão do modelo deve descrever:
- o modelo
- seus usos pretendidos & potenciais limitações, incluindo vieses e considerações éticas, conforme detalhado em Mitchell, 2018
- os parâmetros de treinamento e as informações experimentais (você pode incorporar ou linkar para uma plataforma de rastreamento de experimentos para referência)
- quais conjuntos de dados foram usados para treinar seu modelo
- os resultados de avaliação do modelo
O modelo de cartão do modelo está disponível aqui.
Como preencher cada seção do model card é descrito em the Annotated Model Card.
Os Model Cards no Hub têm duas partes principais, com informações sobrepostas:
Metadados do cartão do modelo
Um repositório de modelo renderiza seu README.md como um cartão de modelo. O cartão de modelo é um arquivo Markdown, com uma seção YAML no topo que contém metadados sobre o modelo.
Os metadados que você adiciona ao cartão do modelo suportam a descoberta e o uso mais fácil do seu modelo. Por exemplo:
- Permitir que os usuários filtrem modelos em https://huggingface.co/models.
- Exibindo a licença do modelo.
- Adicionar conjuntos de dados aos metadados incluirá uma mensagem com o texto
Datasets used to train:na página do seu modelo e vinculará os conjuntos de dados relevantes, caso estejam disponíveis no Hub.
Os identificadores de conjunto de dados e de idioma são aqueles listados nas páginas Datasets e Languages.
Adicionando metadados ao seu cartão de modelo
Existem algumas maneiras diferentes de adicionar metadados ao seu model card, incluindo:
- Usando a interface de metadados
- Editando diretamente a seção YAML do arquivo
README.md - Por meio da biblioteca Python
huggingface_hub, consulte a documentação para mais detalhes.
Muitas bibliotecas com integração com o Hub adicionam automaticamente metadados ao cartão do modelo quando você faz o upload de um modelo.
Usando a interface de metadados
Você pode adicionar metadados ao seu model card usando a interface de metadados. Para acessar a interface de metadados, vá para a página do modelo e clique no botão Edit model card no canto superior direito do model card. Isso abrirá um editor exibindo o arquivo README.md do model card, bem como uma interface para editar os metadados.

Esta interface permitirá adicionar metadados-chave ao seu model card e muitos dos campos serão preenchidos automaticamente com base nas informações que você fornecer. Usar a interface é a maneira mais fácil de adicionar metadados ao seu model card, mas ela não suporta todos os campos de metadados. Se você quiser adicionar metadados que não são suportados pela interface, pode editar diretamente a seção YAML do arquivo README.md.
Editando a seção YAML do arquivo README.md
Você também pode editar diretamente a seção YAML do arquivo README.md. Se o cartão do modelo ainda não tiver uma seção YAML, você pode adicionar uma inserindo três --- no topo do arquivo, incluindo todos os metadados relevantes e fechando a seção com outro grupo de ---, como no exemplo abaixo:
---
language:
- "List of ISO 639-1 code for your language"
- lang1
- lang2
thumbnail: "url to a thumbnail used in social sharing"
tags:
- tag1
- tag2
license: "any valid license identifier"
datasets:
- dataset1
- dataset2
base_model: "base model Hub identifier"
---Você pode encontrar a especificação detalhada dos metadados do cartão do modelo aqui.
Especificando uma biblioteca
Você pode especificar as bibliotecas suportadas na seção de metadados do cartão do modelo. Encontre mais informações sobre as bibliotecas suportadas aqui. A biblioteca será especificada na seguinte ordem de prioridade:
- Especificar
library_nameno cartão do modelo (recomendado se o seu modelo não for um modelotransformers). Essas informações podem ser adicionadas pela interface de metadados ou diretamente na seção YAML do cartão do modelo:
library_name: flair- Ter uma tag com o nome de uma biblioteca que é suportada
tags:
- flairSe não for especificado, o Hub tentará detectar automaticamente o tipo de biblioteca. No entanto, essa abordagem é desencorajada, e os criadores de repositórios devem usar o library_name explícito sempre que possível.
- Ao verificar a presença de arquivos como
*.nemoou*.mlmodel, o Hub pode determinar se um modelo é do NeMo ou do CoreML. - No passado, se nada fosse detectado e houvesse um arquivo
config.json, assumia-se que a biblioteca eratransformers. Para repositórios de modelos criados após agosto de 2024, isso não é mais o caso, portanto você precisa definirlibrary_name: transformersexplicitamente.
Especificando um modelo base
Se o seu modelo for um fine-tune, um adapter ou uma versão quantizada de um modelo base, você pode especificar o modelo base na seção de metadados do model card. Essas informações também podem ser usadas para indicar se o seu modelo é uma mesclagem de vários modelos existentes. Portanto, o campo base_model pode ser um único ID de modelo ou uma lista de um ou mais base_models (especificados por seus identificadores no Hub).
base_model: HuggingFaceH4/zephyr-7b-betaEsses metadados serão usados para exibir o modelo base na página do modelo. Os usuários também podem usar essas informações para filtrar modelos por modelo base ou encontrar modelos derivados de um modelo base específico:




No caso de mesclagem, você especifica uma lista de dois ou mais base_models:
base_model:
- Endevor/InfinityRP-v1-7B
- l3utterfly/mistral-7b-v0.1-layla-v4O Hub inferirá o tipo de relação do modelo atual em relação ao modelo base ("adapter", "merge", "quantized", "finetune"), mas você também pode defini-lo explicitamente, se necessário: por exemplo, base_model_relation: quantized.
Especificando uma nova versão
Se uma nova versão do seu modelo estiver disponível no Hub, você pode especificá-la em um campo new_version.
Por exemplo, em l3utterfly/mistral-7b-v0.1-layla-v3:
new_version: l3utterfly/mistral-7b-v0.1-layla-v4Esses metadados serão usados para exibir um link para a versão mais recente de um modelo na página do modelo. Se o modelo vinculado em new_version também tiver um campo new_version, a versão mais recente será sempre exibida.

Especificando um conjunto de dados
Você pode especificar os conjuntos de dados usados para treinar seu modelo na seção de metadados do cartão do modelo. Os conjuntos de dados serão exibidos na página do modelo e os usuários poderão filtrar modelos por conjunto de dados. Você deve usar o identificador do conjunto de dados do Hub, que é o mesmo que o nome do repositório do conjunto de dados, como identificador:
datasets:
- stanfordnlp/imdb
- HuggingFaceFW/finewebEspecificando um bucket
Você pode especificar os storage buckets vinculados ao seu modelo na seção de metadados do model card. Os buckets serão exibidos como tags na página do modelo e as páginas dos buckets vinculados mostrarão o modelo em contrapartida. Você deve usar o identificador de bucket do Hub, que é o mesmo que o nome do repositório do bucket:
buckets:
- my-org/my-bucket
- my-org/another-bucketEspecificando uma tarefa ( pipeline_tag )
Você pode especificar o pipeline_tag nos metadados do cartão do modelo. O pipeline_tag indica o tipo de tarefa para a qual o modelo foi projetado. Essa tag será exibida na página do modelo e os usuários podem filtrar modelos no Hub por tarefa. Essa tag também é usada para determinar qual widget usar para o modelo e quais APIs usar por baixo dos panos.
Para modelos do transformers, a tag de pipeline é inferida automaticamente a partir do arquivo config.json do modelo, mas você pode sobrescrevê-la nos metadados do cartão do modelo, se necessário. Editar esse campo na interface de metadados garante que a tag de pipeline seja válida. Outras bibliotecas com integração ao Hub também adicionam automaticamente a tag de pipeline aos metadados do cartão do modelo.
Especificando uma licença
Você pode especificar a licença na seção de metadados do cartão do modelo. A licença será exibida na página do modelo e os usuários poderão filtrar modelos por licença. Ao usar a interface de metadados, você verá uma lista suspensa com as licenças mais comuns.
Se necessário, você também pode especificar uma licença personalizada adicionando other como o valor da licença e especificando o nome e um link para a licença nos metadados.
# Example from https://huggingface.co/coqui/XTTS-v1
---
license: other
license_name: coqui-public-model-license
license_link: https://coqui.ai/cpml
---Se a licença não estiver disponível por meio de uma URL, você pode fazer um link para um arquivo LICENSE armazenado no repositório do modelo.
Resultados da Avaliação
Você pode especificar os resultados de avaliação do seu modelo de forma estruturada nos metadados do cartão do modelo. Os resultados são analisados pelo Hub e exibidos em um widget na página do modelo. Aqui está um exemplo de como fica para o modelo bigcode/starcoder:

A especificação inicial de metadados foi baseada na especificação model-index do Papers with code. Isso nos permitiu indexar diretamente os resultados nos rankings do Papers with code quando apropriado. Também era possível vincular a fonte de onde os resultados de avaliação foram calculados.
NOVO: Temos um novo formato de metadados mais simples para resultados de avaliação. Confira em a página de documentação dedicada.
Aqui está um exemplo parcial de um model-index que descrevia a pontuação de 01-ai/Yi-34B no benchmark ARC. O resultado veio do Open LLM Leaderboard, que é definido como a source:
---
model-index:
- name: Yi-34B
results:
- task:
type: text-generation
dataset:
name: ai2_arc
type: ai2_arc
metrics:
- name: AI2 Reasoning Challenge (25-Shot)
type: AI2 Reasoning Challenge (25-Shot)
value: 64.59
source:
name: Open LLM Leaderboard
url: https://huggingface.co/spaces/open-llm-leaderboard/open_llm_leaderboard
---Para mais detalhes sobre como formatar esses dados, consulte as especificações do Model Card.
Emissões de CO2
O cartão do modelo também é um ótimo lugar para exibir informações sobre o impacto de CO2 do seu modelo. Visite nosso guia sobre rastreamento e relatórios de emissões de CO2 para saber mais.
Vinculando um Artigo
Se o cartão do modelo incluir um link para uma página de Paper (seja no HF ou um resumo/PDF do Arxiv), o Hugging Face Hub extrairá o ID do arXiv e o incluirá nas tags do modelo com o formato arxiv:<PAPER ID>. Clicar na tag permitirá que você:
- Acesse a página do Paper
- Filtre por outros modelos no Hub que citam o mesmo artigo.

Saiba mais sobre as páginas de Paper aqui.
Texto do Model Card
Os detalhes sobre como preencher a parte legível por humanos do cartão do modelo (para que ele possa ser impresso, cortado e colado, etc.) estão disponíveis no Cartão de Modelo Anotado.
Perguntas frequentes
Como as tags de modelo são determinadas?
Cada página de modelo lista todas as tags do modelo no cabeçalho da página, abaixo do nome do modelo. Essas tags são calculadas principalmente a partir dos metadados do cartão do modelo, embora algumas sejam adicionadas automaticamente, conforme descrito em Enabling a Widget.
Posso adicionar tags personalizadas ao meu modelo?
Sim, você pode adicionar tags personalizadas ao seu modelo incluíndo-as no campo tags dos metadados do cartão do modelo. A interface de metadados sugerirá algumas tags populares, mas você pode adicionar qualquer tag que desejar. Por exemplo, você pode indicar que seu modelo é focado em finanças adicionando a tag finance.
Como posso indicar que meu modelo não é adequado para todos os públicos
Você pode adicionar a tag not-for-all-audiences aos metadados do seu model card. Quando essa tag está presente, uma mensagem será exibida na página do modelo indicando que o modelo não é para todos os públicos. Os usuários podem clicar nessa mensagem para visualizar o model card.
Como posso exibir imagens diferentes para o modo escuro e o modo claro?
Você pode exibir diferentes versões de uma imagem otimizadas para cada tema. Isso é particularmente útil para logotipos, diagramas ou capturas de tela que precisam de esquemas de cores diferentes para manter a visibilidade e a estética nos modos claro e escuro. Para usar esse recurso, você precisará fornecer ambas as versões da sua imagem.
Para imagens enviadas por meio do editor de markdown
Ao enviar uma imagem diretamente do editor de markdown (usando arrastar e soltar), acrescente o fragmento de URI #hf-light-mode-only ou #hf-dark-mode-only ao final da URL da imagem para especificar em qual tema ela deve ser exibida:
Image only displays when viewing in light mode

Image only displays when viewing in dark mode
Para imagens já hospedadas
Se você quiser referenciar imagens que já estão hospedadas sem reenviá-las, use as tags HTML <img> com as seguintes classes do Tailwind CSS para especificar em qual tema elas devem ser exibidas:
// Image only displays when viewing in dark mode
<img class="hidden dark:block" src="https://hf.co/logo-dark.png" alt="Logo" />
// Image only displays when viewing in light mode
<img class="dark:hidden" src="https://hf.co/logo-light.png" alt="Logo" />Posso escrever LaTeX no meu cartão de modelo?
Sim! O Hub usa a biblioteca de formatação matemática KaTeX para renderizar fórmulas matemáticas no servidor antes de analisar o Markdown.
Você deve usar os seguintes delimitadores:
$$ ... $$para o modo de exibição\\(...\\)para o modo inline (sem espaço entre as barras e o parêntese).
Em seguida, você poderá escrever:
Update on GitHub