Curioso di sapere quanto bene funziona SFT rispetto all'apprendimento in contesto. L'ICL sembra magia nera - il modello sta davvero raccogliendo un sacco di informazioni tacite con efficienza campionaria umana. Se il fine-tuning può avvicinarsi a questo, forse puoi assemblare qualcosa che sembri un apprendimento continuo sopra? Ecco un'idea ingenua: ciclo interno, fare SFT sui riassunti delle sessioni. Ciclo esterno, RL a lungo termine dove deve utilizzare abilità e conoscenze che devono passare tra le sessioni. Il ciclo esterno tratta fondamentalmente SFT come una chiamata a uno strumento, incentivando il modello a passare attraverso quante più informazioni importanti possibile. Sono curioso se qualcosa che combina tecniche esistenti in questo modo sarà sufficiente per l'apprendimento continuo, o se abbiamo bisogno di un intero nuovo paradigma. Ho fatto una divertente stima di Fermi con ChatGPT per avere un'intuizione su questa domanda. Una domanda che potresti porre è: quanto comprime SFT (via LoRA) le informazioni rispetto all'apprendimento in contesto? E confrontalo con il pre-addestramento solo per divertimento. Se c'è una grande disparità (cioè ci sono molti più byte utilizzati per le cache KV rispetto ai pesi della LoRA), allora *potrebbe* suggerire che sarebbe molto difficile per LoRA essere ricca e efficiente come ICL. Ancora una volta, questo è un super argomento vago, non un'indagine seria. Solo perché utilizza molta meno memoria non significa necessariamente che sia molto più stupido, ecc. Questo grafico è per Llama 3 70 b (che è stato pre-addestrato su 15 trilioni di token). Una volta che arriviamo a poche migliaia di token, la LoRA (la cui dimensione non cambia con quanti token stai facendo fine-tuning) inizia a dover comprimere molto più densamente rispetto a ICL. Una volta che hai 100k token, i token che passano attraverso una LoRA di rango 32 vengono compressi 37 volte di più rispetto a se fossero stati considerati in contesto (via la cache KV). Nota a margine: i byte per token di addestramento per il pre-addestramento sono incredibilmente bassi! (0.009 in questo caso). Ho fatto un altro grafico, questa volta mantenendo costante il conteggio dei token a 100k e variando il rango della LoRA. In modo ingenuo, sembra che il rango dovrebbe essere abbastanza piccolo da essere solo una piccola frazione dei pesi totali del modello (altrimenti, perché preoccuparsi di una LoRA?), ma anche abbastanza grande da contenere una quantità significativa delle informazioni memorizzate nelle cache KV. Quindi puoi vedere dove potrebbe trovarsi quel punto dolce. Comunque, questi grafici non sono conclusivi di nulla. E per favore scusa eventuali errori imbarazzanti o malintesi. Sono ansioso di avere opinioni reali su quanto bene funzionerà combinare SFT e RL in termini di rendere l'apprendimento continuo che vediamo con l'apprendimento in contesto funzionare tra le sessioni.
40,9K