English Русский 中文 Deutsch 日本語
preview
Adicionando um LLM personalizado a um robô investidor (Parte 1): Implantação de equipamentos e ambiente

Adicionando um LLM personalizado a um robô investidor (Parte 1): Implantação de equipamentos e ambiente

MetaTrader 5Negociação | 22 março 2024, 10:40
163 0
Yuqiang Pan
Yuqiang Pan

Introdução

Este artigo é destinado principalmente àqueles que esperam implementar de forma rentável LLMs em um ambiente local e podem configurar o modelo conforme necessário. Descreveremos detalhadamente a configuração de hardware e ambiente de software necessária, além de fornecer algumas dicas práticas.

Esperamos que, após ler este artigo, você tenha uma ideia clara das condições de hardware necessárias para implementar LLMs e possa criar com sucesso um ambiente básico de implantação de acordo com as recomendações aqui fornecidas.

Conteúdo:

  1. Introdução
  2. O que é um LLM?
  3. Configuração de equipamentos
  4. Configuração do Ambiente de Software
  5. Plataforma de computação em nuvem
  6. Conclusão


O que é um LLM?

1. Sobre LLM

LLM (large language models, grandes modelos de linguagem) são modelos fundamentais que utilizam aprendizado profundo em tarefas de processamento (natural language processing, NLP) e geração (natural language generation, NLG) de linguagem natural. Para aprender a complexidade e as conexões da linguagem, grandes modelos de linguagem são pré-treinados com grandes volumes de dados. Essencialmente, um LLM é uma rede neural baseada no Transformador. Não me pergunte o que é um Transformador. Você provavelmente já ouviu falar do artigo Attention is All You Need. Por LLM, geralmente nos referimos a modelos de código aberto, como o LLama2. O ChatGPT com código fechado da OpenAI é uma ferramenta poderosa, mas não pode tirar proveito de nossos dados personalizados. Claro, eles também podem ser integrados à negociação algorítmica, mas esse não é o foco deste artigo.

2. Por que e como usar LLMs na negociação algorítmica?

Por que escolhemos LLMs? A razão é simples: elas possuem forte compreensão lógica e habilidades de raciocínio. Como podemos usar essas capacidades na negociação algorítmica? Vamos especificar a questão: o que você faria se quisesse realizar negociação algorítmica usando a sequência de Fibonacci? Implementar essa tarefa com métodos tradicionais de programação é bastante trabalhoso. Mas se usarmos LLMs, só precisamos criar um conjunto de dados apropriado de acordo com a teoria de Fibonacci e então usar esse conjunto de dados para o ajuste fino do LLM e diretamente invocar os resultados gerados pelo LLM em nossa negociação algorítmica. Tudo se torna mais simples.

3. Por que implementar LLMs localmente?

1). A implantação local pode fornecer um nível mais alto de segurança de dados. Para algumas aplicações que utilizam informações confidenciais, como nas áreas médica, financeira, e outras, a segurança dos dados é importante. Implementando um LLM em um ambiente local, podemos garantir que os dados não saiam do nosso alcance de controle.

2). A implantação local pode proporcionar maior desempenho. Ao escolher a configuração de hardware apropriada, podemos otimizar o desempenho do modelo de acordo com nossas necessidades. Além disso, a latência de rede em um ambiente local geralmente é menor do que em um ambiente em nuvem, o que é muito importante para algumas aplicações que exigem resposta em tempo real.

3). Ao implementar um LLM localmente e o ajustar de acordo com nossos dados personalizados, podemos obter um modelo que melhor atenda às nossas necessidades. Isso se deve ao fato de que cada cenário de aplicação é único, e por meio do ajuste fino, podemos adaptar melhor o modelo ao nosso cenário.

Assim, a implantação local de um LLM pode não apenas fornecer maior segurança de dados e desempenho, mas também nos permitir obter um modelo que se adapte melhor às nossas necessidades. Por isso, entender como implementar um LLM em um ambiente local e ajustá-lo precisamente de acordo com nossos dados personalizados é muito importante para a forma como nos integramos à negociação algorítmica. No próximo material, detalharemos como escolher a configuração de hardware e criar o ambiente de software.


Configuração de equipamentos

Na implantação local de um LLM, a configuração do hardware é uma parte muito importante. Aqui, discutimos principalmente PCs convencionais e não consideramos MacOS e outros produtos de nicho.

Os produtos usados para a implantação de um LLM incluem principalmente processadores, placas gráficas, memória e dispositivos de armazenamento. O processador e a placa gráfica são os principais dispositivos computacionais para executar modelos, enquanto a memória e os dispositivos de armazenamento são usados para armazenar modelos e dados.

Uma configuração de hardware apropriada não só pode garantir a eficiência do modelo, mas também, até certo ponto, afetar seu desempenho. Portanto, precisamos escolher uma configuração de hardware adequada de acordo com nossas necessidades e orçamento.

1. Processador

Atualmente, graças ao surgimento de plataformas como Llama.cpp, é possível executar ou treinar modelos de linguagem diretamente em processadores. Então, se você não possui uma placa de vídeo dedicada, não se preocupe, o processador também é adequado.

Atualmente, as principais marcas de processadores no mercado são Intel e AMD. As séries Intel Xeon e AMD EPYC são atualmente os processadores de nível de servidor mais populares. Esses processadores possuem alta frequência, multi-núcleos e grande cache, o que é adequado para executar grandes modelos de linguagem.

Ao escolher um processador, é necessário considerar o número de núcleos, a frequência e o tamanho do cache. De maneira geral, processadores com mais núcleos, frequência mais alta e maior cache funcionam melhor, mas também são mais caros. Portanto, a escolha deve ser baseada no seu orçamento e necessidades.

Para a implantação local de um LLM, recomendamos a seguinte configuração de hardware:

 Processador: pelo menos 4 núcleos com frequência de pelo menos 2,5 GHz.

A seguir, a situação atual do mercado de processadores:

cpu

Mais informações podem ser encontradas aqui: Pass Mark CPU Benchmarks

2. Placa de Vídeo

As placas de vídeo são muito importantes para a execução de grandes modelos de linguagem (LLMs). A capacidade de processamento e a quantidade de memória da placa de vídeo afetam diretamente a velocidade de treinamento e de inferência do modelo. De maneira geral, placas de vídeo com maior capacidade de processamento e mais memória funcionam melhor, mas também são mais caras.

As séries NVIDIA Tesla e Quadro, bem como AMD Radeon Pro, são atualmente as placas de vídeo profissionais mais populares. Estas placas de vídeo têm uma grande quantidade de memória e capacidades de computação paralela poderosas, que podem acelerar eficientemente o treinamento de modelos e a inferência.

Para a implantação local de um LLM, recomendamos a seguinte configuração de hardware:

Placa de vídeo com 8 GB de memória ou mais.

A seguir, a situação atual do mercado de placas de vídeo:

gpuy

Mais informações podem ser encontradas aqui:  Pass Mark Software - Video Card (GPU) Benchmarks

3. Memória

DDR5 se tornou mainstream. Para executar grandes modelos de linguagem (LLM), recomendamos usar o máximo de memória possível.

Para a implantação local de um LLM, recomendamos a seguinte configuração de hardware:

Pelo menos 16 GB de memória DDR4.

4. Armazenamento

A velocidade e a capacidade dos dispositivos de armazenamento afetam diretamente a velocidade de leitura e a capacidade de armazenamento de dados. Em geral, dispositivos de armazenamento com maior velocidade e capacidade funcionam melhor, mas também são mais caros.

Os drives de estado sólido (SSD) se tornaram populares por sua alta velocidade e baixa latência. Drives de estado sólido com interface NVMe estão gradualmente substituindo os SSDs com interface SATA devido à sua maior velocidade. Os drives de estado sólido (SSD) se tornaram populares por sua alta velocidade e baixa latência.

Para a implantação local de um LLM, recomendamos a seguinte configuração de hardware:

Drive SSD NVMe com no mínimo 1 TB de capacidade.


Configuração do Ambiente de Software

1. Construção e Análise de Diferentes Ambientes de Sistemas Operacionais

Ao implementar um LLM localmente, precisamos considerar a escolha do ambiente do sistema operacional. Atualmente, os ambientes operacionais mais comuns são Windows, Linux e MacOS. Cada sistema operacional tem seus pontos fortes e fracos, e precisamos escolher de acordo com nossas necessidades.

- Windows:

O sistema operacional Windows é adorado por muitos usuários devido à sua interface amigável e rica suporte de software. No entanto, devido ao seu código fechado, o Windows pode não ser tão bom quanto o Linux e o MacOS em algumas funcionalidades avançadas e configurações.

- Linux:

O sistema operacional Linux é conhecido por seu código aberto, amplas opções de personalização e poderosas ferramentas de linha de comando. O Linux é uma boa escolha para usuários que precisam realizar cálculos em grande escala ou implantação de servidores. No entanto, devido à sua complexidade, pode ser um pouco difícil para iniciantes.

- MacOS:

O sistema operacional MacOS é amado por muitos usuários profissionais por seu design elegante e excelente desempenho. No entanto, devido às limitações de hardware, o MacOS pode não ser adequado para usuários que precisam realizar cálculos em larga escala.

- Windows + WSL:

WSL (Windows Subsystem for Linux) permite executar um ambiente Linux dentro do sistema operacional Windows, o que possibilita usar a interface amigável do Windows juntamente com as poderosas ferramentas de linha de comando do Linux.

Essa foi nossa breve análise dos diferentes ambientes de sistemas operacionais. Recomendamos fortemente o uso de Windows + WSL para uso diário e para lidar com nossos cálculos profissionais.

2. Configuração de Software Acompanhante

Após escolher a configuração de hardware adequada, precisamos instalar e configurar o software necessário no sistema operacional. Essas ferramentas de software incluem o sistema operacional, o ambiente de programação, ferramentas de desenvolvimento, etc. Aqui estão alguns passos gerais para a configuração de software:

- Sistema Operacional:

Primeiro, precisamos instalar o sistema operacional. Para treinamento e inferência de grandes modelos de linguagem (LLM), recomendamos usar o sistema operacional Linux, pois ele oferece poderosas ferramentas de linha de comando e um ambiente facilmente personalizável.

- Ambiente de Linguagem de Programação:

Precisamos instalar o ambiente Python, já que a maioria dos LLMs é desenvolvida usando Python. Recomendamos o uso do Anaconda para gerenciar o ambiente Python, pois facilita a instalação e o gerenciamento de pacotes Python.

- Ferramentas de Desenvolvimento:

Precisamos instalar algumas ferramentas de desenvolvimento, como editores de texto (por exemplo, VS Code ou Sublime Text), ferramentas de controle de versão (por exemplo, Git), etc.

- Software Relacionado ao LLM:

Precisamos instalar software relacionado a LLM, como plataformas de aprendizado profundo TensorFlow ou PyTorch, além da biblioteca Transformers da Hugging Face, etc.

3. Configuração Recomendada

Aqui estão algumas ferramentas de software recomendadas e suas versões:

- Sistema Operacional:

Recomendamos usar Windows11+Ubuntu 20.04 LTS (WSL). Este é uma distribuição Linux estável e amplamente utilizada com um rico pacote de recursos e bom suporte da comunidade.

- Ambiente Python:

Recomendamos o uso do Anaconda para gerenciar o ambiente Python. Anaconda é uma plataforma popular para ciência de dados Python, que facilita a instalação e o gerenciamento de pacotes Python. Recomendamos usar Python 3.10, pois é uma versão estável e amplamente suportada.

- Framework para Aprendizado Profundo:

Recomendamos o uso do PyTorch 2.0 ou superior. Este é um dos frameworks de aprendizado profundo mais populares.


Plataforma de computação em nuvem

1. Plataforma

Aqui estão algumas das plataformas mais populares:

1). Amazon Web Services (AWS)

Amazon Web Services (AWS) é uma plataforma de computação em nuvem oferecida pela Amazon Inc. Centros de dados ao redor do mundo oferecem mais de 200 serviços totalmente funcionais. Os serviços da AWS abrangem tecnologias de infraestrutura como computação, armazenamento e bancos de dados, bem como novas tecnologias como aprendizado de máquina, inteligência artificial, data lakes e análise, além da Internet das Coisas. Os clientes da AWS incluem milhões de usuários ativos e organizações de todos os tamanhos e setores, incluindo startups, grandes empresas e instituições governamentais.

2). Microsoft Azure

Microsoft Azure é uma plataforma de computação em nuvem fornecida pela Microsoft, que apresenta os seguintes benefícios. O Azure possui vários níveis de medidas de segurança que abrangem os níveis do centro de dados, infraestrutura e operações para proteger os dados dos clientes e das organizações. O Azure também oferece a mais completa conformidade regulatória, suportando mais de 90 produtos de conformidade e os melhores acordos de nível de serviço do setor. O Azure garante a operação contínua em numerosos ambientes de nuvem local e de borda com ferramentas e serviços projetados para nuvens híbridas, como o Azure Arc e o Azure Stack. Azure também permite aos clientes usar suas próprias licenças do Windows Server e SQL Server, economizando até 40% no Azure. O Azure suporta todas as linguagens e plataformas, permitindo aos clientes criar, implantar e gerenciar aplicativos em qualquer linguagem ou plataforma de sua escolha. Além disso, o Azure oferece uma ampla gama de serviços e ferramentas de inteligência artificial e aprendizado de máquina, que permitem aos clientes criar aplicativos inteligentes e usar modelos da OpenAI Whisper para transcrição e tradução de alta qualidade. O Azure fornece mais de 200 serviços e ferramentas, permitindo aos clientes criar aplicativos com escalabilidade ilimitada e aproveitar as inovações em nuvem. No último ano, o Azure introduziu mais de 1000 novos recursos, cobrindo áreas como inteligência artificial, aprendizado de máquina, virtualização, Kubernetes e bancos de dados.

3). Google Cloud Platform (GCP)

Google Cloud Platform (GCP) é um conjunto de serviços e ferramentas de computação em nuvem oferecidos pelo Google. O GCP permite que os clientes criem, implantem e escalem aplicativos, websites e serviços na mesma infraestrutura usada pelo Google. O GCP oferece uma variedade de tecnologias, como computação, armazenamento, bancos de dados, análise, aprendizado de máquina e Internet das Coisas. O GCP é utilizado por milhões de clientes em diferentes indústrias e setores, incluindo startups, empresas e instituições governamentais. O GCP também é uma das plataformas de computação em nuvem mais seguras, flexíveis e confiáveis disponíveis atualmente.

2. Vantagens da Computação em Nuvem

- Eficiência de custo: a computação em nuvem é mais econômica em comparação com a infraestrutura de TI tradicional, pois os usuários pagam apenas pelos recursos de computação que utilizam.

- Infraestrutura gerenciada: o provedor de serviços em nuvem gerencia a infraestrutura subjacente, incluindo hardware e software.

- Escalabilidade: a nuvem é altamente escalável, permitindo que as organizações ajustem facilmente o uso de recursos de acordo com suas necessidades.

- Globalidade e acessibilidade: a nuvem é global, conveniente e acessível, o que acelera a criação e implantação de aplicativos de software.

- Capacidade de armazenamento ilimitada: independentemente de qual nuvem você usa, é possível adquirir todo o espaço de armazenamento que você possa precisar.

- Backup/Recuperação Automática. O backup em nuvem é um serviço que copia e armazena dados e aplicativos de servidores corporativos em um servidor remoto.

3. Desvantagens da Computação em Nuvem

- Segurança de Dados. Apesar das fortes medidas de segurança adotadas pelos provedores de serviços em nuvem, armazenar dados confidenciais na nuvem ainda pode apresentar riscos.

- Conformidade. Dependendo do seu setor, pode haver regulamentações que limitam a quantidade de dados que você pode armazenar na nuvem.

- Possibilidade de Interrupções. Embora raras, as interrupções dos serviços em nuvem podem ocorrer, levando a potenciais períodos de inatividade.


Conclusão

A implantação local de LLMs e o ajuste preciso usando dados personalizados é uma tarefa complexa, mas muito valiosa, e a configuração correta do hardware e a configuração do ambiente de software são chaves para alcançar esse objetivo.

Quanto à configuração do hardware, precisamos escolher um processador adequado, placa de vídeo, memória e dispositivos de armazenamento de acordo com nosso próprio orçamento e necessidades. Quanto à configuração do ambiente de software, precisamos escolher o interpretador de linguagem de programação apropriado, o ambiente de aprendizado profundo e outras bibliotecas necessárias de acordo com nosso próprio sistema operacional.

Embora essas tarefas venham com algumas dificuldades, se tivermos objetivos claros e estivermos dispostos a investir tempo e energia em aprendizado e prática, certamente alcançaremos sucesso.

Espero que este artigo tenha sido útil para você. No próximo artigo, será apresentado um exemplo de implantação do ambiente.

Fique atento para as atualizações!

Traduzido do Inglês pela MetaQuotes Ltd.
Artigo original: https://www.mql5.com/en/articles/13495

Trabalho com datas e horas no MQL5 Trabalho com datas e horas no MQL5
É muito importante que os operadores e desenvolvedores de ferramentas de negociação entendam como manusear datas e horas de forma adequada e eficiente. Neste artigo, mostrarei como podemos trabalhar com datas e horas ao criar ferramentas de negociação eficientes.
Dominando o ONNX: Ponto de virada para traders MQL5 Dominando o ONNX: Ponto de virada para traders MQL5
Mergulhe no mundo do ONNX, um poderoso formato aberto para compartilhar modelos de aprendizado de máquina. Descubra como o uso do ONNX pode revolucionar a negociação algorítmica em MQL5, permitindo que os traders integrem sem obstáculos modelos avançados de inteligência artificial e elevem suas estratégias a um novo patamar. Desvende os segredos da compatibilidade entre plataformas e aprenda a desbloquear todo o potencial do ONNX em sua negociação no MQL5. Melhore sua negociação com este guia detalhado sobre ONNX.
Redes neurais de maneira fácil (Parte 60): transformador de decisões on-line (ODT) Redes neurais de maneira fácil (Parte 60): transformador de decisões on-line (ODT)
As últimas 2 partes foram dedicadas ao método transformador de decisões (DT), que modela sequências de ações no contexto de um modelo autorregressivo de recompensas desejadas. Neste artigo, vamos considerar outro algoritmo de otimização deste método.
Desenvolvendo um sistema de Replay (Parte 44): Projeto do Chart Trade (III) Desenvolvendo um sistema de Replay (Parte 44): Projeto do Chart Trade (III)
No artigo anterior, expliquei como você pode manipular os dados do template a fim de usá-los em um OBJ_CHART. Mas lá apenas introduzi a questão, mas sem entrar em muitos detalhes, já que naquela versão o trabalho foi feito de uma maneira bem simplificada. No entanto, ela foi feita daquela forma, justamente para facilitar a explicação do conteúdo. Pois apesar de parecer simples fazer certas coisas, algumas não são tão evidentes, e sem compreender a parte mais simples e básica, você não irá de fato entender o que estou fazendo.