Buckets:

hf-doc-build/doc / transformers /main /es /model_sharing.md
mishig's picture
|
download
raw
7.59 kB
# Compartir
El [Hub](https://hf.co/models) de Hugging Face es una plataforma para compartir, descubrir y consumir modelos de todos los tipos y tamaños. ¡Recomendamos encarecidamente compartir tu modelo en el Hub para impulsar el aprendizaje automático de código abierto para todos!
Esta guía te mostrará cómo compartir un modelo en el Hub desde Transformers.
## Configuración
Para compartir un modelo en el Hub, necesitas una [cuenta](https://hf.co/join) de Hugging Face. Crea un [User Access Token](https://hf.co/docs/hub/security-tokens#user-access-tokens) (que se guarda en la [cache](./installation#cache-directory) de forma predeterminada) e inicia sesión en tu cuenta desde la línea de comandos o desde un notebook.
```bash
hf auth login
```
```py
from huggingface_hub import notebook_login
notebook_login()
```
## Características del repositorio
Cada repositorio de modelos incluye control de versiones, historial de commits y visualización de diferencias.
El control de versiones se basa en [Git](https://git-scm.com/) y [Git Large File Storage (LFS)](https://git-lfs.github.com/), y permite las revisiones, una forma de especificar una versión de modelo mediante un hash de commit, una etiqueta o una rama.
Por ejemplo, use el parámetro `revision` en [from_pretrained()](/docs/transformers/main/es/main_classes/model#transformers.PreTrainedModel.from_pretrained) para cargar una versión específica del modelo desde un hash de commit.
```py
model = AutoModel.from_pretrained(
"julien-c/EsperBERTo-small", revision="4c77982"
)
```
Cargar desde una rama o etiqueta fija todos los archivos de esa llamada a un commit y, a continuación, recupera todos los archivos desde ese commit.
Ese pin solo dura durante la llamada. Para garantizar la reproducibilidad entre ejecuciones, pase un hash de commit explícito o una etiqueta que trate como fija. No confíe en que `main` u otra rama en movimiento permanezcan fijas entre ejecuciones.
Los repositorios de modelos también admiten [gating](https://hf.co/docs/hub/models-gated) para controlar quién puede acceder a un modelo. El gating es habitual para permitir que un grupo selecto de usuarios previsualice un modelo de investigación antes de que se haga público.
Un repositorio de modelos también incluye un [widget](https://hf.co/docs/hub/models-widgets) de inferencia para que los usuarios interactúen directamente con un modelo en el Hub.
Consulte la documentación de [Modelos](https://hf.co/docs/hub/models) del Hub para obtener más información.
## Subir un modelo
Existen varias formas de subir un modelo al Hub según la preferencia de tu flujo de trabajo. Puedes subir un modelo con [Trainer](/docs/transformers/main/es/main_classes/trainer#transformers.Trainer), llamar a [push_to_hub()](/docs/transformers/main/es/main_classes/model#transformers.utils.PushToHubMixin.push_to_hub) directamente sobre un modelo, o utilizar la interfaz web del Hub.
### Trainer
[Trainer](/docs/transformers/main/es/main_classes/trainer#transformers.Trainer) puede subir un modelo directamente al Hub después del entrenamiento. Establezca `push_to_hub=True` en [TrainingArguments](/docs/transformers/main/es/main_classes/trainer#transformers.TrainingArguments) y páselo a [Trainer](/docs/transformers/main/es/main_classes/trainer#transformers.Trainer). Una vez completado el entrenamiento, llame a [push_to_hub()](/docs/transformers/main/es/main_classes/trainer#transformers.Trainer.push_to_hub) para subir el modelo.
[push_to_hub()](/docs/transformers/main/es/main_classes/trainer#transformers.Trainer.push_to_hub) añade automáticamente información útil, como los hiperparámetros de entrenamiento y los resultados, a la tarjeta del modelo.
```py
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 subir el modelo a un repositorio privado, establece `hub_private_repo=True` en [TrainingArguments](/docs/transformers/main/es/main_classes/trainer#transformers.TrainingArguments). Si el repositorio aún no se ha creado (por ejemplo, cuando `push_to_hub=False` en [TrainingArguments](/docs/transformers/main/es/main_classes/trainer#transformers.TrainingArguments)), también puedes pasar `private=True` a [push_to_hub()](/docs/transformers/main/es/main_classes/trainer#transformers.Trainer.push_to_hub) en su lugar. El argumento `private` solo tiene efecto cuando se crea el repositorio, por lo que no cambia la visibilidad de un repositorio existente.
```py
trainer.push_to_hub(private=True)
```
### PushToHubMixin
El [PushToHubMixin](/docs/transformers/main/es/main_classes/model#transformers.utils.PushToHubMixin) proporciona la funcionalidad para subir un modelo o tokenizador al Hub.
Llama a [push_to_hub()](/docs/transformers/main/es/main_classes/model#transformers.utils.PushToHubMixin.push_to_hub) directamente en un modelo para subirlo al Hub. Crea un repositorio bajo tu espacio de nombres con el nombre del modelo especificado en [push_to_hub()](/docs/transformers/main/es/main_classes/model#transformers.utils.PushToHubMixin.push_to_hub).
```py
model.push_to_hub("my-awesome-model")
```
Otros objetos, como un tokenizer, también se suben al Hub de la misma manera.
```py
tokenizer.push_to_hub("my-awesome-model")
```
Tu perfil de Hugging Face debería mostrar ahora el repositorio de modelos recién creado. Ve a la pestaña **Files** para ver todos los archivos subidos.
Consulte la guía [Cargar archivos en el Hub](https://hf.co/docs/hub/how-to-upstream) para obtener más información sobre cómo enviar archivos al Hub.
### Interfaz web de Hub
La interfaz web de Hub es un enfoque sin código para subir un modelo.
1. Cree un nuevo repositorio seleccionando [**New Model**](https://huggingface.co/new).
Añade información sobre tu modelo:
- Selecciona el **owner** del repositorio. Puede ser tú mismo o cualquiera de las organizaciones a las que pertenezcas.
- Elige un nombre para tu modelo, que también será el nombre del repositorio.
- Elige si tu modelo es público o privado.
- Establece el uso de la licencia.
2. Haz clic en **Create model** para crear el repositorio del modelo.
3. Selecciona la pestaña **Files** y haz clic en el botón **Add file** para arrastrar y soltar un archivo en tu repositorio. Añade un mensaje de commit y haz clic en **Commit changes to main** para confirmar el archivo.
## Tarjeta del modelo
Las [fichas de modelo](https://hf.co/docs/hub/model-cards#model-cards) informan a los usuarios sobre el rendimiento de un modelo, sus limitaciones, posibles sesgos y consideraciones éticas. ¡Se recomienda encarecidamente añadir una ficha de modelo a tu repositorio!
Una tarjeta de modelo es un archivo `README.md` en tu repositorio. Añade este archivo mediante:
- crear y subir manualmente un archivo `README.md`
- haciendo clic en el botón **Editar la tarjeta del modelo** en el repositorio
Echa un vistazo a la [ficha del modelo](https://huggingface.co/meta-llama/Meta-Llama-3.1-8B-Instruct) de Llama 3.1 como ejemplo de lo que se debe incluir en una ficha de modelo.
Obtenga más información sobre otros metadatos de las tarjetas de modelo (emisiones de carbono, licencia, enlace al artículo, etc.) disponibles en la guía [Model Cards](https://hf.co/docs/hub/model-cards#model-cards).

Xet Storage Details

Size:
7.59 kB
·
Xet hash:
d97a1028da573c4460dc19330cc2e4e4a45afa2484f3a8b03ce69e3562382032

Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.