1
00:00:09,679 --> 00:00:15,660
Buenas, esto es BIMPRAXIS, el podcast donde el

2
00:00:15,660 --> 00:00:17,739
BIM se encuentra con la inteligencia artificial.

3
00:00:20,260 --> 00:00:23,500
Exploramos la ciencia, la tecnología y el futuro

4
00:00:23,500 --> 00:00:26,420
desde el enfoque de la arquitectura, ingeniería y

5
00:00:26,420 --> 00:00:27,120
construcción.

6
00:00:28,719 --> 00:00:29,440
¡Empezamos!

7
00:00:36,829 --> 00:00:41,149
Muy buenas, bienvenidas, bienvenidos a un nuevo episodio

8
00:00:41,149 --> 00:00:42,270
de BIMPRAXIS.

9
00:00:42,270 --> 00:00:45,750
Hoy os traemos TurboQuant, la técnica de Google

10
00:00:45,750 --> 00:00:48,829
que hace viable correr modelos de lenguaje gigantes

11
00:00:48,829 --> 00:00:50,270
en cualquier ordenador.

12
00:00:50,450 --> 00:00:53,369
Bueno, imaginemos por un momento intentar meter el

13
00:00:53,369 --> 00:00:56,049
océano Atlántico entero en una piscina olímpica.

14
00:00:56,109 --> 00:00:56,729
Madre mía.

15
00:00:56,770 --> 00:00:58,689
Y encina sin derramar ni una sola gota.

16
00:00:58,710 --> 00:01:01,289
Pues esa es exactamente la clase de paradoja

17
00:01:01,289 --> 00:01:03,530
física y matemática que ocurre dentro de un

18
00:01:03,530 --> 00:01:06,469
ordenador cuando un modelo de inteligencia artificial se

19
00:01:06,469 --> 00:01:07,370
queda sin memoria.

20
00:01:07,530 --> 00:01:08,890
Es un problema monumental.

21
00:01:09,290 --> 00:01:11,769
O sea, cualquiera que haya intentado experimentar con

22
00:01:11,769 --> 00:01:12,150
IA.

23
00:01:12,269 --> 00:01:14,469
De forma local, en su propia máquina, se

24
00:01:14,469 --> 00:01:16,349
ha chocado contra este mismo muro.

25
00:01:16,549 --> 00:01:18,769
Exacto, el muro del ladrillo de la memoria

26
00:01:18,769 --> 00:01:19,989
de vídeo, la VRAM.

27
00:01:20,150 --> 00:01:22,469
Te pones a procesar un texto largo, el

28
00:01:22,469 --> 00:01:24,670
modelo empieza a leer, parece que todo va

29
00:01:24,670 --> 00:01:26,230
fluido y de repente ¡pum!

30
00:01:26,329 --> 00:01:28,890
La pantalla te arroja el temido error de

31
00:01:28,890 --> 00:01:29,670
falta de memoria.

32
00:01:29,909 --> 00:01:32,129
El cerebro del sistema simplemente colapsa.

33
00:01:32,329 --> 00:01:35,510
Intenta retener demasiada información al mismo tiempo y

34
00:01:35,510 --> 00:01:36,209
no da más de sí.

35
00:01:36,469 --> 00:01:39,090
Y claro, es una frustración enorme.

36
00:01:39,390 --> 00:01:41,950
Una barrera que frena muchísima innovación.

37
00:01:42,269 --> 00:01:42,609
A nivel local.

38
00:01:43,109 --> 00:01:45,750
Por eso, la misión de nuestra inmersión profunda

39
00:01:45,750 --> 00:01:48,090
de hoy es comprender cómo el equipo de

40
00:01:48,090 --> 00:01:50,909
Google Research ha logrado algo que parecía magia.

41
00:01:51,030 --> 00:01:53,310
O directamente imposible desde el punto de vista

42
00:01:53,310 --> 00:01:54,230
matemático, fíjate.

43
00:01:54,430 --> 00:01:54,989
Totalmente.

44
00:01:55,109 --> 00:01:58,450
Han publicado un estudio donde presentan TurboQuant, que

45
00:01:58,450 --> 00:02:01,129
es una técnica que resuelve este gigantesco cuello

46
00:02:01,129 --> 00:02:01,549
de botella.

47
00:02:01,769 --> 00:02:04,629
Estamos hablando de comprimir el espacio necesario hasta

48
00:02:04,629 --> 00:02:05,549
seis veces.

49
00:02:05,810 --> 00:02:06,569
¿Una barbaridad?

50
00:02:06,709 --> 00:02:08,150
Y acelerar el proceso general.

51
00:02:08,430 --> 00:02:10,689
Pero lo más alucinante, y ojo a esto,

52
00:02:10,830 --> 00:02:11,990
es no perder...

53
00:02:12,270 --> 00:02:14,289
Absolutamente nada de precisión por el camino.

54
00:02:14,530 --> 00:02:16,810
Esto cambia por completo las reglas del juego.

55
00:02:17,150 --> 00:02:19,370
Sí, sí, es una pasada para la comunidad.

56
00:02:19,789 --> 00:02:22,949
Pero, bueno, a ver, para entender la magnitud

57
00:02:22,949 --> 00:02:25,409
de esta solución técnica, primero hay que mirar

58
00:02:25,409 --> 00:02:26,530
al problema a los ojos.

59
00:02:26,830 --> 00:02:28,849
No se puede valorar la genialidad de la

60
00:02:28,849 --> 00:02:31,229
cura si no se comprende la enfermedad, por

61
00:02:31,229 --> 00:02:31,889
así decirlo.

62
00:02:32,310 --> 00:02:32,750
Lógico.

63
00:02:32,870 --> 00:02:35,370
Y en la arquitectura de los modelos modernos,

64
00:02:35,389 --> 00:02:37,770
el gran culpable de que los sistemas agoten

65
00:02:37,770 --> 00:02:40,310
su memoria casi siempre es el mismo componente.

66
00:02:40,449 --> 00:02:42,250
El famoso caché -caché.

67
00:02:42,270 --> 00:02:43,949
El caché -cabe, o caché de claves y

68
00:02:43,949 --> 00:02:44,189
valores.

69
00:02:44,469 --> 00:02:45,689
Vale, el caché -cabe.

70
00:02:45,969 --> 00:02:48,629
Quizá convenga detenernos aquí un momentito, porque esto

71
00:02:48,629 --> 00:02:50,770
suena a jerga de ingeniería muy densa.

72
00:02:51,069 --> 00:02:51,969
Ya, es verdad.

73
00:02:52,169 --> 00:02:54,650
Pero en el fondo representa la lógica más

74
00:02:54,650 --> 00:02:57,289
básica de cómo lee una inteligencia artificial.

75
00:02:57,810 --> 00:03:00,150
¿Cómo le visualizaríamos esto a alguien ajeno a

76
00:03:00,150 --> 00:03:01,270
la programación de bajo nivel?

77
00:03:01,409 --> 00:03:04,330
Pues, a ver, es un mecanismo de supervivencia

78
00:03:04,330 --> 00:03:05,710
computacional básico.

79
00:03:05,789 --> 00:03:07,930
Si alguien está leyendo una novela de mil

80
00:03:07,930 --> 00:03:10,889
páginas y llega al capítulo 10, no necesita

81
00:03:10,889 --> 00:03:13,009
volver a leer desde la primera página para

82
00:03:13,009 --> 00:03:15,050
saber quién es el protagonista, ¿verdad?

83
00:03:15,490 --> 00:03:16,050
Claro.

84
00:03:16,169 --> 00:03:19,409
El cerebro humano guarda un contexto activo.

85
00:03:19,650 --> 00:03:20,210
Justo.

86
00:03:20,210 --> 00:03:23,389
Los modelos de lenguaje necesitan hacer exactamente lo

87
00:03:23,389 --> 00:03:23,610
mismo.

88
00:03:23,949 --> 00:03:26,409
El caché -cabe es ese espacio de memoria

89
00:03:26,409 --> 00:03:29,569
donde el modelo va anotando sus interpretaciones matemáticas

90
00:03:29,569 --> 00:03:31,469
de las palabras anteriores, los tokens.

91
00:03:31,830 --> 00:03:33,810
O sea, si el sistema tuviera que recalcular

92
00:03:33,810 --> 00:03:35,909
toda la lógica desde cero absoluto para cada

93
00:03:35,909 --> 00:03:37,229
palabra… Tardaría siglos.

94
00:03:37,550 --> 00:03:39,949
Imagínate repasar todo el documento solo para verlo.

95
00:03:41,650 --> 00:03:42,689
Sería inasumible.

96
00:03:42,810 --> 00:03:43,330
Entiendo.

97
00:03:43,469 --> 00:03:46,330
El sistema crea unos apuntes rápidos para no

98
00:03:46,330 --> 00:03:48,490
tener que repasar la enciclopedia entera cada paso.

99
00:03:48,729 --> 00:03:49,169
Eso es.

100
00:03:49,250 --> 00:03:51,770
El inconveniente, por lo que veo, es que

101
00:03:51,770 --> 00:03:53,849
estos apuntes no son texto plano.

102
00:03:54,050 --> 00:03:56,509
Son matrices matemáticas inmensas.

103
00:03:56,610 --> 00:03:59,210
Y a medida que el documento crece, esa

104
00:03:59,210 --> 00:04:01,689
torre de apuntes crece de forma alarmante.

105
00:04:02,050 --> 00:04:04,669
Crece de forma lineal e inexorable, sí.

106
00:04:05,030 --> 00:04:07,289
Cada palabra nueva es un bloque adicional en

107
00:04:07,289 --> 00:04:09,210
la memoria física de la tarjeta gráfica.

108
00:04:09,270 --> 00:04:09,530
Sí.

109
00:04:09,530 --> 00:04:11,590
Y cuando esa torre choca contra el techo,

110
00:04:11,650 --> 00:04:14,349
contra los gigabytes físicos que tiene la tarjeta,

111
00:04:14,389 --> 00:04:15,110
se acabó.

112
00:04:15,129 --> 00:04:16,870
El proceso se detiene en seco.

113
00:04:16,990 --> 00:04:18,069
Ahí es donde duele.

114
00:04:18,170 --> 00:04:20,569
Y por eso la industria lleva años intentando

115
00:04:20,569 --> 00:04:23,170
aplicar técnicas de compresión de datos tradicionales.

116
00:04:23,209 --> 00:04:25,269
Lo que en este campo llamamos cuantización.

117
00:04:25,750 --> 00:04:27,509
Pero a ver, la idea de comprimir archivos

118
00:04:27,509 --> 00:04:28,649
lleva existiendo décadas.

119
00:04:28,649 --> 00:04:30,230
Todos hemos usado archivos ZIP.

120
00:04:30,629 --> 00:04:33,389
Entiendo que aplicar la cuantización clásica a este

121
00:04:33,389 --> 00:04:35,589
caché KB resultaba ser un desastre, ¿no?

122
00:04:35,709 --> 00:04:37,389
Un desastre absoluto.

123
00:04:37,389 --> 00:04:39,670
Y el motivo técnico por el que fallaba

124
00:04:39,670 --> 00:04:42,430
tan estrepitosamente tiene nombre y apellidos.

125
00:04:42,550 --> 00:04:46,430
La existencia de outliers o valores extremos.

126
00:04:46,649 --> 00:04:48,129
Valores extremos, vale.

127
00:04:48,389 --> 00:04:51,129
En la documentación del estudio hay una analogía

128
00:04:51,129 --> 00:04:53,889
visual fantástica para ilustrar este problema geométrico.

129
00:04:54,209 --> 00:04:55,089
La de la maleta, sí.

130
00:04:55,389 --> 00:04:57,170
Exacto, el escenario de la maleta.

131
00:04:57,649 --> 00:05:00,009
Imaginemos que alguien tiene que hacer el equipaje

132
00:05:00,009 --> 00:05:02,709
para un viaje y dispone de 50 camisetas

133
00:05:02,709 --> 00:05:04,910
de verano finas, súper ligeras.

134
00:05:04,910 --> 00:05:05,269
Ajá.

135
00:05:05,610 --> 00:05:07,370
Y de repente necesita ingresar.

136
00:05:07,370 --> 00:05:09,009
Y puede incluir un solo abrigo de nieve,

137
00:05:09,089 --> 00:05:09,689
gigante.

138
00:05:09,850 --> 00:05:12,250
De esos de expedición polar que abultan una

139
00:05:12,250 --> 00:05:12,790
barbaridad.

140
00:05:12,990 --> 00:05:15,730
Pues mira, en esa analogía, las 50 camisetas

141
00:05:15,730 --> 00:05:19,209
representan la inmensa mayoría de las activaciones matemáticas

142
00:05:19,209 --> 00:05:19,709
del modelo.

143
00:05:20,149 --> 00:05:23,410
Números pequeños, estables, fáciles de empaquetar en la

144
00:05:23,410 --> 00:05:23,790
memoria.

145
00:05:23,930 --> 00:05:25,050
¿Y el abrigo de nieve?

146
00:05:25,230 --> 00:05:27,790
El abrigo es el famoso outlier, el valor

147
00:05:27,790 --> 00:05:28,310
extremo.

148
00:05:28,569 --> 00:05:32,129
Si los algoritmos tradicionales de compresión intentan meter

149
00:05:32,129 --> 00:05:35,050
todo este equipaje en una maleta rígida, el

150
00:05:35,050 --> 00:05:37,230
algoritmo siempre toma la medida del objeto más

151
00:05:37,230 --> 00:05:37,350
grande.

152
00:05:37,350 --> 00:05:37,889
Claro.

153
00:05:38,490 --> 00:05:41,110
Toma el abrigo como referencia para definir el

154
00:05:41,110 --> 00:05:42,009
tamaño de la maleta.

155
00:05:42,470 --> 00:05:42,990
Exactamente.

156
00:05:43,110 --> 00:05:46,189
Como resultado, fabricas una maleta enorme con muchísimo

157
00:05:46,189 --> 00:05:48,709
espacio vacío y desperdiciado entre las camisetas.

158
00:05:49,009 --> 00:05:49,389
Ya veo.

159
00:05:49,529 --> 00:05:52,430
Se adapta todo el sistema de almacenamiento a

160
00:05:52,430 --> 00:05:55,050
la inspección gigante y se pierde una eficiencia

161
00:05:55,050 --> 00:05:56,050
brutal por el camino.

162
00:05:56,350 --> 00:05:58,110
Es el retrato exacto de lo que hace

163
00:05:58,110 --> 00:05:59,310
la cuantización clásica.

164
00:05:59,629 --> 00:06:01,889
Toma ese valor extremo y escala todo el

165
00:06:01,889 --> 00:06:04,029
rango de compresión basándose en ese único número

166
00:06:04,029 --> 00:06:04,790
gigantesco.

167
00:06:04,889 --> 00:06:07,089
Y al hacer eso, el rango matemático se

168
00:06:07,089 --> 00:06:07,329
estima.

169
00:06:07,350 --> 00:06:10,170
Tira tanto que las camisetas, los valores pequeños,

170
00:06:10,250 --> 00:06:11,670
pierden su resolución.

171
00:06:11,829 --> 00:06:13,889
Se difuminan hasta casi desaparecer.

172
00:06:14,290 --> 00:06:16,970
El sistema de precisión solo tiene ojos para

173
00:06:16,970 --> 00:06:19,410
la escala del abrigo gigante, por así decirlo.

174
00:06:19,769 --> 00:06:21,990
Vale, llegados a este punto, la intuición me

175
00:06:21,990 --> 00:06:24,269
empuja hacia una solución súper obvia.

176
00:06:24,410 --> 00:06:26,209
Si el abrigo de nieve es lo que

177
00:06:26,209 --> 00:06:28,209
está arruinando la compresión de todo el sistema,

178
00:06:29,089 --> 00:06:31,670
¿por qué los algoritmos simplemente no lo ignoran?

179
00:06:31,889 --> 00:06:33,629
O sea, si es solo una prenda entre

180
00:06:33,629 --> 00:06:35,430
50, ¿la dejas fuera?

181
00:06:35,889 --> 00:06:37,329
¿Comprimes las 50 camisetas?

182
00:06:37,329 --> 00:06:39,750
¿Comprimes las 50 camisetas divinamente y problema resuelto?

183
00:06:39,870 --> 00:06:41,730
Hoy, esa es la trampa mortal de los

184
00:06:41,730 --> 00:06:42,649
modelos de lenguaje.

185
00:06:42,769 --> 00:06:43,550
No se puede.

186
00:06:43,709 --> 00:06:44,310
¿Por qué no?

187
00:06:44,449 --> 00:06:46,970
Porque en la arquitectura interna del modelo, esos

188
00:06:46,970 --> 00:06:50,750
valores gigantescos no son errores matemáticos, no son

189
00:06:50,750 --> 00:06:54,009
anomalías molestas, son pilares de carga críticos.

190
00:06:54,170 --> 00:06:55,009
¿Pilares de carga?

191
00:06:55,149 --> 00:06:57,970
Sí, los investigadores han descubierto que estos outliers

192
00:06:57,970 --> 00:06:59,990
actúan como sumideros de atención.

193
00:07:00,930 --> 00:07:05,050
Suelen coincidir con elementos estructurales clave, como signos

194
00:07:05,050 --> 00:07:07,649
de puntuación, el primer token del texto… O

195
00:07:07,649 --> 00:07:12,350
sea, no son ruido, son las vigas maestras

196
00:07:12,350 --> 00:07:12,810
del contexto.

197
00:07:13,189 --> 00:07:13,750
Totalmente.

198
00:07:14,129 --> 00:07:16,389
Son el pegamento que mantiene la coherencia del

199
00:07:16,389 --> 00:07:16,649
modelo.

200
00:07:16,910 --> 00:07:19,790
Si cortas esos valores grandes, si el algoritmo

201
00:07:19,790 --> 00:07:22,730
los ignora para comprimir mejor, el modelo pierde

202
00:07:22,730 --> 00:07:23,870
el hilo lógico por completo.

203
00:07:24,269 --> 00:07:25,069
Se vuelve tonto.

204
00:07:25,610 --> 00:07:29,069
Empieza a sufrir alucinaciones, inventa hechos, pierde la

205
00:07:29,069 --> 00:07:31,209
gramática y da respuestas absurdas.

206
00:07:31,389 --> 00:07:33,449
No puedes tirar el abrigo sin que el

207
00:07:33,449 --> 00:07:35,970
modelo se congele de incompetencia, siguiendo con la

208
00:07:35,970 --> 00:07:36,470
metáfora.

209
00:07:36,509 --> 00:07:37,310
Vaya tela.

210
00:07:37,329 --> 00:07:40,430
O sea, un callejón sin salida absoluto.

211
00:07:40,449 --> 00:07:43,649
No puedes incluir el abrigo sin desperdiciar una

212
00:07:43,649 --> 00:07:44,949
cantidad ridícula de espacio.

213
00:07:45,189 --> 00:07:46,810
Pero tampoco puedes dejarlo fuera.

214
00:07:47,129 --> 00:07:47,810
Eso es.

215
00:07:47,910 --> 00:07:50,209
Y justo en esta encrucijada es donde la

216
00:07:50,209 --> 00:07:52,589
investigación de Google saca a relucir una brillantez

217
00:07:52,589 --> 00:07:54,310
matemática inusual con TurboQuant.

218
00:07:54,649 --> 00:07:56,829
Logran engañar a la física de la memoria

219
00:07:56,829 --> 00:07:58,110
con dos pasos fascinantes.

220
00:07:58,449 --> 00:07:59,990
A ver, cuéntame el primer paso.

221
00:08:00,250 --> 00:08:04,069
El primero lo han bautizado como preacondicionamiento geométrico.

222
00:08:04,209 --> 00:08:07,310
En lugar de intentar comprimir los datos crudos…

223
00:08:07,329 --> 00:08:10,089
…tal cual, con su desorden de camisetas y

224
00:08:10,089 --> 00:08:13,350
abrigos, aplican una transformación matemática prévida.

225
00:08:13,550 --> 00:08:14,550
Mmm, vale.

226
00:08:14,949 --> 00:08:18,029
Utilizan una operación muy específica conocida como la

227
00:08:18,029 --> 00:08:19,430
transformada de Hadamard.

228
00:08:19,610 --> 00:08:21,310
La transformada de Hadamard.

229
00:08:21,550 --> 00:08:23,449
A ver, eso es una física cuántica o

230
00:08:23,449 --> 00:08:23,769
algo así.

231
00:08:24,110 --> 00:08:26,350
¿Qué le hace exactamente esta operación a los

232
00:08:26,350 --> 00:08:27,430
valores extremos?

233
00:08:27,790 --> 00:08:30,110
Simplificándolo mucho, es una forma de rotar y

234
00:08:30,110 --> 00:08:32,649
proyectar los datos en un espacio multidimensional.

235
00:08:33,090 --> 00:08:34,809
Piensa en un prisma de cristal.

236
00:08:34,870 --> 00:08:35,210
Vale.

237
00:08:35,330 --> 00:08:38,250
Si un rayo láser intensísimo… …sería nuestro abrigo

238
00:08:38,250 --> 00:08:41,509
gigante, impacta contra el prisma, este descompone esa

239
00:08:41,509 --> 00:08:43,830
energía focalizada y la esparce en un arcoíris

240
00:08:43,830 --> 00:08:44,850
ancho y uniforme.

241
00:08:44,889 --> 00:08:45,649
Ah, claro.

242
00:08:45,830 --> 00:08:48,269
La transformada de Hadamard coge la magnitud de

243
00:08:48,269 --> 00:08:50,409
ese número gigantesco y la distribuye.

244
00:08:50,830 --> 00:08:53,210
Reparte su peso entre todos los demás valores

245
00:08:53,210 --> 00:08:55,389
pequeños, de forma perfectamente reversible.

246
00:08:55,850 --> 00:08:58,309
Aquí es donde se pone realmente interesante.

247
00:08:58,870 --> 00:09:01,210
O sea, llevándolo de vuelta a la maleta,

248
00:09:01,330 --> 00:09:04,830
el preacondicionamiento es como meter ese abrigo de

249
00:09:04,830 --> 00:09:06,990
expedición en una de esas bolsas al vacío.

250
00:09:07,330 --> 00:09:09,309
Esa es muy buena analogía, sí.

251
00:09:09,509 --> 00:09:12,429
Le enchufas la aspiradora, le sacas todo el

252
00:09:12,429 --> 00:09:14,970
aire, hasta que queda del grosor de una

253
00:09:14,970 --> 00:09:15,509
camiseta.

254
00:09:16,029 --> 00:09:19,230
La prenda sigue ahí, hemos tirado ropa, pero

255
00:09:19,230 --> 00:09:21,190
ahora el volumen de todo el equipaje es

256
00:09:21,190 --> 00:09:21,789
uniforme.

257
00:09:21,870 --> 00:09:22,429
Brillante.

258
00:09:22,669 --> 00:09:25,690
Captura la esencia de la reversibilidad matemática a

259
00:09:25,690 --> 00:09:26,269
la perfección.

260
00:09:26,830 --> 00:09:29,590
Has distribuido el volumen atípico sin perder la

261
00:09:29,590 --> 00:09:30,809
masa crítica de la información.

262
00:09:31,389 --> 00:09:33,669
Ahora todos los datos están nivelados.

263
00:09:33,789 --> 00:09:35,649
Se ha aplanado la curva de los datos,

264
00:09:35,710 --> 00:09:35,870
vaya.

265
00:09:36,389 --> 00:09:36,950
Exacto.

266
00:09:36,950 --> 00:09:38,909
No hay picos que rompan la escala.

267
00:09:39,009 --> 00:09:41,509
Y una vez que el terreno está perfectamente

268
00:09:41,509 --> 00:09:44,049
plano, el sistema entra en el segundo paso

269
00:09:44,049 --> 00:09:47,350
crítico de TurboQuant, la cuantización de vectores.

270
00:09:47,470 --> 00:09:49,190
La cuantización de vectores.

271
00:09:49,250 --> 00:09:51,450
Aquí es donde se realiza la compresión real,

272
00:09:51,529 --> 00:09:51,889
entiendo.

273
00:09:52,049 --> 00:09:54,269
Los números en pequeños bloques o vectores.

274
00:09:54,769 --> 00:09:57,649
Y luego encaja esos grupos en una cuadrícula

275
00:09:57,649 --> 00:09:59,710
geométrica predefinida súper eficiente.

276
00:10:00,110 --> 00:10:01,889
Vale, ¿y cuánto comprime esto?

277
00:10:02,149 --> 00:10:04,750
Pues al operar por grupo sobre esta plantilla,

278
00:10:06,950 --> 00:10:09,190
dando un promedio de solo 3 bits, en

279
00:10:09,190 --> 00:10:11,690
contraposición a los 16 bits habituales.

280
00:10:12,210 --> 00:10:13,289
Espera, espera, espera.

281
00:10:13,409 --> 00:10:15,070
Yo no te compro esto tan fácilmente.

282
00:10:15,289 --> 00:10:17,669
Bajar de 16 bits a 3 bits es

283
00:10:17,669 --> 00:10:19,269
una reducción de datos salvaje.

284
00:10:19,350 --> 00:10:20,429
Es una barbaridad, sí.

285
00:10:20,710 --> 00:10:23,409
Es eliminar más del 80 % de la

286
00:10:23,409 --> 00:10:24,690
información de cada número.

287
00:10:25,049 --> 00:10:27,669
Por muy bonita que sea la cuadrícula geométrica,

288
00:10:27,809 --> 00:10:30,409
la matemática dicta que tiene que perderse resolución.

289
00:10:30,629 --> 00:10:32,269
¿Cómo es posible que no se rompa el

290
00:10:32,269 --> 00:10:32,450
modelo?

291
00:10:32,929 --> 00:10:34,710
Es una objeción fantástica.

292
00:10:34,830 --> 00:10:36,549
Y fíjate, es el corazón de por qué

293
00:10:36,549 --> 00:10:36,929
este estudio...

294
00:10:36,950 --> 00:10:38,330
...es tan revolucionario.

295
00:10:38,570 --> 00:10:41,230
La trampa está en pensar en números aislados

296
00:10:41,230 --> 00:10:42,350
en lugar de patrones.

297
00:10:42,610 --> 00:10:44,269
Piensa en una paleta de colores.

298
00:10:44,490 --> 00:10:44,750
A ver.

299
00:10:44,909 --> 00:10:47,330
Si quieres transmitir el color exacto de un

300
00:10:47,330 --> 00:10:50,450
píxel, puedes enviar el código hexadecimal complejo de

301
00:10:50,450 --> 00:10:51,210
16 bits.

302
00:10:51,570 --> 00:10:53,909
Eso te da millones de combinaciones de color,

303
00:10:54,049 --> 00:10:55,409
pero requiere muchos datos.

304
00:10:55,730 --> 00:10:58,990
Claro, para decir exactamente qué tono específico de

305
00:10:58,990 --> 00:11:00,409
azul cielo se está usando.

306
00:11:00,830 --> 00:11:01,350
Exacto.

307
00:11:01,710 --> 00:11:04,210
Pero, ¿y si antes hemos analizado la imagen

308
00:11:04,210 --> 00:11:06,529
y creado una paleta fija de solo 8

309
00:11:06,529 --> 00:11:06,929
colores?

310
00:11:06,950 --> 00:11:09,889
En lugar de enviar un código gigante, envíes

311
00:11:09,889 --> 00:11:11,929
una instrucción de 3 bits que dice usa

312
00:11:11,929 --> 00:11:13,669
el color número 4 de la paleta.

313
00:11:13,809 --> 00:11:14,789
Ah, ya lo pillo.

314
00:11:14,809 --> 00:11:16,470
Como en el paso de la bolsa al

315
00:11:16,470 --> 00:11:19,129
vacío ya habíamos aplanado todos los colores extremos

316
00:11:19,470 --> 00:11:21,409
y suavizado las transiciones...

317
00:11:21,409 --> 00:11:21,830
Justo.

318
00:11:22,190 --> 00:11:24,549
Sabemos que cualquier patrón de datos va a

319
00:11:24,549 --> 00:11:27,070
coincidir casi perfectamente con uno de esos 8

320
00:11:27,070 --> 00:11:28,509
colores básicos de la paleta.

321
00:11:28,590 --> 00:11:29,389
Es fascinante.

322
00:11:29,529 --> 00:11:32,250
Al distribuir la energía antes, te aseguras de

323
00:11:32,250 --> 00:11:34,509
no necesitar millones de tonos distintos.

324
00:11:34,850 --> 00:11:36,750
Una paleta pequeña en memoria...

325
00:11:36,950 --> 00:11:39,529
Es suficiente para reconstruir la imagen, sin que

326
00:11:39,529 --> 00:11:40,429
parezca pixelada.

327
00:11:40,590 --> 00:11:42,750
Y el ahorro de espacio es monumental, sin

328
00:11:42,750 --> 00:11:44,289
perder la identidad de la información.

329
00:11:44,850 --> 00:11:48,149
Vale, la teoría suena espectacular, pero un análisis

330
00:11:48,149 --> 00:11:50,190
no está completo sin ver el impacto en

331
00:11:50,190 --> 00:11:50,809
el mundo real.

332
00:11:51,230 --> 00:11:53,509
Cuando alguien se sienta frente a su máquina

333
00:11:53,509 --> 00:11:57,490
a procesar documentos inmensos, ¿qué cambio tangible aporta

334
00:11:57,490 --> 00:11:58,029
TurboQuant?

335
00:11:58,250 --> 00:12:00,450
Pues aporta un salto de capacidad que parece

336
00:12:00,450 --> 00:12:03,389
romper las reglas del hardware, en cifras concretas

337
00:12:03,389 --> 00:12:03,730
del estudio.

338
00:12:04,009 --> 00:12:06,269
Si una máquina local antes podía procesar unas

339
00:12:06,269 --> 00:12:08,029
10 .000 palabras, antes de colapsar...

340
00:12:08,029 --> 00:12:08,350
Sí.

341
00:12:09,029 --> 00:12:12,450
Implementando TurboQuant, ese idéntico equipo, sin modificar un

342
00:12:12,450 --> 00:12:14,970
solo tornillo, puede procesar 60 .000 palabras.

343
00:12:15,309 --> 00:12:15,889
¡Madre mía!

344
00:12:16,090 --> 00:12:17,610
Es pasar de 10 .000 a 60 .000

345
00:12:17,610 --> 00:12:18,250
en el mismo equipo.

346
00:12:18,570 --> 00:12:20,909
Es multiplicar por 6 la ventana de contexto

347
00:12:20,909 --> 00:12:22,590
sin gastar un euro en hardware nuevo.

348
00:12:22,809 --> 00:12:25,110
Supone la diferencia entre que un modelo apenas

349
00:12:25,110 --> 00:12:27,789
pueda analizar un informe cortito a que pueda

350
00:12:27,789 --> 00:12:29,909
ingerir libros enteros de una sola vez.

351
00:12:30,409 --> 00:12:32,210
Y ojo, que la magia no termina en

352
00:12:32,210 --> 00:12:32,590
la capacidad.

353
00:12:33,190 --> 00:12:33,850
Hay más.

354
00:12:34,029 --> 00:12:36,490
Además, los datos de Google revelan una aceleración

355
00:12:36,490 --> 00:12:40,590
masiva, en tarjetas gráficas avanzadas, como las H100

356
00:12:40,590 --> 00:12:43,269
de NVIDIA, se han registrado aceleraciones de hasta

357
00:12:43,269 --> 00:12:44,490
8 veces en la velocidad.

358
00:12:44,889 --> 00:12:45,330
Vale.

359
00:12:45,470 --> 00:12:47,610
Vamos a desgranar esto porque aquí hay una

360
00:12:47,610 --> 00:12:49,210
aparente contradicción técnica.

361
00:12:49,549 --> 00:12:52,590
Yo entiendo perfectamente que al usar 3 bits

362
00:12:52,590 --> 00:12:55,370
en lugar de 16, la memoria se libera

363
00:12:55,370 --> 00:12:56,490
y ocupa menos espacio.

364
00:12:56,870 --> 00:12:57,309
Lógico.

365
00:12:57,389 --> 00:12:58,409
Pero ¿por qué es más rápido?

366
00:12:58,610 --> 00:13:00,629
Si el ordenador ahora tiene que molestarse en

367
00:13:00,629 --> 00:13:02,990
descomprimir esos datos matemáticos del prisma y las

368
00:13:02,990 --> 00:13:05,789
cuadrículas antes de poder usar la información, lo

369
00:13:05,789 --> 00:13:06,929
normal sería que fuera más rápido.

370
00:13:06,929 --> 00:13:07,610
Más lento, ¿no?

371
00:13:07,690 --> 00:13:08,970
Es una duda brillante.

372
00:13:09,190 --> 00:13:11,350
Y toca el mayor secreto a voces de

373
00:13:11,350 --> 00:13:12,690
la arquitectura de ordenadores.

374
00:13:13,029 --> 00:13:14,509
El muro de la memoria.

375
00:13:14,690 --> 00:13:16,889
El verdadero cuello de botella en una tarjeta

376
00:13:16,889 --> 00:13:19,669
gráfica casi nunca es la potencia matemática pura.

377
00:13:19,750 --> 00:13:20,129
Ah, ¿no?

378
00:13:20,289 --> 00:13:20,649
¡Qué va!

379
00:13:20,990 --> 00:13:24,549
Los núcleos de procesamiento son insultantemente rápidos.

380
00:13:25,009 --> 00:13:27,690
El problema logístico real es mover la información

381
00:13:27,690 --> 00:13:30,049
desde la memoria hasta esos núcleos.

382
00:13:30,250 --> 00:13:32,950
O sea, es como diseñar una cocina industrial

383
00:13:32,950 --> 00:13:35,830
con los cocineros más rápidos del planeta, pero

384
00:13:35,830 --> 00:13:36,909
con un pasillo larguísimo.

385
00:13:36,929 --> 00:13:39,769
Y súper estrecho para traerles los ingredientes desde

386
00:13:39,769 --> 00:13:40,409
la despensa.

387
00:13:40,529 --> 00:13:41,929
Una analogía impecable.

388
00:13:42,750 --> 00:13:45,190
Ese pasillo estrecho es el ancho de banda

389
00:13:45,190 --> 00:13:45,850
de la memoria.

390
00:13:46,230 --> 00:13:49,490
Mover toneladas de información pesada a 16 bits

391
00:13:49,490 --> 00:13:51,649
por ese pasillo es lo que paraliza el

392
00:13:51,649 --> 00:13:51,970
sistema.

393
00:13:52,330 --> 00:13:53,950
Claro, se atascan en la puerta.

394
00:13:54,450 --> 00:13:55,009
Exacto.

395
00:13:55,529 --> 00:13:57,330
El modelo se pasa la mayor parte del

396
00:13:57,330 --> 00:13:59,870
tiempo simplemente esperando a que lleguen los datos.

397
00:14:00,570 --> 00:14:03,490
Al comprimir a 3 bits, envías paquetes minúsculos

398
00:14:03,490 --> 00:14:05,090
y ligerísimos por el pasillo.

399
00:14:05,169 --> 00:14:06,350
Y fluyen a toda velocidad.

400
00:14:06,610 --> 00:14:06,909
Exacto.

401
00:14:06,909 --> 00:14:09,710
Y cuando llegan a los núcleos, como esos

402
00:14:09,710 --> 00:14:13,090
cocineros operan a velocidades astronómicas y encima estaban

403
00:14:13,090 --> 00:14:16,549
aburridos esperando, descomprimir la información les supone una

404
00:14:16,549 --> 00:14:17,929
fracción de microsegundo.

405
00:14:18,049 --> 00:14:18,509
¡Guau!

406
00:14:18,649 --> 00:14:22,269
O sea, el tiempo extra de cálculo compensa

407
00:14:22,269 --> 00:14:24,029
con creces el tiempo que te ahorras en

408
00:14:24,029 --> 00:14:24,850
el transporte.

409
00:14:25,190 --> 00:14:26,830
Todo encaja a la perfección.

410
00:14:27,230 --> 00:14:29,029
Pero me queda la prueba de fuego.

411
00:14:29,610 --> 00:14:30,629
La precisión.

412
00:14:30,769 --> 00:14:31,389
A ver.

413
00:14:31,629 --> 00:14:34,049
Porque la experiencia diaria nos dice que si

414
00:14:34,049 --> 00:14:37,129
comprimes un audio o una imagen, inevitablemente, se

415
00:14:37,129 --> 00:14:37,590
degrada.

416
00:14:37,889 --> 00:14:40,210
¿Acaso el modelo no se vuelve más propenso

417
00:14:40,210 --> 00:14:43,090
a cometer errores lógicos y volverse más torpe?

418
00:14:43,350 --> 00:14:46,309
Pues prepárate, porque esta es la joya de

419
00:14:46,309 --> 00:14:47,429
la corona de TurboQuant.

420
00:14:47,909 --> 00:14:50,610
Hay un 0 % de degradación en la

421
00:14:50,610 --> 00:14:51,190
precisión.

422
00:14:51,309 --> 00:14:52,070
¿0 %?

423
00:14:52,409 --> 00:14:53,710
Me cuesta creerlo.

424
00:14:53,950 --> 00:14:54,509
Cero.

425
00:14:54,649 --> 00:14:56,149
Y no lo dicen por decir.

426
00:14:56,289 --> 00:14:59,289
Se sustenta en evaluaciones exhaustivas con los estándares

427
00:14:59,289 --> 00:15:01,990
más estrictos como los benchmarks Human Bell y

428
00:15:01,990 --> 00:15:03,409
GSM8K.

429
00:15:03,690 --> 00:15:04,470
Ah, vale.

430
00:15:04,629 --> 00:15:07,509
Esos son bancos de pruebas centrados, en razonamiento

431
00:15:07,509 --> 00:15:10,129
matemático y generación de código de programación.

432
00:15:10,549 --> 00:15:11,129
Exactamente.

433
00:15:11,409 --> 00:15:13,809
Prohíboras donde no existe el casi correcto.

434
00:15:13,870 --> 00:15:16,049
Si el modelo se equivoca en la indentación

435
00:15:16,049 --> 00:15:18,529
del código, o se salta un paréntesis, el

436
00:15:18,529 --> 00:15:20,370
programa falla catastróficamente.

437
00:15:20,549 --> 00:15:23,230
No hay margen para imprecisiones ahí, claro.

438
00:15:23,470 --> 00:15:23,990
Ninguno.

439
00:15:24,169 --> 00:15:26,970
Y los resultados demuestran que los modelos operando

440
00:15:26,970 --> 00:15:30,509
bajo compresión TurboQuant logran calificaciones idénticas a los

441
00:15:30,509 --> 00:15:32,590
modelos masivos originales sin comprimir.

442
00:15:32,809 --> 00:15:34,710
La lógica se mantiene intacta.

443
00:15:34,929 --> 00:15:36,070
Resulta hipnótico.

444
00:15:36,070 --> 00:15:38,610
Es como obtener el rendimiento de un Fórmula

445
00:15:38,610 --> 00:15:40,789
1 gastando el combustible de un utilitario.

446
00:15:40,990 --> 00:15:41,629
Totalmente.

447
00:15:41,769 --> 00:15:44,870
No obstante, en cualquier análisis riguroso de tecnología

448
00:15:44,870 --> 00:15:47,990
nueva, es obligatorio leer la letra pequeña.

449
00:15:48,789 --> 00:15:52,190
Todo avance revolucionario tiene un pero o requisitos

450
00:15:52,190 --> 00:15:53,190
muy concretos.

451
00:15:53,269 --> 00:15:55,590
¿Cuáles son las limitaciones actuales de esto?

452
00:15:55,789 --> 00:15:58,750
Bueno, la primera grande limitación es su campo

453
00:15:58,750 --> 00:15:59,490
de aplicación.

454
00:16:00,049 --> 00:16:03,649
TurboQuant aplica únicamente al caché KV, a esas

455
00:16:03,649 --> 00:16:05,710
activaciones de memoria temporal que decíamos.

456
00:16:06,070 --> 00:16:06,210
Ya.

457
00:16:06,350 --> 00:16:08,450
No es una técnica que se pueda aplicar

458
00:16:08,450 --> 00:16:10,850
a los pesos principales del modelo, que son

459
00:16:10,850 --> 00:16:12,909
los archivos base con el conocimiento que la

460
00:16:12,909 --> 00:16:14,509
IA aprendió durante su entrenamiento.

461
00:16:15,169 --> 00:16:17,870
Pero, a un nivel profundo, ¿no son todo

462
00:16:17,870 --> 00:16:20,289
simplemente matrices de números flotantes?

463
00:16:20,710 --> 00:16:22,830
¿Por qué la técnica de la bolsa al

464
00:16:22,830 --> 00:16:25,889
vacío funciona para la memoria temporal y no

465
00:16:25,889 --> 00:16:27,269
para la memoria a largo plazo?

466
00:16:27,470 --> 00:16:30,190
Porque tienen distribuciones matemáticas muy distintas.

467
00:16:30,350 --> 00:16:32,470
Piensa en la diferencia entre conocer las reglas

468
00:16:32,470 --> 00:16:34,669
gramaticales de un idioma y participar en un

469
00:16:34,669 --> 00:16:35,889
debate acalorado en directo.

470
00:16:36,350 --> 00:16:37,889
Vale, interesante.

471
00:16:38,529 --> 00:16:40,669
Los pesos estáticos del modelo son como la

472
00:16:40,669 --> 00:16:41,110
gramática.

473
00:16:41,470 --> 00:16:44,529
Reglas fijas, estables, en forma de campana de

474
00:16:44,529 --> 00:16:44,750
Gauss.

475
00:16:44,889 --> 00:16:47,509
El caché KV representa la conversación en tiempo

476
00:16:47,509 --> 00:16:47,769
real.

477
00:16:47,850 --> 00:16:51,149
Es dinámico, volátil y genera esos picos salvajes,

478
00:16:51,269 --> 00:16:52,269
los abrigos de nieve.

479
00:16:52,429 --> 00:16:54,429
Claro, en respuesta a un texto que acaba

480
00:16:54,429 --> 00:16:54,850
de leer.

481
00:16:55,210 --> 00:16:55,730
Exacto.

482
00:16:56,509 --> 00:16:59,149
TurboQuant doma el caos del tiempo real, pero

483
00:16:59,149 --> 00:17:01,350
no reduce el peso de descarga inicial del

484
00:17:01,350 --> 00:17:01,629
modelo.

485
00:17:01,769 --> 00:17:04,490
Un archivo de 40 gigas, seguirá pesando 40

486
00:17:04,490 --> 00:17:05,789
gigas en tu disco duro.

487
00:17:06,470 --> 00:17:06,990
Entendido.

488
00:17:07,230 --> 00:17:10,349
Libera espacio vital durante el proceso de razonamiento.

489
00:17:10,650 --> 00:17:13,690
Más allá de esta limitación, ¿qué exige esta

490
00:17:13,690 --> 00:17:14,990
tecnología a nivel de software?

491
00:17:15,250 --> 00:17:17,250
Porque imagino que no es un botón mágico

492
00:17:17,250 --> 00:17:18,789
para tarjetas de vídeo antiguas.

493
00:17:19,089 --> 00:17:19,789
No, qué va.

494
00:17:20,210 --> 00:17:22,630
Requiere código muy optimizado a nivel de hardware,

495
00:17:22,829 --> 00:17:24,710
lo que llamamos kernels personalizados.

496
00:17:24,930 --> 00:17:27,569
Se necesita escribir en lenguajes como Triton para

497
00:17:27,569 --> 00:17:29,269
manipular la gestión de la memoria de la

498
00:17:29,269 --> 00:17:30,049
gráfica directamente.

499
00:17:30,549 --> 00:17:33,609
O sea que, abordando el impacto práctico, si

500
00:17:33,609 --> 00:17:35,890
alguien nos escucha ahora mismo y quiere probarlo

501
00:17:35,890 --> 00:17:37,849
esta tarde en su casa, ¿puede o se

502
00:17:37,849 --> 00:17:39,430
queda atrapado en los servidores de Google?

503
00:17:39,809 --> 00:17:42,769
Pues, afortunadamente, la adopción de la comunidad open

504
00:17:42,769 --> 00:17:44,329
source está siendo rapidísima.

505
00:17:44,490 --> 00:17:47,769
Cualquier desarrollador familiarizado con Python o PyTorch ya

506
00:17:47,769 --> 00:17:48,549
puede ir a GitHub.

507
00:17:48,829 --> 00:17:50,130
Ya hay repositorios.

508
00:17:50,509 --> 00:17:51,250
Sí, sí.

509
00:17:51,309 --> 00:17:55,529
Pueden clonar implementaciones experimentales de TurboQuant para ensuciarse

510
00:17:55,529 --> 00:17:57,109
las manos con el código desde ya.

511
00:17:57,250 --> 00:18:00,329
Y para la inmensa mayoría de usuarios técnicos

512
00:18:00,329 --> 00:18:04,150
que usamos herramientas más consolidadas para ejecutar IA

513
00:18:04,150 --> 00:18:05,769
local sin programar a bajo nivel.

514
00:18:06,009 --> 00:18:07,869
Para ellos, el horizonte se mide en semanas

515
00:18:07,869 --> 00:18:08,289
o meses.

516
00:18:08,950 --> 00:18:11,390
Proyectos inmensos como Lama CPP, que es el

517
00:18:11,390 --> 00:18:14,089
estándar para ejecutar modelos locales, o el framework

518
00:18:14,089 --> 00:18:17,509
MLX de Apple, están trabajando a contrarreloj para

519
00:18:17,509 --> 00:18:18,049
integrarlo.

520
00:18:18,509 --> 00:18:21,130
Fíjate, en la arquitectura de memoria unificada de

521
00:18:21,130 --> 00:18:23,150
Apple, donde la RAM y la VRAM son

522
00:18:23,150 --> 00:18:25,529
la misma cosa, aliviar el ancho de banda

523
00:18:25,529 --> 00:18:27,150
con esto tiene que ser crítico.

524
00:18:27,529 --> 00:18:28,950
Absolutamente crítico, sí.

525
00:18:29,130 --> 00:18:31,769
El abismo entre la investigación académica y la

526
00:18:31,769 --> 00:18:34,190
herramienta de usuario final se está cerrando a

527
00:18:34,190 --> 00:18:34,990
un ritmo de vértigo.

528
00:18:35,109 --> 00:18:35,809
Qué maravilla.

529
00:18:35,990 --> 00:18:39,029
Pues bueno, recopilando todas las piezas.

530
00:18:39,190 --> 00:18:43,309
Hemos analizado cómo el caché KB devoraba la

531
00:18:43,309 --> 00:18:46,809
memoria local y cómo los valores extremos destrozaban

532
00:18:46,809 --> 00:18:47,849
la compresión tradicional.

533
00:18:48,269 --> 00:18:48,789
Así es.

534
00:18:48,930 --> 00:18:52,150
Y hemos descubierto cómo la matemática de Google,

535
00:18:52,309 --> 00:18:55,470
con la transformada de Hadamard y esa cuadrícula

536
00:18:55,470 --> 00:18:58,630
de 3 bits, logra liberar espacio y velocidad

537
00:18:58,630 --> 00:19:01,849
sin perder ni un ápice de capacidad lógica.

538
00:19:01,890 --> 00:19:02,630
Es increíble.

539
00:19:02,809 --> 00:19:04,950
Y fíjate, antes de terminar, me gustaría dejar

540
00:19:04,950 --> 00:19:06,230
una reflexión sobre esto.

541
00:19:06,509 --> 00:19:09,130
Si hemos logrado multiplicar por 6 la capacidad

542
00:19:09,130 --> 00:19:12,910
de contexto en máquinas locales, simplemente reordenando las

543
00:19:12,910 --> 00:19:16,970
matemáticas, cabe preguntarse, ¿qué otros límites de la

544
00:19:16,970 --> 00:19:20,569
inteligencia artificial actual no son barreras físicas reales

545
00:19:20,569 --> 00:19:24,150
del hardware, sino simples ineficiencias matemáticas esperando a

546
00:19:24,150 --> 00:19:26,529
ser resueltas por el próximo algoritmo brillante?

547
00:19:26,750 --> 00:19:28,609
Ostras, pues es un pensamiento profundo.

548
00:19:28,630 --> 00:19:29,269
Y provocador brutal.

549
00:19:29,890 --> 00:19:34,049
Quizá no necesitamos siempre chips más gigantescos, sino

550
00:19:34,049 --> 00:19:35,789
pensar de manera más elegante.

551
00:19:36,009 --> 00:19:37,289
Yo estoy convencido de ello.

552
00:19:37,609 --> 00:19:41,109
Pues una reflexión extraordinaria para cerrar.

553
00:19:41,250 --> 00:19:43,890
Antes de despedirnos hasta el próximo programa, os

554
00:19:43,890 --> 00:19:45,970
informamos de que las voces que oyes han

555
00:19:45,970 --> 00:19:47,990
sido generadas por la IA de Notebook LM

556
00:19:47,990 --> 00:19:51,269
y que dirigiendo el podcast se encuentra Julio

557
00:19:51,269 --> 00:19:53,490
Pablo Vázquez, un humano que te envía saludos.

558
00:19:53,509 --> 00:19:56,150
En caso de error, probablemente sean errores humanos.

559
00:19:56,450 --> 00:19:57,509
¡Nos escuchamos!

560
00:19:58,630 --> 00:20:10,740
Y hasta aquí el episodio de hoy.

561
00:20:10,839 --> 00:20:12,660
Muchas gracias por tu atención.

562
00:20:22,109 --> 00:20:24,109
Esto es BIMpraxis.

563
00:20:24,390 --> 00:20:26,890
Nos escuchamos en el próximo episodio.

