Resposta

Processamento paralelo de 1TP9 para treinamento e geração genética

10 respostas

kainc301

Cliente, bbp_participante, comunidade, 54 respostas.

Perfil da visita

4 anos atrás #247191

Olá a todos. Pelo que sei, a equipe do SQ fez várias melhorias de velocidade no SQX, incluindo computação paralela para simulações Monte Carlo e WFO.

No entanto, é possível usar a computação paralela para treinamento genético e geração aleatória? Eu presumiria que isso tornaria esse processo muito mais rápido para CPUs com maior número de núcleos.

Além disso, vi que a aceleração de GPU para cálculos está na lista de tarefas a serem feitas posteriormente. Mas, pelo que entendi, a única maneira de a computação em GPU ajudar na velocidade de criação das estratégias é se a criação e o treinamento forem feitos com processamento paralelo. Quero investir em GPUs premium para usar com minha máquina para o SQX quando esse recurso estiver disponível; no entanto, queria ter certeza de que isso realmente melhoraria a velocidade de criação e treinamento de estratégias.

Já vi a aceleração de GPU melhorar a velocidade de treinamento de modelos de aprendizado de máquina em ordens de magnitude. Será que o mesmo poderia ser aplicado ao SQX? Estou curioso para saber a opinião de Mark ou da equipe de desenvolvimento. Seria realmente incrível obter os aprimoramentos de velocidade de 10 a 100 vezes que foram observados com diferentes modelos usando configurações de várias GPUs 🙂

0

bentra

Cliente, bbp_participante, comunidade, sq-ultimate, 22 respostas.

Perfil da visita

4 anos atrás #247208

Do wiki: A computação paralela é um tipo de computação em que muitos cálculos ou a execução de processos são realizados simultaneamente. Tecnicamente, isso já está acontecendo desde a SQ3 e talvez antes dela. (Caso contrário, não poderíamos usar mais de um núcleo ao mesmo tempo).

Também estou ansioso pelo suporte à GPU, que deve ser muito mais rápido, mas pode dar muito trabalho para chegar lá...

Deste documento: https://pdfs.semanticscholar.org/8fa2/9a317120add5525e61f41f73c5a96e932d60.pdf
A programação de GPGPU está sendo escrita maciçamente programas paralelos para execução em computadores pessoais.

 

Que todos os seus ajustes sejam soltos.


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

0

Gianfranco

Assinante, bbp_participante, cliente, comunidade, 114 respostas.

Perfil da visita

4 anos atrás #247214

como os núcleos cuda da nvidia

Conheço alguns softwares otimizados com bibliotecas cuda da nvidia que aproveitam os núcleos cuda das placas nvidia gpu.... ou tesla para cálculos paralelos... mas acho que é um grande trabalho escrever sqx otimizado com bibliotecas Cuda

0

kainc301

Cliente, bbp_participante, comunidade, 54 respostas.

Perfil da visita

4 anos atrás #247226

Tecnicamente, isso já está acontecendo desde o SQ3 e talvez antes dele. (Caso contrário, não poderíamos usar mais de um núcleo ao mesmo tempo).

Eu achava que apenas a WFO e a Monte Carlo se aproveitavam disso, mas não tenho a menor ideia de como o funcionamento interno da SQX é tratado, portanto, foi apenas uma suposição.

Conheço alguns softwares otimizados com bibliotecas cuda da nvidia que aproveitam os núcleos cuda das placas nvidia gpu.... ou tesla para cálculos paralelos... mas acho que é um grande trabalho escrever sqx otimizado com bibliotecas Cuda

Se eu pudesse ter apenas um presente de Natal, seria esse rs

 

0

clonex / Ivan Hudec

Cliente, bbp_participant, comunidade, sq-ultimate, colaborador, autor, editor, 271 respostas.

Perfil da visita

4 anos atrás #247241

Já foi escrito aqui várias vezes como o sqx funciona, por que não é possível usar GPU etc. Basta usar a função de pesquisa

0

kainc301

Cliente, bbp_participante, comunidade, 54 respostas.

Perfil da visita

4 anos atrás #247243

Já foi escrito aqui várias vezes como o sqx funciona, por que não é possível usar GPU etc. Basta usar a função de pesquisa

Mark adicionou os recursos de GPU à lista de marcos a serem feitos posteriormente no SQX: https://roadmap.strategyquant.com/tasks/sq4_2985

Eu li a que você se refere, mas depois que essa tarefa foi enviada e houve alguma discussão sobre como ela poderia ser implementada, presumi que esse sentimento havia mudado.

0

kainc301

Cliente, bbp_participante, comunidade, 54 respostas.

Perfil da visita

4 anos atrás #247246

Fiz muitas pesquisas nos fóruns da SQ e em outros lugares para entender os gargalos atuais da computação de GPU quando se trata de backtesting. Quando Mark falou sobre isso no passado, o problema tinha a ver com o uso de GPUs para computação de uso geral, pois o backtesting era mais complexo do que as operações matemáticas. Um sentimento semelhante foi descrito neste resumo acadêmico aqui: https://pdfs.semanticscholar.org/d087/f5cb4a92f98aaef5008ceb682954f7ffbee2.pdf

No entanto, parece que dois pesquisadores conseguiram usar GPUs de forma eficaz com algoritmos genéticos nos mercados de câmbio. Recomendo fortemente a análise e a possível implementação dessa abordagem. O link completo para a pesquisa acadêmica está aqui: http://people.scs.carleton.ca/~dmckenne/5704/Paper/Final_Paper.pdf

Também descobri que a NVIDIA conseguiu usar GPUs para backtesting do mercado financeiro e alcançar um aumento de velocidade de 6000 vezes. https://www.nvidia.com/content/dam/en-zz/Solutions/industries/finance/finance-trading-executive-briefing-hr-web.pdf

Não sei como eles fizeram isso, por isso vou continuar procurando, mas parece haver uma maneira de incorporar a lógica CUDA que é capaz de fazer o tipo de backtesting que antes era considerado quase impossível de ser feito. Portanto, acredito que ainda há esperança de que isso seja implementado na SQX um dia. Se isso já foi feito antes, não o considero "impossível". Os pesquisadores que incorporaram GPUs em seu algoritmo genético também usaram CUDA para obter seus resultados.

0

Marca Fric

Administrador, sq-ultimate, 2 respostas.

Perfil da visita

4 anos atrás #247279

Consultei isso várias vezes com meus amigos PHD da universidade que trabalham com GPUs e, infelizmente, o status não mudou - as GPUs não são adequadas para nós.

É possível executar a evolução genética e também "algum tipo" de backtesting na GPU. O problema é a natureza aberta do SQ que queremos alcançar.

Poderíamos criar uma arquitetura de estratégia fixa e um conjunto fixo de indicadores que seriam testados em GPU, mas não poderíamos usar coisas como modelos de estratégia, programação de indicadores personalizados e outros blocos, que são pontos fortes do SQ X.

Essa aceleração de cem vezes mencionada nos artigos só é possível em determinadas condições e com determinados programas; ainda não é possível acelerar o processo geral de backtesting dessa forma.

Marcar
EstratégiaQuant arquiteto

0

kainc301

Cliente, bbp_participante, comunidade, 54 respostas.

Perfil da visita

4 anos atrás #247291

Consultei isso repetidamente com meus amigos PHD da universidade que trabalham com GPUs e, infelizmente, o status não mudou - as GPUs não são adequadas para nós. É possível executar a evolução genética e também "algum tipo" de backtesting na GPU. O problema é a natureza aberta da SQ que queremos alcançar. Poderíamos criar uma arquitetura de estratégia fixa e um conjunto fixo de indicadores que seriam testados na GPU, mas então não poderíamos usar coisas como modelos de estratégia, programação de indicadores personalizados e outros blocos, que são todos pontos fortes do SQ X. Essa aceleração de cem vezes que eles mencionam nos artigos só é possível sob certas condições e com certos programas, ainda não é possível acelerar o processo geral de backtesting dessa forma.

Isso é lamentável. Concordo que é muito mais importante manter a flexibilidade no uso de indicadores/modelos personalizados do que sacrificá-la em prol do desempenho.

Portanto, a verdadeira solução para buscar maior desempenho por meio de hardware é usar várias CPUs conectadas por meio de um sistema de grade. Pelo menos posso economizar dinheiro em GPUs caras, haha.

0

gusyoan

Cliente, bbp_participante, comunidade, 21 respostas.

Perfil da visita

4 anos atrás #254839

Olá, Mark,

Além da GPU, é possível usar uma placa FPGA ou ASIC?

0

Marca Fric

Administrador, sq-ultimate, 2 respostas.

Perfil da visita

4 anos atrás #257552

Não, não é possível usar esse tipo de carta. Mas não entendo a obsessão com a maior potência possível - ela não é a chave para uma negociação lucrativa.

Marcar
EstratégiaQuant arquiteto

0

Visualizando 10 respostas - 1 até 10 (de um total de 10)