English 中文 Deutsch 日本語 Português
preview
Добавляем пользовательскую LLM в торгового робота (Часть 1): Развертывание оборудования и среды

Добавляем пользовательскую LLM в торгового робота (Часть 1): Развертывание оборудования и среды

MetaTrader 5Трейдинг | 22 февраля 2024, 09:56
685 4
Yuqiang Pan
Yuqiang Pan

Введение

Эта статья в основном предназначена для тех, кто надеется экономично внедрить LLM в локальной среде и может настроить модель по мере необходимости. Мы подробно опишем необходимую конфигурацию оборудования и программной среды, а также дадим несколько практических советов.

Мы надеемся, что, прочитав эту статью, вы получите четкое представление об аппаратных условиях, необходимых для развертывания LLM, и сможете успешно создать базовую среду развертывания в соответствии с приведенными здесь рекомендациями.

Содержание:

  1. Введение
  2. Что такое LLM?
  3. Конфигурация оборудования
  4. Конфигурация программной среды 
  5. Платформа облачных вычислений
  6. Заключение


Что такое LLM?

1. Об LLM

LLM (large language models, большие языковые модели) это фундаментальные модели, которые используют глубокое обучение в задачах обработки (natural language processing, NLP) и генерации (natural language generation, NLG) естественного языка. Для изучения сложности и связей языка, большие языковые модели предварительно обучаются на больших объемах данных. LLM — это, по сути, нейронная сеть, основанная на Трансформере. Не спрашивайте меня, что такое Трансформер. Вы наверняка слышали о статье Attention is All You Need. Под LLM мы в основном подразумеваем модели с открытым исходным кодом, такие как LLama2. ChatGPT с закрытым исходным кодом от компании OpenAI вляется мощным инструментом, но он не может использовать преимущества наших персонализированных данных. Конечно, их также можно интегрировать с алгоритмическим трейдингом, но это не является предметом статьи.

2. Зачем и как применять LLM в алгоритмической торговле?

Почему мы выбрали LLM? Причина проста: они обладают сильным логическим пониманием и навыками рассуждения. Как мы можем использовать эти возможности в алгоритмической торговле? Сузим вопрос: что бы вы сделали, если бы хотели провести алгоритмическую торговлю, используя последовательность Фибоначчи? Реализация этой задачи традиционными методами программирования - вещь довольно трудоемкая. Но если мы используем LLM, нам нужно всего лишь создать соответствующий набор данных в соответствии с теорией Фибоначчи, а затем использовать этот набор данных для точной настройки LLM и напрямую вызывать результаты, сгенерированные LLM, в нашей алгоритмической торговле. Всё становится проще.

3. Зачем развертывать LLM локально?

1). Локальное развертывание может обеспечить более высокий уровень безопасности данных. Для некоторых приложений, использующих конфиденциальную информацию, например, в медицинской, финансовой и других областях, безопасность данных имеет решающее значение. Развернув LLM в локальной среде, мы можем гарантировать, что данные не покинут наш диапазон контроля.

2). Локальное развертывание может обеспечить более высокую производительность. Выбрав подходящую аппаратную конфигурацию, мы можем оптимизировать эффективность работы модели в соответствии с нашими потребностями. Кроме того, задержка сети в локальной среде обычно ниже, чем в облачной среде, что очень важно для некоторых приложений, требующих ответа в реальном времени.

3). Развернув LLM в локальной среде и настроив их в соответствии с нашими персонализированными данными, мы можем получить модель, которая лучше соответствует нашим потребностям. Это связано с тем, что каждый сценарий приложения уникален, и посредством тонкой настройки мы можем лучше адаптировать модель к нашему сценарию приложения.

Таким образом, локальное развертывание LLM может не только обеспечить более высокую безопасность данных и производительность, но также позволить нам получить модель, которая лучше соответствует нашим потребностям. Поэтому понимание того, как развернуть LLM в локальной среде и точно настроить их в соответствии с нашими персонализированными данными, очень важно для того, как мы интегрируемся в алгоритмическую торговлю. В следующем материале мы подробно расскажем, как выбрать конфигурацию оборудования и создать программную среду.


Конфигурация оборудования

При локальном развертывании LLM очень важной частью является конфигурация оборудования. Здесь мы в основном обсуждаем массовые ПК и не рассматриваем MacOS и другие нишевые продукты.

Продукты, используемые для развертывания LLM, в основном включают в себя процессоры, графические карты, память и устройства хранения данных. Процессор и рафическая карта являются основными вычислительными устройствами для запуска моделей, а память и устройства хранения используются для хранения моделей и данных.

Правильная конфигурация оборудования может не только обеспечить эффективность работы модели, но и в определенной степени повлиять на ее производительность. Поэтому нам необходимо выбрать подходящую конфигурацию оборудования в соответствии с нашими потребностями и бюджетом.

1. Процессор

В настоящее время, благодаря появлению таких платформ, как Llama.cpp, языковые модели можно напрямую выводить или обучать на процессорах. Так что, если у вас нет отдельной видеокарты, не волнуйтесь, процессор тоже подойдет.

В настоящее время основными брендами процессоров на рынке являются Intel и AMD. Серии Intel Xeon и AMD EPYC в настоящее время являются наиболее популярными процессорами серверного уровня. Эти процессоры имеют высокую частоту, многоядерность и большой кэш, что подходит для запуска больших языковых моделей.

При выборе процессора необходимо учитывать его количество ядер, частоту и размер кэша. Вообще говоря, процессоры с большим количеством ядер, более высокой частотой и большим кэшем работают лучше, но они и дороже. Поэтому выбирать нужно исходя из собственного бюджета и потребностей.

Для локального развертывания LLM мы рекомендуем следующую конфигурацию оборудования:

 Процессор: не менее 4 ядер с частотой не менее 2,5 ГГц.

Ниже приведена текущая ситуация на рынке процессоров:

cpu

Более подробную информацию можно найти здесь: Pass Mark CPU Benchmarks

2. Видеокарта

Для запуска больших языковых моделей (LLM) очень важны видеокарты. Вычислительная мощность и объем памяти видеокарты напрямую влияют на скорость обучения и вывода модели. Вообще говоря, видеокарты с более мощной вычислительной мощностью и большим объемом памяти работают лучше, но они и дороже.

Серии NVIDIA Tesla и Quadro, а также AMD Radeon Pro в настоящее время являются самыми популярными профессиональными видеокартами. Эти видеокарты имеют большой объем памяти и мощные возможности параллельных вычислений, которые могут эффективно ускорить обучение моделей и получение выводов.

Для локального развертывания LLM мы рекомендуем следующую конфигурацию оборудования:

Видеокарта с памятью 8 ГБ или более.

Ниже приведена текущая ситуация на рынке видеокарт:

gpuy

Более подробную информацию можно найти здесь:  Pass Mark Software - Video Card (GPU) Benchmarks

3. Память

DDR5 стала мейнстримом. Для запуска больших языковых моделей (LLM) мы рекомендуем использовать как можно больше памяти.

Для локального развертывания LLM мы рекомендуем следующую конфигурацию оборудования:

Не менее 16 ГБ памяти DDR4.

4. Хранилище

Скорость и емкость устройств хранения напрямую влияют на скорость чтения и емкость хранилища данных. В целом, устройства хранения данных с более высокой скоростью и большей емкостью работают лучше, но и стоят дороже.

Твердотельные накопители (SSD) стали популярными устройствами хранения данных благодаря своей высокой скорости и низкой задержке. Твердотельные накопители с интерфейсом NVMe постепенно заменяют твердотельные накопители с интерфейсом SATA из-за их более высокой скорости. Твердотельные накопители (SSD) стали популярными устройствами хранения данных благодаря своей высокой скорости и низкой задержке.

Для локального развертывания LLM мы рекомендуем следующую конфигурацию оборудования:

SSD-накопитель NVMe объемом не менее 1 ТБ.


Конфигурация программной среды

1. Построение и анализ различных сред операционных систем

При локальном развертывании LLM нам необходимо учитывать выбор среды операционной системы. В настоящее время наиболее распространенными операционными средами являются Windows, Linux и MacOS. Каждая операционная система имеет свои преимущества и недостатки, и нам нужно выбирать в соответствии со своими потребностями.

- Windows:

Операционная система Windows любима большим количеством пользователей из-за удобного интерфейса и богатой программной поддержки. Однако из-за закрытого исходного кода Windows может быть не так хороша, как Linux и MacOS, в некоторых расширенных функциях и настройках.

- Linux:

Операционная система Linux известна своим открытым исходным кодом, широкими возможностями настройки и мощными инструментами командной строки. Linux является хорошим выбором для пользователей, которым необходимо выполнять масштабные вычисления или развертывание серверов. Однако из-за сложности освоения новичкам может быть немного сложно.

- MacOS:

Операционная система MacOS любима многими профессиональными пользователями за элегантный дизайн и отличную производительность. Однако из-за аппаратных ограничений MacOS может не подойти пользователям, которым необходимо выполнять масштабные вычисления.

- Windows + WSL:

WSL позволяет запускать среду Linux в операционной системе Windows, что позволяет использовать удобный интерфейс Windows совместно с мощными инструментами командной строки Linux.

Выше был приведен наш простой анализ различных сред операционных систем. Мы настоятельно рекомендуем использовать Windows + WSL для ежедневного использования и обслуживания наших профессиональных вычислений.

2. Сопутствующая конфигурация программного обеспечения

После выбора подходящей конфигурации оборудования нам необходимо установить и настроить необходимое программное обеспечение в операционной системе. Эти программные средства включают в себя операционную систему, языковую среду программирования, инструменты разработки и т. д. Вот некоторые общие шаги по настройке программного обеспечения:

- Операционная система:

Сначала нам нужно установить операционную систему. Для обучения и вывода больших языковых моделей (LLM) мы рекомендуем использовать операционную систему Linux, поскольку она предоставляет мощные инструменты командной строки и легко настраиваемую среду.

- Языковая среда программирования:

Нам необходимо установить среду Python, поскольку большинство LLM разрабатываются с использованием Python. Мы рекомендуем использовать Anaconda для управления средой Python, поскольку она позволяет легко устанавливать пакеты Python и управлять ими.

- Инструменты разработки:

Нам необходимо установить некоторые инструменты разработки, такие как текстовые редакторы (например, VS Code или Sublime Text), инструменты контроля версий (например, Git) и т. д.

- Программное обеспечение, связанное с LLM:

Нам необходимо установить программное обеспечение, связанное с LLM, такое как платформы глубокого обучения TensorFlow или PyTorch, а также библиотеку Transformers от Hugging Face и т. д.

3. Рекомендуемая конфигурация

Вот некоторые рекомендуемые программные инструменты и версии:

- Операционная система:

Мы рекомендуем использовать Windows11+Ubuntu 20.04 LTS (WSL). Это стабильный и широко используемый дистрибутив Linux с богатым пакетом и хорошей поддержкой сообщества.

- Среда Python:

Мы рекомендуем использовать Anaconda для управления средой Python. Anaconda — это популярная платформа для обработки данных Python, которая позволяет легко устанавливать пакеты Python и управлять ими. Мы рекомендуем использовать Python 3.10, поскольку это стабильная и широко поддерживаемая версия.

- Фреймворк для глубокого обучения:

Мы рекомендуем использовать PyTorch 2.0 или выше. Это один из самых популярных фреймворков для глубокого обучения.


Платформа облачных вычислений

1. Платформа

Вот некоторые из самых популярных платформ:

1). Amazon Web Services (AWS)

Amazon Web Services (AWS) — это платформа облачных вычислений, предоставляемая Amazon Inc. Центры обработки данных по всему миру предлагают более 200 полнофункциональных услуг. Услуги AWS охватывают инфраструктурные технологии, такие как вычисления, хранилища и базы данных, а также новые технологии, такие как машинное обучение, искусственный интеллект, озера данных и аналитика, а также Интернет вещей. Клиентами AWS являются миллионы активных пользователей и организаций всех размеров и отраслей, включая стартапы, крупные предприятия и государственные учреждения.

2). Microsoft Azure

Microsoft Azure — это платформа облачных вычислений, предоставляемая Microsoft, которая имеет следующие преимущества. Azure имеет несколько уровней мер безопасности, которые охватывают уровни центра обработки данных, инфраструктуры и операций для защиты данных клиентов и организаций. Azure также предлагает наиболее полное обеспечение соответствия требованиям (комплаенс), поддерживая более 90 продуктов соответствия и лучшие в отрасли соглашения об уровне обслуживания. Azure обеспечивает бесперебойную работу в многочисленных локальных облаках и пограничных средах с помощью инструментов и служб, разработанных для гибридных облаков, таких как Azure Arc и Azure Stack1. Azure также позволяет клиентам использовать свои собственные лицензии Windows Server и SQL Server и экономить до 40% на Azure. Azure поддерживает все языки и платформы, что позволяет клиентам создавать и развертывать приложения, а также управлять ими на языке или платформе по своему выбору. Azure также предоставляет множество услуг и инструментов искусственного интеллекта и машинного обучения, которые позволяют клиентам создавать интеллектуальные приложения и использовать модели OpenAI Whisper для высококачественной транскрипции и перевода. Azure предлагает более 200 сервисов и инструментов, которые позволяют клиентам создавать неограниченное масштабирование приложений и использовать преимущества облачных инноваций. За последний год Azure внедрила более 1000 новых функций, охватывающих такие области, как искусственный интеллект, машинное обучение, виртуализация, Kubernetes и базы данных.

3). Google Cloud Platform (GCP)

Google Cloud Platform (GCP) — это набор сервисов и инструментов облачных вычислений, предлагаемых Google. GCP позволяет клиентам создавать, развертывать и масштабировать приложения, сайты и сервисы в той же инфраструктуре, что и Google. GCP предоставляет различные технологии, такие как вычисления, хранилище, базы данных, аналитика, машинное обучение и Интернет вещей. GCP используют миллионы клиентов в различных отраслях и секторах, включая стартапы, предприятия и государственные учреждения. GCP также является одной из самых безопасных, гибких и надежных сред облачных вычислений, доступных сегодня.

2. Преимущества облачных вычислений

- Экономическая эффективность: облачные вычисления более рентабельны по сравнению с традиционной ИТ-инфраструктурой, поскольку пользователи платят только за используемые ими вычислительные ресурсы.

- Управляемая инфраструктура: поставщик облачных услуг управляет базовой инфраструктурой, включая аппаратное и программное обеспечение.

- Масштабируемость: облако в высшей степени масштабируемо, что позволяет организациям легко регулировать использование ресурсов в соответствии со своими потребностями.

- Глобальность и доступность: облако является глобальным, удобным и доступным, что ускоряет создание и развертывание программных приложений.

- Неограниченная емкость хранилища: независимо от того, какое облако вы используете, вы можете купить весь объем хранилища, который вам когда-либо понадобится.

- Автоматическое резервное копирование/восстановление. Облачное резервное копирование — это услуга, при которой данные и приложения на серверах компании копируются и хранятся на удаленном сервере.

3. Недостатки облачных вычислений

- Безопасность данных. Несмотря на то, что поставщики облачных услуг принимают надежные меры безопасности, хранение конфиденциальных данных в облаке по-прежнему может представлять собой риск.

- Комплаенс. В зависимости от вашей отрасли могут существовать правила, ограничивающие объем данных, которые можно хранить в облаке.

- Возможность сбоев. Хотя и редко, но в облачных сервисах могут возникать сбои, приводящие к потенциальным простоям.


Заключение

Локальное развертывание LLM и точная настройка с использованием персонализированных данных — сложная, но очень ценная задача, и правильная конфигурация оборудования и настройка программной среды являются ключом к достижению этой цели.

Что касается конфигурации оборудования, нам необходимо выбрать подходящий процессор, видеокарту, память и устройства хранения в соответствии с нашим собственным бюджетом и потребностями. Что касается конфигурации программной среды, нам необходимо выбрать соответствующий интерпретатор языка программирования, среду глубокого обучения и другие необходимые библиотеки в соответствии с нашей собственной операционной системой.

Хотя эти задачи сопряжены с некоторыми трудностями, если у нас есть четкие цели и мы готовы вкладывать время и энергию в обучение и практику, мы обязательно добьемся успеха.

Я надеюсь, что эта статья была полезной для вас. В следующей статье будет приведен пример развертывания среды.

Следите за обновлениями!

Перевод с английского произведен MetaQuotes Ltd.
Оригинальная статья: https://www.mql5.com/en/articles/13495

Последние комментарии | Перейти к обсуждению на форуме трейдеров (4)
JRandomTrader
JRandomTrader | 22 февр. 2024 в 13:28

По железу и ОС только общие слова, бенчмарк десктопных видях, но мобильных процов, абстрактный, а не применительно к задаче.

Такое ощущение, что статья сгенерена ИИ.

Rashid Umarov
Rashid Umarov | 23 февр. 2024 в 09:07
Комментарии, не относящиеся к этой теме, были перенесены в "Не по теме...".
Maxim Dmitrievsky
Maxim Dmitrievsky | 23 февр. 2024 в 11:30

Интересно, можно ли LLM сконвертировать в ONNX и сколько это будет весить :)

вроде можно

RWKV-4 весит меньше гига

homepage 
Rashid Umarov
Rashid Umarov | 23 февр. 2024 в 11:41
NVIDIA выпустила демоверсию бота Chat with RTX для локальной установки на Windows . Бот не имеет встроенной базы знаний и работает со всеми доступными данными на конкретном компьютере, плюс может обрабатывать содержимое YouTube видео по ссылкам. Для установки боту нужно не менее 40 Гб на диске, и GPU серии RTX 30/40 с минимум 8 Гб видеопамяти.
Такая новость проходила недавно
Угловые операции для трейдеров Угловые операции для трейдеров
В этой статье будут рассмотрены угловые операции. Мы рассмотрим методы построения углов и способы их применения в трейдинге.
DoEasy. Элементы управления (Часть 33): вертикальный "ScrollBar" DoEasy. Элементы управления (Часть 33): вертикальный "ScrollBar"
В статье продолжим разработку графических элементов библиотеки DoEasy, и добавим вертикальную прокрутку элементов управления объекта-формы и некоторые полезные функции и методы, которые потребуются в дальнейшем.
Работаем с датами и временем в MQL5 Работаем с датами и временем в MQL5
Трейдерам и разработчикам торговых инструментов очень важно понимать, как хорошо и эффективно обращаться с датами и временем. В статье я покажу, как мы можем обращаться с датами и временем при создании эффективных торговых инструментов.
Освоение ONNX: Переломный момент для MQL5-трейдеров Освоение ONNX: Переломный момент для MQL5-трейдеров
Погрузитесь в мир ONNX - мощного открытого формата для обмена моделями машинного обучения. Узнайте, как использование ONNX может произвести революцию в алгоритмической торговле на MQL5, позволяя трейдерам беспрепятственно интегрировать передовые модели искусственного интеллекта и поднять свои стратегии на новый уровень. Раскройте секреты кросс-платформенной совместимости и узнайте, как раскрыть весь потенциал ONNX в своей торговле на MQL5. Улучшите свою торговлю с помощью этого подробного руководства по ONNX.