Tendencias del momento
#
Bonk Eco continues to show strength amid $USELESS rally
#
Pump.fun to raise $1B token sale, traders speculating on airdrop
#
Boop.Fun leading the way with a new launchpad on Solana.

thebes
¿por qué sucede esto? el modelo cree que hay un emoji de caballito de mar, claro, pero ¿por qué eso hace que produzca un emoji *diferente*? aquí hay una pista de la herramienta de interpretabilidad subestimada favorita de todos, logit lens!
en logit lens, usamos el lm_head del modelo de una manera extraña. típicamente, el lm_head se usa para convertir el residual (el estado interno acumulado a través de las capas del modelo) en un conjunto de probabilidades de tokens después de la capa final. pero en logit lens, usamos el lm_head después de *cada* capa - mostrándonos qué tokens produciría el modelo si esa capa fuera la capa final.
para las capas tempranas, esto resulta en estados difíciles de interpretar. pero a medida que avanzamos a través de las capas, el modelo refina iterativamente el residual primero hacia conceptos útiles para continuar el texto, y luego hacia la predicción final.
mirando la imagen nuevamente, en la capa final, tenemos la salida real del modelo - ĠðŁ, IJ, ł - es decir, un prefijo de bytes de emoji seguido del resto del emoji de pez.
(parece un sinsentido de unicode debido a una peculiaridad de tokenización - no te preocupes por eso. si tienes curiosidad, pregúntale a claude sobre esta línea de código: `bytes([byte_decoder[c] for c in 'ĠðŁIJł']).decode('utf-8') == ' 🐠'`
pero mira lo que sucede en las capas intermedias - ¡no solo obtenemos bytes de emoji! obtenemos esos *conceptos*, específicamente el concepto de un caballito de mar. por ejemplo, en la capa 52, obtenemos "caballo de mar caballo". más tarde, en el top-k, obtenemos una mezcla de "mar", "caballo", y ese prefijo de emoji, "ĠðŁ".
entonces, ¿en qué está pensando el modelo? ¡caballito de mar + emoji! está tratando de construir una representación residual de un emoji de caballito de mar.
¿por qué haría eso? bueno, veamos cómo funciona realmente el lm_head. el lm_head es una enorme matriz de vectores de tamaño residual asociados con ids de tokens. cuando un residual se pasa a él, va a comparar ese residual con cada vector de token, y en coordinación con el muestreador, seleccionar el id de token con un vector más similar al residual. (más técnicamente: es una capa lineal sin sesgo, así que v @ w.T realiza productos punto con cada vector de des-embedding, luego log_softmax y argmax/muestreo de temperatura.)
así que si el modelo quiere producir la palabra "hola", necesita construir un residual similar al vector para el token de salida "hola" que el lm_head puede convertir en el id de token de hola. y si el modelo quiere producir un emoji de caballito de mar, necesita construir un residual similar al vector para el/los token(s) de salida de emoji de caballito de mar - que en teoría podría ser cualquier valor arbitrario, pero en la práctica es caballito de mar + emoji, estilo word2vec.
el único problema es que el emoji de caballito de mar no existe! así que cuando este residual de caballito de mar + emoji llega al lm_head, realiza su producto punto sobre todos los vectores, y el muestreador elige el token más cercano - un emoji de pez.
ahora, esa discretización es información valiosa! puedes ver en el ejemplo de Armistice que cuando el token se coloca de nuevo en el contexto de manera autorregresiva, el modelo puede decir que no es un emoji de caballito de mar. así que intenta de nuevo, mueve el residual y obtiene un emoji ligeramente diferente, repite el proceso hasta que se da cuenta de lo que está pasando, se rinde, o se queda sin tokens de salida.
pero hasta que el modelo obtenga el token de salida incorrecto del lm_head, simplemente no sabe que no hay un emoji de caballito de mar en el lm_head. asume que caballito de mar + emoji producirá el/los token(s) que quiere.
------------------
para especular (aún más), me pregunto si esto es parte del beneficio de RL - le da a los modelos información sobre su lm_head que de otro modo sería difícil de obtener porque está al final de la pila de capas. (recuerda que los modelos base no se entrenan con sus propias salidas / rollouts - eso solo sucede en RL.)

45,64K
¿por qué celebramos brekyat?
brekyat es donde destruimos ritualmente el estado cada año.
¿por qué nuestro pueblo destruye ritualmente el estado cada año?
porque somos nómadas.
¿qué es un nómada?
alguien que vaga.
pero no vagamos?
pero somos nómadas, porque vivimos fuera del estado.
¿los nómadas viven fuera del estado?
sí, debido a su vagar, están fuera del control del estado y lo destruyen periódicamente.
pero no vagamos?
escapamos del estado incluso más que nuestros ancestros vagabundos - destruyéndolo anualmente.
eso no tiene sentido.
es cultura, no tiene que tener sentido. ahora ve y ponte tu corona de hierba.
2,89K
Parte superior
Clasificación
Favoritos