È onestamente un po' pazzesco che io abbia il framework di apprendimento per rinforzo da pixel a politica più veloce del mondo, con 100k triangoli, 16k mesh uniche e 16k mondi unici. Tutto su un singolo 4090. 10 minuti su compiti facili
Ci sono alcune cose fantastiche al riguardo. Query molto rapide sugli attributi del mondo relative alle posizioni delle cose, attributi come quale sia la superficie più vicina. La memoria non esplode, posso scalare fino a 100k mondi unici in memoria se lo volessi, raggruppando le risorse. Generazione procedurale dal vivo.
Asset plug-and-play per il mondo. Posso generare proceduralmente mondi in mesh con manifoldcad se voglio, e continuare a generare nuovi mondi durante l'addestramento. Molte politiche faticano a memorizzare, ma non la mia. Ogni episodio potrebbe essere un nuovo mondo se voglio che sia così.
Schemi di rendering personalizzati per accelerare l'addestramento. Posso fare rendering foveato in modo da poter apprendere tramite RL un vero occhio, che si muove rapidamente per capire dove si trova l'agente. E in effetti impara. 1m, 2m passi al secondo. Con due GPU posso eseguire 12 esperimenti in un'ora.
Posso ottenere la percezione della profondità gratuitamente grazie al mio motore mondiale. Posso modellare e fisica che voglio iniettando una funzione pytorch che batcha le operazioni in ogni mondo. *Perché* posso eseguire così tanti esperimenti a velocità così estreme, e è così configurabile, sto imparando così tanto
Ho addestrato un modello per esplorare un appartamento con solo TRE query di profondità. È stato facile? No. Ci sono voluti molti esperimenti. Ma poiché posso eseguire 100 al giorno, faccio progressi 100 volte più rapidi. Ho capito come tenerlo giuuuusto *perché* i miei progressi sono 100 volte più veloci dei tuoi.
Ho del codice che esegue una ricerca a griglia su ogni angolo e ho del codice che rende il comportamento della politica e ho del codice che esegue le statistiche su tutti loro e aggiorna in tempo reale un grafico che posso osservare e ho del codice che esegue più esperimenti sulle mie macchine multiple
Fondamentalmente ho lavorato a questo per un totale di 2 mesi, interrotti da lavori su hardware e firmware. Le mie sessioni di allenamento prima richiedevano 10 ore e ora ne richiedono 10 minuti. Non penso che tu capisca davvero cosa significhi. 10 minuti
Mia madre scriveva in c++ per software bancari transazionali negli anni '90 e i suoi tempi di compilazione erano più lunghi. Il mio intero ciclo di addestramento su MONDI RENDERIZZATI generati proceduralmente è più veloce di quanto ci volesse a mia madre per eseguire test di integrazione su software transazionale per database.
Ho riscritto il mio motore di rendering e la mia integrazione del trainer (estensione pufferlib specifica per l'addestramento solo su GPU, quindi il mio intero ciclo gira nativamente su GPU) e il mio software di visualizzazione delle sperimentazioni / rollout e il mio software di generazione del mondo tre volte ora. Singolarmente.
La semplice velocità del mio loop rende un sacco di lavoro che non valeva nemmeno la pena tentare, degno di essere fatto oggi. Farò un sacco di cose stupide mai fatte prima Mi è stato detto che i pixel erano una cattiva idea perché erano lenti, ma qualsiasi software può essere reso veloce. Non è nemmeno così difficile.
Non penso che voi capiate. Ho addestrato una politica che utilizza NULLA DI PIÙ CHE PIXEL (!) CHE POSSONO GESTIRE LA FISICA con 4 canali di controllo che RICORDANO LETTERALMENTE quali stanze ha già visitato e EVITANO COLLISIONI a 20hz senza STATO. 900k parametri
Capisci? Vincerò. Non di poco. Non facendo ciò che fanno tutti gli altri. Facendo ciò che nessun altro ha il coraggio di fare. Semplicemente facendo la cosa che è ovvia, apparentemente solo per me. Vincerò.
@ChrisRemboldt (sì!)
26,64K