Imparare ONNX per il trading - pagina 15

 

QONNX: una proposta per rappresentare NN quantizzati a precisione arbitraria in ONNX



QONNX: una proposta per rappresentare NN quantizzati a precisione arbitraria in ONNX

Il relatore discute la quantizzazione a bassa precisione, con un esempio della sua applicazione nella comunicazione wireless. Propongono QONNX, un dialetto per rappresentare reti neurali quantizzate di precisione arbitraria in ONNX. QONNX semplifica la rappresentazione della quantizzazione, la estende a un insieme più ampio di scenari e offre opzioni per diversi tipi di arrotondamenti e quantizzazione binaria. Viene utilizzato per l'implementazione su FPGA ed è integrato nella libreria di quantizzazione Brevitas Python, con NQCDQ impostato per essere integrato nella prossima versione.

  • 00:00:00 In questa sezione, il relatore parla del concetto di quantizzazione a bassa precisione, che significa quantizzazione al di sotto degli 8 bit. Il relatore fornisce un esempio di come la quantizzazione a bassa precisione sia stata utilizzata in un'attività di classificazione della modulazione per la comunicazione wireless, ottenendo un throughput elevato con una latenza ridotta grazie all'addestramento consapevole della quantizzazione. Il relatore spiega i fondamenti della quantizzazione uniforme e propone di estendere il potere rappresentativo di ONNX per reti neurali a bassa precisione utilizzando il ritaglio come funzione aggiuntiva sui confini interi tra nodi quantizzati e dequantizzati. Tuttavia, il relatore riconosce che questo approccio ha dei limiti, tra cui l'essere limitato agli operatori lineari quantizzati con un'uscita a 8 bit e l'impossibilità di adottare diversi tipi di arrotondamenti.

  • 00:05:00 In questa sezione, il relatore introduce QONNX, che è un dialetto per rappresentare reti neurali quantizzate a precisione arbitraria in ONNX. QONNX semplifica la rappresentazione della quantizzazione unendo una sequenza di operazioni per la falsa quantizzazione in un solo nodo, estendendola anche a un insieme più ampio di scenari. Offre opzioni per diversi tipi di arrotondamenti, trasmissione di input di bit e quantizzazione binaria. Il formato viene sfruttato per l'implementazione su FPGA come parte del rapido sforzo di apprendimento automatico, con vari strumenti disponibili per gestire QONNX che si integrano con il runtime ONNX e modelli a bassa precisione pre-addestrati. QONNX è già integrato nella libreria di quantizzazione Brevitas Python e NQCDQ è impostato per essere integrato nella prossima versione.
 

GRCon20 - Inferenza di deep learning in GNU Radio con ONNX



GRCon20 - Inferenza di deep learning in GNU Radio con ONNX

Il video illustra l'utilizzo di ONNX come formato aperto per l'integrazione del deep learning come soluzione flessibile e open source nel dominio della radiofrequenza. Il relatore presenta il nuovo modulo GR DNN DN4, che utilizza interfacce Python sia per GNU Radio che per ONNX, e ne dimostra le capacità con un esempio di classificazione automatica della modulazione utilizzando un modello di rete neurale convoluzionale profonda addestrato su dati simulati generati da GNU Radio. Discutono inoltre dei requisiti e delle sfide dell'utilizzo del deep learning per la classificazione dei dati SDR con il modello BGG16 e suggeriscono di utilizzare l'accelerazione hardware, come una GPU, per migliorare l'inferenza e ottenere risultati in tempo reale. Il progetto è open source e la collaborazione è incoraggiata.

  • 00:00:00 In questa sezione del video, Oscar Rodriguez discute il suo lavoro con l'inferenza del deep learning in GNU Radio con ONNX. L'obiettivo principale del loro progetto era integrare il deep learning come soluzione flessibile e open source nel dominio della radiofrequenza. Hanno scelto ONNX in quanto è un formato aperto che consente l'interoperabilità del machine learning tra diversi framework, risolvendo il problema dei framework di deep learning incompatibili. Tuttavia, l'adattamento dei modelli a ONNX comporta un costo e potrebbero verificarsi problemi di disponibilità operativa con determinate operazioni, sebbene ciò sia mitigato dal fatto che ONNX è attivamente sviluppato e supportato da Microsoft. In definitiva, ONNX fornisce un livello di astrazione tra il modello dell'utente e diversi framework di deep learning.

  • La sezione 00:05:00 discute l'uso di ONNX, che consente la progettazione e l'addestramento di modelli di machine learning in vari framework come TensorFlow e PyTorch prima di convertirli in un formato comune da utilizzare nel blocco ONNX. ONNX definisce un insieme di operazioni di base comunemente utilizzate nei modelli di deep learning e il suo runtime fornisce interfacce e supporto per varie accelerazioni software e hardware. Il runtime crea anche una rappresentazione grafica del modello che assegna le operazioni a diversi provider di esecuzione in base agli acceleratori disponibili.

  • 00:10:00 In questa sezione, il relatore discute l'estensibilità dei provider di esecuzione in ONNX, che consente il supporto di nuove piattaforme hardware purché tutte le operazioni ONNX siano state implementate su tale piattaforma. Presentano quindi il loro nuovo modulo, GR DNN DN4, che utilizza interfacce Python sia per GNU Radio che per ONNX. Il modulo di sincronizzazione adatta gli input al formato previsto del modello, adatta il modello ai dati trasformati e quindi trasforma l'output in un formato unidimensionale. Il modulo consente inoltre la selezione di diversi provider di esecuzione supportati in ONNX. Il relatore prosegue dimostrando le capacità di GR DNN DN4 con un esempio di classificazione automatica della modulazione utilizzando un modello di rete neurale convoluzionale profonda addestrato su dati simulati generati da GNU Radio.

  • 00:15:00 In questa sezione, il relatore discute l'utilizzo del deep learning per la classificazione dei dati SDR con il modello BGG16. Spiegano che l'input del modello richiede un vettore di 128 valori QI, che devono essere adattati all'output del dispositivo SDR. Notano inoltre che l'inferenza del deep learning è computazionalmente intensiva e che le prestazioni dipendono dalla complessità del modello. Il relatore conclude suggerendo che l'utilizzo dell'accelerazione hardware, come una GPU, può migliorare l'inferenza e ottenere risultati in tempo reale.

  • 00:20:00 In questa sezione, il relatore discute una nuova implementazione radio in grado di integrare l'inferenza del deep learning e la radio definita dal software (SDR) utilizzando un formato standard per la rappresentazione del modello del deep learning e il supporto di vari metodi di accelerazione. Il relatore dimostra come il modulo può essere utilizzato per la classificazione automatica della modulazione e ottenere inferenza in tempo reale con l'accelerazione hardware. Il relatore discute anche i futuri miglioramenti del modulo, incluso renderlo più flessibile per diversi tipi di modelli di deep learning e includere funzionalità di pre-elaborazione all'interno del blocco. Il progetto è open source e la collaborazione è incoraggiata.