Ahora
todo
el
mundo
ya
llevamos
dos
semanas
de
los
hackathon
somos
600M
y
estamos
viendo
proyectos
súper
interesantes
y
seguimos
avanzando.
Como
sabéis
el
objetivo
de
esta
iniciativa
es
crear
recursos
abiertos
y
de
calidad
de
crecimiento
de
la
lenguaje
natural
en
español
y
lenguas
oficiales
que
representen
la
diversidad
de
los
600
millones
de
personas
que
hablamos
español.
Hoy
es
lunes
o
sea
que
nos
toca
a
taller
aplicado
y
de
hecho
ahora
mismo
le
voy
a
dar
paso
a
Alejandro
pero
antes
tengo
una
noticia
y
es
que
resulta
que
nos
han
contactado
de
Latinx
en
IAI
para
invitarnos
a
mandar
los
proyectos
de
hackathon
o
de
la
comunidad
más
bien
en
general
a
su
workshop
de
la
conferencia
del
NACL.
Entonces
lo
hicimos
ya
en
la
edición
anterior
y
se
leó
genial
de
hecho
bueno
aquí
a
Alejandro
fue
a
presentar
su
proyecto
y
bueno
creo
que
es
súper
contentos
fue
un
poco
estresante
me
comentaba
porque
al
final
el
plazo
son
cortitos
y
bueno
es
una
comentadora
del
plazo
pero
bueno
creo
que
vale
mucho
la
pena
así
que
os
animo
a
presentar
a
vuestros
proyectos.
Como
os
comentaba
el
plazo
para
presentar
los
proyectos
es
el
29
de
marzo
vale
11
días
quedan
entonces
os
animamos
a
presentar
los
proyectos
no
queremos
limitar
los
recursos
para
bueno
para
que
podáis
llegar
a
tiempo
mejorarlos
en
vuestros
proyectos
y
tal
entonces
vamos
a
aumentar
os
vamos
a
dejar
a
utilizar
los
proyectos
a
los
recursos
durante
estos
cinco
días
adicionales
y
tampoco
queremos
dejar
en
desventaja
el
resto
de
equipos
que
nos
quieran
presentar
los
proyectos
entonces
bueno
básicamente
vamos
a
extender
la
fecha
del
hackathon
hasta
el
29
de
marzo
para
que
todo
el
mundo
pueda
seguir
disfrutando
de
los
recursos
y
podáis
enviar
los
recursos
súper
guays
obviamente
si
termináis
antes
pues
también
perfecto
y
pues
también
lo
último
de
decir
que
ya
que
estendemos
el
hackathon
casi
unas
semanas
pues
también
significa
que
volvemos
a
acertar
nuevos
proyectos
porque
tenéis
10
días
que
es
casi
el
tiempo
suficiente
para
presentar
un
proyecto
de
nuevo
entonces
bueno
si
alguien
se
ha
quedado
con
la
espinita
que
sepáis
que
os
podéis
unir
a
las
lo
tengo
apuntado
a
575
personas
que
ya
se
han
unido
a
nuestra
iniciativa
de
somos
600
m
entonces
bueno
vamos
a
presentar
a
nuestro
ponente
de
hoy
que
es
alejandro
vaca
él
es
ganador
de
varios
premios
como
el
primer
premio
del
kajamar
university
hack
2020
el
premio
al
mejor
data
scientist
del
hackathon
de
spain
y
a
2021
gracias
a
sus
dos
primeros
premios
y
un
tercer
premio
y
también
lideró
el
equipo
ganador
del
hackathon
somos
en
el
p
2022
con
el
proyecto
biomedia
que
también
presentó
el
ncl
2022
es
lo
que
os
comentaba
justo
ahora
obteniendo
el
primer
premio
a
mejor
presentación
de
post
term
además
ha
liderado
el
desarrollo
del
lm
senelí
desde
el
2019
con
el
desarrollo
de
los
modelos
de
compresión
de
texto
rogoberta
rogoberta
2
y
el
modelo
de
chat
rigo
chat
además
recientemente
ha
montado
su
propia
empresa
lenguaje
natural
punto
y
ahí
y
de
hecho
bueno
también
para
los
equipos
que
ganan
en
el
hackathon
vais
a
tener
acceso
exclusivamente
a
la
no
exclusiva
pero
de
los
primeros
accesos
a
los
a
sus
cursos
entonces
bueno
para
el
día
de
hoy
la
idea
es
que
os
va
a
mostrar
un
notebook
con
diversos
trucos
y
tal
para
entrenar
nuestros
lm
y
después
estará
a
vuestra
disposición
para
responder
todas
las
dudas
entonces
las
podéis
ir
escribiendo
en
el
chat
y
pues
bueno
al
final
del
taller
o
se
las
voy
leyendo
vale
pues
nada
alejando
todo
tuyo
muchas
gracias
maria
como
siempre
me
me
pones
por
las
nudes
ahora
yo
para
bajarlo
para
bajarlo
todo
bueno
bueno
buenos
días
buenas
tardes
o
buenas
noches
a
todos
dependiendo
de
en
qué
parte
del
mundo
estáis
escuchando
a
mí
la
verdad
es
que
me
gusta
pronunciarlo
lenguaje
natural
que
suena
como
un
poquito
más
un
poquito
más
español
no
bueno
como
ya
ha
dicho
maría
yo
os
voy
a
hablar
un
poco
del
entrenamiento
de
modelos
de
lenguaje
sobre
todo
vamos
a
enfocar
en
el
entrenamiento
demodelos
de
instrucciones
y
modelos
de
chat
o
conversacionales
de
acuerdo
entonces
sin
más
dilación
y
con
este
transformer
entrenando
entrenando
con
libros
por
cierto
por
si
no
os
habéis
dado
cuenta
no
son
no
son
discos
de
pesas
vamos
a
primero
contar
un
poquito
qué
es
lo
que
vamos
a
ver
en
el
día
de
hoy
vamos
a
ver
primero
pues
una
base
teórica
muy
cortita
será
muy
suave
que
además
es
lunes
y
luego
vamos
a
verlo
ya
en
formato
código
vale
os
dejo
por
aquí
también
el
código
QR
tanto
de
mil
y
que
vin
como
de
lenguaje
natural
punto
hay
vale
por
si
queréis
entrar
ahí
a
cotillar
un
poquito
no
os
cuento
qué
regalos
hay
también
en
la
charla
de
hoy
ya
que
aparte
de
lo
que
ha
contado
maría
que
es
que
los
tres
primeros
equipos
del
jacatón
tendrán
acceso
completamente
gratuito
al
curso
online
experto
en
procesamiento
de
lenguaje
natural
del
lenguaje
natural
punto
hay
para
todos
los
participantes
del
día
de
hoy
habrá
un
descuento
del
60
por
ciento
en
dicho
curso
vale
o
sea
que
bueno
para
los
que
os
quedéis
con
la
espinita
y
con
las
ganas
de
conocer
un
poquito
más
de
este
mundo
tan
maravilloso
del
procesamiento
del
lenguaje
natural
pues
a
ellos
lo
dejo
y
también
se
sorteará
una
mentoría
privada
de
30
minutos
conmigo
en
la
que
podréis
pues
utilizarme
para
intentar
mejorar
vuestros
proyectos
y
poder
ver
pues
un
poquito
más
en
detalle
algunos
aspectos
de
los
mismos
que
veáis
que
queréis
mejorar
vale
quedaros
hasta
el
final
y
os
cuento
cómo
cómo
canjear
estos
estos
pequeños
regalos
que
he
preparado
para
el
día
de
hoy
que
así
se
hace
un
poquito
menos
duro
el
lunes
entonces
vamos
a
ver
primero
qué
es
lo
que
vamos
a
aprender
hoy
en
primer
lugar
veremos
cómo
entrenar
eficientemente
modelos
de
lenguaje
para
instrucciones
o
chat
vale
entonces
veremos
los
míticos
lora
culora
y
este
tipo
de
métodos
también
veremos
cómo
procesar
estos
chats
adecuadamente
utilizando
las
herramientas
de
hagan
face
vale
y
es
que
es
importante
que
estos
chats
sigan
un
formato
muy
concreto
y
que
tengamos
este
template
o
esta
plantilla
integrado
directamente
en
nuestros
modelos
vale
esto
es
algo
que
tendréis
que
tener
en
cuenta
de
cara
a
esos
modelos
que
estéis
entrenando
para
el
hackathon
pero
aquellos
que
estáis
en
esta
charla
sin
participar
en
el
hackathon
también
podréis
seguro
sacar
mucho
provecho
de
todos
esos
trucos
no
además
veremos
pues
algunos
detalles
con
los
que
podemos
mejorar
al
mítico
lora
o
culora
vale
veremos
alguna
cosita
nueva
que
ha
ido
saliendo
para
mejorar
estos
métodos
y
en
último
lugar
pues
veremos
cómo
utilizar
autotransformers
una
librería
de
lenguaje
natural
punto
hay
para
integrar
pues
todo
esto
de
forma
sencilla
y
sin
esfuerzo
que
primero
lo
veremos
con
todo
con
librerías
de
hagan
face
vale
dejaremos
esto
para
la
para
la
última
parte
entonces
la
tabla
de
contenidos
sería
más
o
menos
esta
vale
vamos
a
empezar
haciendo
un
repaso
de
lora
veremos
luego
cómo
se
integra
con
culora
luego
veremos
rank
estabilized
lora
o
sea
un
lora
con
el
ranc
con
el
rango
estabilizado
y
veremos
también
el
método
neftune
y
long
is
more
for
alignment
que
es
un
paper
que
ha
salido
a
hacer
relativamente
poco
y
en
el
que
bueno
pues
gente
como
lego
y
tu
tal
ha
podido
comprobar
la
efectividad
del
del
mismo
vale
entonces
primero
veremos
cómo
hacer
lora
culora
y
rs
lora
todo
con
librerías
de
hagan
face
y
luego
para
el
último
paso
veremos
cómo
hacer
todo
eso
mismo
a
la
vez
más
neftune
y
esto
que
decía
tunstal
del
long
is
more
con
la
librería
autotransformers
entonces
esa
primera
parte
de
la
práctica
vamos
a
ver
que
tenemos
muchas
librerías
vale
vamos
a
trabajar
con
la
librería
transformers
vamos
a
trabajar
con
la
librería
peft
para
la
parte
del
lora
vamos
a
trabajar
con
la
librería
trl
también
vale
para
la
parte
del
trainer
y
demás
y
también
con
la
integración
aquí
tim
deadmars
se
enfadaría
un
poquito
con
mío
porque
puesto
luego
de
hagan
face
y
realmente
bits
and
bytes
no
es
una
librería
de
hagan
face
es
una
librería
de
tim
deadmars
pero
bueno
está
completamente
integrado
con
las
librerías
de
haganface
vale
y
forma
parte
al
final
pues
de
ese
ecosistema
y
luego
veremos
pues
cómo
puede
hacerse
todo
esto
de
una
forma
un
poquito
más
sencilla
con
algo
menos
de
dolor
como
digo
con
con
la
librería
autotransformers
con
el
fin
de
que
podáis
también
pues
entrenar
múltiples
modelos
en
secuencial
y
en
definitiva
que
la
máquina
haga
haga
el
trabajo
y
nosotros
pues
podamos
dedicarnos
más
a
la
parte
de
los
datos
que
al
final
es
lo
más
importante
y
es
la
iniciativa
principal
del
del
hack
atoni
donde
debemos
dedicar
la
mayor
parte
de
los
recursos
no
pues
vamos
a
empezar
haciendo
un
pequeño
repaso
del
del
lora
el
método
lora
y
lo
rancadápte
es
básicamente
una
de
las
gracias
que
tiene
es
que
no
modificamos
en
sí
mismo
los
pesos
del
modelo
original
y
esto
se
hace
mediante
matrices
de
bajo
rango
como
estas
que
podemos
ver
aquí
de
acuerdo
entonces
nosotros
dejamos
los
pesos
del
modelo
original
fijos
congelados
no
los
adaptamos
no
los
vamos
a
modificar
en
absoluto
y
lo
que
vamos
a
hacer
es
sumarles
a
esos
pesos
el
resultado
de
la
multiplicación
de
unas
matrices
de
bajo
rango
que
son
a
y
b
esto
se
hace
ajustándolo
con
un
parámetro
que
es
este
alfa
partido
de
r
si
alguno
ha
visto
ha
bajado
alguna
vez
con
la
librería
peft
sabéis
que
aparte
de
pasarle
el
mitico
rango
que
suele
ir
de
4
a
64
normalmente
aunque
se
puede
subir
un
cruz
un
poco
más
aparte
de
eso
normalmente
le
pasamos
también
el
parámetro
alfa
de
acuerdo
y
esto
lo
cuento
este
detalle
para
que
luego
entendamos
bien
en
qué
consiste
eso
del
rancé
estabiláis
lora
vale
entonces
como
vemos
le
sumamos
a
esa
matriz
de
pesos
original
v
doble
el
resultado
multiplicar
las
matrices
b
y
a
multiplicadas
por
ese
factor
de
alfa
partido
de
r
ya
nos
podemos
empezar
a
imaginar
viendo
esto
que
si
r
es
muy
grande
este
factor
de
aquí
se
puede
volver
demasiado
pequeño
vale
pues
bueno
vamos
vamos
a
ver
luego
cómo
puede
cómo
puede
afectar
eso
vale
una
de
las
gracias
que
tiene
el
método
lora
es
que
al
no
modificar
los
pesos
del
modelo
original
vamos
a
evitar
el
catastrófic
porgetting
que
es
uno
de
los
problemas
típicos
que
puede
haber
al
hacer
el
ajuste
fino
de
los
modelos
cuando
utilizamos
un
learning
rate
demasiado
alto
o
no
le
metemos
un
su
suficientes
pasos
de
warm
up
o
simplemente
los
datos
que
elegimos
están
muy
fuera
de
la
distribución
de
los
datos
de
la
distribución
de
los
datos
con
los
que
originalmente
se
entrenó
el
modelo
podemos
acabar
teniendo
una
pérdida
catastrófica
de
conocimiento
y
eso
en
el
caso
de
modelos
como
mistral
o
llama
pues
es
es
algo
dramático
porque
acabamos
teniendo
una
situación
en
la
que
perdemos
un
montón
de
conocimiento
súper
útil
que
se
había
generado
durante
el
preentrenamiento
del
mismo
no
es
una
de
las
gracias
de
esto
es
que
podemos
añadir
nuevas
capacidades
al
modelo
sin
perder
las
capacidades
del
modelo
original
conservando
las
mismas
además
como
podemos
ver
en
los
gráficos
de
abajo
en
los
que
se
extraen
por
cierto
del
paper
original
de
lora
si
comparamos
lo
que
es
hacer
lora
contra
el
finet
y
un
incompleto
pues
vemos
que
tienen
unos
resultados
prácticamente
similares
no
incluso
mejores
en
algunos
casos
y
esto
tiene
que
ver
también
con
que
es
muy
difícil
encontrar
ese
equilibrio
entre
cuál
es
el
batch
y
si
el
learning
rate
correcto
de
utilizar
a
la
hora
de
hacer
finet
y
uning
para
que
generalice
bien
a
una
nueva
tarea
no
cuando
hacemos
ese
finet
y
uning
de
todos
los
pesos
al
completo
ese
digamos
que
la
receta
que
necesitamos
encontrar
no
es
tan
sencilla
cuando
utilizamos
cuando
utilizamos
el
finet
completo
como
cuando
utilizamos
lora
no
que
al
estar
entrenando
un
conjunto
de
pesos
menor
pues
digamos
que
es
bastante
más
digamos
que
es
bastante
más
sencillo
luego
viene
el
método
culora
que
juega
con
el
hecho
de
que
podemos
utilizar
los
modelos
cuantizados
en
este
caso
se
van
hasta
la
cuantización
a
cuatro
bits
incluso
y
no
perdemos
demasiado
de
la
representación
original
de
los
modelos
entonces
al
no
perder
digamos
demasiado
del
conocimiento
que
tienen
esos
modelos
porpasarlos
de
16
o
de
32
bits
a
4
bits
en
este
caso
podemos
permitirnos
lo
siguiente
ya
que
yo
no
voy
a
actualizar
los
pesos
del
modelo
original
pues
bueno
voy
a
mantenerlos
aparte
de
congelados
cuantizados
a
cuatro
bits
solo
vale
que
como
veis
en
esta
representación
de
aquí
pues
eso
reduce
muchísimo
el
tamaño
del
modelo
y
aparte
voy
a
aplicar
lora
sobre
los
sobre
las
esas
matrices
no
entonces
aparte
de
esta
innovación
de
sobre
lora
en
la
que
utilizan
los
modelos
cuantizados
se
introducen
varias
modificaciones
también
en
primer
lugar
se
introduce
el
4
bit
normal
flow
que
es
un
nuevo
tipo
de
flow
de
cuatro
bits
que
produce
mejores
resultados
que
los
enteros
de
cuatro
bits
y
los
flows
de
cuatro
bits
habituales
y
esto
lo
podéis
ver
en
los
gráficos
de
aquí
abajo
cuando
comparan
lo
que
es
el
culora
completo
contra
la
representación
en
16
bits
veis
que
no
se
pierde
rendimiento
en
absoluto
no
además
aplican
una
doble
cuantización
en
la
que
se
cuantizan
también
las
constantes
de
cuantización
y
esto
reduce
aún
más
el
tamaño
del
modelo
de
nuevo
en
el
gráfico
de
la
derecha
podéis
ver
que
esto
no
reduce
lo
que
es
el
performance
el
rendimiento
del
modelo
no
baja
por
el
hecho
de
hacer
esa
doble
cuantización
y
además
introducen
una
nueva
mejora
añadida
que
son
los
optimizadores
paginados
los
page
optimizers
que
lo
que
producen
es
que
se
eviten
los
picos
de
memoria
la
hacer
gradient
checkpointing
con
consecuencias
muy
largas
vale
que
funcionan
de
esta
forma
que
podemos
ver
en
la
derecha
transmitiendo
los
gradientes
de
la
gpu
a
la
cpu
vale
entonces
esto
nos
permite
que
todos
desde
casa
podamos
entrenar
modelos
de
lenguaje
gigantes
porque
si
nos
vamos
hace
un
año
y
medio
un
modelo
de
7
billones
de
parámetros
es
un
modelo
gigante
aunque
ahora
lo
comparemos
con
otros
como
groc
que
salió
ayer
y
nos
parezca
muy
pequeñito
en
realidad
estamos
hablando
de
modelos
muy
grandes
y
el
hecho
de
que
esto
lo
podamos
entrenar
en
gpus
de
gaming
como
la
que
puede
tener
mucha
gente
en
su
casa
pues
es
algo
verdaderamente
fascinante
y
es
lo
que
ha
hecho
también
que
se
empuje
mucho
la
innovación
en
todo
este
campo
entonces
clara
es
una
técnica
fundamental
de
cara
a
que
podáis
entrenar
modelos
suficientemente
grandes
con
los
datos
que
habéis
generado
para
el
para
el
jacatón
acuerdo
está
es
una
técnica
que
no
puede
faltar
por
supuesto
pero
es
que
además
viene
más
y
es
que
hace
unos
meses
surgió
esto
del
rango
estabilá
es
lora
y
es
que
ocurría
lo
siguiente
con
lora
y
incluso
con
culora
observábamos
que
cuando
el
rango
de
esa
matriz
que
veíamos
antes
vuelvo
a
enseñarla
cuando
este
rango
era
demasiado
grande
lo
que
ocurría
es
que
no
estábamos
aprovechando
ese
rango
tan
grande
o
sea
por
el
hecho
de
hacer
más
grande
esa
matriz
que
en
principio
debería
darle
al
modelo
mayor
capacidad
de
captar
las
visitudes
de
ese
dominio
de
esa
tarea
en
concreto
no
estábamos
pudiendo
aprovecharlo
y
no
se
traducía
en
un
mejor
rendimiento
ni
en
un
mejor
aprendizaje
y
esto
lo
podéis
ver
en
este
gráfico
de
aquí
en
la
que
en
el
que
como
veis
de
hecho
empeora
el
rendimiento
del
modelo
cuando
le
subimos
el
rango
sobre
todo
por
encima
de
128
de
acuerdo
cuando
le
subimos
el
rango
por
encima
de
ese
número
ya
vemos
que
no
conseguimos
mejoras
de
hecho
empeora
el
método
y
esto
tiene
que
ver
con
las
explosiones
del
gradiente
o
los
gradientes
desvanecientes
y
esto
ocurre
por
ese
término
del
que
hablábamos
antes
que
por
eso
lo
he
enseñado
ese
término
de
ajuste
que
tenemos
aquí
de
gamma
su
r
que
es
igual
a
alfa
partido
de
re
vale
cuando
ese
término
se
sigue
la
la
formulación
de
la
hora
ese
término
se
puede
volver
demasiado
pequeño
y
eso
nos
lleva
a
problemas
y
entonces
estos
tipos
demuestran
que
cuando
eso
en
lugar
de
seguir
esa
forma
tiene
una
forma
más
del
tipo
1
partido
de
la
raíz
cuadrada
dr
aquello
es
bastante
más
estable
y
de
hecho
como
podemos
ver
en
los
gráficos
de
la
derecha
cuando
aplicamos
rancas
tabela
islora
si
que
vemos
que
aumentar
el
rango
hastalos
2048
como
sería
esperable
pues
sí
que
produce
mejoras
significativas
ya
que
le
estamos
dando
más
margen
al
modelo
más
pesos
al
modelo
para
poder
ajustarse
para
poder
adaptarse
a
ese
dominio
o
a
esa
tarea
específica
de
acuerdo
entonces
esto
simplemente
a
la
hora
de
implementarlo
simplemente
lo
aplicamos
así
vale
o
sea
simplemente
partimos
ese
parámetro
alfa
que
le
introducimos
al
que
le
introducimos
al
peft
lo
partimos
de
la
raíz
cuadrada
dr
y
en
peft
esto
ya
está
implementado
y
simplemente
tendremos
que
pasar
un
parámetro
us
rslora
igual
a
true
aquí
podemos
ver
algunos
resultados
sobre
el
empty
bench
vale
y
es
que
veíamos
que
cuando
aplicábamos
lora
con
un
rango
de
16
los
resultados
eran
prácticamente
iguales
que
cuando
aplicábamos
un
rango
de
256
que
en
realidad
luego
a
nivel
computacional
es
muchísimo
más
costoso
de
acuerdo
se
estamos
gastando
recursos
por
decirlo
de
alguna
manera
lo
tonto
vale
porque
no
estamos
traduciendo
ese
mayor
gasto
en
recursos
en
un
mejor
rendimiento
del
modelo
sin
embargo
cuando
aplicamos
rslora
con
el
rango
de
256
si
que
vemos
una
mejora
bastante
significativa
vale
tanto
en
el
primer
turno
como
en
el
segundo
turno
y
como
vemos
aquí
de
media
pues
la
mejora
ya
es
bastante
notable
entonces
vamos
a
ver
ahora
cómo
aplicar
esto
con
las
librerías
de
having
face
voy
a
enseñaros
para
yo
un
notebook
como
todas
las
dependencias
nos
vienen
con
autotransformers
simplemente
haciendo
pip
install
autotransformers
ya
vamos
a
instalar
peft
bits
and
bytes
transformers
data
sets
y
trl
creo
que
no
me
dejo
ninguna
ninguna
librería
que
son
las
librerías
que
vamos
a
utilizar
para
esto
vale
dejadme
un
segundo
que
cambie
el
kernel
aquí
ya
lo
tengo
yo
instalado
vale
entonces
hacemos
el
importe
las
librerías
y
lo
primero
con
lo
que
nos
encontramos
es
con
la
plantilla
de
chat
diréis
que
es
esto
del
chat
template
que
es
esta
string
tan
rara
que
nos
está
poniendo
este
señor
aquí
por
favor
es
lunes
basta
de
brome
bueno
pues
esta
string
tan
rara
es
lenguaje
y
ya
que
es
un
lenguaje
para
definir
plantillas
esta
plantilla
lo
que
define
es
un
bucle
sobre
una
serie
de
mensajes
en
el
que
en
función
del
rol
que
tengamos
en
ese
en
cada
uno
de
los
mensajes
pues
vamos
a
formatear
la
string
de
una
manera
vale
entonces
cuando
viene
un
rol
user
vamos
a
coger
el
contenido
y
le
vamos
a
hacer
un
bocadillo
con
un
tag
de
user
y
un
cierre
del
tag
de
user
asimismo
cuando
nos
viene
un
mensaje
del
sistema
que
sería
el
mensaje
del
sistema
de
nuestro
chatbot
o
de
nuestro
modelo
instruccional
le
vamos
a
hacer
también
un
wrapper
con
ese
hashtag
de
sistema
y
el
cierre
del
sistema
y
para
la
asista
vamos
a
añadir
simplemente
el
cierre
vale
y
vamos
a
asumir
que
la
asista
viene
siempre
después
del
user
entonces
el
cierre
del
user
va
a
ser
en
realidad
el
inicio
de
la
asista
con
lo
cual
aquí
podemos
meter
simplemente
el
cierre
y
muy
importante
le
añadimos
también
el
token
de
final
de
secuencia
y
esto
es
súper
importante
porque
es
lo
que
va
a
favorecer
que
este
asista
no
se
quede
hablando
eternamente
sino
que
sepa
más
o
menos
cuando
parar
que
esté
acostumbrado
a
generar
ese
token
de
final
de
secuencia
y
que
por
lo
tanto
cuando
luego
lo
vayamos
a
poner
en
producción
o
vayamos
a
poner
a
probar
nuestro
modelo
este
modelo
nos
dé
unas
respuestas
en
las
que
oye
pues
sepa
cuando
cuando
callarse
no
que
eso
también
también
es
importante
no
solamente
saber
qué
decir
sino
también
saber
en
qué
momento
terminar
de
hablar
y
adicionalmente
como
vamos
a
utilizar
contextos
adicionales
y
esto
también
pues
os
sirve
si
alguno
estáis
utilizando
contextos
adicionales
en
vuestra
construcción
del
corpus
si
tenemos
un
input
en
el
rol
input
pues
le
vamos
a
hacer
también
un
bocadillo
con
esta
señal
esta
marca
de
abrir
el
input
y
este
cierre
del
vale
entonces
ahora
vamos
a
ver
en
un
ratito
cómo
aplicamos
este
chat
template
vale
a
través
del
toquenizador
a
todos
nuestros
chat
de
momento
ejecutamos
y
vamos
ahora
a
hacer
la
carga
del
data
set
he
decidido
a
utilizar
el
data
set
del
jacatón
del
año
pasado
somos
en
el
pque
fue
una
traducción
del
alpaca
pues
se
limpió
luego
con
con
ayuda
de
argila
estoy
viendo
preguntas
que
compartís
es
el
colab
que
vale
el
colab
lo
tenéis
os
lo
voy
a
ir
pasando
vale
os
paso
el
link
vale
porque
esto
lo
tengo
subido
está
público
dadme
medio
segundo
y
lo
voy
a
subir
por
aquí
lo
voy
a
pasar
por
el
chat
para
que
lo
tengáis
todos
disponible
y
podáis
seguirlo
en
en
git
hub
digo
en
google
colab
disculpad
que
hablar
y
a
la
vez
estar
buscando
esto
no
se
me
cortan
los
circuitos
vale
a
ver
lo
tengo
casi
vale
voy
a
copiaros
el
link
por
aquí
por
el
chat
medio
segundín
que
me
pide
autenticarme
con
la
cuenta
de
youtube
esto
pues
cosas
del
cosas
del
directo
vale
y
así
podéis
seguirlo
mientras
lo
estoy
haciendo
yo
que
seguro
que
es
mucho
más
útil
para
para
todos
ya
me
está
dejando
entrar
vale
publico
el
comentario
por
aquí
vale
ahí
tenéis
el
link
no
me
ha
dejado
comentarlo
no
sé
si
lo
puede
pasar
marías
lo
voy
a
dejar
aquí
por
el
chat
privado
vale
así
cuando
pueda
lo
comparte
vale
entonces
volvemos
a
nuestro
código
después
de
cargar
el
el
data
set
vamos
a
generar
una
función
para
mapear
este
data
set
al
formato
que
esperamos
vale
al
formato
deseado
entonces
primero
le
vamos
a
añadir
el
sistema
el
mensaje
del
sistema
y
esto
se
añade
los
chat
van
a
ser
una
lista
vale
o
sea
cada
chat
va
a
ser
una
lista
con
diccionarios
con
dos
llaves
rol
y
content
en
primer
lugar
tendremos
que
meter
el
sistema
en
este
caso
pues
le
decimos
que
eres
un
asistente
que
resuelve
las
instrucciones
del
usuario
si
se
proporciona
contexto
adicional
utiliza
esa
información
para
completar
la
instrucción
lo
pongo
un
poquito
más
grande
para
que
lo
veáis
todos
bien
en
segundo
lugar
vamos
a
añadir
el
input
si
éste
existe
porque
hay
algunas
instancias
del
data
set
en
las
que
no
tenemos
un
contexto
adicional
si
el
input
no
es
non
e
y
no
es
una
cadena
vacía
lo
añadimos
de
acuerdo
entonces
añadimos
un
diccionario
que
sea
el
rol
input
y
luego
el
contenido
y
luego
le
hacemos
una
extenta
a
esa
lista
para
añadirle
la
intervención
tanto
del
usuario
con
el
rol
user
como
la
de
la
sista
de
acuerdo
y
esto
nos
va
a
dejar
luego
una
columna
messages
que
va
a
tener
una
lista
como
ésta
que
hemos
creado
a
lo
largo
de
a
lo
largo
de
esta
función
entonces
esta
función
la
podemos
aplicar
a
todos
los
elementos
del
data
set
con
el
método
map
la
aplicamos
que
no
había
ejecutado
esta
celada
se
está
cargando
alejandro
si
una
cosa
el
enlace
de
hijab
si
que
va
pero
el
colab
no
lo
puedes
abrir
en
colab
y
compartir
el
colab
porque
no
o
sea
tampoco
creo
que
la
gente
asistentes
puedan
abrirlo
no
se
abre
esto
no
a
ver
vale
a
ver
bueno
de
igual
lo
abro
desde
aquí
si
o
sea
si
compartes
la
url
y
ya
la
compartes
no
me
deja
mi
abrirlo
tampoco
desde
el
cola
y
desde
desde
cola
puedes
dejar
puedo
quitar
de
pantalla
si
les
llevamos
todos
estos
colab
espera
lo
subo
si
no
dame
un
segundo
voy
a
abrir
el
google
cola
directamente
y
lo
subo
como
un
notebook
si
lo
que
no
funciona
es
el
enlace
luego
lo
relleno
igual
mítico
de
que
lo
haces
en
cola
y
lo
guardas
y
después
lo
modificas
en
githab
o
algo
así
y
al
final
no
están
no
sé
algo
pasó
ahí
mientras
tanto
si
no
es
mucho
para
abrir
tu
cerebro
o
cuando
quitarlo
buscando
cosas
y
respondiendo
si
quieres
te
preguntan
cuáles
son
los
requisitos
mínimos
para
correr
en
local
esto
corre
con
15
gigas
esto
que
vamos
a
ver
hoy
o
sea
yo
lo
diseñé
para
que
corra
en
una
gpu
de
hasta
15
gigas
como
las
que
nos
dan
en
google
cola
estoy
copiando
el
enlace
al
al
cola
vale
lo
paso
a
ver
si
me
deja
ponerlo
aquí
en
los
comentarios
no
me
deja
comentar
no
me
deja
ponerlo
creo
que
es
stream
yard
piensa
que
estoy
haciendo
algo
malo
vale
te
lo
pasa
a
ti
y
mirá
si
lo
puedes
poner
si
vale
perfecto
ya
sí
que
ahora
sí
entonces
esto
debería
debería
dejarlo
ejecutar
en
google
colapsing
problema
perfecto
yo
por
la
mayor
velocidad
en
el
en
el
seminario
lo
voy
a
hacer
aquí
en
local
pero
vamos
corre
igual
y
revise
en
todo
momento
que
la
gpu
no
pasará
de
no
pasará
de
los
de
los
15
gigas
de
uso
de
memoria
vale
si
alguno
tenéis
una
gpu
más
potente
o
bueno
me
comentaba
maría
quelas
gpu
del
jacatón
tienen
hasta
24
gigas
como
está
que
estoy
utilizando
yo
ahora
en
esas
podéis
subirle
ahora
lo
veremos
donde
el
tamaño
de
secuencia
vale
si
si
queréis
podéis
subirle
el
tamaño
de
secuencia
a
8192
y
probablemente
no
haya
ningún
problema
eso
sí
armaros
un
poquito
más
de
paciencia
porque
tardará
tardará
un
poco
más
bueno
entonces
vemos
que
con
el
método
más
le
podemos
llamar
a
este
proceso
al
paca
vale
y
ya
nos
va
a
dejar
un
data
set
que
tiene
esta
pinta
que
tiene
esta
pinta
vale
tenemos
aquí
los
meses
10
entonces
si
yo
busco
pues
el
primer
elemento
de
ese
data
set
y
vemos
los
meses
tienen
esta
pinta
vale
tenemos
una
lista
que
está
formada
por
diccionarios
vale
pues
por
ejemplo
escribió
una
reseña
de
libro
los
juegos
del
amno
y
aquí
pues
tenemos
lo
que
dice
el
asistente
entonces
ahora
vamos
a
la
definición
de
los
argumentos
de
entrenamiento
aquí
para
que
esto
corra
tranquilamente
en
google
colab
le
puse
un
batch
size
de
1
vale
pero
con
un
gradient
accumulation
steps
de
16
esto
es
importante
para
que
tengamos
un
batch
size
decente
vale
porque
si
entrenamos
de
uno
en
uno
no
vamos
a
aprender
mucho
de
todas
formas
cuando
entrenamos
como
de
con
lora
o
con
culora
podemos
utilizar
batch
size
más
bajos
que
los
que
solemos
utilizar
cuando
hacemos
un
finciunin
completo
con
lo
cual
con
un
batch
size
entre
4
y
16
normalmente
funciona
bien
tampoco
es
fácil
hacer
funcionar
bien
a
estos
métodos
de
lora
o
estos
métodos
de
culora
con
batch
sizes
por
encima
de
16
vale
cuando
subimos
de
los
16
cuesta
un
poquito
más
hacerlo
aprender
le
metemos
un
pequeño
warm
up
radio
también
el
learning
rate
lo
cogemos
directamente
del
paper
de
culora
vale
este
es
el
rango
de
learning
rates
que
se
suelen
utilizar
cuando
entrenamos
loras
están
en
el
orden
del
m
-
4
entonces
en
función
de
si
el
modelo
es
más
grande
más
pequeño
pues
podremos
utilizar
un
batch
en
un
learning
rate
un
poquito
más
grande
o
más
pequeño
si
utilizamos
modelos
por
encima
de
los
7
billones
de
parámetros
o
mejor
dicho
por
encima
de
los
13
normalmente
pues
querremos
bajar
un
poquito
este
le
re
en
ré
y
le
pondremos
a
lo
mejor
1
de
-4
con
este
modelo
tan
pequeñito
en
realidad
podríamos
ponerle
13
-
4
y
iría
bastante
bien
también
vale
o
sea
ahí
luego
pues
la
gracia
es
experimentar
también
con
estos
valores
y
también
para
eso
está
el
jacatón
no
para
que
para
que
podáis
experimentar
entonces
luego
le
ponemos
un
scheduler
constante
vale
esto
también
es
otra
diferencia
con
lo
que
es
el
típico
fine
tuning
en
el
que
solemos
tener
un
scheduler
lineal
de
cayente
aquí
normalmente
mantenemos
el
learning
rate
constante
a
lo
largo
del
entrenamiento
vale
luego
pues
tenemos
aquí
otros
parámetros
como
el
max
gran
norm
a
0
con
3
que
suele
funcionar
bastante
bien
para
favorecer
también
que
no
haya
olvido
catastrófico
vale
esto
también
ayuda
muchos
de
estos
parámetros
están
sacados
del
trabajo
de
guanaco
y
de
otros
trabajos
que
ha
habido
en
los
últimos
meses
con
modelos
de
tipo
culóra
vale
que
funcionan
bastante
bien
luego
vemos
que
tenemos
este
optimizador
paginado
de
adam
vale
ya
hemos
visto
antes
que
el
método
culora
trabaja
con
optimizadores
paginados
ya
está
integrado
directamente
en
transformers
utilizamos
gradient
checkpointing
porque
si
no
de
otra
manera
probablemente
sí
vamos
a
tener
problemas
de
memoria
sobre
todo
en
en
google
cola
y
luego
pues
tenemos
otros
parámetros
como
cada
cuántos
steps
queremos
guardarlo
y
cada
cuántos
steps
queremos
evaluar
al
modelo
vale
yo
en
mi
caso
aquí
también
tengo
puesto
bf
16
a
true
vale
pero
esto
sólo
vale
en
arquitectura
san
pere
con
lo
cual
cuando
estéis
utilizando
google
colab
esto
habrá
que
cambiarlo
por
fp
16
igual
a
tru
vale
entonces
vamos
a
definir
los
parámetros
los
argumentos
del
entrenamiento
y
ahora
vamos
a
cargar
el
toquenizador
vamos
a
cargar
directamente
el
modelo
de
gema
2b
utilizamos
un
tamaño
máximo
de
secuencia
de
4096
de
nuevo
si
estáis
utilizando
gpu
de
24
gigas
podéis
subir
esto
un
poquito
yprobablemente
con
8192
todavía
os
quepa
esto
también
depende
mucho
del
vuestro
data
set
si
en
vuestro
data
set
no
tenéis
datos
que
vayan
a
llegar
a
los
4096
bueno
pues
esto
no
tiene
no
tiene
mucho
efecto
vale
pues
cargamos
el
toquenizador
le
pasamos
toquen
igual
a
tru
si
estáis
en
google
colab
o
en
un
entorno
remoto
por
favor
acordaros
de
hacer
hagan
face
la
login
de
acuerdo
la
hacemos
hagan
face
la
login
para
pasarle
nuestro
toquen
de
hagan
feis
ya
que
los
modelos
gema
nos
piden
autorización
vale
para
poder
acceder
a
ellos
el
acceso
es
gratuito
y
está
abierto
a
todo
el
mundo
pero
hay
que
pedirles
permiso
primero
como
ocurría
al
principio
creo
que
ya
no
con
los
modelos
de
llama
2
vale
entonces
bueno
no
os
olvidéis
de
hacer
esto
porque
si
no
os
va
a
dar
un
error
en
algún
en
algún
sitio
luego
cosas
importantes
hay
que
añadirle
el
toquen
especial
de
pade
vale
esto
es
súper
importante
también
porque
no
queremos
que
el
toquen
de
pade
y
el
de
fin
de
secuencia
sean
el
mismo
esa
es
una
mala
práctica
de
cara
a
entrenar
modelos
para
instrucciones
vale
esto
también
es
importante
que
lo
tengamos
en
cuenta
y
aquí
es
donde
viene
el
chat
template
esa
string
tan
fea
que
habíamos
definido
antes
la
vamos
a
meter
en
este
apartado
vale
simplemente
toquen
aizer
punto
chat
template
es
igual
a
chat
template
luego
veremos
cómo
aplicarlo
ya
veréis
que
está
súper
impegado
esto
en
hagan
feis
vamos
a
ejecutar
vaya
antes
lo
digo
voy
a
hacer
el
hagan
feis
el
a
login
esto
es
lo
que
pasa
por
borrar
la
caché
vale
entonces
le
pego
mi
toquen
y
esto
nos
va
a
cargar
el
toquenizador
de
acuerdo
entonces
ahora
necesitamos
definir
una
función
de
formateo
del
chat
y
esta
función
lo
único
que
va
a
hacer
es
para
cada
uno
de
esos
mensajes
que
teníamos
antes
o
sea
para
cada
una
de
esas
listas
que
tienen
los
mensajes
en
ese
formato
de
diccionarios
vamos
a
hacer
un
aplica
template
y
simplemente
utilizándose
esa
plantilla
de
ginga
que
hemos
definido
antes
ya
esto
nos
va
a
dejar
los
mensajes
en
un
formato
perfecto
para
el
modelo
todos
en
el
mismo
formato
vale
es
muy
importante
luego
que
esto
lo
utilicemos
también
en
inferencia
ya
que
si
no
vamos
a
enseñar
al
modelo
con
un
tipo
de
chat
y
luego
le
vamos
a
pedir
que
funcione
con
otro
tipo
de
chat
si
esto
no
va
a
ser
posible
esto
es
para
evitar
esa
práctica
tan
horrible
de
crear
funciones
que
pegan
strings
y
que
dentro
de
una
string
luego
le
metes
el
mensaje
del
usuario
y
tal
eso
es
una
malísima
práctica
entonces
para
evitar
todo
esto
la
gente
de
hagan
feis
muy
amablemente
pues
han
introducido
este
tema
de
los
chat
templates
vale
que
nos
ayuda
muchísimo
y
nos
facilita
muchísimo
la
vida
aquí
lo
vamos
a
poner
con
toquen
a
isa
false
porque
es
lo
que
espera
el
trainer
de
sct
vale
de
la
librería
terriere
y
simplemente
ya
lo
que
vamos
a
devolver
en
este
format
chat
es
textos
completos
vale
vamos
a
devolver
una
lista
de
textos
entonces
metemos
esto
aquí
vamos
a
ahora
definir
el
lora
aquí
vamos
a
definirle
un
rango
bastante
alto
este
o
este
valor
de
nuevo
va
a
depender
mucho
de
los
recursos
que
tengamos
si
tenemos
a
nuestra
mano
una
gpu
pues
eso
de
24
gigas
como
estas
que
tenéis
al
alcance
para
el
jacatón
podéis
probar
incluso
con
un
valor
un
poquito
más
alto
mientras
mantengáis
el
tamaño
de
secuencia
en
4.096
y
vais
a
ver
que
utilizando
el
reselora
esto
os
va
a
ofrecer
algunas
ventajas
vale
es
muy
importante
utilizar
el
reselora
porque
si
no
nos
sirve
de
nada
utilizar
este
64
aquí
podemos
simplemente
utilizar
16
y
nos
va
a
salir
más
a
cuenta
luego
definimos
el
alfa
de
32
que
es
un
valor
que
suele
funcionar
bien
en
líneas
generales
también
una
cosa
que
se
ve
en
el
paper
de
culora
es
que
debemos
aplicar
lora
en
todas
las
capas
lineales
y
esto
es
un
poco
para
compensar
esa
cuantización
del
modelo
mientras
que
en
el
paper
del
hora
solamente
se
aplicaba
esa
esa
proyección
algunas
de
las
capas
lineales
como
era
en
la
matriz
q
y
k
en
este
caso
lo
vamos
a
aplicar
a
todas
las
capas
lineales
del
modelo
vale
tanto
a
las
proyecciones
up
and
down
y
a
todas
las
capas
lineales
entonces
estosimplemente
en
lora
config
simplemente
tenemos
que
definirlo
como
online
y
vamos
a
definir
un
dropout
de
010
como
una
rule
of
thumb
tenemos
aquí
lo
dejo
para
que
lo
tengáis
que
normalmente
un
valor
de
0
con
1
para
los
modelos
de
menos
de
13
billones
de
parámetros
funciona
bien
y
que
si
son
modelos
más
grandes
podemos
utilizar
un
valor
un
poquito
más
bajo
de
0
con
05
y
funciona
bastante
bien
eso
vale
entonces
así
definimos
este
entrenamiento
con
lora
vamos
a
definir
también
con
bits
and
bytes
lo
que
es
la
configuración
de
culora
cargamos
el
modelo
en
4
bits
vamos
a
utilizar
doble
cuantización
para
ahorrar
un
poquito
más
de
espacio
en
memoria
utilizamos
el
normal
flow
de
4
bits
vale
como
tipo
y
luego
para
los
cálculos
vamos
a
utilizar
en
mi
caso
b
flow
16
en
el
caso
de
que
estéis
en
arquitecturas
no
han
pere
por
favor
cambia
cesto
por
flow
16
vale
ya
que
de
otra
manera
nos
va
nos
va
a
funcionar
entonces
los
que
estéis
ahora
mismo
en
google
colab
cambia
lo
por
flow
16
ejecutamos
esto
cargamos
el
modelo
pasándole
la
configuración
de
cuantización
le
decimos
de
nuevo
que
toquen
igual
a
tru
vale
porque
sino
no
nos
va
a
dejar
hacerlo
y
eso
lo
voy
a
ir
ejecutando
ya
porque
tardará
un
poquito
en
cargarlo
y
luego
tenemos
que
utilizar
estas
funciones
de
pf
para
preparar
el
modelo
para
entrenamiento
cuantizado
vale
entonces
le
pasamos
esta
función
de
preparer
model
4
kbit
reining
se
lo
pasamos
al
modelo
y
le
decimos
que
vamos
a
usar
gradient
checkpointing
y
luego
ya
tenemos
el
modelo
simplemente
llamando
a
get
get
peft
model
vale
pasándole
el
modelo
y
la
configuración
del
hora
que
hemos
definido
previamente
cuando
activamos
el
gradient
checkpointing
importante
le
tenemos
que
pasar
yuz
kase
yuz
kache
igual
a
force
de
acuerdo
entonces
esto
ya
lo
tenemos
y
ahora
una
cosa
que
es
también
súper
importante
y
que
esto
se
ha
demostrado
que
además
es
vital
para
tener
buenos
resultados
en
el
entrenamiento
de
instrucciones
de
nuevo
créditos
para
el
equipo
del
proyecto
guanaco
que
fueron
de
los
primeros
que
empezaron
a
decir
estas
cosas
y
tenían
toda
la
razón
del
mundo
yo
luego
experimentado
con
esto
y
sin
esto
y
definitivamente
cambia
la
cambia
la
historia
el
caso
es
que
hay
algunos
algunas
capas
en
concreto
las
capas
del
hora
tenemos
que
asegurarnos
por
supuesto
de
que
están
en
b
flow
16
o
si
estáis
en
arquitectura
no
amperé
en
flow
16
pero
luego
las
capas
de
normalización
necesitamos
que
tengan
mucha
precisión
esas
capas
son
muy
importantes
que
tengan
mucha
precisión
y
es
por
eso
que
las
usamos
en
flow
32
directamente
vale
esas
capas
de
normalización
las
vamos
a
tener
en
flow
32
además
la
cabeza
del
modelo
de
lenguaje
y
la
matriz
de
embeddings
del
inicio
del
modelo
de
lenguaje
las
vamos
a
querer
tener
en
b
flow
16
también
de
nuevo
esto
si
estáis
en
google
colab
por
favor
flow
16
en
lugar
de
b
flow
16
vale
entonces
esto
es
algunos
ajustes
de
los
tipos
para
decir
vale
que
tenemos
el
modelo
cuantizado
a
4
bits
pero
no
queremos
tener
todo
el
modelo
cuantizado
a
4
bits
habrá
algunos
pesos
que
querremos
tener
en
una
precisión
mayor
para
evitar
perder
demasiado
rendimiento
vale
estos
son
los
pesos
que
se
ha
demostrado
que
tienen
mayor
impacto
a
la
hora
de
cuantizarse
si
los
cuantizamos
vamos
a
perder
rendimiento
y
eso
por
supuesto
es
algo
que
no
queremos
así
que
los
pasamos
al
tipo
adecuado
entonces
una
vez
tenemos
esto
ya
podemos
pasar
a
definir
el
trainer
y
entrenar
para
eso
definimos
el
sft
trainer
le
pasamos
el
modelo
le
pasamos
los
argumentos
de
entrenamiento
que
hemos
definido
previamente
el
data
set
de
entrenamiento
el
de
validación
una
función
para
formatear
el
chat
que
ya
hemos
definido
antes
y
que
utiliza
ese
apply
chat
template
y
un
tamaño
máximo
de
secuencia
que
en
este
caso
lo
hemos
fijado
en
4096
una
vez
el
trainer
está
definido
ahora
está
mapeando
generando
el
el
data
set
tokenizado
podemos
llamar
al
método
frame
entonces
vamos
a
ver
ahora
cómo
empieza
a
entrenar
el
modelo
no
nos
vamos
a
quedar
por
supuesto
aquí
esperando
a
quetermine
de
termine
de
entrenar
el
modelo
porque
tardará
bastante
vale
simplemente
nos
quedamos
aquí
viendo
pues
que
esto
funciona
adecuadamente
vale
ya
veis
que
está
ya
aquí
lo
queando
la
pérdida
vamos
a
comprobar
el
uso
de
la
memoria
de
gpu
bueno
veis
que
ahora
mismo
está
en
9
gigas
nada
más
vale
con
lo
cual
os
sobra
completamente
con
los
15
gigas
de
una
gpu
de
google
colac
para
para
entrenar
con
el
data
set
alpaca
que
quizás
pues
no
tiene
no
tiene
más
de
un
turno
y
por
lo
tanto
pues
no
van
a
no
va
a
ser
demasiado
grande
ninguno
de
los
ejemplos
que
tengamos
aquí
vale
si
estamos
utilizando
un
data
set
un
poco
más
grande
es
posible
que
sí
que
se
llegue
a
ese
máximo
de
4096
que
hemos
marcado
y
por
lo
tanto
pues
ahí
pues
tendríamos
que
hacer
algunos
otros
algunos
otros
ajustes
vale
pero
ya
veis
que
ahora
mismo
me
está
ocupando
9
gigas
esto
y
bueno
le
quedarían
unas
tres
horas
y
como
aunque
seguro
que
además
de
uno
sobre
todo
para
los
que
es
sea
la
mañana
ahora
mismo
os
encantaría
pasar
tres
horas
de
un
lunes
viendo
aquí
logs
de
un
modelo
de
lenguaje
vamos
a
detener
de
momento
este
entrenamiento
y
vamos
a
volver
un
segundo
a
la
presentación
bueno
entonces
ahora
vamos
a
hablar
de
neftune
neftune
es
un
método
que
sale
hace
unos
pocos
meses
aquí
os
dejo
el
link
al
al
paper
que
consiste
principalmente
en
introducir
un
poquito
de
ruido
a
la
matriz
de
embeddings
y
esto
pues
parece
que
mejora
las
métricas
que
obtenemos
luego
en
diferentes
benchmarks
que
hay
de
instruction
tuning
no
entonces
el
método
consiste
principalmente
en
los
siguientes
en
primer
lugar
creamos
un
vector
de
ruido
uniforme
que
llamamos
epsilon
con
valores
que
van
de
menos
uno
a
uno
este
vector
de
ruido
lo
vamos
a
escalar
por
un
parámetro
esto
es
un
hiperparámetro
del
método
alfa
dividido
entre
la
raíz
cuadrada
de
la
longitud
de
la
secuencia
por
la
dimensión
del
modelo
vale
entonces
con
este
parámetro
de
alfa
los
autores
prueban
con
los
valores
de
5
de
10
y
de
15
vale
con
esos
tres
valores
pues
más
o
menos
experimentan
que
se
obtienen
resultados
razonables
no
hay
un
valor
concreto
de
todos
ellos
que
digamos
este
es
mejor
pues
como
todo
depende
un
poco
del
caso
de
uso
vale
y
ahí
pues
yo
sinsto
a
experimentar
y
a
probar
diferentes
valores
con
los
que
con
los
que
bueno
pues
poder
experimentar
diferentes
rendimientos
del
método
esto
de
método
aumenta
considerablemente
el
tamaño
de
las
secuencias
que
se
genera
no
se
se
vuelve
mucho
más
verboso
mucho
más
hablador
mucho
más
parlanchín
el
modelo
vale
esto
lo
tenemos
que
tener
en
en
cuenta
también
y
estos
además
pues
los
autores
analizan
que
tiene
algo
que
ver
con
el
rendimiento
percibido
ya
sabéis
que
evaluar
modelos
de
instrucciones
es
muy
difícil
en
este
caso
lo
están
evaluando
con
el
alpaca
eval
y
esto
utiliza
modelos
de
lenguaje
grandes
como
gpt4
por
detrás
para
llevar
a
cabo
la
evaluación
de
acuerdo
entonces
qué
quiero
deciros
con
esto
lo
que
quiero
deciros
es
que
al
final
para
los
modelos
de
lenguaje
grandes
lo
que
parece
que
está
claro
es
que
las
secuencias
más
largas
las
respuestas
más
largas
esas
instrucciones
más
detalladas
resulta
por
los
modelos
pues
se
perciben
como
mejores
instrucciones
o
mejores
respuestas
digamos
a
las
instrucciones
del
usuario
y
este
método
pues
lo
que
se
observa
es
que
mejora
el
rendimiento
en
general
como
podemos
ver
en
este
gráfico
de
aquí
abajo
vale
veis
que
produce
una
mejora
pues
en
algún
caso
de
15
puntos
en
otro
caso
de
8
de
9
de
7
incluso
de
34
puntos
en
el
caso
del
data
set
alpaca
aunque
en
el
truzo
el
qe
o
sea
para
lo
que
es
cuestión
answer
infactual
no
parece
que
se
observen
mejoras
notorias
no
y
los
autores
bueno
pues
no
terminan
de
tener
del
todo
claro
lo
podéis
ver
en
su
paper
a
qué
se
debe
del
todo
está
mejora
ellos
sueltan
un
poco
la
hipótesis
y
tiene
ciertos
sentidos
y
lo
pensamos
de
que
al
meterle
un
poquito
de
ruido
a
los
envidings
del
modelo
hacemos
que
este
sea
un
poco
más
robusto
porque
no
hacemos
hacemos
que
larepresentación
que
tiene
de
las
instrucciones
que
recibe
del
usuario
no
sean
perfectas
y
aún
así
tiene
que
producir
una
respuesta
perfecta
frente
a
instrucciones
que
están
ruidosas
no
y
eso
puede
hacer
que
sea
un
poco
más
robusto
que
y
que
fuera
de
distribución
pues
generalice
un
poquito
mejor
esta
es
un
poco
la
hipótesis
que
plantean
los
autores
y
en
la
práctica
pues
funciona
bastante
bien
de
hecho
pues
un
mítico
como
leuist
un
tal
ponía
iba
a
decir
hace
poco
porque
este
mes
se
me
ha
pasado
muy
rápido
yo
todavía
lo
tenía
en
la
en
la
cabeza
cuando
estaba
preparando
la
charla
me
acordaba
y
decía
bueno
sí
hace
unos
días
bueno
hace
ya
un
mes
leuist
un
tal
compartía
este
post
en
linkedin
en
el
que
decía
bueno
aquí
tenéis
una
receta
muy
muy
simple
pero
que
funciona
no
que
es
una
mezcla
de
neftune
y
este
paper
que
dice
long
is
more
for
alignment
que
básicamente
lo
que
hace
es
que
te
quedas
con
los
mil
ejemplos
más
largos
más
largos
en
respuesta
es
decir
más
largos
en
los
que
la
respuesta
de
la
gente
del
asistente
es
más
larga
vale
y
esto
tiene
sentido
además
porque
son
de
esos
ejemplos
de
los
que
más
aprendemos
cuando
el
asistente
tiene
que
dar
unas
respuestas
más
detalladas
porque
tiene
que
hacerlo
más
paso
a
paso
y
por
lo
tanto
se
ve
mejor
el
proceso
de
razonamiento
que
tiene
que
seguir
y
eso
está
muy
relacionado
con
lo
que
se
observa
en
otros
papers
como
el
orca
en
los
que
se
ve
que
ese
tipo
de
razonamiento
paso
a
paso
ese
chano
thought
pues
hace
que
los
modelos
desarrollen
mayores
capacidades
no
entonces
simplemente
cogiéndote
los
mil
ejemplos
más
largos
del
data
set
por
ejemplo
en
este
caso
era
en
el
open
hermes
data
set
en
este
caso
era
un
cero
como
uno
por
ciento
nada
más
del
data
set
y
luego
lo
que
hacía
era
aplicar
un
neftune
con
alfa
de
de
valentos
aquí
tenéis
este
truquillo
que
parece
que
funciona
bastante
bien
y
vamos
a
ver
ahora
cómo
implementar
todo
esto
con
la
librería
auto
transformers
que
nos
simplifica
un
poquito
todo
el
trabajo
con
este
tipo
de
modelos
vale
sobre
esto
pues
vamos
a
ir
un
poquito
rápido
porque
ya
hemos
introducido
y
ya
sabéis
cuáles
son
todos
los
pasos
creamos
en
primer
lugar
la
plantilla
de
chat
como
hemos
hecho
antes
vale
usamos
la
misma
plantilla
vamos
a
cargar
el
data
set
y
le
vamos
a
aplicar
esta
función
de
instrucción
tu
chat
que
viene
en
autotransformers
y
que
ya
nos
permite
pues
con
diferentes
formatos
que
tengamos
de
data
sets
de
tipo
instrucciones
pasarlos
a
un
formato
conversacional
como
el
que
espera
como
el
que
esperan
estos
modelos
vale
yo
siempre
os
recomiendo
pasar
del
formato
instrucciones
a
un
formato
conversacional
aunque
nada
más
sea
de
un
de
un
turno
vale
entonces
simplemente
le
aplicamos
esta
función
de
transformación
partimos
entre
y
en
test
como
antes
y
ahora
en
autotransformers
hay
tres
objetos
principales
por
un
lado
está
el
data
set
config
o
sea
la
configuración
del
data
set
por
otro
lado
está
la
configuración
del
modelo
el
modelo
config
y
por
otro
lado
está
el
autotrainer
es
decir
el
autentrenador
la
gracia
de
autotransformers
es
que
vamos
a
poder
iterar
sin
mucho
esfuerzo
por
múltiples
data
sets
con
múltiples
modelos
vale
lo
que
recibe
el
autotrainer
es
son
una
lista
de
model
configs
y
una
lista
de
data
set
config
entonces
empezamos
definiendo
algunos
parámetros
algunos
argumentos
de
entrenamiento
fijos
por
los
que
no
me
voy
a
detener
mucho
porque
son
exactamente
los
mismos
que
hemos
utilizado
antes
solo
que
en
formato
diccionario
de
acuerdo
estos
van
a
ser
fijos
para
todos
los
data
sets
que
queramos
luego
tenemos
que
configurar
el
el
data
set
de
alpaca
y
aquí
pues
le
pasamos
el
nombre
un
alias
le
decimos
que
no
entrene
al
final
le
vamos
a
decir
que
la
tarea
es
chatbot
como
por
defecto
él
ya
se
va
a
ir
a
buscar
el
campo
messages
no
tenemos
que
indicárselo
si
no
habría
que
indicárselo
en
alguno
en
uno
de
los
parámetros
del
data
set
config
lo
tenemos
aquí
el
chat
field
vale
en
lugar
de
messages
pues
si
tenemos
el
campo
chat
pues
chat
field
igual
a
chat
vale
se
lo
indicamos
aquíle
decimos
que
tenemos
ya
el
data
set
precargado
tenemos
múltiples
formas
de
cargar
data
sets
aquí
en
autotransformers
podéis
ver
más
en
la
documentación
y
como
no
tenemos
un
conjunto
de
validación
bueno
pues
le
decimos
que
queremos
que
lo
cree
vale
pues
esto
con
el
parcial
de
street
nos
lo
va
a
crear
entonces
esto
lo
metemos
dentro
de
un
data
set
config
lo
cargamos
con
ese
diccionario
que
define
la
configuración
vamos
ahora
con
la
configuración
del
modelo
volvemos
a
definir
la
configuración
del
lora
igual
que
hemos
hecho
antes
y
esto
se
lo
vamos
a
introducir
al
model
config
vamos
a
pasar
a
cargar
ahora
el
modelo
de
gema
2b
igual
que
hemos
hecho
antes
lo
vamos
a
guardar
con
el
nombre
gema
barra
baja
2b
y
en
el
directorio
pues
en
el
directorio
gema
2b
alpaca
tenemos
aquí
un
rapper
que
nos
va
a
hacer
todos
los
pasos
necesarios
de
culora
vale
entonces
simplemente
lo
hemos
importado
antes
el
culora
rapper
model
in
it
se
lo
metemos
aquí
al
model
in
it
wrap
class
y
le
vamos
a
pasar
también
pues
la
quantization
config
que
de
nuevo
también
está
integrada
dentro
de
la
librería
autotransformers
con
lo
cual
se
puede
importar
directamente
del
submódulo
lm
templates
le
pasamos
la
configuración
de
peft
que
hemos
definido
justo
arriba
este
lora
config
y
ahora
le
vamos
a
decir
que
el
neftune
nois
alfa
va
a
ser
de
10
vale
como
siguiendo
un
poco
el
consejo
del
ego
y
estrustal
y
tenemos
un
trainer
que
ya
está
preparado
para
utilizar
esto
de
neftune
vale
entonces
le
vamos
a
pasar
este
neftune
trainer
que
va
a
utilizar
ya
esto
internándolo
con
el
trainer
de
transformers
tenemos
una
función
también
para
modificar
el
toquenizador
que
es
esta
modify
tokenizer
y
se
la
podemos
pasar
directamente
al
model
config
vale
para
que
internamente
luego
utilice
esta
función
para
modificar
el
toquenizador
le
decimos
que
el
tamaño
máximo
de
secuencia
será
de
4096
de
nuevo
le
decimos
que
añada
un
pattoquen
a
los
especial
tokens
y
que
añada
un
chat
template
lo
definimos
entonces
ahora
vamos
a
lanzar
el
autotrainer
le
pasamos
como
veis
una
lista
de
model
config
una
lista
de
data
set
config
un
sitio
donde
guardar
las
métricas
en
este
caso
pues
métrix
alpaca
en
este
caso
no
vamos
a
hacer
búsqueda
hiperparámetros
con
lo
cual
le
pasamos
que
el
modo
de
búsqueda
hiperparámetros
será
fixed
aquí
con
este
tipo
de
modelos
lo
normal
es
no
buscar
mucho
hiperparámetros
porque
suelen
ser
entrenamientos
bastante
pesados
no
suele
llevar
bastante
tiempo
a
entrenar
con
lo
cual
aquí
pues
lo
normal
es
que
lo
utilicemos
en
el
modo
en
el
método
fijo
y
que
utilicemos
este
autotrainer
para
entrenar
distintos
modelos
vale
para
probar
por
ejemplo
pues
con
un
modelo
mistral
con
un
modelo
llama
de
7b
y
con
el
gema
de
7b
por
ejemplo
y
simplemente
metiéndome
aquí
las
tres
configuraciones
pues
ya
él
va
a
generar
el
bucle
y
mientras
nosotros
pues
nos
podemos
dedicar
a
leer
papers
o
a
cualquier
otra
cosa
que
nos
guste
le
decimos
que
utilice
el
token
de
autenticación
vale
ya
que
de
otra
manera
gema
pues
no
va
a
funcionar
esperad
que
aquí
claro
que
no
ejecuta
el
hora
con
filfetal
y
una
vez
tenemos
cargado
el
autotrainer
ya
podemos
llamarlo
y
nos
devolverá
los
resultados
vale
entonces
esto
ya
pues
ahora
se
pondrá
a
funcionar
y
ahora
bueno
si
estáis
oyéndolo
de
repente
parece
que
estoy
en
una
nave
espacial
porque
la
gpu
ahora
pues
está
empezando
a
funcionar
no
sé
si
ha
llegado
a
la
gpu
pero
por
lo
menos
el
data
set
se
está
se
está
tocanizando
porque
este
de
aquí
abajo
suena
bastante
pues
bueno
volvamos
un
segundo
a
la
presentación
que
ya
en
nada
empezamos
los
turnos
de
preguntas
que
creo
que
es
la
parte
más
más
interesante
de
esta
sesión
de
hoy
pues
bueno
cómo
conseguir
estos
regalos
que
mencionaba
que
hay
uno
que
es
para
todos
otro
que
será
a
sorteo
vale
en
primer
lugar
seguid
a
lenguagenatural.ai
en
el
link
en
internet
aquí
el
link
vale
lenguagenatural.ai
después
de
linkedin.com/company
comparte
por
favor
nuestros
posts
sobre
autotransformers
y
nuestra
academia
recién
creada
con
tu
redtenéis
los
posts
dentro
de
la
página
de
lenguagenatural.ai
dale
una
estrellita
al
repo
de
autotransformers
en
kit
hab
dadle
un
poquito
de
un
poquito
de
amor
y
escríbeme
en
mi
link
linkedin
personal
que
es
alejandro
guionvaca
guion
serrano
para
canjear
este
este
premio
y
obtener
ese
60
por
ciento
de
descuento
en
el
en
el
curso
experto
en
procesamiento
del
lenguaje
natural
y
hasta
aquí
la
parte
de
charleta
mía
ahora
empieza
la
que
creo
que
es
la
parte
más
más
interesante
en
la
que
podéis
hacerme
preguntas
y
esto
se
vuelve
un
poquito
más
más
dinámico
así
que
muchas
gracias
a
todos
por
vuestra
atención
y
por
vuestro
tiempo
y
dejo
que
maria
me
vaya
pasando
aquí
la
patata
caliente
perfecto
muchas
gracias
alejandro
es
súper
interesante
como
siempre
y
que
bien
que
al
final
le
hayamos
podido
compartir
el
colegio
o
sea
que
bueno
a
ver
si
se
va
animando
la
gente
podéis
preguntarle
cualquier
cosa
dale
ahí
pero
bueno
me
las
vas
pasando
sí
sí
sí
ahora
igual
hay
alguna
ya
por
aquí
bueno
esto
creo
que
ya
lo
respondiste
te
preguntaban
cuál
es
el
nombre
del
lenguaje
para
interfaz
del
chat
para
la
interfaz
del
chat
a
bueno
yo
creo
que
es
la
string
no
como
el
chat
y
ya
y
ya
y
yo
creo
que
era
eso
sí
es
y
ya
vale
sé
que
es
feo
el
y
ya
pero
le
cogeréis
cariño
enseguida
porque
luego
ya
vais
a
ver
que
a
la
hora
de
poner
los
modelos
en
producción
funcionan
mucho
mejor
cuando
se
han
entrenado
con
una
plantilla
en
concreto
es
mucho
más
fácil
luego
aplicar
esa
plantilla
directamente
a
los
mensajes
que
vengan
en
producción
y
ya
directamente
pues
el
modelo
ve
el
mismo
tipo
de
mundo
al
que
le
hemos
acostumbrado
durante
el
ajuste
fino
entonces
ya
veréis
que
le
cogeréis
cariño
perfecto
vale
alias
no
se
pregunta
si
esta
plantilla
de
hecho
depende
del
modelo
al
que
se
va
a
hacer
finings
es
que
si
no
se
puede
mirar
la
estructura
que
tiene
que
tener
la
plantilla
si
depende
del
esperar
que
voy
a
parar
el
entrenamiento
que
creo
que
esto
está
sí
está
apetando
verdad
si
se
ha
petado
tu
tu
vídeo
si
sí
sí
está
apetando
todo
no
para
el
entrenamiento
a
tiempo
a
ver
si
me
da
tiempo
a
hacer
el
país
antes
de
que
termine
de
explotar
todo
en
medio
segundo
ahí
Dios
si
a
ver
vale
ahora
va
ahora
sí
sí
vale
bueno
es
lo
que
tiene
los
talleres
sobre
entrenamiento
de
modelos
de
lenguaje
que
de
repente
ponemos
a
la
vez
a
google
chrome
y
a
gemma
aquí
a
competir
por
los
recursos
del
ordenador
y
nada
se
ponen
celosos
el
uno
del
otro
y
tiran
cada
uno
para
un
lado
con
respecto
a
esto
de
la
plantilla
el
chat
que
depende
que
si
depende
del
modelo
que
se
va
a
hacer
20
mira
hay
plantillas
ya
definidas
en
la
mayoría
de
los
modelos
de
chat
que
están
disponibles
en
abierto
la
de
gemma
por
ejemplo
no
me
gusta
mucho
porque
no
tiene
una
parte
de
sistema
y
tampoco
os
vais
a
encontrar
con
general
no
tienen
una
parte
para
el
input
vale
o
sea
no
tienen
un
campo
definido
para
el
input
tanto
la
de
llama
como
la
de
gemma
como
la
de
en
general
no
tienen
un
campo
definido
para
el
input
es
muy
importante
que
si
tengan
un
campo
siempre
para
el
sistema
del
input
es
un
poco
opcional
y
dependerá
de
vuestro
caso
de
uso
de
si
estáis
utilizando
algún
contexto
adicional
o
no
por
ejemplo
cuando
estáis
entrenando
para
tareas
de
rag
sí
que
sería
muy
interesante
pues
tener
ese
input
añadido
no
esto
se
puede
mirar
directamente
en
la
configuración
del
toquenizador
en
hagin
face
o
sea
si
os
metéis
aquí
estoy
compartiendo
aquella
pantalla
y
esperad
que
esto
está
con
mis
toques
también
medio
segundo
que
busco
el
modelo
de
gb
más
7b
tranquilo
estás
compartiendo
o
sea
no
se
ve
ahora
mismo
ahora
se
ve
ahora
sí
o
sea
los
lo
pongo
yo
me
refiero
o
sea
que
tú
cuando
me
quieres
cuando
quieras
compartir
me
avisas
y
la
vais
y
os
fijáis
aquí
tenéis
el
chat
en
play
aquí
se
ve
horrible
porque
esto
es
una
string
así
de
mala
manera
pero
esto
si
le
hacéis
un
print
vale
a
todo
esto
pues
lo
podéis
ver
un
poquito
mejor
pues
lo
tenéis
directamente
en
el
chat
en
play
aquí
estoy
por
ejemplo
viendo
el
de
jema
vale
pero
si
me
meto
en
el
de
llama
instru
como
se
llama
aquí
porejemplo
no
cómo
se
llama
el
de
aquí
el
chat
que
cada
uno
pone
pone
los
números
diferentes
aquí
también
si
os
fijáis
sí
que
viene
uno
que
tiene
el
sistema
vale
y
aquí
ya
pues
viene
el
resto
de
la
string
entonces
aquí
tenéis
esa
plantilla
predefinida
si
vais
a
partir
de
un
modelo
que
ya
está
entrenado
para
instrucciones
sí
que
pues
puede
ser
conveniente
utilizar
la
misma
plantilla
que
ha
utilizado
ese
modelo
originalmente
vale
pero
vamos
esto
es
completamente
opcional
y
si
tenéis
un
suficiente
volumen
de
datos
no
será
necesario
sino
que
podréis
simplemente
pues
partir
de
vuestra
propia
plantilla
pero
si
vais
a
utilizar
el
de
a
machate
o
jema
instrucción
tuning
pues
conviene
utilizar
el
suyo
y
aquí
podéis
podéis
mirarlo
vale
más
preguntillas
maria
no
sé
si
se
ha
caído
yo
voy
a
ir
voy
a
ir
mientras
respondiendo
más
cosas
parece
que
hay
otra
librería
llamada
igual
te
da
error
pues
no
me
habría
dejado
subir
la
librería
subir
a
otra
llamada
igual
ya
estás
de
vuelta
no
me
cuenta
que
no
tenía
batería
nada
no
te
preocupes
estaba
estaba
respondiendo
a
la
siguiente
con
las
y
quieres
es
esto
de
parece
que
hay
otra
librería
llamada
igual
y
estaba
comentando
que
justo
realmente
originalmente
la
iba
a
llamar
auto
lm
es
y
y
finalmente
no
pude
llamar
la
auto
lm
es
porque
había
una
se
llamaba
muy
parecido
auto
lm
es
en
pip
en
papay
y
por
eso
no
me
dejó
o
sea
que
no
permite
papay
que
haya
dos
librerías
llamadas
llamadas
igual
entonces
no
sé
mira
a
ver
si
las
he
escrito
si
las
he
escrito
bien
si
haces
pip
install
auto
transformers
sólo
te
debería
instalar
esta
sí
para
ti
cual
que
el
lm
que
el
lm
se
deja
utilizar
en
el
personal
trabajé
mucho
con
llama
bueno
sin
duda
llama
es
una
es
una
gran
alternativa
y
además
atentos
porque
viene
llama
3
dentro
de
muy
poquito
así
que
atentos
todos
a
ese
link
de
ya
en
lecún
que
seguro
que
lo
anunció
dentro
de
muy
poquito
llama
por
supuesto
es
una
gran
alternativa
sobre
todo
en
lo
que
se
refiere
al
multidioma
y
bueno
pues
a
nosotros
para
el
lenguaje
castellano
por
supuesto
funcionan
muy
bien
pero
yo
en
mi
experiencia
por
ejemplo
me
gusta
mucho
también
mi
estral
sobre
todo
porque
tiene
una
atención
con
con
ventana
de
4096
tokens
con
sliding
window
y
eso
permite
que
puedas
utilizar
un
tamaño
de
secuencia
bastante
mayor
con
un
coste
lineal
en
lugar
de
cuadrático
porque
lo
que
es
el
campo
receptivo
no
deja
de
estar
en
4096
entonces
dependiendo
un
poco
del
caso
de
uso
por
ahí
tenéis
varios
benchmarks
también
depende
por
ejemplo
si
vas
a
hacer
algo
relacionado
con
las
matemáticas
o
con
el
código
en
cuyo
caso
pues
normalmente
los
modelos
de
llama
sobre
todo
de
13b
en
adelante
pues
van
a
funcionar
bastante
mejor
si
queremos
que
nuestro
modelo
de
lenguaje
haga
cuentas
por
ejemplo
que
haga
análisis
sobre
un
report
financiero
así
lo
más
probable
es
que
llama
funciona
un
poquito
mejor
pero
a
mí
mi
estral
también
me
gusta
mucho
los
modelos
de
gemas
tienen
la
ventaja
de
que
hay
uno
de
dos
billones
y
que
por
lo
tanto
es
mucho
más
usable
es
más
fácil
de
entrenar
con
menos
recursos
y
demás
pero
mi
experiencia
es
que
me
parece
que
han
incluido
pocos
datos
multilinguaje
me
parece
que
está
muy
centrado
en
el
lenguaje
inglés
y
en
español
pues
no
funciona
tan
bien
probablemente
serían
los
tres
así
más
relevantes
sin
olvidarnos
por
supuesto
de
los
modelos
de
este
y
vol
lm
que
también
funcionan
bastante
bien
luego
están
los
modelos
falcon
que
funcionan
un
poquito
peor
por
mi
experiencia
personal
entonces
yo
por
enfocarlo
me
quedaría
principalmente
con
los
tres
primeros
que
hemos
dicho
mistral
llama
y
gelma
y
de
en
y
hace
poco
también
está
está
cogiendo
popularidad
los
métodos
de
rwk
v
es
un
nombre
horrible
lo
sé
pero
esta
arquitectura
está
cogiendo
también
bastante
popularidad
y
están
trabajando
también
en
el
multidioma
recientemente
y
además
el
coste
de
inferencia
es
bastante
más
bajo
así
que
por
el
bien
del
medio
ambiente
y
de
vuestras
carteras
también
pues
mantenez
un
ojo
en
ellos
genial
en
alias
nos
pregunta
bueno
primero
no
lo
voy
a
por
la
charla
y
después
nos
pregunta
aver
si
recomiendas
el
uso
del
lanz
mi
fuego
similar
para
monitorizar
los
modelos
en
uso
bueno
siempre
es
un
placer
ver
a
alex
focus
por
aquí
gracias
por
gracias
por
asistir
yo
fíjate
creo
que
ahora
mismo
tenemos
todos
un
pequeño
vacío
una
pequeña
laguna
en
el
tema
de
la
evaluación
de
los
modelos
yo
no
me
caso
con
ninguna
librería
en
particular
a
mí
la
métrica
que
más
me
gusta
probablemente
sea
el
semántica
en
ser
similar
y
sobre
todo
para
tareas
de
rwk
ahí
me
parece
que
es
donde
nos
resulta
más
fácil
evaluar
sin
tenernos
que
ir
a
modelos
a
modelos
muy
grandes
luego
pues
hay
diferentes
alternativas
como
como
está
que
comentas
de
langsmeef
para
el
tema
de
la
monitorización
y
esa
evaluación
a
mí
ninguna
de
ellas
me
termina
de
convencer
demasiado
sobre
todo
porque
al
final
casi
siempre
solemos
utilizar
en
el
background
solemos
utilizar
modelos
de
lenguaje
demasiado
grandes
para
para
esa
evaluación
y
a
mí
eso
es
algo
que
claro
sobre
todo
también
por
la
cartera
pues
pues
no
me
termina
de
convencer
en
el
open
source
hay
una
alternativa
que
es
la
métrica
prometeus
lo
que
pasa
es
que
solamente
está
en
inglés
en
la
que
bueno
pues
han
entrenado
modelos
llama
para
evaluar
que
aprenden
a
evaluar
entonces
lo
que
hacen
es
aprender
a
imitar
esa
evaluación
que
solemos
hacer
con
que
solemos
hacer
con
gpt4
por
detrás
pero
si
hay
varias
alternativas
yo
no
me
termino
de
casar
con
ninguna
la
verdad
yo
me
yo
opto
por
ese
semanticancer
similarity
que
pese
a
que
es
un
poco
más
antiguo
y
demás
a
mí
me
parece
que
cumple
un
buen
equilibrio
entre
una
gran
evaluación
y
a
la
vez
es
barato
porque
es
medio
gratis
y
como
tira
de
sentence
transformes
por
debajo
pues
podemos
utilizar
modelos
modelos
multilingües
genial
gracias
ahora
y
dos
preguntas
que
son
bastante
similares
entonces
te
las
leo
las
combinamos
un
poco
y
y
les
vale
cuántos
datos
consideras
buenos
para
un
entrenamiento
decente
bueno
decentes
como
todo
muy
subjetivo
en
caso
de
que
quieras
generar
tu
propia
data
sete
bueno
que
esto
es
más
bien
pues
porque
están
generando
sus
propios
data
sets
y
no
saben
cuánto
necesitan
vale
como
la
dopamina
siempre
más
la
otra
que
es
similar
bueno
es
similar
pero
tampoco
tanto
si
un
documento
es
muy
grande
salen
cientos
de
páginas
en
un
pdf
cuántos
pares
de
instrucciones
necesitan
para
que
abar
que
el
documento
si
quieres
después
separar
las
responder
separadamente
vamos
a
responderlas
por
separado
yo
creo
bueno
aparte
de
la
broma
no
necesariamente
necesitamos
siempre
más
no
y
de
hecho
hay
trabajos
como
Lima
o
como
este
trabajo
que
hemos
mostrado
antes
de
long
is
more
for
alignment
que
muestran
que
lo
que
necesitamos
muchas
veces
no
es
más
datos
sino
que
los
datos
sean
más
completos
entonces
depende
mucho
también
de
cuánto
puede
aprovechar
el
modelo
cada
uno
de
esos
datos
si
por
ejemplo
las
respuestas
que
tiene
el
asistente
en
esos
datos
son
muy
cortas
pues
vamos
a
necesitar
un
volumen
bastante
mayor
pero
si
las
respuestas
son
detalladas
muy
paso
a
paso
pueden
mostrar
el
proceso
completo
de
razonamiento
que
tendría
que
seguir
el
modelo
para
llegar
a
la
conclusión
del
mensaje
y
demás
en
ese
caso
podemos
conformarnos
probablemente
con
un
número
entre
500
y
1000
elementos
si
estos
parece
mucho
nos
preocupéis
o
sea
siempre
pues
cuanto
más
cerca
podamos
estar
de
eso
mejor
no
pero
con
técnicas
como
neftune
quizás
pues
podemos
entrenar
durante
más
épocas
y
le
metemos
un
poquito
de
ruido
y
podemos
romper
esa
barrera
que
suele
haber
con
este
tipo
de
entrenamiento
de
culora
en
la
que
vemos
que
normalmente
entrenar
más
de
una
época
no
es
útil
pero
entrenar
más
de
una
época
con
neftune
pues
sí
que
produce
buenos
resultados
esto
lo
mostraba
también
el
lego
instruxtal
en
el
post
que
he
puesto
que
he
puesto
antes
no
entonces
mi
consejo
es
que
primero
cuidéis
la
calidad
de
cada
fila
o
sea
es
muchísimo
más
importante
que
cada
fila
sea
de
mucha
calidad
que
el
modelo
puede
aprender
trazas
completas
de
razonamiento
de
cada
uno
de
esosdatos
y
luego
ya
nos
vamos
al
volumen
pero
sobre
todo
que
que
haya
densidad
de
pensamiento
digamos
en
la
en
cada
una
de
esas
filas
ese
es
mi
consejo
particular
y
luego
una
vez
cumplimos
eso
pues
a
más
mejor
calidad
antes
que
cantidad
si
siempre
genial
entonces
ahora
la
otra
pregunta
sobre
los
datos
si
tienen
documentos
muy
grandes
sentos
de
páginas
en
un
pdf
cuántos
pares
instrucciones
se
necesitarían
para
barcar
todo
el
documento
es
que
eso
depende
mucho
del
tamaño
de
secuencia
máximo
que
permita
el
modelo
si
trabajamos
con
el
modelo
gema
por
ejemplo
pues
está
entrenado
con
tamaños
de
secuencia
de
8000
de
8192
que
es
bastante
grande
si
trabajamos
con
llama
pues
ya
nos
tenemos
que
bajar
a
4192
o
con
los
modelos
stable
el
em
pero
por
ejemplo
con
mistral
no
hay
ningún
problema
por
entrenar
con
16384
o
incluso
32000
tokens
no
dependiendo
también
pues
de
los
recursos
que
que
tengamos
entonces
depende
mucho
del
tamaño
de
secuencia
que
permita
nuestro
nuestro
modelo
también
depende
del
caso
de
uso
final
que
vayamos
a
usar
si
por
ejemplo
el
caso
de
uso
final
es
un
sistema
de
ra
de
retriba
la
argumenta
de
generación
tenemos
que
tener
en
cuenta
que
normalmente
los
modelos
de
la
parte
de
recuperación
de
información
no
tienen
un
tamaño
de
secuencia
muy
grande
y
esto
además
tiene
un
sentido
no
me
voy
a
poner
aquí
a
filosofar
pero
en
el
paper
de
m3
que
son
unos
modelos
de
embedding
que
se
sugiron
hace
hace
poco
pues
hacen
un
pequeño
análisis
y
tal
y
hace
poco
el
no
me
acuerdan
a
mí
mismo
de
su
nombre
pero
el
líder
de
sentence
transformers
pues
publicaba
una
reflexión
al
respecto
en
el
link
edin
no
de
que
los
modelos
por
la
tarea
que
resuelven
los
modelos
de
recuperación
de
información
no
deben
tener
un
tamaño
de
secuencia
mucho
más
grande
que
512
entonces
lo
normal
es
que
recuperáramos
pues
de
entre
4
y
10
pasajes
vale
con
lo
cual
lo
normal
es
que
podamos
tener
luego
como
cuatro
turnos
como
mucho
de
conversación
con
respecto
a
esos
pasajes
recuperados
como
para
que
nos
entre
en
un
máximo
de
8192
tokens
pensando
sobre
todo
en
mistral
y
en
jema
más
o
menos
por
ahí
podemos
andar
no
sé
si
eso
responde
del
todo
a
la
pregunta
yo
creo
que
si
tienen
una
follow-up
la
pueden
escribir
y
si
por
supuesto
si
ahora
tenemos
una
pregunta
sobre
autotrain
porque
este
año
en
el
jacatón
también
hay
facebook
a
trocina
gpu
también
autotraik
entonces
pues
también
a
los
equipos
a
utilizarlo
y
creo
que
lo
que
te
piden
más
que
nada
son
recomendaciones
para
los
valores
más
habituales
bat
size
model
maxlain
y
debas
entrenando
es
que
depende
si
de
con
qué
formato
entrenemos
y
con
lora
culora
o
haciendo
full
fine
tuning
entendiendo
que
es
full
fine
tuning
mi
recomiendo
digo
perdona
entendiendo
que
es
lora
o
culora
que
es
como
normalmente
se
suelen
entrenar
estos
modelos
de
instrucciones
yo
diría
que
el
bat
size
total
es
decir
teniendo
en
cuenta
el
bat
size
real
más
el
credienta
cumulación
steps
que
estemos
como
en
los
16
más
o
menos
entre
8
y
16
probablemente
funcione
bastante
bien
con
el
respecto
al
tamaño
máximo
de
secuencia
del
modelo
pues
eso
depende
también
de
los
datos
ya
habéis
visto
que
en
el
caso
de
alpaca
por
ejemplo
pues
elevar
mucho
el
tamaño
de
secuencia
hasta
los
4192
pues
tampoco
me
servía
de
mucho
no
porque
las
instrucciones
eran
en
general
bastante
breves
con
lo
cual
eso
depende
mucho
de
los
de
los
datos
si
tenéis
datos
grandes
digamos
o
sea
si
tenéis
conversaciones
suficientemente
grandes
yo
ese
tamaño
máximo
de
secuencia
intentaría
tenerlo
en
4192
y
si
dan
los
recursos
en
8000
perdona
en
4196
en
8192
entre
entre
esos
valores
normalmente
estaremos
bien
y
con
respecto
al
bat
al
learning
rate
que
es
el
otro
parámetro
que
solemos
querer
tocar
dependiendo
del
tamaño
del
modelo
entre
1
de
-4
y
3
de
-4
encontraremos
buenos
resultados
genial
creo
que
también
tenían
dudas
sobre
las
épocas
porque
la
ley
ya
que
estamos
con
autotrain
de
que
depende
el
número
de
épocas
o
cómo
podemos
mirar
comodefinir
también
porque
también
es
un
valor
que
también
viene
por
defecto
y
yo
aquí
los
fíjate
que
normalmente
entrenando
modelos
de
instrucciones
o
conversacionales
hay
como
una
rule
of
thumb
de
entrena
por
una
época
y
no
entrenes
más
y
la
verdad
es
que
normalmente
funciona
bien
esa
esa
rule
of
thumb
cuando
los
modelos
son
un
poco
más
pequeños
es
decir
yo
en
cada
vez
esa
rule
of
thumb
la
he
sacado
con
mi
experiencia
de
modelos
entre
7
y
70
b
sobre
todo
entonces
claro
esto
a
lo
mejor
con
un
modelo
de
2b
pues
no
es
tan
extrapolable
y
en
el
caso
del
ego
y
esto
instal
ya
ha
enseñado
antes
que
él
mencionaba
que
hacer
15
épocas
con
neftune
alfa
a
10
y
cogiendo
solo
las
instrucciones
más
largas
eso
le
funcionaba
bastante
bien
entonces
yo
creo
que
depende
también
de
cuánto
se
pueda
aprender
de
cada
dato
si
hay
mucho
que
extraer
de
cada
dato
pues
verlo
más
de
una
vez
nos
puede
salir
rentable
si
de
cada
dato
no
hay
tanto
más
que
extraer
con
verlo
una
sola
vez
será
suficiente
normalmente
como
rule
of
thumb
ya
os
digo
yo
mi
experiencia
con
una
época
es
suficiente
y
más
normalmente
suele
derivar
en
una
degradación
del
rendimiento
del
modelo
fuera
de
distribución
con
lo
cual
no
lo
recomiendo
demasiado
perfecto
gracias
pregunta
cortita
me
he
perdido
algunas
partes
le
has
aplicado
algún
ras
a
tu
código
o
algo
por
el
estilo
no
hemos
hecho
no
hemos
hecho
rach
no
hemos
hecho
rach
eso
lo
dejamos
para
una
charla
futura
porque
ha
quedado
pendiente
originalmente
se
lo
había
propuesto
a
maría
y
me
gustaría
enseñar
un
sistema
de
rach
en
producción
pero
lo
dejaremos
para
una
futura
charla
así
que
bueno
os
dejo
ahí
el
cliffhanger
así
que
estas
pendientes
que
somos
en
el
p
vienen
cosas
todavía
después
del
jacatón
si
no
hemos
quemado
el
todo
a
maría
que
la
pobreza
está
pegando
una
paliza
ahora
más
cosas
ahora
más
cosas
otra
pregunta
qué
modelo
recó
bueno
que
lm
recomendarías
para
entrenamientos
chat
con
data
sets
de
20
mil
filas
es
un
poco
similar
pero
ya
más
hablando
de
creo
más
bien
del
tamaño
fíjate
fidos
el
problema
es
que
funciona
muy
bien
en
los
benchmarks
públicos
porque
se
ha
entrenado
con
libros
de
texto
y
es
que
los
más
públicos
se
evaluan
conocimientos
sobre
cosas
que
tienen
que
ver
sobre
libros
de
texto
pero
esto
es
el
juego
este
vicioso
en
el
que
hemos
entrado
de
que
hay
una
comparación
pública
y
unos
benchmark
públicos
y
entonces
se
convierte
en
un
juego
de
ver
cómo
de
bien
lo
puedo
hacer
ahí
porque
eso
me
da
fama
pero
yo
en
la
práctica
no
he
visto
que
ese
modelo
funcione
demasiado
bien
luego
cuando
lo
sacamos
de
esa
distribución
de
las
tareas
que
pueden
tener
que
ver
con
los
libros
de
texto
y
menos
aún
cuando
hablamos
de
datos
que
no
estén
en
inglés
desde
luego
de
esos
tres
modelos
que
mencionas
mistral
7b
microsoft
si
o
tiny
llama
para
español
desde
luego
sin
lugar
a
dudas
me
quedo
con
mistral
sin
sin
ninguna
duda
en
general
igual
se
nota
mistral
es
mi
favorito
probablemente
de
todos
los
modelos
que
hay
ahora
mismo
en
el
panorama
es
es
mi
favorito
yo
es
con
el
que
he
tenido
mejores
experiencias
y
en
general
funciona
muy
bien
la
verdad
y
si
voy
a
usar
un
modelo
tipo
llama
uso
llama
no
no
uso
el
tama
porque
se
ha
entrenado
con
muchísimos
trillones
de
tokens
son
la
gracia
de
los
modelos
llama
es
que
entrenan
mucho
más
allá
de
lo
que
el
paper
de
chinchilla
diría
que
tiene
que
ser
el
presupuesto
para
ese
tamaño
de
modelo
y
eso
les
permite
captar
muchísimo
conocimiento
o
sea
llevan
los
aprendizajes
del
paper
de
chinchilla
a
otro
nivel
entonces
o
mistral
o
llama
o
gema
si
me
tengo
que
quedar
con
tres
me
quedo
con
esos
tres
perfecto
ahora
una
pregunta
sobre
poesía
también
te
gusta
mucho
expresarte
bien
no
sé
cómo
decir
esto
bueno
me
gusta
la
poesía
no
sé
si
lo
he
dicho
alguna
vez
en
público
pero
yo
escribía
poesía
hace
mucho
tiempo
que
no
me
rompe
en
el
corazón
entonces
por
eso
lo
tengo
un
poco
abandonado
pero
me
gusta
mucho
la
poesía
y
además
hace
no
mucho
leí
un
post
sobre
sobre
este
tema
de
por
qué
los
modelos
de
lenguaje
no
son
buenosescribiendo
pues
ya
sobre
todo
yo
he
visto
que
no
son
buenos
les
dices
yo
quiero
un
soneto
y
el
y
quiero
un
soneto
quiero
versos
alejandrino
está
nada
no
te
hacen
ni
caso
porque
no
te
hacen
ni
caso
por
el
toquenizador
el
diablo
está
en
el
toquenizador
y
eso
es
una
cosa
difícil
de
superar
el
toquenizador
es
el
que
es
y
para
el
modelo
es
muy
difícil
tener
esa
conciencia
de
sí
la
vas
dentro
de
los
tokens
que
está
generando
no
entonces
en
general
decir
que
es
una
tarea
difícil
prepararlos
para
pasarlo
mal
pero
aprenderéis
mucho
precisamente
porque
es
difícil
no
cargaros
de
resiliencia
y
luego
aquí
lo
que
sí
que
os
recomendaría
en
el
caso
concreto
de
la
generación
de
poesía
es
utilizar
parámetros
de
generación
un
poquito
distintos
a
los
que
se
suelen
utilizar
la
mayoría
de
las
veces
por
supuesto
usaría
sampling
pero
usaría
sampling
con
una
temperatura
más
alta
normalmente
cuando
vamos
a
cerrar
pregunta
respuesta
preguntas
o
sistemas
de
chatbot
o
así
queremos
ir
un
poco
más
sobre
seguro
y
afilamos
mucho
la
distribución
del
siguiente
toquen
y
utilizamos
una
temperatura
de
0.3
o
0.2
incluso
en
algunos
casos
de
cero
vale
pero
normalmente
cuando
queremos
escribir
poesía
queremos
que
el
modelo
sea
un
poquito
más
creativo
para
que
sea
más
creativo
les
subimos
un
poco
esa
temperatura
y
luego
otra
cosa
que
funciona
bastante
bien
a
la
hora
de
que
el
modelo
sea
creativo
y
de
que
escriba
una
poesía
que
no
se
quede
digamos
anclada
en
lo
mismo
es
utilizar
contrast
chips
con
contrast
chips
es
una
técnica
de
generación
de
texto
que
viene
a
penalizar
los
tokens
que
tienen
una
similitud
semántica
demasiado
grande
con
el
contexto
ya
generado
y
esa
penalización
creo
que
en
el
paper
utilizaban
no
me
acuerdo
si
era
1
con
2
o
0.6
podéis
mirarlo
y
está
integrado
completamente
en
hagan
face
esto
del
contrast
chips
entonces
esto
tiene
más
que
ver
con
lo
que
es
el
después
del
fine
tuning
o
sea
una
vez
ya
el
modelo
ha
sido
ha
sido
entrenado
una
a
la
hora
de
a
la
hora
de
ponerlo
en
producción
con
respecto
al
tatasé
la
verdad
es
que
no
le
haría
un
tratamiento
muy
especial
creo
que
en
este
caso
en
concreto
el
tema
de
neftune
pues
puede
funcionar
bastante
bien
porque
lo
puede
volver
al
modelo
bastante
robusto
y
si
tenéis
alguna
instrucción
asociada
a
cada
poesía
creo
que
puede
ser
muy
bueno
para
que
el
modelo
aprenda
a
asociar
estilos
concretos
con
un
tipo
de
poesía
o
autores
concretos
o
tipos
concretos
de
poesía
no
eso
creo
que
puede
ser
muy
interesante
y
si
tenéis
ese
tipo
de
datos
o
de
metadatos
sobre
cada
poesía
podéis
enriquecer
mucho
ese
data
set
genial
yo
me
estaba
adelantando
ya
un
poco
a
la
siguiente
pregunta
porque
al
parecer
isaias
le
han
cantado
la
charla
pero
dice
que
se
pierde
un
poco
con
los
cambios
rápidos
en
las
técnicas
y
es
que
realmente
yo
diría
que
desde
este
último
año
un
poco
más
han
salido
cuatro
mil
tropejintas
diferentes
entonces
bueno
he
compartido
tu
de
hecho
tu
taller
y
los
de
manu
de
las
anteriores
ediciones
que
pues
el
año
pasado
si
quitemos
como
un
poco
más
enfoque
en
color
y
explicarlo
bien
y
que
dan
todas
estas
cuestiones
bueno
se
acabó
de
compartir
y
aparte
bueno
a
ver
si
tienes
tú
también
otras
sugerencias
para
ponerse
cómo
podría
ponerse
al
día
usar
mucho
link
yo
es
es
lo
primero
que
puedo
que
puedo
recomendar
yo
en
mi
caso
pues
es
la
red
social
que
utilizo
el
resto
de
redes
la
verdad
es
que
las
tengo
bastante
abandonadas
maría
que
se
siente
identificada
totalmente
es
es
un
consejo
ahora
ya
pues
sacándome
la
camiseta
de
lenguaje
natural
punto
hay
os
diré
que
dentro
de
poco
voy
a
empezar
con
la
newsletter
en
la
que
bueno
pues
todas
las
semanas
sacaremos
los
los
papers
más
relevantes
de
cada
semana
haremos
un
pequeño
resumen
entonces
en
lenguaje
natural
punto
hay
directamente
os
podéis
apuntar
en
esa
newsletter
de
heisel
y
me
y
cuando
empiece
pues
recibiréis
todos
los
todavía
no
he
decidido
si
son
los
domingos
o
los
lunes
tengo
que
decidir
que
día
es
mejor
para
leer
sobre
las
novedades
de
últimas
de
la
lla
pero
precisamente
creo
que
este
es
un
problemabastante
común
a
mí
también
me
pasa
o
sea
es
abrumador
la
cantidad
de
cosas
que
que
salen
yo
la
persona
con
la
que
más
hablo
por
wasps
soy
yo
mismo
porque
yo
con
cada
post
interesante
con
cada
técnica
interesante
que
va
saliendo
me
la
voy
mandando
a
mi
chat
de
wasps
y
no
me
da
tiempo
ni
siquiera
a
leerme
a
mí
mismo
entonces
es
un
poco
abrumador
con
lo
cual
tener
un
poco
pues
hay
una
newsletter
que
permita
tener
como
un
pequeño
resumen
semanal
y
tal
eso
creo
que
vendría
bastante
bien
en
castellano
creo
que
no
hay
muchas
cosas
de
esto
y
es
una
de
las
cosas
que
vamos
a
hacer
desde
desde
lenguaje
natural
punto
ahí
y
por
supuesto
miraros
todos
los
vídeos
de
somos
en
el
ep
que
hay
un
huevo
o
sea
que
tenéis
ahí
en
la
en
la
página
en
el
canal
de
youtube
también
tenéis
un
montón
de
vídeos
para
ir
poniendo
saldía
y
sobre
todo
pues
relax
y
no
sabré
un
mes
esto
es
un
mundo
maravilloso
en
el
que
ahora
lamentablemente
pues
hay
que
separar
el
grano
de
la
paja
pero
pero
llegue
mejor
eso
a
que
no
haya
movimiento
que
no
venga
otro
invierno
de
la
lla
no
lo
parece
la
verdad
no
tiene
pintado
va
seguimos
con
técnicas
de
entrenamiento
qué
herramientas
o
tecnologías
hay
disponibles
para
implementar
un
rlhf
después
de
un
finetuning
para
hacer
el
alineamiento
de
los
modelos
de
lenguaje
con
preferencias
humanas
que
es
esto
que
comentas
del
rlhf
realmente
ahora
la
técnica
que
es
más
popular
o
lo
que
más
es
lo
utilizar
es
el
daríez
referencia
optimization
porque
no
requiere
el
uso
de
un
modelo
de
recompensa
intermedio
y
los
resultados
pues
son
bastante
prometedores
también
pues
en
este
sentido
necesitamos
datos
en
castellano
para
esto
ya
he
visto
que
como
parte
de
las
iniciativas
del
jacatón
se
está
traduciendo
el
data
is
better
together
que
es
un
data
ese
precisamente
que
busca
pues
cubrir
este
tipo
de
cosas
en
autotransformers
está
integrado
ya
este
tema
del
alineamiento
lo
que
pasa
es
que
todavía
no
me
ha
dado
tiempo
a
documentarlo
porque
tengo
la
mano
un
poquito
regular
siendo
así
plenamente
honesto
vale
está
integrado
o
sea
ya
lo
podéis
utilizar
y
si
seguís
el
código
pues
es
simplemente
meterle
alignment
pasarle
un
un
dataset
que
tenga
el
prompt
el
elegido
y
el
rechazado
y
el
ya
te
hace
el
daríez
preferencia
optimización
dentro
de
poco
lo
documentaré
y
por
debajo
esto
lo
que
utiliza
es
la
librería
trl
que
dentro
de
las
librerías
de
rinforz
me
learning
from
human
feedback
es
la
que
más
recomiendo
y
luego
en
este
sentido
ha
surgido
una
técnica
nueva
a
mí
bueno
yo
vengo
del
del
mundo
de
la
economía
originalmente
aunque
igual
ya
no
lo
parece
espero
y
el
caso
es
que
bueno
en
este
mundo
de
la
economía
sobre
todo
la
economía
del
comportamiento
había
dos
tipos
que
son
canemán
y
tibersky
que
revolucionaron
el
mundo
de
la
economía
del
comportamiento
no
pues
resulta
que
han
integrado
la
teoría
de
canemán
y
tibersky
en
un
método
que
se
llama
canemán
tibersky
optimización
que
viene
a
sustituir
el
direct
preferencia
optimización
básicamente
con
recompensas
de
malo
o
bueno
o
sea
en
direct
preferencia
optimización
comparamos
el
elegido
contra
el
rechazado
intentamos
que
se
acerquen
lo
máximo
los
logics
a
los
elegidos
y
que
se
alejen
de
los
rechazados
en
en
kato
en
canemán
tibersky
optimización
simplemente
necesitamos
saber
si
la
respuesta
es
buena
o
es
mala
y
esto
es
mucho
más
realista
con
los
escenarios
que
solemos
tener
en
producción
en
los
que
por
lo
menos
yo
yo
cuando
estoy
utilizando
chat
gpt
y
a
mí
me
pone
dos
prom
dos
respuestas
no
me
molesto
en
lerme
las
dos
a
la
que
así
a
primera
vista
me
parece
mejor
la
de
hoy
y
ya
está
y
continúa
la
conversación
pero
si
es
simplemente
decirle
bien
o
mal
pues
eso
sí
que
lo
hago
y
ese
fitba
sí
que
lo
doy
no
pues
para
poder
incorporar
este
tipo
de
fitbas
que
son
más
sencillos
de
obtener
en
producción
ha
surgido
esta
técnica
que
también
pues
merece
la
pena
echarle
un
ojo
y
tenerla
en
tenerla
en
cuenta
genial
nos
vamos
cambiamos
de
tema
pero
me
encanta
esta
pregunta
crees
que
seríabeneficioso
para
todas
las
compañías
usar
lm
de
alguna
forma
y
después
que
le
dirías
a
un
ceo
para
que
vos
haces
vuestra
tecnología
son
dos
preguntas
diferentes
mira
creo
que
sería
beneficioso
para
prácticamente
cualquier
compañía
utilizar
nlp
de
alguna
forma
no
necesariamente
modelos
de
lenguaje
grandes
y
de
hecho
creo
que
se
están
matando
moscas
a
cañonazos
en
muchísimos
casos
esto
es
algo
que
además
creo
que
tú
y
yo
maría
lo
hemos
hablado
alguna
vez
o
sea
no
utilicéis
por
favor
modelo
de
lenguaje
grande
para
una
tarea
de
detección
de
entidades
vale
porque
es
que
además
están
saliendo
métodos
de
cero
shot
de
detección
de
entidades
con
modelos
encoders
que
son
mucho
más
eficientes
para
para
esto
por
ejemplo
o
para
respuesta
extractiva
preguntas
o
para
tareas
de
clasificación
para
eso
no
se
usan
en
el
lm
porque
los
lm
donde
realmente
se
desaca
provecho
es
en
la
parte
generativa
entonces
creo
que
es
beneficioso
para
casi
todas
las
compañías
implementar
tecnologías
del
lenguaje
de
manera
general
porque
casi
todas
las
compañías
trabajan
con
datos
de
texto
y
tienen
datos
de
texto
de
alguna
forma
y
por
lo
tanto
se
les
puede
sacar
provecho
mediante
este
tipo
de
tecnologías
no
los
lm
en
particular
pues
creo
que
en
el
caso
concreto
por
ejemplo
de
la
búsqueda
interna
de
documentación
a
mí
por
ejemplo
nunca
me
ha
gustado
leerme
páginas
y
páginas
de
pdf
de
documentación
interna
y
cosas
así
no
de
mi
vay
probablemente
más
de
unos
sentís
identificados
con
con
esto
pues
es
más
divertidos
y
podemos
chatar
con
con
eso
no
y
de
hecho
pues
en
muchas
empresas
esto
ya
se
está
empezando
a
usar
ahí
por
ejemplo
pues
un
caso
de
uso
que
la
inteligencia
artificial
generativa
si
creo
que
tiene
mucho
sentido
y
luego
lo
que
le
diría
un
cero
para
apostar
por
estas
tecnologías
que
dependería
mucho
de
su
sector
concreto
y
del
provecho
que
te
pueda
sacar
en
en
concreto
ese
feo
ya
os
digo
creo
que
en
general
apostar
por
tecnologías
del
lenguaje
nos
puede
hacer
comprender
mejor
a
los
empleados
comprender
mejor
al
cliente
y
incluso
facilitar
y
agilizar
muchos
de
los
procesos
que
tenemos
tanto
internos
como
externos
y
aunque
nada
más
sea
por
eso
tener
pues
integrantes
en
nuestros
equipos
que
sepan
de
esta
tecnología
creo
que
es
muy
importante
pero
necesitaría
saber
qué
tipo
de
feo
tú
dime
quién
y
le
convencimos
además
tiene
mucha
la
vida
de
chaval
así
que
sí
mira
mira
a
ti
que
te
lia
para
dar
una
charla
recomendaciones
para
la
escalabilidad
de
los
modelos
bueno
los
grandes
modelos
pues
bueno
la
primera
es
la
cuantización
hemos
hablado
de
sólo
de
un
método
de
cuantización
que
son
los
métodos
de
bits
and
bytes
que
normalmente
están
bien
para
entrenar
pero
están
surgiendo
cada
vez
más
métodos
de
cuantización
post
entrenamiento
como
los
que
son
x
llama
o
gptq
por
ejemplo
a
wq
hay
muchos
ahora
mismo
vale
pero
hay
algunos
que
permiten
cuantización
hasta
dos
y
tres
bits
entonces
está
pimiento
de
todos
esos
métodos
justo
y
ha
salido
una
librería
que
integra
muchos
de
estos
creo
que
también
es
de
hagin
face
pero
ahora
se
me
ha
ido
el
nombre
pero
era
cuantizo
o
cuantido
o
algo
o
algo
de
eso
vale
o
sea
que
está
ascendientes
porque
hay
una
librería
nueva
que
para
cuantización
en
torches
que
integra
muchos
de
estos
métodos
en
una
única
librería
eso
es
lo
primero
la
cuantización
lo
segundo
elegir
un
modelo
de
lenguaje
adecuado
en
un
tamaño
adecuado
para
la
tarea
que
queremos
realizar
por
ejemplo
para
tareas
de
matemáticas
necesitamos
modelos
muy
grandes
para
poder
hacer
las
cosas
pero
para
una
tarea
de
rach
normal
lo
normal
es
que
con
un
modelo
de
tres
siete
o
trece
de
como
mucho
pues
ya
no
salga
a
cuenta
y
eso
yo
creo
que
es
todo
luego
pues
hombre
tener
en
cuenta
también
el
tamaño
de
secuencia
máxima
que
capta
cada
uno
de
esos
modelos
y
sobre
todo
es
afinar
mucho
con
el
tamaño
adecuado
para
la
tarea
que
a
la
que
nos
estamos
dedicando
no
escalarlo
más
de
la
cuenta
la
librería
de
la
que
hablas
puede
ser
cuánto
cuánto
perfecto
puesla
comparto
y
al
encontrar
ahí
genial
es
que
ha
salido
en
el
blog
hace
nada
de
hagin
face
además
si
por
si
quieres
compartir
también
el
post
del
blog
vale
pues
lo
busco
ahora
cuando
mire
el
tema
de
gpus
se
podría
estar
el
fin
tuning
a
una
gpu
de
8
o
6
gigas
y
para
rach
bueno
tamaños
y
capacidades
utilizarla
en
rach
en
inferencia
definitivamente
sí
eso
eso
seguro
la
hora
del
fin
tuning
vamos
a
ir
muy
justitos
pero
si
ajustamos
el
tamaño
de
secuencia
definitivamente
sí
simplemente
que
nos
vamos
a
restringir
a
un
tamaño
de
secuencia
pequeñito
de
512
o
de
256
probablemente
y
el
tamaño
del
modelo
pues
probablemente
no
pueda
superar
los
2
billones
de
parámetros
que
bueno
no
está
nada
no
está
nada
mal
no
ya
podemos
adaptar
un
gema
como
el
que
hemos
visto
y
simplemente
pues
en
lugar
de
utilizar
4.096
de
tamaño
de
secuencia
pues
lo
bajamos
a
1.024
a
512
y
probablemente
sí
que
nos
pueda
entrar
en
8
o
en
6
gigas
otra
cosa
luego
es
cuánto
tarde
lo
bueno
de
estos
modulos
es
que
como
utilizan
rota
y
posicional
en
bedding
luego
puedes
o
sea
que
tú
lo
hayas
entrenado
en
unos
tamaños
de
secuencia
muy
limitados
luego
puedes
ponerlos
en
inferencia
con
tamaños
de
secuencia
mucho
mayores
y
funcionan
con
lo
cual
eso
pues
bueno
los
hace
también
más
accesibles
para
para
el
público
en
general
y
vamos
para
la
segunda
pregunta
definitivamente
sí
a
la
hora
de
hacer
inferencia
no
habría
ningún
problema
simplemente
pues
tener
en
cuenta
el
tamaño
de
secuencia
también
genial
yán
contra
blog
también
lo
compartí
y
bueno
creo
que
se
repite
un
poco
pero
ya
como
son
las
preguntas
también
las
pongo
respondemos
y
finalizamos
hay
alguna
página
re
social
para
seguirlo
para
encontrar
estos
papers
métodos
o
técnicas
de
verdad
que
lo
mismo
link
edin
y
la
nueva
newsletter
de
lenguaje
natural
punto
así
no
voy
a
seguir
haciendo
publicidad
o
sea
que
por
mencionar
otra
bueno
pues
que
sepáis
que
en
hagan
feisa
y
están
bueno
los
post
que
son
más
accesibles
pero
luego
también
están
los
papers
o
sea
hay
un
tipo
que
se
llama
acalic
que
si
le
seguís
comparte
un
montón
de
cosas
en
y
comparte
los
papers
directamente
subidos
o
sea
no
me
acuerdo
como
se
llama
hagan
feis
papers
o
algo
así
o
publicación
no
se
llama
eso
marina
es
simplemente
las
papers
también
lo
comparto
genial
y
ahí
pues
tenéis
de
muchas
publicaciones
que
van
saliendo
todos
los
días
apuntaros
a
la
newsletter
dale
y
en
caso
de
que
no
puedan
escribirte
por
link
edin
yo
creo
que
simplemente
tenéis
que
mandarle
petición
de
para
conectar
no
sí
sí
sí
de
todas
formas
deja
mi
correo
si
quieres
por
aquí
abaca
lo
pongo
por
aquí
voy
a
dejar
el
correo
a
ver
si
me
deja
escribir
yo
creo
que
simplemente
sólo
no
como
no
tienes
admin
rights
o
algo
así
espera
te
lo
paso
a
ti
aquí
vale
para
que
lo
pongas
si
alguno
nos
deja
de
escribirme
por
link
edin
hoy
se
escribirá
ese
correo
vale
y
no
gestionamos
por
ahí
es
que
el
in
que
viene
a
veces
hace
estas
cosas
y
es
verdad
que
ahora
te
tienes
también
un
máximo
de
invitaciones
en
las
que
puede
escribir
un
mensaje
también
a
pon
un
límite
en
eso
también
al
final
todo
tacata
sí
sí
sí
sí
se
está
volviendo
en
fin
vale
y
última
pregunta
creo
ya
después
de
definir
un
modelo
se
puede
implementar
en
lanchain
para
crear
un
chatbook
con
él
hay
esa
es
una
pregunta
y
si
es
así
qué
tan
recomendables
o
si
existen
mejores
técnicas
o
herramientas
que
la
ching
yo
como
soy
el
de
school
diré
que
hay
está
que
está
muy
bien
principalmente
bueno
de
y
ahí
no
no
estoy
descubriendo
nada
nuevo
es
una
empresa
muy
establecida
en
el
mundo
de
la
inteligencia
artificial
es
una
empresa
alemana
funciona
muy
bien
tiene
grandes
profesionales
y
lleva
muchos
años
haciendo
esto
de
rach
nos
acaban
de
subir
a
esta
ola
hace
hace
unos
meses
no
con
lo
cual
definitivamente
pues
es
más
es
más
fiable
esa
es
una
alternativa
haystack
luego
lanchain
donde
tiene
la
ventaja
principalmente
es
cuando
utilizamos
modelos
gigantes
propietarios
porque
solamente
con
esos
modelos
gigantes
propietarios
encontramos
una
ventaja
en
ese
encadenamiento
de
llamadasque
es
sobre
la
idea
sobre
la
cual
está
montado
el
lanchain
no
que
es
pues
ese
encadenamiento
de
llamadas
con
mucho
prompting
y
demás
un
poco
el
mismo
concepto
que
tiene
por
detrás
llama
index
yo
si
tengo
que
elegir
entre
llama
index
y
lanchain
a
mí
personalmente
pero
hoy
es
de
nuevo
creo
que
esto
es
un
poco
cuestión
de
gustos
personales
a
mí
personalmente
me
gusta
un
poco
más
llama
index
creo
que
lanchain
surgió
así
muy
rápido
y
fue
un
boom
y
probablemente
para
trabajar
así
vais
a
trabajar
con
gpt4
con
gpt3.5
lanchain
nos
va
a
funcionar
muy
bien
pero
si
vais
a
utilizar
modelos
propios
y
demás
para
eso
yo
los
desplegaría
antes
con
llama
index
o
con
haystack
a
mí
personalmente
me
gustan
más
aunque
creo
que
esto
también
pues
es
mucho
cuestión
de
gustos
incluso
podéis
combinar
las
a
mi
puede
gustar
el
splitter
de
uno
pero
me
puede
gustar
la
integración
con
bases
de
datos
vectoriales
de
otro
entonces
bueno
también
ahí
pues
yo
os
animo
a
que
vayáis
desarrollando
un
poco
vuestro
gusto
particular
pero
si
me
tengo
que
quedar
con
una
yo
me
quedo
con
el
old
school
haystack
que
lo
llevo
utilizando
muchos
años
y
funciona
muy
bien
muy
estable
perfecto
pues
creo
que
será
todo
increíble
una
hora
40
de
esta
yeri
de
buen
lunes
muchas
gracias
a
todos
por
esta
gran
participación
y
por
todas
las
preguntas
de
verdad
muchas
gracias
si
la
verdad
que
maría
por
supuesto
por
invitarme
a
ti
a
ti
por
venir
y
por
insistir
no
no
encantadísimo
la
verdad
y
creo
que
todo
el
mundo
que
ha
asistido
también
mucha
info
mi
cabeza
va
a
flotar
muy
buena
charla
dice
eso
es
buena
señal
ahora
lo
que
hay
que
hacer
es
echarse
una
siesta
genial
pues
nada
eso
de
verdad
muchas
gracias
a
lejandro
muchas
gracias
también
a
todas
las
personas
que
han
asistido
ahora
estamos
en
la
última
ruta
del
jacatón
o
sea
que
adelante
mucho
éxito
y
si
tenéis
cualquier
duda
las
podéis
seguir
preguntando
por
por
discord
y
si
hace
falta
alguna
otra
sesión
de
mentoría
o
que
respondemos
preguntas
por
por
discord
también
también
a
vuestra
disposición
vamos
a
por
ello
a
por
ello
que
yo
amante
chao
Buen
Corin.
éste