ملحوظة
تم أرشفة هذا المستودع ولم يتم الاحتفاظ به بعد الآن منذ أن تم إصدار أطر عمل أكثر كفاءة في الآونة الأخيرة مثل VLLM و TGI.
يوفر هذا الريبو العروض التجريبية والحزم لأداء حلول الاستدلال السريع للزهر. تحتوي بعض الحلول على إعادة تدوينها الخاصة في هذه الحالة يتم توفير رابط للإعادة المقابلة بدلاً من ذلك.
نحن ندعم تسريع المعانقة والاستدلال العميق للجيل.
تثبيت الحزم المطلوبة:
pip install flask flask_api gunicorn pydantic accelerate huggingface_hub > =0.9.0 deepspeed > =0.7.3 deepspeed-mii==0.0.2بدلاً من ذلك ، يمكنك أيضًا تثبيت السرعة العميقة من المصدر:
git clone https://github.com/microsoft/DeepSpeed
cd DeepSpeed
CFLAGS= " -I $CONDA_PREFIX /include/ " LDFLAGS= " -L $CONDA_PREFIX /lib/ " TORCH_CUDA_ARCH_LIST= " 7.0 " DS_BUILD_CPU_ADAM=1 DS_BUILD_AIO=1 DS_BUILD_UTILS=1 pip install -e . --global-option= " build_ext " --global-option= " -j8 " --no-cache -v --disable-pip-version-checkيتم اختبار جميع البرامج النصية المقدمة على وحدات معالجة الرسومات 8 A100 80GB لـ Bloom 176B (FP16/BF16) و 4 A100 80GB GPU لـ Bloom 176B (INT8). قد لا تعمل هذه البرامج النصية مع نماذج أخرى أو عدد مختلف من وحدات معالجة الرسومات.
يتم نشر الاستدلال DS باستخدام المنطق المستعارة من مكتبة Deepspeed MII.
ملاحظة: في بعض الأحيان لا يتم تحرير ذاكرة وحدة معالجة الرسومات عند تعطل نشر الاستدلال DS. يمكنك تحرير هذه الذاكرة عن طريق تشغيل killall python في Terminal.
لاستخدام بلوم كمية ، استخدم dtype = int8. أيضًا ، قم بتغيير Model_Name إلى Microsoft/Bloom-Deepeed-Inference-INT8 لمؤتمر العميق. لتسريع HF ، لا يلزم تغيير لـ Model_Name.
يستخدم HF Accelerate LLM.Int8 () ويستخدم DS-INFERIPE Zeroquant لتكميات ما بعد التدريب.
هذا يسأل عن cenderate_kwargs في كل مرة. مثال: cenderate_kwargs =
{ "min_length" : 100 , "max_new_tokens" : 100 , "do_sample" : false }python -m inference_server.cli --model_name bigscience/bloom --model_class AutoModelForCausalLM --dtype bf16 --deployment_framework hf_accelerate --generate_kwargs ' {"min_length": 100, "max_new_tokens": 100, "do_sample": false} 'python -m inference_server.cli --model_name microsoft/bloom-deepspeed-inference-fp16 --model_class AutoModelForCausalLM --dtype fp16 --deployment_framework ds_inference --generate_kwargs ' {"min_length": 100, "max_new_tokens": 100, "do_sample": false} ' يمكن استخدام <model_name> لبدء تشغيل خادم توليد. يرجى ملاحظة أن طريقة التقديم متزامنة ويجب على المستخدمين الانتظار في قائمة الانتظار حتى تتم معالجة الطلبات السابقة. يتم تقديم مثال لإطلاق طلبات الخادم هنا. Alternativey ، يتم أيضًا توفير Dockerfile يقوم بتشغيل خادم توليد على المنفذ 5000.
يمكن تشغيل واجهة مستخدم تفاعلية عبر الأمر التالي للاتصال بخادم التوليد. عنوان URL الافتراضي لجهاز واجهة المستخدم هو http://127.0.0.1:5001/ . يتم استخدام model_name فقط من قبل واجهة المستخدم للتحقق مما إذا كان النموذج هو وحدة فك التشفير أو تشفير DecoDer.
python -m ui --model_name bigscience/bloom يطلق هذا الأمر واجهة المستخدم التالية للعب مع جيل. آسف للتصميم السيئ. بشكل غير متكافئ ، فإن مهارات واجهة المستخدم الخاصة بي لا تذهب إلا حتى الآن. ؟؟؟ 
python -m inference_server.benchmark --model_name bigscience/bloom --model_class AutoModelForCausalLM --dtype bf16 --deployment_framework hf_accelerate --benchmark_cycles 5deepspeed --num_gpus 8 --module inference_server.benchmark --model_name bigscience/bloom --model_class AutoModelForCausalLM --dtype fp16 --deployment_framework ds_inference --benchmark_cycles 5بدلاً من ذلك ، لتحميل النموذج بشكل أسرع:
deepspeed --num_gpus 8 --module inference_server.benchmark --model_name microsoft/bloom-deepspeed-inference-fp16 --model_class AutoModelForCausalLM --dtype fp16 --deployment_framework ds_inference --benchmark_cycles 5deepspeed --num_gpus 8 --module inference_server.benchmark --model_name bigscience/bloom --model_class AutoModelForCausalLM --dtype bf16 --deployment_framework ds_zero --benchmark_cycles 5إذا واجهت أشياء لا تعمل أو لديك أسئلة أخرى ، فيرجى فتح مشكلة في الواجهة الخلفية المقابلة:
إذا كانت هناك مشكلة محددة مع أحد البرامج النصية وليس الواجهة الخلفية فقط ، فيرجى فتح مشكلة هنا وعلامة @Mayank31398.
تم تطوير الحلول لأداء استنتاج دفعة كبيرة محليًا:
جاكس:
يمكن العثور هنا على حل تم تطويره في وضع الخادم (أي حجم الدُفعة المتنوعة ، معدل الطلب المتنوع). يتم تنفيذ هذا في الصدأ.