🚀 Попробуйте Zilliz Cloud, полностью управляемый Milvus, бесплатно — ощутите 10-кратное увеличение производительности! Попробовать сейчас>

milvus-logo
LFAI
Главная
  • Начать
  • Home
  • Docs
  • Начать

  • Установить Милвус

  • Запустите Milvus с графическим процессором

  • Docker Compose

Запуск 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/v2.5.4/milvus-standalone-docker-compose-gpu.yml -O docker-compose.yml

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

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

Назначьте Milvus одно устройство GPU:

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

Назначить несколько устройств GPU для 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 V1. Если это так, рекомендуем перейти на Docker Compose V2 в соответствии с примечаниями на этой странице.

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

  • Появились контейнеры с именами milvus-standalone, milvus-minio и milvus-etcd.
    • Контейнер milvus-etcd не открывает никаких портов для хоста и сопоставляет свои данные с томами/etcd в текущей папке.
    • Контейнер milvus-minio обслуживает порты 9090 и 9091 локально, используя стандартные учетные данные аутентификации, и сопоставляет свои данные с томами/minio в текущей папке.
    • Контейнер milvus-standalone обслуживает порты 19530 локально с настройками по умолчанию и сопоставляет свои данные с томами/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 WebUI по адресу http://127.0.0.1:9091/webui/, чтобы узнать больше о вашем экземпляре Milvus. Для получения подробной информации см. раздел Milvus WebUI.

Если в файле docker-compose.yml вы назначили несколько GPU-устройств для 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>
    

Что дальше

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

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

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

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

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