• О компании Milvus
  • Начать работу
  • Понятия
  • Руководство пользователя
  • Импорт данных
  • Инструменты искусственного интеллекта
  • Руководство по администрированию
  • Инструменты
  • Интеграции
  • Учебные пособия
  • Часто задаваемые вопросы
  • API Reference

Запуск Milvus с поддержкой GPU с помощью Docker Compose

На этой странице показано, как запустить экземпляр Milvus с поддержкой GPU с помощью Docker Compose.

Необходимые условия

Если у вас возникнут проблемы с загрузкой образа, свяжитесь с нами по адресу community@zilliz.com с подробным описанием проблемы, и мы предоставим вам необходимую поддержку.

Установка Milvus

Чтобы установить Milvus с поддержкой GPU с помощью Docker Compose, выполните следующие шаги.

1. Загрузите и настройте файл YAML

Скачайте milvus-standalone-docker-compose-gpu.yml и сохраните его как docker-compose.yml вручную или с помощью следующей команды.

$ wget https://github.com/milvus-io/milvus/releases/download/v3.0.1/milvus-standalone-docker-compose-gpu.yml -O docker-compose.yml

Вам необходимо внести следующие изменения в переменные среды автономного сервиса в файле YAML:

  • Чтобы назначить Milvus конкретное GPU-устройство, найдите поле « deploy.resources.reservations.devices[0].devices_ids » в определении службы « standalone » и замените его значение на ID нужного GPU. Для определения ID GPU-устройства можно использовать инструмент « nvidia-smi », входящий в состав драйверов отображения GPU от NVIDIA. Milvus поддерживает несколько GPU-устройств.

Назначение одного графического процессора для Milvus:

...
standalone:
  ...
  deploy:
    resources:
      reservations:
        devices:
          - driver: nvidia
            capabilities: ["gpu"]
            device_ids: ["0"]
...

Назначение нескольких графических процессоров для Milvus:

...
standalone:
  ...
  deploy:
    resources:
      reservations:
        devices:
          - driver: nvidia
            capabilities: ["gpu"]
            device_ids: ['0', '1']
...

2. Запустите Milvus

В каталоге, содержащем файл docker-compose.yml, запустите Milvus, выполнив следующую команду:

$ sudo docker compose up -d

Creating milvus-etcd  ... done
Creating milvus-minio ... done
Creating milvus-standalone ... done

Если выполнение вышеуказанной команды завершилось неудачей, проверьте, установлен ли в вашей системе Docker Compose версии 1. В этом случае рекомендуется перейти на Docker Compose версии 2 в соответствии с примечаниями на этой странице.

После запуска Milvus

  • контейнеры с именами milvus-standalone, milvus-minio и milvus-etcd будут запущены.
    • Контейнер milvus-etcd не открывает никаких портов для хоста и сопоставляет свои данные с папкой volumes/etcd в текущем каталоге.
    • Контейнер milvus-minio обслуживает локальные порты 9090 и 9091 с учетными данными по умолчанию и сопоставляет свои данные с папкой volumes/minio в текущем каталоге.
    • Контейнер milvus-standalone обслуживает локальные порты 19530 с настройками по умолчанию и сопоставляет свои данные с папкой volumes/milvus в текущем каталоге.

Вы можете проверить, запущены ли контейнеры, с помощью следующей команды:

$ sudo docker compose ps

      Name                     Command                  State                            Ports
--------------------------------------------------------------------------------------------------------------------
milvus-etcd         etcd -advertise-client-url ...   Up             2379/tcp, 2380/tcp
milvus-minio        /usr/bin/docker-entrypoint ...   Up (healthy)   9000/tcp
milvus-standalone   /tini -- milvus run standalone   Up             0.0.0.0:19530->19530/tcp, 0.0.0.0:9091->9091/tcp

Вы также можете перейти в веб-интерфейс Milvus по адресу http://127.0.0.1:9091/webui/, чтобы узнать больше о вашем экземпляре Milvus. Подробности см. в разделе «Веб-интерфейс Milvus».

Если в файле docker-compose.yml вы назначили Milvus несколько GPU-устройств, вы можете указать, какое из них будет видимым или доступным для использования.

Сделать устройство GPU 0 видимым для Milvus:

$ CUDA_VISIBLE_DEVICES=0 ./milvus run standalone

Сделайте устройства GPU 0 и 1 видимыми для Milvus:

$ CUDA_VISIBLE_DEVICES=0,1 ./milvus run standalone

Вы можете остановить и удалить этот контейнер следующим образом.

# Stop Milvus
$ sudo docker compose down

# Delete service data
$ sudo rm -rf volumes

Настройка пула памяти

После запуска и запуска Milvus вы можете настроить пул памяти, изменив параметры initMemSize и maxMemSize в файле milvus.yaml.

Файл milvus.yaml находится в каталоге /milvus/configs/ внутри контейнера Milvus.

Чтобы настроить пул памяти, измените параметры initMemSize и maxMemSize в файле milvus.yaml следующим образом.

  1. Используйте следующую команду, чтобы скопировать файл ` milvus.yaml ` из контейнера Milvus на свой локальный компьютер. Замените ` <milvus_container_id> ` на фактический идентификатор вашего контейнера Milvus.

    docker cp <milvus_container_id>:/milvus/configs/milvus.yaml milvus.yaml
    
  2. Откройте скопированный файл milvus.yaml в удобном для вас текстовом редакторе. Например, с помощью vim:

    vim milvus.yaml
    
  3. Измените настройки initMemSize и maxMemSize по необходимости и сохраните изменения:

    ...
    gpu:
      initMemSize: 0
      maxMemSize: 0
    ...
    
    • initMemSize: Начальный размер пула памяти. По умолчанию — 1024.
    • maxMemSize: Максимальный размер пула памяти. По умолчанию — 2048.
  4. Используйте следующую команду, чтобы скопировать отредактированный файл ` milvus.yaml ` обратно в контейнер Milvus. Замените ` <milvus_container_id> ` на фактический идентификатор вашего контейнера Milvus.

    docker cp milvus.yaml <milvus_container_id>:/milvus/configs/milvus.yaml
    
  5. Перезапустите контейнер Milvus, чтобы применить изменения:

    docker stop <milvus_container_id>
    docker start <milvus_container_id>
    

Storage V3 по умолчанию отключен. Включите его перед использованием функций, которые от него зависят. Требования и соображения по совместимости см. в разделе «Storage V3».

Что дальше

Установив Milvus в Docker, вы можете:

ПереведеноDeepL

Office Hours

Часы работы офиса Милвус

Получите помощь в развертывании производства от Zilliz, экспертов по Milvus.

Забронируйте бесплатную сессию 1:1

Попробуйте Managed Milvus бесплатно

Zilliz Cloud работает без проблем, поддерживается Milvus и в 10 раз быстрее.

Начать
Обратная связь

Была ли эта страница полезной?