Curioso cómo funciona SFT en relación con el aprendizaje en contexto. El ICL se siente como magia negra: el modelo realmente está captando un montón de información tácita con eficiencia de muestra humana. Si el ajuste fino puede acercarse a eso, tal vez puedas juntar algo que se sienta como aprendizaje continuo encima. Aquí hay una idea ingenua: bucle interno, hacer SFT en resúmenes de sesiones. Bucle externo, RL de largo horizonte donde tiene que hacer uso de habilidades y conocimientos que deben pasar entre sesiones. El bucle externo trata básicamente SFT como una llamada a una herramienta, incentivando al modelo a transmitir la mayor cantidad de información importante posible. Tengo curiosidad sobre si algo que combine 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ías hacer es, ¿cuánto comprime SFT (a través de LoRA) la información en relación con el aprendizaje en contexto? Y compararlo con el preentrenamiento solo por diversión. Si hay una gran disparidad (es decir, hay muchos más bytes utilizados para las cachés KV en comparación con los pesos de LoRA), entonces *podría* sugerir que sería muy difícil para LoRA ser tan rica y eficiente en muestras como ICL. De nuevo, esto es un agujero de conejo de tarde muy vago, no una investigación seria. Solo porque usa 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 los miles de tokens de un solo dígito, LoRA (cuyo tamaño no cambia con cuántos tokens estás ajustando) comienza a tener que comprimir de manera mucho más densa que ICL. Una vez que tienes 100k tokens, los tokens que pasan a través de un LoRA de rango 32 están siendo comprimidos 37 veces más que si se atendieran en contexto (a través de la caché 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 constante el conteo de tokens en 100k, y variando el rango de 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 las cachés KV. Así que puedes ver dónde podría estar ese punto dulce. De todos modos, estos gráficos no son concluyentes sobre nada. Y por favor, disculpa cualquier error o malentendido embarazoso. Estoy ansioso por obtener opiniones de alto nivel sobre qué tan bien funcionará juntar SFT y RL en términos de hacer que el aprendizaje continuo que vemos con el aprendizaje en contexto funcione entre sesiones.
35,94K