Neural Compiler traduce programmi in moduli PyTorch differenziabili
Una nuova innovazione nota come Neural Compiler è stata introdotta dai ricercatori, progettata per convertire programmi che utilizzano un linguaggio di espressioni simile a Scheme in componenti ottimizzati e differenziabili compatibili con PyTorch. Questo progresso garantisce la conservazione della precisione in virgola mobile dei programmi originali, facilitando al contempo i calcoli del gradiente tramite autograd. In scenari di modellazione ibrida, i componenti compilati rappresentano accuratamente le leggi fisiche consolidate, consentendo al contempo adattamenti in risposta alle incertezze. I ricercatori hanno validato questo compilatore in sei diversi domini, tra cui fisica, dinamica e trasferimento di calore, segnando un significativo passo avanti nell'unione della fisica tradizionale con approcci basati sui dati nell'apprendimento automatico scientifico.
Fatti principali
- 1. Il Neural Compiler traduce programmi in moduli PyTorch differenziabili.
- 2. I moduli corrispondono al programma sorgente con precisione in virgola mobile.
- 3. I gradienti sono forniti tramite autograd.
- 4. Valutato su sei domini: equazioni di Feynman, Lotka-Volterra, pendolo smorzato, equazione del calore, meccanica vettoriale 3D, generalizzazione compositiva.
- 5. I moduli compilati corrispondono alle implementazioni PyTorch scritte a mano.
- 6. Affronta la combinazione di fisica nota con componenti appresi.
- 7. Automatizza un processo che in precedenza richiedeva codice scritto a mano.
Entità
Istituzioni
- arXiv