File size: 4,564 Bytes
eff585e
 
2c2c116
 
 
 
 
 
 
 
8b48c13
 
 
 
 
 
 
e848528
 
 
66a7ad5
e848528
eff585e
2c2c116
 
 
 
2a74cc0
 
2c2c116
2a74cc0
2c2c116
2a74cc0
2c2c116
2a74cc0
2c2c116
 
 
 
 
 
 
 
 
 
 
 
 
 
 
0388c9a
2c2c116
 
 
 
 
 
 
 
73d7e57
2c2c116
 
 
 
 
 
 
 
 
 
 
73d7e57
 
2a74cc0
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
---
license: apache-2.0
language: es
datasets:
- bertin-project/alpaca-spanish
pipeline_tag: text2text-generation
tags:
- salpaca
- mT5
- spanish
widget:
- text: "instrut5: Explica la siguiente frase: YOLO. <in></in>"
  example_title: "Explicar frase"
- text: "instrut5: Generar una lista de preguntas interesantes sobre el tema del cambio climático.<in></in>"
  example_title: "Generar preguntas"
- text: "instrut5: Escribe un correo electrónico dando la bienvenida a un nuevo empleado.<in>Juan</in>"
  example_title: "Escribir email"
inference:
  parameters:
    do_sample: True
    top_p: 0.95
    top_k: 50
---


# Spanish Alpaca mT5

Este repositorio contiene un modelo mT5 entrenado con el dataset [Bertin Project - Alpaca Spanish](https://huggingface.co/datasets/bertin-project/alpaca-spanish) que además ha sido limpiado y editado por el autor.
Puede ponerse en contacto con el autor a través de su cuenta de twitter: @jalbarracin

# Uso

## Usando el modelo

El modelo mT5 en español puede usarse en python siguiendo este ejemplo:

```python
from transformers import AutoTokenizer, AutoModelForSeq2SeqLM

model = 'jalbarracin/spanish-alpaca-mT5'
model_tokenizer = 'jalbarracin/spanish-alpaca-mT5'
tokenizer = AutoTokenizer.from_pretrained(model_tokenizer)
model = AutoModelForSeq2SeqLM.from_pretrained(model).to('cpu') #puedes cambiar a 'cuda' si tienes GPU

input_text ="""instrut5: QuanticoTrends (https://www.quanticotrends.com/) se dedica al monitoreo de redes sociales para empresas. Escribe un anuncio para anunciar los servicios de QuanticoTrends en facebook<in></in>"""

inputs = tokenizer(input_text, return_tensors="pt").to('cpu') #puedes cambiar a 'cuda' si tienes GPU

outputs = model.generate(inputs["input_ids"],
                         do_sample = True,
                         max_length = 256, #puedes subir este parametro hasta 500
                         num_return_sequences=3, #recomiendo hasta 6 para que no demore mucho
                         top_k=50,
                         top_p=0.90,
                        )
detok_outputs = [tokenizer.decode(x, skip_special_tokens=True) for x in outputs]

for output in detok_outputs: 
    print(output)
    print("\n") # imprime un salto de linea para separar cada uno de los outputs (en el caso que num_return_sequences sea mayor que 1)
```

El output de este ejemplo:

```python
¡¿Echa un vistazo a nosotros y descubre los servicios de QuanticoTrends en Facebook! Observa el rendimiento de tus sitios web, recopila información de empresas, construye relaciones con otros usuarios e incluso realiza un seguimiento de tus campañas. ¡Disfruta de las herramientas que necesitas para hacer la transición a la realidad virtual! #QuanticoTrends #Marketing #Sostenibilidad

¡Bienvenido a QuanticoTrends! Estamos dedicados al monitoreo de redes sociales para empresas y nuestro servicio al cliente. Nuestro monitoreo de redes sociales está diseñado para brindar a los usuarios la mejor experiencia, consejos y consejos para tomar decisiones inteligentes y productivas para nuestras empresas. ¡Únete a nosotros hoy para estar al día con las tendencias de QuanticoTrends!

¡Aprovecha nuestra especialidad de monitoreo de redes sociales para empresas! Regístrate ahora y crea una nueva selección de servicios y recursos que se adaptan a tus intereses y necesidades. # QuanticoTrends #empresas # MonitoreoDe redes sociales #MantenteSeguro #Visibilidad
```
# Colab Notebook de ejemplo

Puedes acceder al notebook para que pruebes el modelo aqui: [Modelo Spanish Alpaca mT5] (https://colab.research.google.com/drive/1yWwMH0Opk1C10emYTfYhDWEPVNE7insw)


Este modelo ha sido entrenado con la base de datos es una versión más pequeña del modelo google/mt5-base con embeddings solo en español y algunas en inglés obtenidas de https://huggingface.co/JorgeSarry/
El número de parámetros del modelo es de 244 millones de parámetros, lo que da como resultado un modelo de 0,9 GB, el 42 % del original.

Puedes usar este modelo utilizando el tag "instrut5:" 

La gran ventaja es que produce buenos resultados, muchas veces en menos de 1 segundo en CPU.

=====

This is a smaller version of the google/mt5-base model with only Spanish and some English embeddings obtained from https://huggingface.co/JorgeSarry/
The number of model parameters is 244M parameters, resulting on a model of 0.9GB - 42% of the original one.

You can use this model starging with the tag "instrut5:"

The best advantage is that this model produces good results, some times in less than 1 second on CPU