M-am gândit puțin recent la învățarea continuă, mai ales în ceea ce privește agenții cu durată lungă (și am făcut câteva experimente de jucărie cu MLX). Status quo-ul compactării prompte combinate cu subagenții recursivi este de fapt remarcabil de eficient. Se pare că putem merge destul de departe cu asta. (Compactarea promptului = când fereastra de context se apropie de plină, modelul generează un rezumat mai scurt, apoi începe de la zero folosind rezumatul. Sub-agenți recursivi = descompun sarcinile în sarcini mai mici pentru a gestiona ferestre de context finite) Subagenții recursivi vor fi probabil întotdeauna utili. Dar compactarea promptă pare un truc puțin ineficient (deși foarte puternic). Există alte două alternative pe care le cunosc: 1. reglaje fină online și 2. Tehnici bazate pe memorie. Ajustare fină online: antrenează niște adaptoare LoRA pe datele pe care modelul le întâlnește în timpul implementării. În general, sunt mai puțin optimist în privința asta. Pe lângă provocările inginerești legate de implementarea modelelor / adaptoare personalizate pentru fiecare caz de utilizare / utilizator, există câteva probleme fundamentale: - Ajustarea fină online este inerent instabilă. Dacă te antrenezi pe date în domeniul țintă, poți distruge catastrofal capabilități pe care nu le vizezi. O soluție este să păstrezi un set de date mixt cu cele noi și vechi. Dar lucrurile devin destul de complicate destul de repede. - Cum arată datele pentru reglajele fine online? Generezi perechi Q/A pe baza domeniului țintă pentru a antrena modelul? De asemenea, ai problema prioritizării informațiilor din amestecul de date dată fiind o capacitate finită. Tehnici bazate pe memorie: practic o politică de a păstra memoria utilă și de a renunța la ceea ce nu este necesar. Asta seamănă mult mai mult cu modul în care oamenii rețin informația: "folosește-le sau le pierzi". Ai nevoie doar de câteva lucruri ca să funcționeze: - O politică de evacuare/retenție. Ceva de genul "păstrează o memorie dacă a fost accesată cel puțin o dată în ultimele 10.000 de tokenuri". - Politica trebuie să fie eficient calculabilă - Un loc unde modelul poate stoca și accesa memoria pe termen lung. Poate că un cache KV accesibil slab ar fi suficient. Dar pentru acces eficient la o memorie mare, o structură de date ierarhică ar putea fi mai bună.