الإنجليزية 中文
أخبار
- [2024 / 06] نحن نصدر إصدارًا جديدًا تمامًا من rtp-llm، والذي يتميز بإطار عمل الجدولة والتجميع المعاد تصميمه في c++، وإدارة ذاكرة GPU الكاملة ومسار التخصيص والواجهة الخلفية الجديدة للجهاز. تحقق من معلومات الإصدار لمزيد من التفاصيل!
- [2024 / 06] نحن نعمل حاليًا على دعم الواجهات الخلفية للأجهزة المتعددة من خلال تعاون مكثف مع الشركات المصنعة للأجهزة. دعم AMD ROCm وIntel CPU وARM CPU في طريقهم إلينا، ترقبوا الإصدارات القادمة!
عن
- rtp-llm هو محرك تسريع استدلال لنموذج اللغة الكبير (LLM) تم تطويره بواسطة فريق الاستدلال النموذجي التابع لشركة Alibaba. يتم استخدامه على نطاق واسع داخل مجموعة علي بابا، ويدعم خدمة LLM عبر وحدات أعمال متعددة بما في ذلك Taobao وTmall وIdlefish وCainiao وAmap وEle.me وAE وLazada.
- مشروع rtp-llm هو مشروع فرعي لـ Havenask
سمات
ثبت الإنتاج
يتم تطبيقه في العديد من سيناريوهات LLM، مثل:
- تاوباو وينوين
- منصة علي بابا الدولية للذكاء الاصطناعي، Aidge
- إصدار OpenSearch LLM Smart Q&A
- إعادة كتابة الاستعلام طويل الذيل القائم على نموذج اللغة الكبيرة في بحث تاوباو
أداء عالي
- يستخدم نواة CUDA عالية الأداء، بما في ذلك PagedAttention وFlashAttention وFlashDecoding وما إلى ذلك.
- ينفذ عملية تكميم الوزن فقط INT8 مع التكميم التلقائي في وقت التحميل؛ دعم تكميم الوزن فقط INT4 مع GPTQ وAWQ
- التكيف KVCache الكمي
- التحسين التفصيلي لحمل الدفعات الديناميكية على مستوى الإطار
- تم تحسينه خصيصًا لوحدة معالجة الرسومات V100
المرونة وسهولة الاستخدام
- التكامل السلس مع نماذج HuggingFace، ودعم تنسيقات الوزن المتعددة مثل SafeTensors وPytorch وMegatron
- ينشر خدمات LoRA المتعددة بمثيل نموذجي واحد
- يتعامل مع المدخلات متعددة الوسائط (الجمع بين الصور والنص)
- تمكين توازي الموتر متعدد الأجهزة/متعدد وحدات معالجة الرسومات
- يدعم نماذج P-tuning
تقنيات التسريع المتقدمة
- الأحمال تقليم النماذج غير النظامية
- ذاكرة التخزين المؤقت للبادئة السياقية للحوارات متعددة المنعطفات
- ذاكرة التخزين المؤقت للنظام
- فك التشفير التخميني
- ميدوسا لاستراتيجيات الموازاة المتقدمة
كيفية الاستخدام
متطلبات
- نظام التشغيل: لينكس
- بايثون: 3.10
- NVIDIA GPU: قدرة الحوسبة 7.0 أو أعلى (على سبيل المثال، RTX20xx، RTX30xx، RTX40xx، V100، T4، A10/A30/A100، L4، H100، إلخ.)
مثال بدء التشغيل
- عامل ميناء
cd rtp-llm/docker
# IMAGE_NAME =
# if cuda11: registry.cn-hangzhou.aliyuncs.com/havenask/rtp_llm:deploy_image_cuda11
# if cuda12: registry.cn-hangzhou.aliyuncs.com/havenask/rtp_llm:deploy_image_cuda12
sh ./create_container.sh < CONTAINER_NAME > < IMAGE_NAME >
sh CONTAINER_NAME/sshme.sh
cd ../
# start http service
TOKENIZER_PATH=/path/to/tokenizer CHECKPOINT_PATH=/path/to/model MODEL_TYPE=your_model_type FT_SERVER_TEST=1 python3 -m maga_transformer.start_server
# request to server
curl -XPOST http://localhost:8088 -d ' {"prompt": "hello, what is your name", "generate_config": {"max_new_tokens": 1000}} '
- whl
# Install rtp-llm
cd rtp-llm
# For cuda12 environment, please use requirements_torch_gpu_cuda12.txt
pip3 install -r ./open_source/deps/requirements_torch_gpu.txt
# Use the corresponding whl from the release version, here's an example for the cuda11 version 0.1.0, for the cuda12 whl package please check the release page.
pip3 install maga_transformer-0.1.9+cuda118-cp310-cp310-manylinux1_x86_64.whl
# start http service
cd ../
TOKENIZER_PATH=/path/to/tokenizer CHECKPOINT_PATH=/path/to/model MODEL_TYPE=your_model_type FT_SERVER_TEST=1 python3 -m maga_transformer.start_server
# request to server
curl -XPOST http://localhost:8088 -d ' {"prompt": "hello, what is your name", "generate_config": {"max_new_tokens": 1000}} '
ملاحظة إصدار عامل الميناء
- ملاحظة إصدار عامل الميناء
التعليمات
libcufft.so
سجل الأخطاء : OSError: libcufft.so.11: cannot open shared object file: No such file or directory
الحل : يرجى التحقق مما إذا كانت إصدارات cuda وrtp-llm متطابقة
libth_transformer.so
سجل الأخطاء : OSError: /rtp-llm/maga_transformer/libs/libth_transformer.so: cannot open shared object file: No such file or directory
الحل : إذا تم التثبيت عبر whl أو docker (مما يعني أنه ليس بناء bazel)، فيرجى التحقق من أن الدليل الحالي ليس rtp-llm، وإلا ستستخدم python حزمة المسار النسبي بدلاً من whl المثبتة
انتهى وقت بناء بازل
سجل الأخطاء : ERROR: no such package '@pip_gpu_cuda12_torch//': rules_python_external failed: (Timed out)
دقة :
- قم بتغيير مستودع مرآة النقطة في open_source/deps/pip.bzl، وأضف extra_pip_args=["--index_url=xxx"]
- متطلبات تثبيت النقطة يدويًا، خاصة بالنسبة لـ pytorch، لأن إصدار bazel هذا له مهلة 600 ثانية افتراضيًا، والتي قد لا تكون كافية لتنزيل pytorch
خطأ الضفيرة سجل الأخطاء: thread '<unnamed>' panicked at 'index out of bounds: the len is 1 but the index is 1', /root/.cargo/registry/src/github.com-1ecc6299db9ec823/regex-1.8.1/src/dfa.rs:1415:45
الحل : ترقية tiktoken إلى 0.7.0
التوثيق
- اختبار في نشر عامل ميناء
- مثال للخدمة
- مثال RWKV-عداء
- مثال مكتبة بايثون
- استخدام RTP-LLm في Aliyun Ecs
- معلمات التكوين
- بناء كود المصدر
- تنسيق الطلب
- استنتاج GPU المتعدد
- لورا
- ضبط
- موجه النظام
- إعادة استخدامKVCache
- متعدد الوسائط
- تضمين/إعادة ترتيب نشر النموذج
- التقليم المنظم
- التكميم
- أخذ العينات المضاربة
- خريطة الطريق
- المساهمة
- المعيار والأداء
شكر وتقدير
يعتمد مشروعنا بشكل أساسي على FasterTransformer، وعلى هذا الأساس قمنا بدمج بعض تطبيقات kernel من TensorRT-LLM. لقد زودتنا FasterTransformer وTensorRT-LLM بضمانات أداء موثوقة. كما قدم Flash-Attention2 وcutlass الكثير من المساعدة في عملية تحسين الأداء المستمر لدينا. يعتمد فك التشفير المستمر والزيادة لدينا على تنفيذ vllm؛ يعتمد أخذ العينات على المحولات، مع أخذ العينات التأملية التي تدمج تنفيذ Medusa، والجزء المتعدد الوسائط الذي يدمج التطبيقات من llava وqwen-vl. ونحن نشكر هذه المشاريع لإلهامهم ومساعدتهم.
سيناريوهات التطبيقات الخارجية (يتم تحديثها باستمرار)
- تاوباو ويندا
- منصة علي بابا الدولية للذكاء الاصطناعي
- إصدار OpenSearch LLM Smart Q&A
- إعادة كتابة الاستعلام طويل الذيل القائم على نموذج اللغة الكبيرة في بحث تاوباو
قائمة النماذج المدعومة
ماجستير
- أكويلا وأكويلا 2 (BAAI/AquilaChat2-7B، BAAI/AquilaChat2-34B، BAAI/Aquila-7B، BAAI/AquilaChat-7B، إلخ.)
- بايتشوان وبايتشوان2 (baichuan-inc/Baichuan2-13B-Chat، baichuan-inc/Baichuan-7B)
- بلوم (bigscience/بلوم، bigscience/bloomz)
- ChatGlm (THUDM/chatglm2-6b، THUDM/chatglm3-6b، GLM4، إلخ)
- فالكون (tiiuae/falcon-7b، tiiuae/falcon-40b، tiiuae/falcon-rw-7b، إلخ.)
- جبت نيوكس (إليوثر آي / gpt-neox-20b)
- GPT BigCode (الرمز الكبير/الرمز النجمي، الرمز الكبير/الرمز النجمي2)
- LLaMA وLLaMA-2 (meta-llama/Llama-2-7b، meta-llama/Llama-2-13b-hf، meta-llama/Llama-2-70b-hf، lmsys/vicuna-33b-v1.3، 01-ai/Yi-34B، xverse/XVERSE-13B، إلخ.)
- MPT (mosaicml/mpt-30b-chat، وما إلى ذلك)
- فاي (مايكروسوفت / فاي-1_5، الخ.)
- كوين (كوين، Qwen1.5، Qwen2، الخ.)
- InternLM (internlm/internlm-7b، internlm/internlm-chat-7b، إلخ.)
- جيما (google/gemma-it، إلخ)
- ميكسترال (ميسترالاي/ميكسترال-8x7B-v0.1، إلخ)
ماجستير في القانون + الوسائط المتعددة
- لافا (ليوهاوتيان/llava-v1.5-13b، ليوهاوتيان/llava-v1.5-7b)
- كوين-VL (كوين/كوين-VL)
اتصل بنا
مجموعة دينغ توك
مجموعة وي شات