Buckets:
| # 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.