Respuesta

Procesamiento paralelo 1TP6 para el entrenamiento y la generación genética

10 respuestas

kainc301

Cliente, bbp_participant, comunidad, 54 respuestas.

Visitar el perfil

hace 4 años #247191

Hola a todos. Por lo que tengo entendido, el equipo de SQ ha hecho muchas mejoras de velocidad para SQX, incluyendo computación paralela para Monte Carlo y simulaciones WFO.

Sin embargo, ¿es posible utilizar la computación paralela para el entrenamiento genético y la generación aleatoria? Supongo que este proceso sería mucho más rápido en CPUs con un mayor número de núcleos.

Además, he visto que la aceleración de la GPU para los cálculos está en la lista de tareas pendientes. Pero por lo que tengo entendido, la única manera de que la GPU ayude con la velocidad de construcción de las estrategias es si la construcción y el entrenamiento se hicieran con procesamiento paralelo. Quiero invertir en GPUs premium para utilizar con mi máquina para SQX cuando esta característica esté disponible, sin embargo, quería asegurarme de que realmente mejoraría la velocidad de construcción y formación de estrategias.

He visto que la aceleración en la GPU mejora la velocidad de entrenamiento de los modelos de aprendizaje automático en órdenes de magnitud. ¿Podría aplicarse lo mismo a SQX? Tengo curiosidad por conocer la opinión de Mark o del equipo de desarrollo. Sería realmente impresionante conseguir las mejoras de velocidad de 10-100x que se han observado con diferentes modelos utilizando configuraciones multi-GPU 🙂 .

0

bentra

Cliente, bbp_participante, comunidad, sq-ultimate, 22 respuestas.

Visitar el perfil

hace 4 años #247208

De wiki: La computación paralela es un tipo de computación en la que muchos cálculos o la ejecución de procesos se llevan a cabo simultáneamente. Esto técnicamente ya ocurre desde SQ3 y quizás antes. (De otro modo no podríamos utilizar más de un núcleo a la vez).

También espero con impaciencia la compatibilidad con GPU, que debería ser mucho más rápida, pero puede que lleve mucho trabajo...

De este documento: https://pdfs.semanticscholar.org/8fa2/9a317120add5525e61f41f73c5a96e932d60.pdf
Programar en la GPGPU es escribir masivamente programas paralelos para su ejecución en ordenadores personales.

 

Que todos tus ajustes sean holgados.


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

0

Gianfranco

Abonado, bbp_participant, cliente, comunidad, 114 respuestas.

Visitar el perfil

hace 4 años #247214

como cuda cores nvidia

Conozco algún software optimizado con librerías nvidia cuda que aprovechan los cuda cores de las tarjetas nvidia gpu.... o tesla para cálculo paralelo... pero creo que es un gran trabajo escribir sqx optimizado con librerías Cuda

0

kainc301

Cliente, bbp_participant, comunidad, 54 respuestas.

Visitar el perfil

hace 4 años #247226

Esto técnicamente ya ocurre desde SQ3 y quizás antes. (De lo contrario, no podríamos utilizar más de un núcleo a la vez).

Pensé que sólo WFO y Monte Carlo se aprovecharon de esto, pero no tengo ni idea de cómo se maneja el funcionamiento interno de SQX por lo que era sólo una suposición.

Conozco algún software optimizado con librerías nvidia cuda que aprovechan los cuda cores de las tarjetas nvidia gpu.... o tesla para cálculo paralelo... pero creo que es un gran trabajo escribir sqx optimizado con librerías Cuda

Si sólo pudiera tener un regalo de Navidad, sería este lol

 

0

clonex / Ivan Hudec

Cliente, bbp_participant, comunidad, sq-ultimate, colaborador, autor, editor, 271 respuestas.

Visitar el perfil

hace 4 años #247241

se escribió aquí muchas veces cómo funciona sqx por qué no es posible utilizar la GPU, etc sólo tiene que utilizar la función de búsqueda

0

kainc301

Cliente, bbp_participant, comunidad, 54 respuestas.

Visitar el perfil

hace 4 años #247243

se escribió aquí muchas veces cómo funciona sqx por qué no es posible utilizar la GPU, etc sólo tiene que utilizar la función de búsqueda

Mark añadió las capacidades de GPU a la lista de hitos pendientes de SQX: https://roadmap.strategyquant.com/tasks/sq4_2985

He leído a lo que se refería, pero después de que se presentara esta tarea y de que se debatiera cómo podría llevarse a cabo, supuse que este sentimiento había cambiado.

0

kainc301

Cliente, bbp_participant, comunidad, 54 respuestas.

Visitar el perfil

hace 4 años #247246

He investigado mucho en los foros de SQ y en otros lugares para entender los cuellos de botella actuales de la computación GPU cuando se trata de backtesting. Cuando Mark habló de esto en el pasado, la cuestión tenía que ver con el uso de GPU para computación de propósito general, ya que el backtesting era más complejo que las operaciones matemáticas. Una opinión similar se describe en este resumen académico: https://pdfs.semanticscholar.org/d087/f5cb4a92f98aaef5008ceb682954f7ffbee2.pdf

Sin embargo, parece que dos investigadores han sido capaces de utilizar eficazmente las GPU con algoritmos genéticos en los mercados de divisas. Recomiendo encarecidamente estudiar y, potencialmente, aplicar este enfoque. El enlace completo a su investigación académica está aquí: http://people.scs.carleton.ca/~dmckenne/5704/Paper/Final_Paper.pdf

También descubrí que NVIDIA era capaz de utilizar GPUs para backtesting de mercados financieros y alcanzar una velocidad 6000x https://www.nvidia.com/content/dam/en-zz/Solutions/industries/finance/finance-trading-executive-briefing-hr-web.pdf.

Cómo lo hicieron es desconocido, así que voy a seguir buscando, pero, parece que hay una manera de incorporar la lógica CUDA que es capaz de hacer el tipo de backtesting que antes se consideraba casi imposible de hacer. Así que creo que todavía hay esperanza de que esto se implemente en SQX algún día. Si se ha hecho antes, no lo considero "imposible". Los investigadores que incorporaron GPU a su algoritmo genético también utilizaron CUDA para lograr sus resultados.

0

Mark Fric

Administrador, sq-ultimate, 2 respuestas.

Visitar el perfil

hace 4 años #247279

Lo he consultado repetidamente con mis amigos de la universidad que trabajan con GPU y, por desgracia, la situación no ha cambiado: las GPU no son adecuadas para nosotros.

Es posible ejecutar la evolución genética también "algún tipo" de backtesting en la GPU. El problema es la naturaleza abierta de SQ que queremos lograr.

Podríamos hacer una arquitectura de estrategia fija y un conjunto fijo de indicadores que se probarían en la GPU, pero entonces no podríamos utilizar cosas como plantillas de estrategia, programación de indicadores personalizados y otros bloques, que son todos puntos fuertes de SQ X.

Esta centuplicación de la velocidad que mencionan en los artículos sólo es posible en determinadas condiciones y con determinados programas, todavía no es posible acelerar así el proceso general de backtesting.

Mark
Arquitecto de StrategyQuant

0

kainc301

Cliente, bbp_participant, comunidad, 54 respuestas.

Visitar el perfil

hace 4 años #247291

He consultado esto repetidamente con mis amigos PHD de la universidad que trabajan con GPUs, y desafortunadamente el estatus no ha cambiado - las GPUs no son adecuadas para nosotros. Es posible ejecutar la evolución genética también "algún tipo" de backtesting en la GPU. El problema es la naturaleza abierta de SQ que queremos lograr. Podríamos hacer una arquitectura de estrategia fija y un conjunto fijo de indicadores que se probarían en la GPU, pero entonces no seríamos capaces de utilizar cosas como plantillas de estrategia, programación de indicadores personalizados y otros bloques, que son todos los puntos fuertes de SQ X. Esta aceleración de cien veces que mencionan en los documentos es posible sólo bajo ciertas condiciones y con ciertos programas, todavía no es posible acelerar el proceso de backtesting general de esta manera.

Es una lástima. Estoy de acuerdo en que es mucho más importante mantener la flexibilidad en el uso de indicadores / plantillas personalizadas que sacrificar eso por el rendimiento.

Así que la verdadera solución en la búsqueda de un mayor rendimiento a través de hardware es mediante el uso de múltiples CPUs conectadas a través de un sistema de red. Al menos puedo ahorrar dinero en GPUs caras jaja.

0

gusyoan

Cliente, bbp_participant, comunidad, 21 respuestas.

Visitar el perfil

hace 4 años #254839

Hola Mark,

además de la GPU, ¿es posible utilizar una tarjeta FPGA o ASIC?

0

Mark Fric

Administrador, sq-ultimate, 2 respuestas.

Visitar el perfil

hace 4 años #257552

no, este tipo de cartas no se pueden utilizar. Pero no entiendo la obsesión por la mayor potencia posible - no es la clave para el comercio rentable.

Mark
Arquitecto de StrategyQuant

0

Viendo 10 respuestas - de la 1 a la 10 (de un total de 10)