Buckets:

rtrm's picture
|
download
raw
4 kB
# Usar modelos preentrenados[[using-pretrained-models]]
{#if fw === 'pt'}
{:else}
{/if}
El Model Hub hace que seleccionar el modelo adecuado sea sencillo, de modo que usarlo en cualquier librería posterior pueda hacerse con unas pocas líneas de código. Veamos cómo usar realmente uno de estos modelos y cómo contribuir de vuelta a la comunidad.
Supongamos que buscamos un modelo en francés capaz de completar máscaras.
Seleccionamos el checkpoint `camembert-base` para probarlo. El identificador `camembert-base` es todo lo que necesitamos para empezar a usarlo. Como viste en capítulos anteriores, podemos instanciarlo con la función `pipeline()`:
```py
from transformers import pipeline
camembert_fill_mask = pipeline("fill-mask", model="camembert-base")
results = camembert_fill_mask("Le camembert est :)")
```
```python out
[
{'sequence': 'Le camembert est délicieux :)', 'score': 0.49091005325317383, 'token': 7200, 'token_str': 'délicieux'},
{'sequence': 'Le camembert est excellent :)', 'score': 0.1055697426199913, 'token': 2183, 'token_str': 'excellent'},
{'sequence': 'Le camembert est succulent :)', 'score': 0.03453313186764717, 'token': 26202, 'token_str': 'succulent'},
{'sequence': 'Le camembert est meilleur :)', 'score': 0.0330314114689827, 'token': 528, 'token_str': 'meilleur'},
{'sequence': 'Le camembert est parfait :)', 'score': 0.03007650189101696, 'token': 1654, 'token_str': 'parfait'}
]
```
Como puedes ver, cargar un modelo dentro de un pipeline es extremadamente sencillo. Lo único a lo que debes prestar atención es que el checkpoint elegido sea adecuado para la tarea en la que se va a usar. Por ejemplo, aquí cargamos el checkpoint `camembert-base` en el pipeline `fill-mask`, lo cual está perfectamente bien. Pero si cargáramos este checkpoint en el pipeline `text-classification`, los resultados no tendrían ningún sentido porque la cabeza de `camembert-base` no es adecuada para esa tarea. Te recomendamos usar el selector de tareas de la interfaz del Hugging Face Hub para elegir checkpoints apropiados:
También puedes instanciar el checkpoint usando directamente la arquitectura del modelo:
{#if fw === 'pt'}
```py
from transformers import CamembertTokenizer, CamembertForMaskedLM
tokenizer = CamembertTokenizer.from_pretrained("camembert-base")
model = CamembertForMaskedLM.from_pretrained("camembert-base")
```
Sin embargo, te recomendamos usar las [clases `Auto*`](https://huggingface.co/transformers/model_doc/auto?highlight=auto#auto-classes), ya que por diseño son agnósticas a la arquitectura. Mientras que el ejemplo anterior limita a los usuarios a checkpoints que puedan cargarse con la arquitectura CamemBERT, usar las clases `Auto*` hace muy sencillo cambiar de checkpoint:
```py
from transformers import AutoTokenizer, AutoModelForMaskedLM
tokenizer = AutoTokenizer.from_pretrained("camembert-base")
model = AutoModelForMaskedLM.from_pretrained("camembert-base")
```
{:else}
```py
from transformers import CamembertTokenizer, TFCamembertForMaskedLM
tokenizer = CamembertTokenizer.from_pretrained("camembert-base")
model = TFCamembertForMaskedLM.from_pretrained("camembert-base")
```
Sin embargo, te recomendamos usar las [clases `TFAuto*`](https://huggingface.co/transformers/model_doc/auto?highlight=auto#auto-classes), ya que por diseño son agnósticas a la arquitectura. Mientras que el ejemplo anterior limita a los usuarios a checkpoints que puedan cargarse con la arquitectura CamemBERT, usar las clases `TFAuto*` hace muy sencillo cambiar de checkpoint:
```py
from transformers import AutoTokenizer, TFAutoModelForMaskedLM
tokenizer = AutoTokenizer.from_pretrained("camembert-base")
model = TFAutoModelForMaskedLM.from_pretrained("camembert-base")
```
{/if}
> [!TIP]
> Cuando uses un modelo preentrenado, asegúrate de revisar cómo fue entrenado, con qué datasets, cuáles son sus límites y cuáles son sus sesgos. Toda esta información debería figurar en su tarjeta del modelo.

Xet Storage Details

Size:
4 kB
·
Xet hash:
ecd4895c235fbafb9778a3958524259e72442aa1f784f96485e9d2237738e4b0

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