Update README.md
Browse files
README.md
CHANGED
@@ -2,167 +2,140 @@
|
|
2 |
license: openrail
|
3 |
datasets:
|
4 |
- bertin-project/alpaca-spanish
|
5 |
-
library_name: transformers
|
6 |
language:
|
7 |
- es
|
8 |
pipeline_tag: text-generation
|
9 |
tags:
|
|
|
|
|
|
|
|
|
10 |
- alpaca
|
11 |
-
-
|
12 |
-
widget:
|
13 |
-
- text: >-
|
14 |
-
A continuación hay una instrucción que describe una tarea. Escribe una
|
15 |
-
respuesta que complete adecuadamente lo que se pide.
|
16 |
-
|
17 |
-
### Instrucción: Escribe un correo electrónico dando la bienvenida a un
|
18 |
-
nuevo empleado llamado Manolo.
|
19 |
-
|
20 |
-
### Respuesta:
|
21 |
-
example_title: E-mail
|
22 |
-
- text: >-
|
23 |
-
A continuación hay una instrucción que describe una tarea. Escribe una
|
24 |
-
respuesta que complete adecuadamente lo que se pide.
|
25 |
-
|
26 |
-
### Instrucción: Cuéntame algo sobre las alpacas.
|
27 |
-
|
28 |
-
### Respuesta:
|
29 |
-
example_title: Alpacas
|
30 |
-
- text: >-
|
31 |
-
A continuación hay una instrucción que describe una tarea. Escribe una
|
32 |
-
respuesta que complete adecuadamente lo que se pide.
|
33 |
-
|
34 |
-
### Instrucción: Inventa una excusa creativa para decir que no tengo que ir
|
35 |
-
a la fiesta.
|
36 |
-
|
37 |
-
### Respuesta:
|
38 |
-
example_title: Excusa
|
39 |
---
|
40 |
|
|
|
41 |
|
42 |
-
|
43 |
|
44 |
-
|
45 |
|
46 |
-
|
47 |
|
48 |
-
```python
|
49 |
-
from transformers import AutoModelForCausalLM, AutoTokenizer, GenerationConfig, pipeline
|
50 |
|
51 |
-
|
52 |
-
tokenizer = AutoTokenizer.from_pretrained(base_model)
|
53 |
-
model = AutoModelForCausalLM.from_pretrained(base_model).cuda()
|
54 |
-
```
|
55 |
|
56 |
-
For generation, we can either use `pipeline()` or the model's `.generate()` method. Remember that the prompt needs a **Spanish** template:
|
57 |
|
58 |
-
```python
|
59 |
-
# Generate responses
|
60 |
-
def generate(instruction, input=None):
|
61 |
-
if input:
|
62 |
-
prompt = f"""A continuación hay una instrucción que describe una tarea, junto con una entrada que proporciona más contexto. Escribe una respuesta que complete adecuadamente lo que se pide.
|
63 |
|
64 |
-
### Instrucción:
|
65 |
-
{instruction}
|
66 |
|
67 |
-
|
68 |
-
{input}
|
69 |
|
70 |
-
### Respuesta:"""
|
71 |
-
else:
|
72 |
-
prompt = f""""A continuación hay una instrucción que describe una tarea. Escribe una respuesta que complete adecuadamente lo que se pide.
|
73 |
|
74 |
-
|
75 |
-
{instruction}
|
76 |
|
77 |
-
### Respuesta:
|
78 |
-
"""
|
79 |
-
inputs = tokenizer(prompt, return_tensors="pt")
|
80 |
-
input_ids = inputs["input_ids"].cuda()
|
81 |
-
generation_output = model.generate(
|
82 |
-
input_ids=input_ids,
|
83 |
-
generation_config=GenerationConfig(temperature=0.2, top_p=0.75, num_beams=4),
|
84 |
-
return_dict_in_generate=True,
|
85 |
-
output_scores=True,
|
86 |
-
max_new_tokens=256
|
87 |
-
)
|
88 |
-
for seq in generation_output.sequences:
|
89 |
-
output = tokenizer.decode(seq, skip_special_tokens=True)
|
90 |
-
print(output.split("### Respuesta:")[-1].strip())
|
91 |
|
92 |
-
|
93 |
-
|
94 |
-
|
95 |
-
|
96 |
-
|
97 |
-
|
98 |
-
|
99 |
-
|
100 |
-
|
101 |
-
|
102 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
103 |
|
104 |
-
```
|
105 |
|
106 |
|
107 |
-
## Data
|
108 |
|
109 |
-
|
110 |
|
111 |
-
|
|
|
112 |
|
113 |
-
|
114 |
|
115 |
-
|
|
|
116 |
|
117 |
-
|
118 |
|
119 |
-
Stanford Alpaca:
|
120 |
-
```
|
121 |
-
Instruction: Inventa una excusa creativa para decir que no tengo que ir a la fiesta.
|
122 |
-
Response: I'm sorry, I can't make it to the party. I have to stay home and take care of my sick pet.
|
123 |
-
```
|
124 |
|
125 |
-
BERTIN Alpaca LoRA:
|
126 |
-
```
|
127 |
-
Instruction: Inventa una excusa creativa para decir que no tengo que ir a la fiesta.
|
128 |
-
Response: No puedo ir a la fiesta porque tengo que terminar un proyecto urgente.
|
129 |
-
```
|
130 |
|
131 |
-
|
132 |
-
```
|
133 |
-
Instruction: Inventa una excusa creativa para decir que no tengo que ir a la fiesta.
|
134 |
-
Response: Lo siento, pero tengo una cita inesperada a la que necesito asistir.
|
135 |
-
```
|
136 |
|
137 |
|
138 |
-
|
139 |
-
```
|
140 |
-
Instruction: ¿Cómo puedo comenzar una carrera como científico de datos? Responde con una lista de pasos a seguir.
|
141 |
-
Response: To begin a career as a data scientist, there are a few steps to take. First, you should have a bachelor's degree in a STEM-related field, such as computer science, mathematics, statistics, or engineering. You should also have experience with programming languages such as Python, R, or Java. Additionally, it is helpful to have knowledge of machine learning, data visualization, and data analytics. Finally, it is important to stay up to date with the latest trends and technologies in the field.
|
142 |
-
```
|
143 |
|
144 |
-
|
145 |
-
|
146 |
-
|
147 |
-
|
148 |
-
|
149 |
-
|
150 |
-
|
151 |
-
|
152 |
-
|
153 |
-
|
154 |
-
|
155 |
-
|
156 |
-
|
157 |
-
|
158 |
-
|
159 |
-
|
160 |
-
|
161 |
-
|
162 |
-
|
163 |
-
|
164 |
-
|
165 |
-
|
166 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
167 |
|
168 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
license: openrail
|
3 |
datasets:
|
4 |
- bertin-project/alpaca-spanish
|
|
|
5 |
language:
|
6 |
- es
|
7 |
pipeline_tag: text-generation
|
8 |
tags:
|
9 |
+
- Transformers
|
10 |
+
- bertin-project/alpaca-spanish
|
11 |
+
- gptj
|
12 |
+
- PyTorch
|
13 |
- alpaca
|
14 |
+
- llm spanish
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
15 |
---
|
16 |
|
17 |
+
<strong><span style="font-size: larger;">bertin-gpt-j-6B-alpaca-4bit-128g 🤗</span></strong>
|
18 |
|
19 |
+
![bertin](https://aeiljuispo.cloudimg.io/v7/https://s3.amazonaws.com/moonup/production/uploads/1627122830113-5ef3829e518622264685b0cd.png?w=200&h=200&f=face)
|
20 |
|
21 |
+
**descripción en español agregado ⬇️**
|
22 |
|
23 |
+
This is a 4-bit GPTQ version of the [bertin-project/bertin-gpt-j-6B-alpaca]( https://huggingface.co/bertin-project/bertin-gpt-j-6B-alpaca)
|
24 |
|
|
|
|
|
25 |
|
26 |
+
this is the result of quantizing to 4 bits using [AutoGPTQ](https://github.com/PanQiWei/AutoGPTQ).
|
|
|
|
|
|
|
27 |
|
|
|
28 |
|
|
|
|
|
|
|
|
|
|
|
29 |
|
|
|
|
|
30 |
|
31 |
+
**How to easily download and use this model in text-generation-webui** (tutorial by [TheBloke](https://huggingface.co/TheBloke))
|
|
|
32 |
|
|
|
|
|
|
|
33 |
|
34 |
+
<strong><span style="font-size: larger;">TUTORIAL🤗</span></strong>
|
|
|
35 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
36 |
|
37 |
+
Open [the text-generation-webui UI]( https://github.com/oobabooga/text-generation-webui) as normal.
|
38 |
+
|
39 |
+
here is a tutorial how to install the text-generation-webui UI: [tutorial]( https://www.youtube.com/watch?v=lb_lC4XFedU&t).
|
40 |
+
|
41 |
+
Click the Model tab.
|
42 |
+
|
43 |
+
Under Download custom model or LoRA, enter RedXeol/bertin-gpt-j-6B-alpaca-4bit-128g.
|
44 |
+
|
45 |
+
Click Download.
|
46 |
+
|
47 |
+
Wait until it says it's finished downloading.
|
48 |
+
|
49 |
+
Click the Refresh icon next to Model in the top left.
|
50 |
+
|
51 |
+
In the Model drop-down: choose the model you just downloaded, bertin-gpt-j-6B-alpaca-4bit-128g.
|
52 |
+
|
53 |
+
If you see an error in the bottom right, ignore it - it's temporary.
|
54 |
+
|
55 |
+
Fill out the GPTQ parameters on the right: Bits = 4, Groupsize = 128, model_type = gptj
|
56 |
+
|
57 |
+
Click Save settings for this model in the top right.
|
58 |
+
|
59 |
+
Click Reload the Model in the top right.
|
60 |
+
|
61 |
+
Once it says it's loaded, click the Text Generation tab and enter a prompt!
|
62 |
|
|
|
63 |
|
64 |
|
|
|
65 |
|
66 |
+
**Model details**
|
67 |
|
68 |
+
Data
|
69 |
+
The dataset is a translation to Spanish of alpaca_data_cleaned.json (a clean version of the Alpaca dataset made at Stanford) using OpenAI's gpt-3.5-turbo model. We translated using a full-sample prompt instead of per strings, which resulted in more coherent tuples of (instruction, input, output) and costed around $60.0.
|
70 |
|
71 |
+
This dataset cannot be used to create models that compete in any way with OpenAI.
|
72 |
|
73 |
+
Finetuning
|
74 |
+
To fine-tune the BERTIN GPT-J-6B model we used the code available on BERTIN's fork of mesh-transformer-jax, which provides code adapt an Alpaca dataset to finetune any GPT-J-6B model. We run finetuning for 3 epochs using sequence length of 2048 on a single TPUv3-8 for 3 hours on top of BERTIN GPT-J-6B.
|
75 |
|
76 |
+
**you need an 8GB gpu to run it correctly.**
|
77 |
|
|
|
|
|
|
|
|
|
|
|
78 |
|
|
|
|
|
|
|
|
|
|
|
79 |
|
80 |
+
**Español** 🇪🇸
|
|
|
|
|
|
|
|
|
81 |
|
82 |
|
83 |
+
Esta es una versión GPTQ de 4 bits del [bertin-project/bertin-gpt-j-6B-alpaca]( https://huggingface.co/bertin-project/bertin-gpt-j-6B-alpaca)
|
|
|
|
|
|
|
|
|
84 |
|
85 |
+
Este es el resultado de cuantificar a 4 bits usando [AutoGPTQ](https://github.com/PanQiWei/AutoGPTQ).
|
86 |
+
|
87 |
+
|
88 |
+
|
89 |
+
|
90 |
+
**Cómo descargar y usar fácilmente este modelo en text-generation-webui** (tutorial de [TheBloke](https://huggingface.co/TheBloke))
|
91 |
+
|
92 |
+
|
93 |
+
<strong><span style="font-size: larger;">TUTORIAL🤗</span></strong>
|
94 |
+
|
95 |
+
|
96 |
+
Abra la interfaz de usuario [the text-generation-webui UI]( https://github.com/oobabooga/text-generation-webui) normal.
|
97 |
+
|
98 |
+
aquí hay un tutorial de cómo instalar la interfaz de usuario text-generation-webui: [tutorial]( https://www.youtube.com/watch?v=lb_lC4XFedU&t).
|
99 |
+
|
100 |
+
Haga clic en la pestaña Modelo.
|
101 |
+
|
102 |
+
En Descargar modelo personalizado o LoRA, ingrese RedXeol/bertin-gpt-j-6B-alpaca-4bit-128g.
|
103 |
+
|
104 |
+
Haz clic en Descargar.
|
105 |
+
|
106 |
+
Espera hasta que diga que ha terminado de descargarse.
|
107 |
+
|
108 |
+
Haga clic en el icono Actualizar junto a Modelo en la parte superior izquierda.
|
109 |
+
|
110 |
+
En el menú desplegable Modelo: elija el modelo que acaba de descargar, bertin-gpt-j-6B-alpaca-4bit-128g.
|
111 |
+
|
112 |
+
Si ve un error en la parte inferior derecha, ignórelo, es temporal.
|
113 |
+
|
114 |
+
Complete los parámetros GPTQ a la derecha: Bits = 4, Groupsize = 128, model_type = gptj
|
115 |
+
|
116 |
+
Haz clic en Guardar configuración para este modelo en la parte superior derecha.
|
117 |
+
|
118 |
+
Haga clic en Recargar el modelo en la parte superior derecha.
|
119 |
+
|
120 |
+
Una vez que diga que está cargado, haga clic en la pestaña Generación de texto e ingrese un mensaje.
|
121 |
|
122 |
+
|
123 |
+
|
124 |
+
**Detalles del modelo**
|
125 |
+
|
126 |
+
Datos
|
127 |
+
El conjunto de datos es una traducción al español de alpaca_data_cleaned.json (una versión limpia del conjunto de datos de Alpaca hecho en Stanford) utilizando el modelo gpt-3.5-turbo de OpenAI. Traducimos usando un indicador de muestra completa en lugar de por cadenas, lo que resultó en tuplas más coherentes de (instruction, input, output) y costó alrededor de $ 60.0.
|
128 |
+
Este conjunto de datos no se puede usar para crear modelos que compitan de alguna manera con OpenAI.
|
129 |
+
|
130 |
+
Finetuning
|
131 |
+
Para ajustar el modelo BERTIN GPT-J-6B, usamos el código disponible en la bifurcación de BERTIN de mesh-transformer-jax, que proporciona código para adaptar un conjunto de datos de Alpaca para ajustar cualquier modelo GPT-J-6B. Ejecutamos un ajuste fino para 3 épocas usando una longitud de secuencia de 2048 en un solo TPUv3-8 durante 3 horas sobre BERTIN GPT-J-6B.
|
132 |
+
|
133 |
+
**necesitas una gpu de 10GB para ejecutarlo correctamente.**
|
134 |
+
|
135 |
+
**puebas en nvidia rtx 3090 (24GB)**
|
136 |
+
|
137 |
+
![memoria gpu carga](https://pbs.twimg.com/media/FwlPPGBWcAES220?format=png&name=large)
|
138 |
+
|
139 |
+
mira el hilo donde explico las pruebas totales:
|
140 |
+
![HILO](https://twitter.com/IdeVtuber/status/1659946141172072449)
|
141 |
+
|