تشغيل 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.0/milvus-standalone-docker-compose-gpu.yml -O docker-compose.yml

تحتاج إلى إجراء بعض التغييرات على متغيرات البيئة للخدمة المستقلة في ملف YAML على النحو التالي:

  • لتخصيص جهاز GPU معين لـ Milvus، حدد موقع الحقل « deploy.resources.reservations.devices[0].devices_ids » في تعريف الخدمة « standalone » واستبدل قيمته بمعرف جهاز GPU المطلوب. يمكنك استخدام أداة « nvidia-smi »، المضمنة في برامج تشغيل شاشات NVIDIA GPU، لتحديد معرف جهاز GPU. يدعم Milvus أجهزة GPU متعددة.

تعيين جهاز GPU واحد لـ Milvus:

...
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 عن أي منافذ للمضيف وتقوم بتعيين بياناتها إلى 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.

إذا كنت قد قمت بتعيين أجهزة GPU متعددة لـ Milvus في ملف docker-compose.yml، فيمكنك تحديد جهاز 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، الخبراء في ميلفوس.

احجز جلسة مجانية 1:1

جرب Managed Milvus مجاناً

Zilliz Cloud خالي من المتاعب، ويعمل بواسطة Milvus ويعمل بسرعة 10 أضعاف.

ابدأ
التعليقات

هل كانت هذه الصفحة مفيدة؟