EXO: запуск распределенных кластеров ИИ с использованием неработающих домашних устройств, поддержка нескольких механизмов вывода и автоматическое обнаружение устройств.

Общее введение

Exo - это проект с открытым исходным кодом, цель которого - запустить собственный кластер искусственного интеллекта, используя повседневные устройства (например, iPhone, iPad, Android, Mac, Linux и т. д.). Благодаря динамическому разделению моделей и автоматическому обнаружению устройств, Exo способен объединить несколько устройств в один мощный GPU, поддерживающий множество моделей, таких как LLaMA, Mistral, LlaVA, Qwen и Deepseek. Exo также предоставляет ChatGPT-совместимый API, который позволяет пользователям легко запускать модели на своем собственном оборудовании.

EXO:利用闲置家用设备运行分布式AI集群,支持多种推理引擎和自动设备发现。

 

Список функций

  • Широкая поддержка моделей: Поддерживает широкий спектр моделей, таких как LLaMA, Mistral, LlaVA, Qwen и Deepseek.
  • Динамическое разбиение модели: Оптимизация разбиения модели на основе текущей топологии сети и ресурсов устройств.
  • Автоматизированное обнаружение устройств: Автоматическое обнаружение других устройств без ручной настройки.
  • Совместимый с ChatGPT API: Предоставляет ChatGPT-совместимый API, который облегчает запуск моделей на вашем собственном оборудовании.
  • равенство оборудования: Устройства подключены друг к другу с помощью соединения "точка-точка" и не используют архитектуру "ведущий-ведомый".
  • Несколько стратегий разделения: Поддерживает различные стратегии разделения, такие как кольцевое разделение с учетом объема памяти.

 

Использование помощи

Использование помощи

Процесс установки

  1. предварительно::
    • Убедитесь, что версия Python >= 3.12.0.
    • Если вы используете Linux и поддерживаете графические процессоры NVIDIA, установите драйверы NVIDIA, набор инструментов CUDA и библиотеку cuDNN.
  2. Установка из источника::
    • Проект клонирования:git clone https://github.com/exo-explore/exo.git
    • Перейдите в каталог проектов:cd exo
    • Установите зависимость:pip install -e .
    • Или используйте виртуальную среду для установки:source install.sh

Функции Поток операций

  1. операционная модель::
    • Запустите пример на нескольких устройствах macOS:
      • Оборудование 1:exo
      • Оборудование 2:exo
      • Exo автоматически обнаруживает другие устройства и запускает веб-интерфейс, похожий на ChatGPT (на базе tinygrad tinychat), наhttp://localhost:52415.
    • Выполните пример на одном устройстве:
      • Используйте команду:exo run llama-3.2-3b
      • Используйте пользовательскую подсказку:exo run llama-3.2-3b --prompt "What is the meaning of exo?"
  2. Модельное хранилище::
    • По умолчанию модели хранятся в~/.cache/huggingface/hub.
    • Это можно сделать, установив переменную окруженияHF_HOMEчтобы изменить место хранения модели.
  3. регулировка компонентов во время тестирования::
    • Использование переменных окруженияDEBUG(0-9) Включение отладочной регистрации:DEBUG=9 exo
    • Для механизма выводов tinygrad используйте отдельный флаг отладкиTINYGRAD_DEBUG(1-6):TINYGRAD_DEBUG=2 exo
  4. Код форматирования::
    • пользоватьсяyapfКод форматирования:
      • Требования к форматированию установки:pip3 install -e '.[formatting]'
      • Запустите сценарий форматирования:python3 format.py ./exo

Использование

  1. Запуск EXO::
   exo

EXO автоматически обнаруживает и подключается к другим устройствам без дополнительной настройки.

  1. операционная модель::
    • Используйте модель по умолчанию:
     exo run llama-3.2-3b
    
    • Пользовательские советы:
     exo run llama-3.2-3b --prompt "EXO的意义是什么?"
    
  2. Примеры использования API::
    • Отправить запрос: bash
      curl http://localhost:52415/v1/chat/completions \
      -H "Content-Type: application/json" \
      -d '{
      "model": "llama-3.2-3b",
      "messages": [{"role": "user", "content": "EXO的意义是什么?"}],
      "temperature": 0.7
      }'

оптимизация производительности

  • пользователи macOS::
    • Обновите macOS до последней версии.
    • быть в движении./configure_mlx.shОптимизируйте распределение памяти GPU.

общие проблемы

  • Ошибка SSL: На некоторых версиях MacOS/Python сертификат установлен неправильно. Выполните следующую команду, чтобы исправить это:
  /Applications/Python 3.x/Install Certificates.command
  • Журнал отладки: Включить ведение отладочного журнала:
  DEBUG=9 exo
© заявление об авторских правах

Похожие статьи

Нет комментариев

Вы должны войти в систему, чтобы участвовать в комментариях!
Войти сейчас
нет
Нет комментариев...