English Русский 中文 Deutsch 日本語 Português
preview
Añadimos un LLM personalizado a un robot comercial (Parte 1): Desplegando el equipo y el entorno

Añadimos un LLM personalizado a un robot comercial (Parte 1): Desplegando el equipo y el entorno

MetaTrader 5Trading | 15 mayo 2024, 14:41
143 0
Yuqiang Pan
Yuqiang Pan

Introducción

Este artículo está principalmente dirigido a quienes esperan implantar de forma rentable un LLM en un entorno local y pueden personalizar el modelo según sus necesidades. Asimismo, escribiremos con detalle la configuración necesaria del entorno de hardware y software, y ofreceremos algunos consejos prácticos.

Esperamos que después de leer este artículo, el lector tenga una clara comprensión de las condiciones de hardware requeridas para el despliegue de LLM y sea capaz de crear con éxito un entorno de despliegue básico siguiendo las directrices proporcionadas aquí.

Contenido:

  1. Introducción
  2. ¿Qué es un LLM?
  3. Configuración del equipo
  4. Configuración del entorno de software 
  5. Plataforma de computación en la nube
  6. Conclusión


¿Qué es un LLM?

1. Sobre los LLM

Los LLM(large language models) son modelos fundamentales que utilizan el aprendizaje profundo en tareas de procesamiento del lenguaje natural (NLP) y generación de lenguaje natural (NLG). Para aprender la complejidad y las relaciones del lenguaje, los grandes modelos lingüísticos se entrenan previamente con grandes cantidades de datos. Un LLM es esencialmente una red neuronal basada en Transformer. No me pregunte qué es un Transformer. Es posible que haya oído hablar del artículo Attention is All You Need. Entendemos por LLM principalmente modelos de código abierto como LLama2. El ChatGPT de código cerrado de OpenAI es una herramienta potente, pero no puede aprovechar nuestros datos personalizados. Obviamente, también pueden integrarse con el trading algorítmico, pero ese no es el tema de este artículo.

2. ¿Por qué y cómo aplicar un LLM al trading algorítmico?

¿Por qué elegimos un LLM? La razón es sencilla: tienen una gran comprensión lógica y capacidad de razonamiento. ¿Cómo podemos aprovechar estas capacidades en el trading algorítmico? Simplifiquemos la pregunta: ¿qué haría usted si quisiera practicar trading algorítmico utilizando la secuencia de Fibonacci? La implementación de esta tarea con métodos programáticos tradicionales requiere bastante tiempo, pero si utilizamos un LLM, todo lo que deberemos hacer es crear un conjunto de datos apropiado según la teoría de Fibonacci, y luego utilizar dicho conjunto de datos para afinar el LLM y llamar directamente a los resultados generados por el LLM en nuestro trading algorítmico. Todo se hace cada vez más fácil.

3. ¿Por qué desplegar el LLM de forma local?

1). La implantación local puede ofrecer un mayor nivel de seguridad de los datos. Para algunas aplicaciones que usan información sensible, como los datos médicos, financieros y de otro tipo, la seguridad es fundamental. Al desplegar el LLM en un entorno local, podemos garantizar que los datos no salgan de nuestro ámbito de control.

2). El despliegue local puede ofrecer un mejor rendimiento. Seleccionando la configuración de hardware adecuada, podremos optimizar la eficiencia del modelo para adaptarlo a nuestras necesidades. Además, la latencia de la red en un entorno local suele ser menor que en un entorno de nube, lo cual es muy importante para algunas aplicaciones que requieren una respuesta en tiempo real.

3). Al desplegar los LLM en un entorno local y adaptarlos con nuestros datos personalizados, podremos obtener un modelo que se ajuste mejor a nuestras necesidades. Esto se debe a que cada escenario de aplicación es único, y usando el ajuste fino podremos adaptar mejor el modelo a nuestro escenario de aplicación.

Así, la implantación local de LLM no solo puede proporcionar una mayor seguridad de los datos y un mejor rendimiento, sino que también nos permite obtener un modelo que se ajuste mejor a nuestras necesidades. Por tanto, entender cómo desplegar los LLM en un entorno local y ajustarlos a nuestros datos personalizados resulta fundamental para integrarlos en la trading algorítmico. En el próximo artículo, detallaremos cómo elegir una configuración de hardware y crear un entorno de software.


Configuración del equipo

Al desplegar LLM de manera local, la configuración del hardware es una parte muy importante. Hablamos sobre todo de PC convencionales y no de macOS y otros productos de nicho.

Los productos usados para la implantación de LLM incluyen principalmente procesadores, tarjetas gráficas, memoria y dispositivos de almacenamiento. El procesador y la tarjeta Rafic son los principales dispositivos informáticos para ejecutar los modelos, mientras que la memoria y los dispositivos de almacenamiento se usan para guardar los modelos y los datos.

La configuración correcta del hardware no solo puede garantizar la eficacia del modelo, sino también influir en cierta medida en su rendimiento. Por consiguiente, deberemos elegir la configuración adecuada del equipo en función de nuestras necesidades y presupuesto.

1. Procesador

En la actualidad, gracias a la aparición de plataformas como Llama.cpp, los modelos lingüísticos pueden inferirse o entrenarse directamente en los procesadores. Así que si no tiene una tarjeta gráfica aparte, no se preocupe, el procesador también le servirá.

Actualmente, las principales marcas de procesadores del mercado son Intel y AMD. Las series Intel Xeon y AMD EPYC son actualmente los procesadores más populares a nivel de servidor. Estos procesadores tienen alta frecuencia, varios núcleos y una gran caché, lo cual resulta adecuado para ejecutar grandes modelos lingüísticos.

A la hora de seleccionar un procesador, debemos considerar el número de núcleos, la frecuencia y el tamaño de la caché. En general, los procesadores con más núcleos, mayor frecuencia y más caché rinden mejor, pero también resultan más caros. Así que tendrá que elegir en función de su presupuesto y sus necesidades.

Para el despliegue local de LLM, le recomendamos la siguiente configuración de hardware:

 Procesador: un mínimo de 4 núcleos con una frecuencia de al menos 2,5 GHz.

A continuación le mostramos la situación actual del mercado de procesadores:

cpu

Más información aquí: Pass Mark CPU Benchmarks

2. Tarjeta de vídeo

Las tarjetas gráficas son esenciales para ejecutar grandes modelos lingüísticos (LLM). La potencia de procesamiento y la capacidad de memoria de la tarjeta gráfica influyen directamente en la velocidad de entrenamiento y la muestra del modelo. En general, las tarjetas gráficas con más potencia de procesamiento y más memoria rinden más, pero también son las más caras.

Las series Tesla y Quadro de NVIDIA y Radeon Pro de AMD son actualmente las tarjetas gráficas profesionales más populares. Estas tarjetas gráficas poseen una gran capacidad de memoria y potentes capacidades de cálculo paralelo, que pueden acelerar eficazmente el entrenamiento y la inferencia de modelos.

Para el despliegue local de LLM, le recomendamos la siguiente configuración de hardware:

Una tarjeta gráfica con 8 GB o más de memoria.

A continuación le exponemos la situación actual del mercado de las tarjetas gráficas:

gpuy

Más información aquí:  Pass Mark Software - Video Card (GPU) Benchmarks

3. Memoria

DDR5 se ha convertido en la norma. Para ejecutar grandes modelos lingüísticos (LLM), le recomendamos utilizar la mayor cantidad de memoria posible.

Para el despliegue local de LLM, le recomendamos la siguiente configuración de hardware:

Al menos 16 GB de memoria DDR4.

4. Almacenamiento

La velocidad y la capacidad de los dispositivos de almacenamiento influyen directamente en la velocidad de lectura y la capacidad de almacenamiento de los datos. En general, los dispositivos de almacenamiento con mayor velocidad y capacidad rinden más, pero también son más caros.

Las unidades de estado sólido (SSD) se han convertido en dispositivos de almacenamiento muy populares por su alta velocidad y su baja latencia. Las SSD NVMe están sustituyendo gradualmente a las SSD SATA por su mayor velocidad. Las unidades de estado sólido (SSD) se han convertido en dispositivos de almacenamiento muy populares por su alta velocidad y su baja latencia.

Para el despliegue local de LLM, le recomendamos la siguiente configuración de hardware:

Una unidad SSD NVMe de al menos 1 TB.


Configuración del entorno de software

1. Construcción y análisis de diferentes entornos de sistemas operativos

Al desplegar el LLM localmente, deberemos tener en cuenta la elección del entorno del sistema operativo. Actualmente, los entornos operativos más comunes son Windows, Linux y MacOS. Cada SO tiene sus propias ventajas e inconvenientes, y deberemos elegir según nuestras propias necesidades.

- Windows:

A un gran número de usuarios les encanta el sistema operativo Windows por su interfaz fácil de usar y su amplio soporte de software. No obstante, debido a su código fuente cerrado, Windows puede no ser tan bueno como Linux y macOS en algunas funciones avanzadas y personalizaciones.

- Linux:

El SO Linux es conocido por su código fuente abierto, sus amplias opciones de personalización y sus potentes herramientas de línea de comandos. Linux es una buena opción para los usuarios que necesitan efectuar grandes despliegues informáticos o de servidores. Sin embargo, debido a la complejidad que supone dominarlo, puede resultar un poco difícil para los principiantes.

- MacOS:

Muchos usuarios profesionales adoran el sistema operativo macOS por su elegante diseño y su magnífico rendimiento. No obstante, debido a las limitaciones de hardware, macOS puede no ser adecuado para usuarios que necesiten realizar cálculos a gran escala.

- Windows + WSL:

WSL permite ejecutar el entorno Linux en un sistema operativo Windows, lo cual permite usar una interfaz Windows de fácil manejo junto con las potentes herramientas de línea de comandos de Linux.

Hasta aquí llega nuestro sencillo análisis de los distintos entornos de sistemas operativos. Le recomendamos encarecidamente utilizar Windows + WSL para el uso diario y el mantenimiento de sus cálculos profesionales.

2. Configuración de software implicada

Tras seleccionar una configuración de hardware correspondiente, deberemos instalar y configurar el software necesario en el sistema operativo. Estas herramientas informáticas incluyen el SO, el entorno del lenguaje de programación, las herramientas de desarrollo, etc. A continuación le indicaremos algunos pasos generales para configurar el software:

- Sistema operativo:

Primero tendremos que instalar el sistema operativo. Para entrenar e inferir grandes modelos lingüísticos (LLM), le recomendamos utilizar el SO Linux, ya que ofrece potentes herramientas de línea de comandos y un entorno fácilmente personalizable.

- Entorno de lenguaje de programación:

Necesitaremos instalar el entorno Python ya que la mayoría de los LLM se desarrollan usando Python. Le recomendamos usar Anaconda para gestionar tu entorno Python, ya que facilita la instalación y gestión de paquetes Python.

- Herramientas de desarrollo:

Necesitaremos instalar algunas herramientas de desarrollo, como editores de texto (por ejemplo, VS Code o Sublime Text) y herramientas de control de versiones (por ejemplo, Git), etc.

- Software relacionado con el LLM:

Aquí necesitaremos instalar software relacionado con LLM, como las plataformas de aprendizaje profundo TensorFlow o PyTorch, y la biblioteca Transformers de Hugging Face, etc.

3. Configuración recomendada

Aquí tenemos algunas herramientas y versiones de software recomendadas:

- Sistema operativo:

Le recomendamos utilizar Windows11+Ubuntu 20.04 LTS (WSL). Se trata de una distribución Linux estable y ampliamente usada, con una gran cantidad de paquetes y un buen apoyo de la comunidad.

- Entorno Python:

Le recomendamos utilizar Anaconda para gestionar su entorno Python. Anaconda es una popular plataforma de procesamiento de Python que facilita la instalación y gestión de paquetes Python. Le recomendamos utilizar Python 3.10 ya que es una versión estable y ampliamente soportada.

- Marco para el aprendizaje profundo:

Le recomendamos utilizar PyTorch 2.0 o superior. Es uno de los marcos más populares para el aprendizaje profundo.


Plataforma de computación en la nube

1. Plataforma

Le mostramos algunas de las plataformas más populares:

1). Servicios web de Amazon (AWS)

Amazon Web Services (AWS) es una plataforma de computación en la nube de Amazon Inc. Los centros de datos de todo el mundo ofrecen más de 200 servicios completos. Los servicios de AWS comprenden tecnologías de infraestructura como la computación, el almacenamiento y las bases de datos, así como tecnologías emergentes como el aprendizaje automático, la inteligencia artificial, los lagos de datos y el análisis, además del Internet de las cosas. Entre los clientes de AWS se cuentan millones de usuarios activos y compañías de todos los tamaños y sectores, incluidas startups, grandes empresas y organismos gubernamentales.

2). Microsoft Azure

Microsoft Azure es una plataforma de computación en la nube ofrecida por Microsoft que cuenta con las siguientes ventajas. Azure cuenta con varias capas de medidas de seguridad que abarcan el centro de datos, la infraestructura y las capas de operaciones para proteger los datos de los clientes y las organizaciones. Azure también propone la oferta más completa en materia de cumplimiento de normativas, con más de 90 productos de cumplimiento y acuerdos de nivel de servicio líderes en el sector. Azure permite realizar operaciones sin interrupciones en varios entornos de borde y nube locales con herramientas y servicios diseñados para nubes híbridas como Azure Arc y Azure Stack1. Azure también permite a los clientes usar sus propias licencias de Windows Server y SQL Server y ahorrar hasta un 40% en Azure. Azure es compatible con todos los idiomas y plataformas, lo cual permite a los clientes crear, implantar y gestionar aplicaciones en el lenguaje o la plataforma de su elección. Azure también ofrece numerosos servicios y herramientas de inteligencia artificial y aprendizaje automático que permiten a los clientes crear aplicaciones inteligentes y utilizar los modelos de OpenAI Whisper para transcripciones y traducciones de alta calidad. Azure ofrece más de 200 servicios y herramientas que permiten a los clientes crear una escalabilidad ilimitada de las aplicaciones y aprovechar las innovaciones de la nube. Azure ha introducido más de 1 000 nuevas funciones en el último año, que abarcan áreas como la inteligencia artificial, el aprendizaje automático, la virtualización, Kubernetes y las bases de datos.

3). Plataforma en la nube de Google (GCP)

Google Cloud Platform (GCP) es un conjunto de servicios y herramientas de computación en la nube ofrecidos por Google. GCP permite a los clientes crear, implantar y escalar aplicaciones, sitios web y servicios en la misma infraestructura que Google. GCP ofrece diversas tecnologías, como computación, almacenamiento, bases de datos, análisis, aprendizaje automático e Internet de las cosas. GCP es utilizado por millones de clientes de diversas industrias y sectores, incluidas empresas emergentes, compañías y organismos públicos. GCP es también uno de los entornos de computación en la nube más seguros, flexibles y fiables que existen en la actualidad.

2. Ventajas de la computación en la nube

- Rentabilidad: la computación en la nube es más rentable que la infraestructura informática tradicional porque los usuarios solo pagan por los recursos informáticos que usan.

- Infraestructura gestionada: el proveedor de la nube gestiona la infraestructura subyacente, incluido el hardware y el software.

- Escalabilidad: la nube es altamente escalable, lo cual permite a las organizaciones ajustar fácilmente el uso de recursos según sus necesidades.

- Globalidad y accesibilidad: la nube es global, cómoda y accesible, lo cual acelera la creación e implantación de aplicaciones informáticas.

- Capacidad de almacenamiento ilimitada: no importa qué nube utilice el usuario, podrá comprar todo el almacenamiento que necesite.

- Copia de seguridad/restauración automática. La copia de seguridad en la nube es un servicio en el que los datos y las aplicaciones de los servidores de una empresa se copian y almacenan en un servidor remoto.

3. Desventajas de la computación en la nube

- Seguridad de los datos. Aunque los proveedores de servicios en la nube cuentan con sólidas medidas de seguridad, el almacenamiento de datos sensibles en la nube puede suponer ciertos riesgos.

- Conformidad. Dependiendo de su sector, puede haber normativas que limiten la cantidad de datos que pueden almacenarse en la nube.

- Posibilidad de fallos. Aunque es poco frecuente, los servicios en la nube pueden experimentar fallos que provoquen posibles tiempos de inactividad.


Conclusión

El despliegue local de LLM y su puesta a punto usando datos personalizados supone una tarea compleja pero muy valiosa, y la correcta configuración del hardware y la configuración del entorno de software resultan fundamentales para lograrlo.

En cuanto a la configuración del hardware, debemos elegir el procesador, la tarjeta gráfica, la memoria y los dispositivos de almacenamiento adecuados según nuestro presupuesto y necesidades. En cuanto a la configuración del entorno de programación, debemos seleccionar el intérprete de lenguaje de programación adecuado, el entorno de aprendizaje profundo y otras bibliotecas necesarias de acuerdo con nuestro propio sistema operativo.

Aunque estas tareas conllevan algunos retos, si tenemos objetivos claros y estamos dispuestos a invertir tiempo y energía en aprender y practicar, seguro que lograremos lo que pretendemos.

Espero que este artículo le haya sido de utilidad. En el siguiente artículo le ofreceremos un ejemplo sobre el despliegue de un entorno.

Permanezca atento a las novedades.

Traducción del inglés realizada por MetaQuotes Ltd.
Artículo original: https://www.mql5.com/en/articles/13495

Archivos adjuntos |
._13495.html (0.36 KB)
Preparación de indicadores de símbolo/periodo múltiple Preparación de indicadores de símbolo/periodo múltiple
En este artículo analizaremos los principios de la creación de los indicadores de símbolo/periodo múltiple y la obtención de datos de ellos en asesores e indicadores. Asimismo, veremos los principales matices de uso de los indicadores múltiples en asesores e indicadores, y su representación a través de los búferes del indicador personalizado.
La estacionalidad en el mercado de divisas y oportunidades para aprovecharla La estacionalidad en el mercado de divisas y oportunidades para aprovecharla
Toda persona moderna está familiarizada con el concepto de estacionalidad, por ejemplo, todos estamos acostumbrados al aumento del precio de las verduras frescas en invierno o a la subida del precio del combustible durante las heladas severas, pero pocas personas saben que existen patrones similares en el mercado de divisas.
Permutación de las barras de precio en MQL5 Permutación de las barras de precio en MQL5
En este artículo, presentaremos un algoritmo de permutación de barras de precio y detallaremos cómo se pueden utilizar las pruebas de permutación para identificar los casos en los que se ha fabricado el rendimiento de la estrategia para engañar a los posibles compradores del asesor.
Indicadores alternativos de riesgo y rentabilidad en MQL5 Indicadores alternativos de riesgo y rentabilidad en MQL5
En este artículo, presentaremos una aplicación de varias medidas de rentabilidad y riesgo consideradas alternativas al ratio de Sharpe e investigaremos diferentes curvas de capital hipotéticas para analizar sus características.