Tengo curiosidad por saber qué tan bien funciona SFT en relación con el aprendizaje en contexto. ICL siente magia negra: el modelo realmente está recogiendo un montón de información tácita con la eficiencia de la muestra humana. Si el ajuste fino puede acercarse a eso, ¿tal vez puedas juntar algo que se sienta como un aprendizaje continuo en la parte superior? Aquí hay una idea ingenua: bucle interno, haga SFT en los resúmenes de sesión. Bucle exterior, RL de largo horizonte donde tiene que hacer uso de habilidades y conocimientos que tienen que pasar entre sesiones. El bucle externo básicamente trata SFT como una llamada a la herramienta, incentivando al modelo a pasar por la mayor cantidad de información importante posible. Tengo curiosidad por saber si algo que combina técnicas existentes como esta será suficiente para el aprendizaje continuo, o si necesitamos un paradigma completamente nuevo. Hice una divertida estimación de Fermi con ChatGPT para obtener algo de intuición sobre esta pregunta. Una pregunta que podría hacerse es, ¿cuánto comprime SFT (a través de LoRA) la información en relación con el aprendizaje en contexto? Y compáralo con el preentrenamiento solo por diversión. Si hay una gran disparidad (es decir, hay muchos veces más bytes utilizados para los cachés de KV en comparación con los pesos de LoRA), entonces *puede* sugerir que sería muy difícil para LoRA ser tan rico y eficiente en muestras e ICL. Una vez más, esta es una madriguera de conejo de la tarde súper ondulada, no una investigación seria. El hecho de que use mucha menos memoria no significa necesariamente que sea mucho más tonto, etc. Este gráfico es para Llama 3 70 b (que fue preentrenado en 15 billones de tokens). Una vez que llegamos a miles de tokens de un solo dígito, el LoRA (cuyo tamaño no cambia con la cantidad de tokens que está ajustando) comienza a tener que comprimirse mucho más densamente que ICL. Una vez que tenga 100k tokens, los tokens que pasan por un LoRA de rango 32 se comprimen 37 veces más que si se estuvieran atendiendo en contexto (a través del caché de KV). Nota al margen: ¡los bytes por token de entrenamiento para el preentrenamiento son increíblemente bajos! (0,009 en este caso). Hice otro gráfico, esta vez manteniendo el conteo de tokens constante en 100k, y variando el rango de la LoRA. Ingenuamente, parece que el rango debería ser lo suficientemente pequeño como para que sea solo una pequeña fracción de los pesos totales del modelo (de lo contrario, ¿por qué molestarse con un LoRA?), pero también lo suficientemente grande como para contener una cantidad significativa de la información almacenada en cachés de KV. Así que puedes ver dónde podría estar ese punto óptimo. De todos modos, estos gráficos no son concluyentes de nada. Y disculpe cualquier error vergonzoso o malentendido. Ansioso por obtener tomas de alto nivel reales sobre qué tan bien funcionará el trabajo de combinación de SFT y RL en términos de hacer que el aprendizaje continuo que vemos con el aprendizaje en contexto funcione entre sesiones.
31.57K