La arquitectura RWKV (Receptance Weighted Key Value) es una familia de modelos de aprendizaje profundo diseñada para combinar dos características especialmente importantes en el procesamiento del lenguaje natural: el entrenamiento paralelizable asociado a los Transformers y la inferencia incremental eficiente de las redes neuronales recurrentes.
Su principal innovación consiste en utilizar un mecanismo de mezcla temporal basado en claves y valores ponderados, controlado mediante una compuerta denominada Receptance. Este mecanismo permite incorporar información de posiciones anteriores sin depender de una matriz convencional de autoatención softmax.
RWKV fue desarrollada inicialmente por Bo Peng, conocido también como BlinkDL, y posteriormente evolucionó mediante las contribuciones de una comunidad internacional de investigadores y desarrolladores.
La arquitectura fue presentada formalmente en el artículo científico RWKV: Reinventing RNNs for the Transformer Era, publicado en Findings of EMNLP 2023.
En los experimentos originales, los investigadores entrenaron modelos RWKV de hasta 14.000 millones de parámetros y comunicaron resultados competitivos frente a determinados Transformers de tamaños comparables.
La característica más interesante de RWKV es que puede utilizar dos estrategias computacionales complementarias.
Durante el entrenamiento, determinadas operaciones pueden ejecutarse de forma paralela sobre múltiples posiciones de una secuencia.
Durante la generación autorregresiva, el modelo puede funcionar como una red neuronal recurrente que actualiza estados internos sin necesitar una caché de claves y valores que crezca con cada token procesado.
Esta propiedad permite que la memoria destinada al estado recurrente permanezca acotada cuando aumenta la longitud del historial.
La familia RWKV ha evolucionado desde RWKV-4 hasta versiones posteriores como RWKV-5 (Eagle), RWKV-6 (Finch) y RWKV-7 (Goose). También existen investigaciones experimentales relacionadas con RWKV-8.
En esta guía exploraremos qué es RWKV, cómo funcionan sus mecanismos Time Mixing y Channel Mixing, qué significa Receptance Weighted Key Value, cómo se consigue el procesamiento recurrente, cuáles son sus diferencias frente a Transformers y Mamba, y cómo experimentar con la arquitectura mediante Python.
¿Qué es la arquitectura RWKV?
RWKV es una arquitectura neuronal autoregresiva para el modelado de secuencias que utiliza mecanismos recurrentes y operaciones de mezcla temporal para procesar información.
Su nombre corresponde a cuatro conceptos:
- R — Receptance: compuerta que controla la información aceptada por el modelo.
- W — Weighted: ponderación temporal que determina la influencia de representaciones anteriores.
- K — Key: representación utilizada para calcular la relevancia de la información.
- V — Value: representación que contiene los valores que se combinan para producir la salida.
La arquitectura utiliza estos componentes para construir un mecanismo de procesamiento contextual diferente de la autoatención completa de los Transformers.
En un Transformer convencional, cada token puede establecer relaciones directas con muchas posiciones anteriores mediante consultas, claves y valores.
RWKV utiliza estados que acumulan información ponderada de la secuencia.
Durante la generación, el modelo actualiza estos estados conforme recibe nuevos tokens.
De esta manera, no necesita conservar individualmente las representaciones de todos los tokens anteriores para ejecutar su mecanismo temporal.
La principal ventaja es que el consumo de memoria del estado recurrente depende del tamaño del modelo y no necesariamente de la longitud total de la secuencia procesada.
Sin embargo, esta propiedad no significa que el sistema pueda recordar perfectamente una cantidad ilimitada de información.
Los estados tienen una capacidad finita y deben resumir las dependencias aprendidas.
Origen y desarrollo de RWKV
La aparición de RWKV está relacionada con la búsqueda de alternativas eficientes a los Transformers tradicionales.
Antes de la popularización de los Transformers, las redes neuronales recurrentes dominaban numerosas aplicaciones de procesamiento secuencial.
Arquitecturas como RNN, LSTM y GRU mantenían estados internos que permitían transportar información a lo largo del tiempo.
Sin embargo, presentaban dificultades para aprovechar el paralelismo durante el entrenamiento.
Los Transformers, introducidos en 2017, mejoraron notablemente este aspecto.
Su mecanismo de autoatención permite procesar numerosas posiciones simultáneamente durante el entrenamiento.
No obstante, la atención completa presenta un coste cuadrático respecto a la longitud de secuencia.
RWKV surgió como una propuesta para combinar las ventajas de ambas familias.
Los investigadores buscaron construir una arquitectura que pudiera entrenarse eficientemente sobre secuencias completas y ejecutarse recurrentemente durante la generación.
La propuesta inicial fue desarrollada por Bo Peng y posteriormente recibió contribuciones de una amplia comunidad de investigación de código abierto.
El artículo formal de 2023 consolidó RWKV como una arquitectura alternativa para grandes modelos de lenguaje.
En ese trabajo, los investigadores presentaron modelos de hasta 14.000 millones de parámetros y evaluaron su rendimiento en diferentes tareas lingüísticas.
Posteriormente, RWKV evolucionó mediante nuevos mecanismos de memoria, estados matriciales y actualizaciones dinámicas.
El problema de la atención convencional
Para comprender por qué RWKV resulta interesante, debemos analizar el funcionamiento de los Transformers autorregresivos.
En la atención convencional, las representaciones de entrada se transforman en tres matrices:
- Query (Q).
- Key (K).
- Value (V).
El mecanismo calcula puntuaciones de similitud entre consultas y claves.
En una atención softmax completa, el número de relaciones posibles crece de forma cuadrática respecto a la longitud de la secuencia.
La fórmula habitual es:
\operatorname{softmax}
\left(
\frac{QK^T}{\sqrt{d_k}}
\right)V
]
Si tenemos (L) tokens, la matriz conceptual de puntuaciones tiene dimensiones:
[
L \times L
]
Esto representa una complejidad cuadrática respecto a la longitud de entrada.
Durante la generación autorregresiva, los Transformers modernos suelen optimizar este proceso utilizando una caché KV.
La caché permite reutilizar claves y valores calculados anteriormente.
Sin embargo, su tamaño normalmente aumenta a medida que crece la secuencia, salvo que se apliquen mecanismos adicionales de gestión de contexto.
RWKV utiliza una estrategia diferente.
En lugar de almacenar todas las claves y valores históricos, mantiene estados recurrentes que resumen la información procesada.
La actualización de estos estados puede realizarse con un coste por token independiente de la longitud del historial, manteniendo fija la arquitectura.
¿Cómo funciona RWKV?
La arquitectura RWKV original utiliza una serie de bloques residuales compuestos por dos mecanismos principales:
- Time Mixing.
- Channel Mixing.
Ambos procesos contribuyen a transformar las representaciones de entrada.
El primero permite integrar información temporal.
El segundo procesa las características dentro de cada posición.
Estos mecanismos se combinan con normalización, proyecciones aprendidas y conexiones residuales.
Etapa 1. Tokenización
El texto se convierte en una secuencia de tokens.
Por ejemplo:
«Los modelos recurrentes pueden procesar secuencias largas».
Cada token recibe un identificador numérico según el vocabulario del modelo.
Etapa 2. Embeddings
Los identificadores se convierten en representaciones vectoriales.
Estas representaciones constituyen la entrada de los bloques RWKV.
Etapa 3. Time Mixing
El modelo combina información de la posición actual con representaciones anteriores.
En RWKV-4, esta operación incluye un mecanismo denominado Token Shift.
Etapa 4. Weighted Key Value
Las representaciones de claves y valores se combinan mediante una ponderación temporal.
Este procedimiento permite integrar información del historial.
Etapa 5. Receptance
Una compuerta controla la contribución de la información temporal a la salida.
Etapa 6. Channel Mixing
El modelo transforma las características de cada posición mediante una red neuronal con compuertas.
Etapa 7. Conexiones residuales
Los resultados de los bloques se combinan con las representaciones anteriores.
Etapa 8. Predicción
Después de atravesar las capas RWKV, el modelo produce representaciones que pueden utilizarse para predecir el siguiente token.
Time Mixing: mezcla temporal
Time Mixing es uno de los mecanismos fundamentales de RWKV.
Su objetivo consiste en incorporar información procedente de posiciones anteriores dentro del procesamiento de la posición actual.
En un Transformer convencional, el contexto se obtiene mediante operaciones de atención.
RWKV utiliza mezclas aprendidas y estados acumulativos.
Una operación de mezcla temporal simplificada puede expresarse como:
\mu \odot x_t
+
(1-\mu)\odot x_{t-1}
]
Donde:
- (x_t) representa la entrada actual.
- (x_{t-1}) representa la entrada anterior.
- (\mu) representa un vector de coeficientes aprendidos.
- (\odot) representa una multiplicación elemento a elemento.
Esta expresión ilustra el mecanismo de Token Shift utilizado en RWKV-4.
El modelo puede aprender diferentes coeficientes de mezcla para distintas características.
Además, las representaciones Key, Value y Receptance pueden utilizar mezclas diferentes.
Por tanto, Time Mixing no consiste únicamente en promediar el token actual y el anterior.
Es una operación aprendida que prepara las representaciones utilizadas por el mecanismo recurrente.
¿Qué es Token Shift?
Token Shift es una técnica que permite introducir información de posiciones anteriores mediante desplazamientos y mezclas de características.
En lugar de procesar exclusivamente la representación actual, el modelo combina algunas características con valores procedentes de la posición anterior.
Por ejemplo, imaginemos una secuencia:
«La inteligencia artificial transforma empresas».
Cuando el modelo procesa «artificial», puede incorporar una parte de la representación previa correspondiente a «inteligencia».
Esto proporciona un mecanismo local de intercambio de información.
La mezcla temporal se aplica de forma aprendida.
Los pesos no tienen por qué ser iguales para todas las dimensiones.
En versiones posteriores de RWKV, como RWKV-6, el mecanismo de mezcla temporal fue ampliado mediante transformaciones dependientes de la entrada.
Por tanto, Token Shift constituye una parte importante del diseño original, pero no describe completamente todas las versiones de la familia RWKV.
Weighted Key Value: información ponderada en el tiempo
El mecanismo Weighted Key Value es el núcleo temporal de RWKV.
Su función consiste en combinar valores procedentes de diferentes posiciones utilizando pesos que reflejan la contribución de cada elemento.
La idea general está relacionada con un promedio ponderado de información histórica.
Sin embargo, RWKV puede calcular este promedio mediante estados recurrentes.
Consideremos una secuencia de pares clave-valor:
[
(k_1,v_1), (k_2,v_2), \ldots, (k_t,v_t)
]
En una formulación simplificada de RWKV-4, las contribuciones históricas pueden expresarse como una suma exponencialmente ponderada.
Por ejemplo:
\lambda \odot a_{t-1}
+
\exp(k_t)\odot v_t
]
\lambda \odot b_{t-1}
+
\exp(k_t)
]
Donde:
- (a_t) acumula información ponderada de valores.
- (b_t) acumula los pesos utilizados para normalizar.
- (\lambda) representa un factor de decaimiento temporal por canal.
- (k_t) representa las claves actuales.
- (v_t) representa los valores actuales.
Una salida normalizada puede calcularse como:
\frac{a_t}{b_t}
]
Estas ecuaciones ilustran un promedio exponencial recurrente.
El mecanismo real de RWKV-4 incorpora además el tratamiento específico de la posición actual, pesos de bonificación temporal y técnicas de estabilización numérica.
Por ello, estas fórmulas son una simplificación pedagógica y no una reproducción completa del bloque original.
La propiedad importante es que los estados pueden actualizarse utilizando únicamente la información actual y la memoria anterior.
No es necesario reconstruir explícitamente todo el historial.
¿Qué es Time Decay?
Time Decay, o decaimiento temporal, es un mecanismo que controla cómo disminuye la influencia de las contribuciones anteriores.
En una representación recurrente, algunas características del pasado pueden perder peso progresivamente.
Por ejemplo, si utilizamos un factor:
[
\lambda = 0.9
]
una contribución puede multiplicarse por 0,9 en cada actualización.
Después de varios pasos, su influencia relativa disminuye.
En RWKV, el decaimiento se aprende mediante parámetros específicos.
Las distintas dimensiones pueden utilizar diferentes escalas temporales.
Algunas características pueden representar información local.
Otras pueden conservar contribuciones durante intervalos más largos.
Esto proporciona una forma de modelar dependencias de diferentes duraciones.
Sin embargo, los factores de decaimiento no garantizan que el modelo recuerde correctamente toda la información importante.
La capacidad de recuperar un detalle depende del estado aprendido y del entrenamiento.
Receptance: la compuerta R
Receptance es el componente que proporciona la letra R al nombre RWKV.
Su función consiste en controlar cuánto influye la información temporal procesada sobre la salida.
En una formulación simplificada:
[
r_t=\sigma(W_r x_t^{(r)})
]
Donde:
- (W_r) representa una matriz aprendida.
- (x_t^{(r)}) representa una entrada mezclada para Receptance.
- (\sigma) representa la función sigmoide.
La salida temporal puede combinarse como:
r_t\odot wkv_t
]
La función sigmoide produce valores entre cero y uno.
Estos valores actúan como una compuerta multiplicativa.
Cuando un valor de Receptance es mayor, permite una contribución más fuerte de la señal correspondiente.
Cuando es menor, atenúa esa contribución.
Este procedimiento tiene similitudes conceptuales con las compuertas utilizadas por LSTM y GRU.
Sin embargo, su papel matemático y su integración con el mecanismo Weighted Key Value son diferentes.
Channel Mixing: transformación de características
El segundo componente importante de los bloques RWKV es Channel Mixing.
Su función consiste en transformar las características de cada posición mediante proyecciones aprendidas y funciones no lineales.
En RWKV-4, el mecanismo utiliza entradas mezcladas temporalmente y una compuerta de Receptance.
Una formulación simplificada es:
[
k_t=W_k x_t^{(k)}
]
[
v_t=W_v
\left(
\operatorname{ReLU}(k_t)^2
\right)
]
[
r_t=\sigma(W_r x_t^{(r)})
]
[
o_t=r_t\odot v_t
]
La transformación (\operatorname{ReLU}(k_t)^2) introduce no linealidad.
La compuerta Receptance regula posteriormente la salida.
Este mecanismo cumple una función relacionada con las redes feed-forward de los Transformers, aunque su implementación presenta diferencias.
Channel Mixing permite aprender transformaciones no lineales de las representaciones.
Time Mixing y Channel Mixing se complementan para integrar información temporal y transformar características.
Arquitectura interna de un bloque RWKV-4
Un bloque RWKV-4 puede entenderse mediante el siguiente flujo conceptual:
Entrada de tokens
↓ Normalización
Time Mixing
↓ Weighted Key Value + Receptance
Conexión residual
↓ Normalización
Channel Mixing
↓ Transformación no lineal + Receptance
Conexión residual
↓ Salida del bloque
Las capas se apilan para construir un modelo completo.
En un modelo autorregresivo, la salida final se proyecta hacia el vocabulario para calcular probabilidades del siguiente token.
Esta organización guarda cierta similitud con los bloques Transformer, que también utilizan normalización, transformaciones de características y conexiones residuales.
La diferencia principal está en que RWKV sustituye la autoatención convencional por mecanismos recurrentes de mezcla temporal.
Entrenamiento paralelo e inferencia recurrente
Una de las características más importantes de RWKV es la posibilidad de utilizar diferentes estrategias de cálculo para una misma arquitectura.
Entrenamiento paralelizable
Durante el entrenamiento, el modelo procesa secuencias completas.
Determinadas operaciones temporales pueden reformularse para ejecutarse mediante cálculos paralelos sobre múltiples posiciones.
Esto permite aprovechar mejor el hardware acelerador.
Sin embargo, la arquitectura no elimina todas las dependencias entre posiciones.
La posibilidad de paralelización depende del mecanismo concreto y de la implementación.
Inferencia recurrente
Durante la generación, el modelo recibe un nuevo token y actualiza sus estados.
Después, utiliza la salida para predecir el siguiente token.
El proceso continúa:
Token 1 → Estado 1
Token 2 + Estado 1 → Estado 2
Token 3 + Estado 2 → Estado 3
Y así sucesivamente.
El modelo no necesita recalcular una matriz de atención sobre todos los tokens históricos.
¿Por qué resulta importante?
Porque la generación de texto es un proceso secuencial.
Un modelo autorregresivo produce un token antes de conocer cuál será el siguiente.
RWKV aprovecha esa propiedad para ejecutar actualizaciones recurrentes.
Esto puede reducir el consumo de memoria y el coste por token en escenarios de contexto largo.
Complejidad computacional de RWKV
En un Transformer convencional con autoatención completa, el coste de procesar una secuencia puede incluir un componente:
[
O(L^2)
]
Donde (L) representa la longitud.
RWKV utiliza mecanismos de procesamiento cuya complejidad temporal puede crecer aproximadamente de forma lineal:
[
O(L)
]
cuando se mantienen constantes las dimensiones del modelo.
Durante la generación recurrente, el estado tiene un tamaño determinado por la arquitectura.
Por tanto, la memoria asociada a ese estado no necesita crecer con cada token generado.
Es importante distinguir entre memoria recurrente y memoria total.
Los pesos del modelo, los buffers temporales y los requisitos de ejecución también consumen recursos.
Además, RWKV no garantiza que cualquier implementación sea más rápida que cualquier Transformer.
El rendimiento depende del hardware, las optimizaciones y las condiciones de inferencia.
Comparación conceptual de memoria
| Característica | Transformer causal con caché KV convencional | RWKV recurrente |
|---|---|---|
| Representaciones históricas | Claves y valores por posición | Estado acumulado |
| Crecimiento con el historial | Habitualmente lineal | Acotado por la arquitectura |
| Procesamiento incremental | Sí | Sí |
| Acceso directo a tokens anteriores | Mediante claves y valores almacenados | Mediante estado comprimido |
| Necesidad de autoatención softmax | Sí, en el modelo convencional | No |
| Coste por token | Depende de la longitud histórica | Puede mantenerse acotado |
Esta comparación describe mecanismos habituales.
Existen Transformers modernos con atención local, compresión de caché y otras optimizaciones que modifican estos comportamientos.
Del mismo modo, las diferentes versiones de RWKV utilizan estados y actualizaciones distintas.
RWKV frente a Transformer
RWKV y los Transformers comparten determinadas características de organización neuronal.
Ambos pueden utilizar embeddings, bloques residuales, normalización y proyecciones aprendidas.
Sin embargo, difieren en cómo modelan las dependencias temporales.
En un Transformer convencional, la información contextual se obtiene mediante atención entre posiciones.
En RWKV, la información se incorpora mediante estados recurrentes y mecanismos de mezcla.
| Característica | Transformer convencional | RWKV |
|---|---|---|
| Mecanismo temporal | Autoatención | Mezcla temporal recurrente |
| Query, Key, Value | Sí | Key y Value, junto con Receptance |
| Atención softmax convencional | Sí | No como mecanismo principal |
| Entrenamiento paralelo | Sí | Paralelizable según formulación |
| Generación incremental | Sí | Sí |
| Caché KV histórica | Habitual | No necesaria |
| Memoria de estado acotada | No en la caché convencional | Sí |
| Complejidad de contexto | Cuadrática en atención completa | Lineal respecto a la secuencia |
Una diferencia importante es que RWKV no conserva necesariamente una representación individual de cada token anterior.
Esto reduce determinadas necesidades de memoria, pero también puede dificultar la recuperación exacta de información histórica.
RWKV frente a LSTM y GRU
RWKV pertenece a una familia de modelos recurrentes, pero presenta diferencias frente a las RNN tradicionales.
LSTM y GRU utilizan estados recurrentes y mecanismos de compuertas.
RWKV también mantiene estados, pero emplea una mezcla temporal ponderada y un diseño orientado a combinar procesamiento paralelo con inferencia recurrente.
| Característica | LSTM/GRU | RWKV |
|---|---|---|
| Estado recurrente | Sí | Sí |
| Compuertas | Sí | Receptance y mecanismos relacionados |
| Mezcla temporal ponderada | No con la formulación RWKV | Sí |
| Entrenamiento paralelizable | Limitado por recurrencia tradicional | Diseñado para aprovechar paralelismo |
| Modelos de lenguaje grandes | Posibles | Demostrados a escala de miles de millones |
| Generación incremental | Sí | Sí |
RWKV no debe describirse simplemente como una LSTM modificada.
Su arquitectura combina distintas ideas procedentes de modelos recurrentes, mecanismos de ponderación temporal y diseños de redes profundas.
RWKV frente a Linear Transformer
La comparación con Linear Transformer resulta especialmente interesante después de la Entrada 112.
Linear Transformer utiliza funciones kernel para reformular determinadas operaciones de atención como actualizaciones recurrentes.
RWKV utiliza un mecanismo de mezcla temporal basado en pesos, claves, valores y Receptance.
Ambas arquitecturas pueden mantener estados durante la generación.
Sin embargo, sus fórmulas de actualización son diferentes.
| Característica | Linear Transformer | RWKV |
|---|---|---|
| Fundamento | Atención lineal mediante kernels | Weighted Key Value recurrente |
| Estado acumulativo | Estadísticas de claves y valores | Estados temporales específicos |
| Compuerta Receptance | No como mecanismo definitorio | Sí |
| Time Decay aprendido | No necesariamente | Central en RWKV original |
| Token Shift | No como componente central | Sí, en RWKV-4 |
| Generación recurrente | Sí | Sí |
| Entrenamiento paralelizable | Sí | Sí |
La diferencia conceptual más importante es la combinación específica de ponderación temporal y compuertas de RWKV.
Mientras Linear Transformer parte de una reformulación general de atención basada en kernels, RWKV introduce un bloque diseñado especialmente para modelado de lenguaje recurrente.
RWKV frente a Mamba y Mamba-2
RWKV también puede compararse con Mamba y Mamba-2.
Las tres familias buscan procesar secuencias de manera eficiente y pueden utilizar estados recurrentes durante la generación.
Sin embargo, su arquitectura matemática es diferente.
Mamba utiliza modelos de espacio de estados selectivos.
Mamba-2 desarrolla Structured State Space Duality.
RWKV utiliza mecanismos de mezcla temporal y estados ponderados.
| Característica | RWKV | Mamba | Mamba-2 |
|---|---|---|---|
| Familia principal | RNN con mezcla temporal | SSM selectivo | SSM estructurado |
| Estado recurrente | Sí | Sí | Sí |
| Atención softmax convencional | No | No | No |
| Receptance | Componente característico | No equivalente | No equivalente |
| Time Decay | Importante | Transiciones de estado | Transiciones estructuradas |
| Entrenamiento paralelo | Sí | Selective Scan | Algoritmo SSD |
| Generación incremental | Sí | Sí | Sí |
Estas arquitecturas muestran diferentes estrategias para conservar información sin depender de una caché KV convencional.
No existe una respuesta universal sobre cuál resulta mejor.
La selección debe basarse en calidad, latencia, memoria, disponibilidad de checkpoints y características de la tarea.
Evolución de RWKV: versiones 4, 5, 6 y 7
La arquitectura RWKV ha evolucionado significativamente desde su publicación original.
Es importante distinguir las diferentes versiones porque sus mecanismos internos no son idénticos.
RWKV-4: la arquitectura original
RWKV-4 constituye la formulación estudiada principalmente en el artículo de EMNLP 2023.
Introduce mecanismos de Time Mixing, Channel Mixing, Token Shift y Weighted Key Value con decaimiento temporal.
Su objetivo es combinar entrenamiento paralelizable con inferencia recurrente.
RWKV-5 — Eagle
RWKV-5, conocida como Eagle, introduce mejoras importantes en el mecanismo de estado.
Una de sus aportaciones principales es el uso de estados matriciales y múltiples cabezas.
Esta estructura permite representar relaciones más complejas que las disponibles en determinados estados anteriores.
RWKV-6 — Finch
RWKV-6, denominada Finch, amplía los mecanismos de recurrencia dinámica.
Introduce modificaciones relacionadas con la dependencia de la entrada y las mezclas temporales.
El trabajo Eagle and Finch: RWKV with Matrix-Valued States and Dynamic Recurrence, publicado en COLM 2024, documenta estas evoluciones.
RWKV-7 — Goose
RWKV-7, denominada Goose, fue presentada en marzo de 2025.
Su principal innovación es Dynamic State Evolution.
La arquitectura incorpora una formulación generalizada de la regla delta, compuertas vectoriales y mecanismos de actualización de estado más expresivos.
Sus investigadores presentaron resultados sobre seguimiento de estados y reconocimiento de lenguajes formales, además de evaluaciones de modelado lingüístico.
RWKV-7 representa una evolución importante respecto a RWKV-4.
No debe suponerse que las ecuaciones del mecanismo Weighted Key Value original describen exactamente las actualizaciones de RWKV-7.
RWKV-8 — investigación experimental
La comunidad RWKV también ha publicado desarrollos experimentales relacionados con RWKV-8.
Estos trabajos exploran nuevas posibilidades de representación y eficiencia.
No obstante, deben distinguirse las versiones experimentales de los modelos consolidados y documentados mediante publicaciones científicas.
Para comprender los fundamentos históricos, RWKV-4 sigue siendo una referencia importante.
Para seleccionar modelos actuales, conviene revisar las versiones mantenidas y los checkpoints recomendados por la comunidad oficial.
Resultados experimentales de RWKV
El trabajo original de RWKV evaluó modelos de diferentes tamaños en tareas de procesamiento del lenguaje natural.
Los investigadores entrenaron configuraciones desde cientos de millones de parámetros hasta aproximadamente 14.000 millones.
El artículo incluyó comparaciones con modelos Transformer de escala similar.
Calidad del modelado del lenguaje
Los resultados mostraron que RWKV podía ofrecer un rendimiento competitivo en diversas evaluaciones.
Estas comparaciones fueron especialmente relevantes porque demostraron que una arquitectura recurrente podía escalarse a tamaños asociados con grandes modelos de lenguaje.
Eficiencia de inferencia
RWKV permite mantener un estado recurrente en lugar de una caché KV que aumente continuamente con cada token.
Esta propiedad puede ofrecer ventajas durante la generación de secuencias largas.
Escalabilidad
Los experimentos demostraron que la arquitectura podía entrenarse a escala de miles de millones de parámetros.
Limitaciones de las comparaciones
El artículo original fue publicado en 2023.
Desde entonces, tanto los Transformers como las arquitecturas recurrentes han evolucionado.
Por ello, los resultados históricos no deben interpretarse como una clasificación actual frente a todos los modelos disponibles.
La comparación correcta requiere utilizar checkpoints actuales y condiciones experimentales equivalentes.
Aplicaciones prácticas de RWKV
1. Generación de texto
RWKV puede entrenarse para predecir el siguiente token y generar secuencias de texto.
La inferencia recurrente resulta interesante cuando se desea controlar el consumo de memoria.
2. Modelos de lenguaje locales
La arquitectura puede utilizarse en proyectos orientados a ejecutar modelos de lenguaje en equipos locales.
La viabilidad depende del número de parámetros, la cuantización, la infraestructura y el software disponible.
3. Asistentes conversacionales
Los modelos RWKV ajustados mediante instrucciones pueden utilizarse como componentes de sistemas conversacionales.
No todos los checkpoints base están preparados para seguir instrucciones.
4. Procesamiento de secuencias extensas
RWKV puede procesar secuencias mediante estados recurrentes sin necesidad de conservar una caché KV convencional.
Sin embargo, la capacidad de recuperar información detallada debe evaluarse experimentalmente.
5. Aplicaciones multilingües
La familia RWKV World incluye modelos entrenados con datos de numerosos idiomas.
Esto permite estudiar aplicaciones en español y otras lenguas.
6. Investigación sobre memoria neuronal
RWKV constituye una referencia importante para comparar memoria recurrente y mecanismos de atención.
7. Generación incremental en sistemas de tiempo real
Los mecanismos recurrentes pueden resultar útiles cuando se necesita procesar nuevos tokens con un estado que no crezca con todo el historial.
La latencia real depende de la implementación.
8. Sistemas de agentes de inteligencia artificial
RWKV puede utilizarse como modelo de lenguaje dentro de una aplicación de agentes, siempre que el checkpoint elegido tenga capacidades adecuadas.
La planificación, el uso de herramientas y la ejecución de acciones requieren componentes adicionales.
Ejemplo práctico: implementar el principio WKV con Python
Para comprender el mecanismo Weighted Key Value, podemos construir una versión educativa mediante NumPy.
El objetivo es mostrar cómo un estado puede acumular valores ponderados por claves y decaimiento temporal.
Este ejemplo no reproduce exactamente RWKV-4 ni ninguna versión posterior.
Primero, instalamos NumPy:
pip install numpy
Después, ejecutamos:
import numpy as npkeys = np.array([ 0.2, 0.8, 0.1, 1.2])values = np.array([ 1.0, 2.0, -1.0, 3.0])# Factor de decaimiento temporaldecay = 0.9# Estados acumulativosnumerator = 0.0denominator = 0.0outputs = []for key, value in zip(keys, values): weight = np.exp(key) numerator = ( decay * numerator + weight * value ) denominator = ( decay * denominator + weight ) output = numerator / denominator outputs.append(output)print("Weighted outputs:")print(np.array(outputs))
El programa utiliza dos estados.
El primero acumula valores ponderados.
El segundo acumula los pesos correspondientes.
Cada nuevo elemento modifica ambos estados.
El factor de decaimiento reduce progresivamente la influencia relativa de las contribuciones anteriores.
La salida se calcula normalizando el estado de valores por el estado de pesos.
Este ejemplo permite comprender la idea general de una combinación temporal recurrente.
La implementación real de RWKV incluye mecanismos adicionales de estabilidad numérica, mezcla temporal, compuertas y parámetros aprendidos.
Ejemplo práctico: demostrar la compuerta Receptance
También podemos visualizar el comportamiento de una compuerta mediante Python.
import numpy as npdef sigmoid(x): return 1.0 / (1.0 + np.exp(-x))receptance_logits = np.array([ -3.0, -1.0, 0.0, 1.0, 3.0])weighted_values = np.array([ 2.0, 2.0, 2.0, 2.0, 2.0])gates = sigmoid(receptance_logits)outputs = gates * weighted_valuesfor logit, gate, output in zip( receptance_logits, gates, outputs): print( f"Logit: {logit:5.1f} | " f"Gate: {gate:.3f} | " f"Output: {output:.3f}" )
Este programa muestra cómo una compuerta sigmoide modifica la contribución de una señal.
Los valores pequeños de Receptance atenúan la salida.
Los valores mayores permiten una contribución más elevada.
En RWKV, los valores de Receptance no se seleccionan manualmente.
Son producidos por transformaciones aprendidas a partir de las representaciones de entrada.
Ejemplo práctico: utilizar RWKV con Hugging Face
Hugging Face Transformers dispone de una implementación histórica de RWKV-4.
Podemos cargar un modelo preentrenado y obtener una continuación de texto.
El siguiente ejemplo utiliza el checkpoint RWKV/rwkv-4-169m-pile.
El código corresponde a la interfaz documentada para RWKV-4. Conviene comprobar la compatibilidad de la versión instalada de Transformers antes de ejecutarlo, porque las implementaciones y dependencias pueden cambiar.
import torchfrom transformers import ( AutoTokenizer, RwkvForCausalLM)model_name = "RWKV/rwkv-4-169m-pile"tokenizer = AutoTokenizer.from_pretrained( model_name)model = RwkvForCausalLM.from_pretrained( model_name)prompt = ( "Artificial intelligence is transforming")inputs = tokenizer( prompt, return_tensors="pt")model.eval()with torch.no_grad(): generated = model.generate( **inputs, max_new_tokens=40, do_sample=False )text = tokenizer.decode( generated[0], skip_special_tokens=True)print(text)
Este ejemplo utiliza un modelo RWKV-4 relativamente pequeño.
El sistema tokeniza la entrada y genera una continuación.
Es importante considerar que el checkpoint fue entrenado principalmente como modelo base de lenguaje.
Por tanto, no debe esperarse que responda a instrucciones de la misma manera que un modelo conversacional moderno.
Además, este ejemplo no utiliza necesariamente las implementaciones más recientes y optimizadas de RWKV.
Para experimentar con RWKV-7 u otras versiones nuevas, es preferible consultar el repositorio oficial y las herramientas específicas de cada familia.
Ejemplo práctico: conservar y reutilizar el estado recurrente
Una de las características más importantes de RWKV es la posibilidad de continuar procesando tokens a partir de un estado anterior.
La interfaz histórica de Hugging Face permite ilustrar este comportamiento.
import torchfrom transformers import ( AutoTokenizer, RwkvForCausalLM)model_name = "RWKV/rwkv-4-169m-pile"tokenizer = AutoTokenizer.from_pretrained( model_name)model = RwkvForCausalLM.from_pretrained( model_name)model.eval()part_1 = tokenizer( "Machine learning models", return_tensors="pt")part_2 = tokenizer( " process sequences efficiently.", return_tensors="pt", add_special_tokens=False)with torch.no_grad(): output_1 = model( input_ids=part_1["input_ids"], use_cache=True ) previous_state = output_1.state output_2 = model( input_ids=part_2["input_ids"], state=previous_state, use_cache=True )print("First part processed")print("State available:", previous_state is not None)print("Second part processed")print("New state available:", output_2.state is not None)
El primer fragmento produce un estado interno.
Posteriormente, el segundo fragmento utiliza ese estado para continuar el procesamiento.
Este procedimiento ilustra la propiedad recurrente de RWKV.
No obstante, en una aplicación real debemos mantener correctamente la continuidad de la secuencia.
También es importante no reutilizar estados entre usuarios o documentos independientes cuando ello pueda producir contaminación del contexto o exposición de información.
¿Qué software puede utilizarse para experimentar con RWKV?
La comunidad RWKV mantiene diferentes proyectos de código abierto.
Uno de los principales es el repositorio RWKV-LM, que contiene implementaciones y materiales de entrenamiento.
También existe ChatRWKV, orientado a la ejecución conversacional de modelos.
La documentación oficial está disponible en RWKV Wiki.
Los checkpoints pueden encontrarse en Hugging Face.
Entre los recursos principales se encuentran:
- RWKV-LM: https://github.com/RWKV/RWKV-LM
- ChatRWKV: https://github.com/BlinkDL/ChatRWKV
- RWKV Wiki: https://wiki.rwkv.com/
- Modelos RWKV en Hugging Face: https://huggingface.co/RWKV
Para aplicaciones nuevas, conviene comprobar qué versiones reciben mantenimiento activo.
Las herramientas destinadas a RWKV-4 no necesariamente son compatibles con los checkpoints de RWKV-6 o RWKV-7.
Los formatos de estado, kernels y parámetros arquitectónicos pueden ser diferentes.
RWKV y el procesamiento del lenguaje en español
RWKV puede utilizarse para desarrollar aplicaciones en español.
Sin embargo, el rendimiento depende del modelo concreto y de sus datos de entrenamiento.
Los primeros checkpoints se entrenaron principalmente con corpus orientados al inglés.
Posteriormente, la familia RWKV World amplió el entrenamiento multilingüe.
Esto permite estudiar aplicaciones en numerosos idiomas, incluido el español.
Para seleccionar un modelo conviene revisar:
- Los idiomas presentes en el entrenamiento.
- El tamaño del checkpoint.
- La versión arquitectónica.
- La longitud de contexto utilizada durante el entrenamiento.
- La disponibilidad de ajuste mediante instrucciones.
- La calidad en pruebas específicas de español.
- La compatibilidad con la infraestructura.
Un modelo multilingüe no garantiza automáticamente el mismo nivel de precisión en todas las lenguas.
Por ello, es recomendable evaluar tareas como comprensión, generación, recuperación de datos y seguimiento de instrucciones utilizando ejemplos reales.
Ventajas de RWKV
1. Inferencia recurrente eficiente
RWKV puede procesar nuevos tokens actualizando estados sin reconstruir una matriz de atención sobre todo el historial.
2. Memoria de estado acotada
El tamaño del estado recurrente depende de la arquitectura y no necesita crecer con cada token anterior.
3. Entrenamiento paralelizable
Determinadas formulaciones permiten aprovechar operaciones paralelas durante el entrenamiento.
4. Escalabilidad
El trabajo original demostró que RWKV podía entrenarse a escala de miles de millones de parámetros.
5. Generación incremental
La arquitectura está diseñada para producir tokens mediante actualizaciones recurrentes.
6. Código abierto
La familia RWKV dispone de implementaciones y checkpoints publicados por su comunidad.
7. Evolución arquitectónica
Las versiones posteriores han introducido estados matriciales, recurrencia dinámica y mecanismos de actualización más expresivos.
Limitaciones de RWKV
Aunque RWKV presenta ventajas importantes, también existen limitaciones.
La primera está relacionada con la memoria recurrente.
Un estado de tamaño finito debe resumir información procedente de la secuencia.
Esto puede dificultar la recuperación exacta de determinados detalles históricos.
En un Transformer con atención completa, el modelo puede consultar directamente representaciones individuales de posiciones anteriores.
RWKV utiliza una representación acumulada.
Por tanto, ciertas tareas de recuperación precisa pueden presentar dificultades dependiendo de la versión y el entrenamiento.
Otra limitación es la complejidad de las implementaciones optimizadas.
Algunas versiones requieren kernels especializados.
También existen diferencias importantes entre generaciones arquitectónicas.
Un checkpoint RWKV-4 no puede utilizarse automáticamente con una implementación exclusiva de RWKV-7.
Además, las ventajas computacionales deben medirse en condiciones reales.
Un Transformer pequeño y optimizado puede ofrecer mejor rendimiento en determinadas tareas de texto corto.
Finalmente, como cualquier modelo de lenguaje, RWKV puede producir respuestas incorrectas o reproducir sesgos de sus datos de entrenamiento.
La arquitectura no elimina los problemas generales de fiabilidad de la inteligencia artificial generativa.
RWKV y el contexto largo
La memoria recurrente permite que RWKV procese una secuencia progresivamente sin almacenar todos los tokens anteriores en una caché KV convencional.
Esta característica puede resultar especialmente interesante en aplicaciones con historiales largos.
Sin embargo, es importante distinguir tres conceptos.
Capacidad de procesar secuencias largas: el modelo puede continuar actualizando estados mientras recibe nuevos tokens.
Consumo de memoria recurrente: el tamaño del estado puede permanecer acotado.
Capacidad efectiva de recordar información: depende del entrenamiento y de cómo se representa la información histórica.
Estas propiedades no son equivalentes.
Un modelo puede procesar un millón de tokens sin necesitar una caché proporcional a toda esa longitud y, aun así, ser incapaz de recuperar correctamente un detalle mencionado al principio.
Por ello, las afirmaciones sobre contexto prácticamente ilimitado deben interpretarse como propiedades del mecanismo de procesamiento, no como garantías de memoria semántica perfecta.
RWKV y la inteligencia artificial generativa
RWKV representa una línea importante de investigación sobre modelos generativos recurrentes.
Su diseño permite construir modelos autorregresivos capaces de generar texto mediante actualizaciones incrementales de estados.
Esto resulta especialmente relevante para aplicaciones donde la memoria y la eficiencia de inferencia son factores importantes.
Sin embargo, una arquitectura eficiente no garantiza capacidades avanzadas de razonamiento, programación o seguimiento de instrucciones.
Estas capacidades dependen del entrenamiento, los datos, el tamaño del modelo y los procedimientos de ajuste.
En aplicaciones empresariales, RWKV podría utilizarse como componente de un asistente especializado.
También podría formar parte de un sistema de agentes que combine modelos de lenguaje, bases de datos y herramientas.
No obstante, RWKV no es por sí misma una plataforma de agentes.
La planificación, la ejecución de herramientas y el control de permisos requieren mecanismos adicionales.
Importancia de RWKV en la evolución de los modelos de lenguaje
La principal contribución de RWKV consiste en demostrar que una arquitectura recurrente puede escalarse hasta tamaños asociados con grandes modelos de lenguaje y obtener resultados competitivos en determinadas tareas.
Su diseño combina mecanismos temporales ponderados, compuertas y actualizaciones de estado.
Esta estrategia ofrece una alternativa a la autoatención convencional de los Transformers.
La evolución posterior hacia RWKV-5, RWKV-6 y RWKV-7 demuestra que los modelos recurrentes continúan siendo un área activa de investigación.
RWKV también resulta relevante para comprender la relación entre procesamiento paralelo y generación incremental.
Mientras los Transformers popularizaron el procesamiento paralelo durante el entrenamiento, RWKV explora cómo combinar esta ventaja con una inferencia basada en estados.
Este principio guarda relación con otras investigaciones sobre atención lineal, modelos de espacio de estados y arquitecturas recurrentes modernas.
La conclusión más importante es que los grandes modelos de lenguaje no necesitan utilizar necesariamente atención softmax convencional como mecanismo temporal principal.
Existen diferentes formas de construir sistemas capaces de modelar dependencias lingüísticas.
Preguntas frecuentes sobre RWKV
¿Qué significa RWKV?
RWKV significa Receptance Weighted Key Value. Describe una arquitectura recurrente que combina información temporal ponderada mediante claves, valores y una compuerta de Receptance.
¿Quién desarrolló RWKV?
RWKV fue desarrollada inicialmente por Bo Peng, conocido como BlinkDL, y posteriormente evolucionó mediante una comunidad internacional de investigadores y desarrolladores.
¿Cuándo apareció RWKV?
El artículo principal de RWKV fue publicado en Findings of EMNLP 2023, aunque el desarrollo de la arquitectura comenzó anteriormente.
¿RWKV es un Transformer?
No en el sentido convencional. RWKV comparte determinados principios estructurales con los Transformers, pero utiliza mecanismos recurrentes de mezcla temporal en lugar de autoatención softmax.
¿RWKV es una RNN?
Sí. RWKV puede ejecutarse recurrentemente mediante estados internos que se actualizan conforme llegan nuevos tokens.
¿Qué es Time Mixing?
Es un mecanismo que combina información temporal para construir representaciones contextualizadas.
¿Qué es Channel Mixing?
Es un mecanismo que transforma las características de cada posición mediante proyecciones aprendidas, activaciones no lineales y compuertas.
¿Qué es Receptance?
Es una compuerta que regula la contribución de información procesada sobre la salida de una capa.
¿Qué es Time Decay?
Es un mecanismo aprendido que controla la influencia temporal de contribuciones anteriores.
¿Qué es Token Shift?
Es una técnica que mezcla características de la posición actual con información procedente de posiciones anteriores.
¿RWKV utiliza atención softmax?
La arquitectura RWKV original no utiliza autoatención softmax convencional como mecanismo principal.
¿RWKV necesita una caché KV?
No necesita una caché KV histórica convencional durante la inferencia recurrente. Utiliza estados internos propios.
¿RWKV puede procesar secuencias ilimitadas?
Puede actualizar su estado durante secuencias arbitrariamente prolongadas en determinadas condiciones, pero eso no garantiza recordar todo su contenido.
¿RWKV es más rápido que un Transformer?
Puede ser más eficiente en determinados escenarios, especialmente durante generación incremental y contextos largos. La velocidad depende del modelo, hardware e implementación.
¿Qué diferencia existe entre RWKV y Linear Transformer?
Linear Transformer utiliza atención basada en kernels. RWKV utiliza mecanismos específicos de mezcla temporal, Weighted Key Value y Receptance.
¿Qué diferencia existe entre RWKV y Mamba?
Mamba utiliza modelos de espacio de estados selectivos. RWKV utiliza una familia de mecanismos recurrentes de mezcla temporal y estados ponderados.
¿Qué es RWKV-5 Eagle?
Es una evolución de RWKV que introduce estados matriciales y mecanismos de múltiples cabezas.
¿Qué es RWKV-6 Finch?
Es una evolución que incorpora mecanismos de recurrencia dinámica y mezclas temporales dependientes de la entrada.
¿Qué es RWKV-7 Goose?
Es una evolución presentada en 2025 que introduce Dynamic State Evolution y una regla delta generalizada.
¿RWKV puede utilizarse con Python?
Sí. Existen implementaciones oficiales y comunitarias, además de soporte histórico de RWKV-4 en Hugging Face Transformers.
¿RWKV funciona con español?
Sí, mediante modelos entrenados o adaptados para español. La familia RWKV World incluye checkpoints multilingües.
¿Por qué es importante estudiar RWKV?
Porque demuestra cómo combinar entrenamiento paralelizable con inferencia recurrente y estados de memoria compactos dentro de una arquitectura escalable de lenguaje.
Conclusión
La arquitectura RWKV representa una contribución importante a la investigación sobre modelos de lenguaje eficientes.
Su principal innovación consiste en combinar mecanismos recurrentes de mezcla temporal con una organización neuronal que permite aprovechar procesamiento paralelo durante el entrenamiento.
El mecanismo Receptance Weighted Key Value utiliza claves, valores, ponderación temporal y compuertas para incorporar información contextual.
A diferencia de los Transformers convencionales, RWKV puede generar texto utilizando estados recurrentes sin mantener una caché KV que aumente continuamente con la longitud histórica de la secuencia.
Esta característica puede resultar especialmente útil en aplicaciones donde la memoria disponible representa una limitación.
La evolución desde RWKV-4 hasta RWKV-7 también demuestra que la arquitectura ha incorporado mecanismos progresivamente más expresivos, como estados matriciales y actualizaciones dinámicas.
Sin embargo, la eficiencia del estado recurrente no elimina las limitaciones relacionadas con la recuperación de información detallada ni garantiza mejores resultados en todas las tareas.
Para estudiantes, investigadores y desarrolladores de inteligencia artificial, RWKV ofrece una lección fundamental:
Los grandes modelos de lenguaje pueden combinar el entrenamiento paralelizable de los Transformers con la inferencia incremental de las redes neuronales recurrentes, utilizando mecanismos de memoria que no necesitan crecer con cada token procesado.
Comprender RWKV permite profundizar en los fundamentos de recurrencia neuronal, atención lineal, mezcla temporal, compuertas, memoria de estado y arquitecturas eficientes para la inteligencia artificial generativa.
Referencias y fuentes oficiales
- Peng, B. et al. (2023). RWKV: Reinventing RNNs for the Transformer Era. Findings of EMNLP 2023, páginas 14048–14077. https://aclanthology.org/2023.findings-emnlp.936/
- Peng, B. et al. (2023). RWKV: Reinventing RNNs for the Transformer Era. arXiv. https://arxiv.org/abs/2305.13048
- RWKV Community. RWKV-LM — Repositorio oficial. https://github.com/RWKV/RWKV-LM
- RWKV Community. RWKV Wiki — Documentación oficial. https://wiki.rwkv.com/
- Hugging Face. RWKV — Documentación técnica de Transformers. https://huggingface.co/docs/transformers/model_doc/rwkv
- Peng, B. et al. (2024). Eagle and Finch: RWKV with Matrix-Valued States and Dynamic Recurrence. https://arxiv.org/abs/2404.05892
- Peng, B. et al. (2025). RWKV-7 “Goose” with Expressive Dynamic State Evolution. https://arxiv.org/abs/2503.14456
- Katharopoulos, A. et al. (2020). Transformers are RNNs: Fast Autoregressive Transformers with Linear Attention. https://arxiv.org/abs/2006.16236
- Gu, A. y Dao, T. (2023). Mamba: Linear-Time Sequence Modeling with Selective State Spaces. https://arxiv.org/abs/2312.00752
