Répondre

Traitement parallèle 1TP9 pour la formation et la génération génétique

10 réponses

kainc301

Client, bbp_participant, communauté, 54 réponses.

Visiter le profil

Il y a 4 ans #247191

Bonjour à tous. D'après ce que j'ai compris, l'équipe SQ a apporté de nombreuses améliorations à la vitesse de SQX, y compris le calcul parallèle pour les simulations Monte Carlo et WFO.

Cependant, est-il possible d'utiliser le calcul parallèle pour l'apprentissage génétique et la génération aléatoire ? Je suppose que cela rendrait le processus beaucoup plus rapide pour les processeurs à nombre de cœurs plus élevé.

Par ailleurs, j'ai vu que l'accélération des calculs par le GPU figurait sur la liste des tâches à réaliser ultérieurement. Mais d'après ce que j'ai compris, la seule façon dont le calcul par le GPU contribuera à la vitesse d'élaboration des stratégies est que l'élaboration et l'entraînement soient effectués avec un traitement parallèle. Je souhaite investir dans des GPU haut de gamme à utiliser avec ma machine pour SQX lorsque cette fonctionnalité sera disponible, mais je voulais m'assurer qu'elle améliorerait réellement la vitesse d'élaboration et d'entraînement des stratégies.

J'ai vu l'accélération des GPU améliorer la vitesse de formation des modèles d'apprentissage automatique par des ordres de grandeur. Serait-il possible d'appliquer la même chose à SQX ? Je suis curieux de connaître l'avis de Mark ou de l'équipe de développement. Ce serait vraiment génial d'obtenir les améliorations de vitesse de 10 à 100 fois qui ont été observées avec différents modèles utilisant des configurations multi-GPU 🙂 .

0

bentra

Client, bbp_participant, community, sq-ultimate, 22 réponses.

Visiter le profil

Il y a 4 ans #247208

D'après wiki : Le calcul parallèle est un type de calcul dans lequel de nombreux calculs ou l'exécution de processus sont effectués simultanément. Techniquement, c'est déjà le cas depuis SQ3 et peut-être même avant. (Sinon, nous ne pourrions pas utiliser plus d'un cœur à la fois).

J'attends avec impatience la prise en charge du GPU, qui devrait être beaucoup plus rapide, mais qui risque de demander beaucoup de travail pour y arriver...

Extrait de ce document : https://pdfs.semanticscholar.org/8fa2/9a317120add5525e61f41f73c5a96e932d60.pdf
La programmation GPGPU est l'écriture massivement des programmes parallèles destinés à être exécutés sur des ordinateurs personnels.

 

Que tous vos ajustements soient amples.


https://www.darwinex.com/darwin/SUG.4.2/

0

Gianfranco

Abonné, bbp_participant, client, communauté, 114 réponses.

Visiter le profil

Il y a 4 ans #247214

comme les cuda cores nvidia

Je connais quelques logiciels optimisés avec les librairies nvidia cuda qui tirent parti des cœurs cuda des cartes nvidia gpu.... ou tesla pour des calculs parallèles... mais je pense que c'est un gros travail d'écrire du sqx optimisé avec les librairies cuda...

0

kainc301

Client, bbp_participant, communauté, 54 réponses.

Visiter le profil

Il y a 4 ans #247226

Techniquement, c'est déjà le cas depuis SQ3 et peut-être même avant. (Sinon, nous ne pourrions pas utiliser plus d'un cœur à la fois).

Je pensais que seuls WFO et Monte Carlo en profitaient, mais je n'ai aucune idée du fonctionnement interne de SQX et ce n'était donc qu'une supposition.

Je connais quelques logiciels optimisés avec les librairies nvidia cuda qui tirent parti des cœurs cuda des cartes nvidia gpu.... ou tesla pour des calculs parallèles... mais je pense que c'est un gros travail d'écrire du sqx optimisé avec les librairies cuda...

Si je ne devais avoir qu'un seul cadeau de Noël, ce serait celui-ci lol

 

0

clonex / Ivan Hudec

Client, bbp_participant, communauté, sq-ultimate, contributeur, auteur, éditeur, 271 réponses.

Visiter le profil

Il y a 4 ans #247241

il a été écrit ici à plusieurs reprises comment sqx fonctionne pourquoi il n'est pas possible d'utiliser le GPU etc. il suffit d'utiliser la fonction de recherche

0

kainc301

Client, bbp_participant, communauté, 54 réponses.

Visiter le profil

Il y a 4 ans #247243

il a été écrit ici à plusieurs reprises comment sqx fonctionne pourquoi il n'est pas possible d'utiliser le GPU etc. il suffit d'utiliser la fonction de recherche

Mark a ajouté les capacités GPU à la liste des étapes à franchir ultérieurement pour le SQX : https://roadmap.strategyquant.com/tasks/sq4_2985

J'ai lu ce à quoi vous faisiez référence, mais après que cette tâche a été soumise et qu'il y a eu des discussions sur la manière dont elle pourrait être mise en œuvre, j'ai supposé que ce sentiment avait changé.

0

kainc301

Client, bbp_participant, communauté, 54 réponses.

Visiter le profil

Il y a 4 ans #247246

J'ai fait beaucoup de recherches sur les forums de SQ et ailleurs pour comprendre les goulots d'étranglement actuels de l'informatique GPU lorsqu'il s'agit de backtesting. Lorsque Mark en a parlé dans le passé, le problème était lié à l'utilisation des GPU pour le calcul général, car le backtesting était plus complexe que les opérations mathématiques. Un sentiment similaire a été décrit dans ce résumé académique : https://pdfs.semanticscholar.org/d087/f5cb4a92f98aaef5008ceb682954f7ffbee2.pdf

Cependant, il semble que deux chercheurs aient réussi à utiliser efficacement les GPU avec des algorithmes génétiques sur les marchés des changes. Je recommande vivement d'étudier et éventuellement de mettre en œuvre cette approche. Un lien complet vers leur recherche universitaire est disponible ici : http://people.scs.carleton.ca/~dmckenne/5704/Paper/Final_Paper.pdf

J'ai également découvert que NVIDIA était en mesure d'utiliser des GPU pour le backtesting des marchés financiers et d'obtenir une accélération de 6000 fois https://www.nvidia.com/content/dam/en-zz/Solutions/industries/finance/finance-trading-executive-briefing-hr-web.pdf.

Je ne sais pas comment ils ont procédé, je vais donc continuer à chercher, mais il semble y avoir un moyen d'incorporer la logique CUDA qui est capable de faire le type de backtesting qui était auparavant considéré comme presque impossible à faire. Je pense donc qu'il y a encore de l'espoir pour que cela soit implémenté dans le SQX un jour. Si cela a déjà été fait, je ne considère pas cela comme "impossible". Les chercheurs qui ont intégré des GPU dans leur algorithme génétique ont également utilisé CUDA pour parvenir à leurs résultats.

0

Mark Fric

Administrateur, sq-ultimate, 2 réponses.

Visiter le profil

Il y a 4 ans #247279

J'ai consulté à plusieurs reprises mes amis universitaires titulaires d'un doctorat qui travaillent avec des GPU et, malheureusement, la situation n'a pas changé : les GPU ne sont pas adaptés à nos besoins.

Il est possible d'exécuter l'évolution génétique ainsi qu'une "certaine forme" de backtesting sur GPU. Le problème réside dans la nature ouverte du SQ que nous voulons réaliser.

Nous pourrions créer une architecture de stratégie fixe et un ensemble fixe d'indicateurs qui seraient testés dans le GPU, mais nous ne pourrions pas utiliser des choses comme les modèles de stratégie, la programmation d'indicateurs personnalisés et d'autres blocs, qui sont tous des points forts du SQ X.

Cette accélération au centuple mentionnée dans les articles n'est possible que dans certaines conditions et avec certains programmes, il n'est pas encore possible d'accélérer le processus général de backtesting de cette manière.

Marque
StratégieArchitecte de Quantités

0

kainc301

Client, bbp_participant, communauté, 54 réponses.

Visiter le profil

Il y a 4 ans #247291

J'ai consulté à plusieurs reprises mes amis universitaires titulaires d'un doctorat qui travaillent avec des GPU et, malheureusement, la situation n'a pas changé : les GPU ne nous conviennent pas. Il est possible d'exécuter l'évolution génétique ainsi qu'une "certaine forme" de backtesting sur GPU. Le problème est la nature ouverte de la SQ que nous voulons réaliser. Nous pourrions créer une architecture de stratégie fixe et un ensemble fixe d'indicateurs qui seraient testés sur GPU, mais nous ne pourrions pas utiliser des choses comme les modèles de stratégie, la programmation d'indicateurs personnalisés et d'autres blocs, qui sont tous des points forts de SQ X. Cette accélération au centuple qu'ils mentionnent dans les articles n'est possible que dans certaines conditions et avec certains programmes, il n'est pas encore possible d'accélérer le processus général de backtesting de cette manière.

C'est regrettable. Je suis d'accord pour dire qu'il est beaucoup plus important de conserver la flexibilité dans l'utilisation d'indicateurs/modèles personnalisés que de la sacrifier au profit de la performance.

La vraie solution pour obtenir des performances plus élevées grâce au matériel est donc d'utiliser plusieurs CPU connectés par un système de grille. Au moins, je peux économiser de l'argent sur des GPU coûteux haha.

0

gusyoan

Client, bbp_participant, communauté, 21 réponses.

Visiter le profil

Il y a 4 ans #254839

Bonjour Mark,

Outre le GPU, est-il possible d'utiliser une carte FPGA ou ASIC ?

0

Mark Fric

Administrateur, sq-ultimate, 2 réponses.

Visiter le profil

Il y a 4 ans #257552

non, ce type de cartes n'est pas utilisable. Mais je ne comprends pas l'obsession de la plus grande puissance possible - ce n'est pas la clé d'un commerce rentable.

Marque
StratégieArchitecte de Quantités

0

Affichage de 10 réponses de 1 à 10 (sur un total de 10)