Elaborazione 1TP9 parallela per la formazione e la generazione genetica
10 risposte
kainc301
4 anni fa #247191
Ciao a tutti. Da quanto ho capito, il team SQ ha apportato molti miglioramenti alla velocità di SQX, tra cui il calcolo parallelo per le simulazioni Monte Carlo e WFO.
Tuttavia, è possibile utilizzare il calcolo parallelo per l'addestramento genetico e la generazione casuale? Presumo che questo renderebbe il processo molto più veloce per le CPU a più alto numero di core.
Inoltre, ho visto che l'accelerazione GPU per i calcoli è nell'elenco delle attività da svolgere in seguito. Ma da quello che ho capito, l'unico modo in cui il calcolo via GPU può aiutare la velocità di costruzione delle strategie è se la costruzione e l'addestramento vengono eseguiti con l'elaborazione in parallelo. Voglio investire in GPU di qualità superiore da utilizzare con la mia macchina per SQX quando questa funzione sarà disponibile, ma volevo essere sicuro che avrebbe effettivamente migliorato la velocità di costruzione e formazione delle strategie.
Ho visto che l'accelerazione delle GPU migliora la velocità di formazione dei modelli di apprendimento automatico di ordini di grandezza. Lo stesso potrebbe essere applicato a SQX? Sono curioso di conoscere le opinioni di Mark o del team di sviluppo. Sarebbe davvero fantastico ottenere i miglioramenti di velocità da 10 a 100 volte che sono stati osservati con diversi modelli utilizzando configurazioni multi-GPU 🙂
bentra
4 anni fa #247208
Da wiki: Il calcolo parallelo è un tipo di calcolo in cui molti calcoli o l'esecuzione di processi vengono eseguiti simultaneamente. Tecnicamente questo avviene già da SQ3 e forse anche prima. (Altrimenti non saremmo in grado di usare più di un core alla volta).
Non vedo l'ora che arrivi anche il supporto per le GPU, dovrebbe essere molto più veloce ma potrebbe richiedere molto lavoro...
Da questo articolo: https://pdfs.semanticscholar.org/8fa2/9a317120add5525e61f41f73c5a96e932d60.pdf
La programmazione GPGPU è la scrittura massicciamente programmi paralleli da eseguire su personal computer.
Gianfranco
4 anni fa #247214
come i core cuda di nvidia
Conosco alcuni software ottimizzati con le librerie nvidia cuda che sfruttano i core cuda delle schede nvidia gpu.... o tesla per il calcolo parallelo... ma penso che sia un grosso lavoro scrivere sqx ottimizzato con le librerie Cuda
kainc301
4 anni fa #247226
Tecnicamente questo avviene già da SQ3 e forse anche prima. (Altrimenti non saremmo in grado di utilizzare più di un core alla volta).
Pensavo che fossero solo WFO e Monte Carlo a trarne vantaggio, ma non ho idea di come siano gestiti i meccanismi interni di SQX, quindi era solo una supposizione.
Conosco alcuni software ottimizzati con le librerie nvidia cuda che sfruttano i core cuda delle schede nvidia gpu.... o tesla per il calcolo parallelo... ma penso che sia un grosso lavoro scrivere sqx ottimizzato con le librerie Cuda
Se potessi avere un solo regalo di Natale, sarebbe questo lol
clonex / Ivan Hudec
4 anni fa #247241
Qui è stato scritto molte volte come funziona sqx, perché non è possibile utilizzare la GPU, ecc.
kainc301
4 anni fa #247243
Qui è stato scritto molte volte come funziona sqx, perché non è possibile utilizzare la GPU, ecc.
Mark ha aggiunto le capacità della GPU all'elenco delle pietre miliari da realizzare in seguito per SQX: https://roadmap.strategyquant.com/tasks/sq4_2985
Ho letto ciò a cui ti riferivi, ma dopo che questo compito è stato presentato e c'è stata una discussione su come potrebbe essere implementato, avevo la presunzione che questo sentimento fosse cambiato.
kainc301
4 anni fa #247246
Ho fatto molte ricerche sui forum di SQ e altrove per capire quali sono gli attuali colli di bottiglia del GPU Computing quando si tratta di backtesting. Quando Mark ne ha parlato in passato, il problema riguardava l'utilizzo delle GPU per il calcolo generale, in quanto il backtesting era più complesso delle operazioni matematiche. Un'opinione simile è stata descritta in questo abstract accademico: https://pdfs.semanticscholar.org/d087/f5cb4a92f98aaef5008ceb682954f7ffbee2.pdf
Tuttavia, sembra che due ricercatori siano riusciti a utilizzare efficacemente le GPU con algoritmi genetici sui mercati FX. Consiglio vivamente di esaminare e potenzialmente implementare questo approccio. Il link completo alla loro ricerca accademica è qui: http://people.scs.carleton.ca/~dmckenne/5704/Paper/Final_Paper.pdf
Ho anche scoperto che NVIDIA è stata in grado di utilizzare le GPU per il backtesting dei mercati finanziari e di ottenere una velocità di 6000x https://www.nvidia.com/content/dam/en-zz/Solutions/industries/finance/finance-trading-executive-briefing-hr-web.pdf
Non so come abbiano fatto, quindi continuerò a cercare, ma sembra che ci sia un modo per incorporare la logica CUDA che è in grado di fare il tipo di backtesting che in precedenza era considerato quasi impossibile da fare. Credo quindi che ci sia ancora speranza che questo venga implementato in SQX un giorno. Se è già stato fatto in passato, non lo considero "impossibile". I ricercatori che hanno incorporato le GPU nel loro algoritmo genetico hanno anche utilizzato CUDA per ottenere i loro risultati.
Mark Fric
4 anni fa #247279
Mi sono consultato ripetutamente con i miei amici laureati che lavorano con le GPU e purtroppo la situazione non è cambiata: le GPU non sono adatte a noi.
È possibile eseguire l'evoluzione genetica e anche "qualche tipo" di backtesting su GPU. Il problema è la natura aperta dell'SQ che vogliamo realizzare.
Potremmo creare un'architettura di strategia fissa e un insieme fisso di indicatori da testare in GPU, ma poi non saremmo in grado di usare cose come i modelli di strategia, la programmazione di indicatori personalizzati e altri blocchi, che sono tutti punti di forza di SQ X.
L'accelerazione di cento volte di cui si parla nei documenti è possibile solo in determinate condizioni e con determinati programmi; non è ancora possibile accelerare in questo modo il processo generale di backtesting.
Marchio
Architetto StrategyQuant
kainc301
4 anni fa #247291
Mi sono consultato ripetutamente con i miei amici PHD dell'università che lavorano con le GPU e purtroppo la situazione non è cambiata: le GPU non sono adatte a noi. È possibile eseguire l'evoluzione genetica e anche "qualche tipo" di backtesting su GPU. Il problema è la natura aperta dell'SQ che vogliamo realizzare. Potremmo creare un'architettura di strategia fissa e un set fisso di indicatori da testare in GPU, ma poi non saremmo in grado di usare cose come i modelli di strategia, la programmazione di indicatori personalizzati e altri blocchi, che sono tutti punti di forza di SQ X. Questa accelerazione di cento volte di cui si parla nei documenti è possibile solo in determinate condizioni e con determinati programmi, non è ancora possibile accelerare il processo di backtesting generale in questo modo.
È un peccato. Sono d'accordo sul fatto che è molto più importante mantenere la flessibilità nell'uso di indicatori/template personalizzati piuttosto che sacrificarla per le prestazioni.
Quindi la vera soluzione per ottenere prestazioni più elevate tramite l'hardware è l'uso di più CPU collegate tramite un sistema a griglia. Almeno posso risparmiare i soldi delle costose GPU haha.
gusyoan
4 anni fa #254839
Mark Fric
4 anni fa #257552
no, non è possibile utilizzare questo tipo di carte. Ma non capisco l'ossessione per la massima potenza possibile: non è la chiave per un trading redditizio.
Marchio
Architetto StrategyQuant
Stai visualizzando 10 risposte - da 1 a 10 (di 10 totali)