TensorRT-LLM وتحسين GPU

معمارية TensorRT-LLM والإعداد

4 دقيقة للقراءة

TensorRT-LLM هي مكتبة الاستدلال عالية الأداء من NVIDIA المبنية على TensorRT، مصممة خصيصاً لخدمة نماذج اللغة الكبيرة على وحدات GPU من NVIDIA.

معمارية TensorRT-LLM 1.0

قدم إصدار 1.0 (2025) معمارية قائمة على PyTorch غيرت بشكل جذري كيفية تعريف النماذج وتحسينها:

┌─────────────────────────────────────────────────────────────┐
│                    TensorRT-LLM 1.0                         │
├─────────────────────────────────────────────────────────────┤
│  تعريف نموذج PyTorch                                        │
│  ┌─────────────────────────────────────────────────────┐   │
│  │  طبقات PyTorch الأصلية مع امتدادات TRT              │   │
│  │  - طبقات الانتباه، MLP، التضمين                     │   │
│  │  - التقاط الرسم البياني التلقائي والتحسين           │   │
│  └─────────────────────────────────────────────────────┘   │
├─────────────────────────────────────────────────────────────┤
│  مترجم TensorRT                                             │
│  ┌─────────────────────────────────────────────────────┐   │
│  │  - دمج الطبقات وتحسين النواة                        │   │
│  │  - معايرة الدقة (FP16، FP8، INT8، FP4)              │   │
│  │  - تخطيط الذاكرة والتخصيص                           │   │
│  └─────────────────────────────────────────────────────┘   │
├─────────────────────────────────────────────────────────────┤
│  محرك وقت التشغيل                                          │
│  ┌─────────────────────────────────────────────────────┐   │
│  │  - ذاكرة KV الصفحية (مثل vLLM)                      │   │
│  │  - التجميع المستمر (التجميع أثناء الطيران)          │   │
│  │  - توازي الموتر متعدد GPU                           │   │
│  └─────────────────────────────────────────────────────┘   │
└─────────────────────────────────────────────────────────────┘

مصفوفة دعم العتاد

يدعم TensorRT-LLM 1.0 النطاق الكامل لوحدات GPU لمراكز البيانات من NVIDIA:

جيل GPU النماذج دعم FP8 دعم FP4 الأفضل لـ
Hopper H100، H200 نعم لا الإنتاج الحالي
Ada Lovelace L40S، L4 نعم لا الاستدلال فعال التكلفة
Blackwell B200، GB200، B300 نعم نعم أقصى أداء الجيل القادم
Ampere A100، A10G لا لا النشر القديم/الميزانية

التثبيت والإعداد

التثبيت المعتمد على Docker (موصى به)

# سحب حاوية TensorRT-LLM الرسمية
docker pull nvcr.io/nvidia/tritonserver:25.01-trtllm-python-py3

# أو صورة TensorRT-LLM المستقلة
docker pull nvcr.io/nvidia/tensorrt-llm:25.01-py3

# التشغيل مع الوصول لـ GPU
docker run --gpus all -it --rm \
  -v /path/to/models:/models \
  nvcr.io/nvidia/tensorrt-llm:25.01-py3

بناء المحرك

يتطلب TensorRT-LLM تحويل النماذج إلى محركات TensorRT محسنة:

from tensorrt_llm import LLM, SamplingParams
from tensorrt_llm.builder import BuildConfig

# تحديد تكوين البناء
build_config = BuildConfig(
    max_input_len=4096,
    max_seq_len=8192,
    max_batch_size=64,
    max_num_tokens=8192,  # للانتباه الصفحي

    # إعدادات التكميم
    strongly_typed=True,
    precision="float16",  # أو "fp8"، "int8"

    # إعدادات التحسين
    use_paged_context_fmha=True,
    use_fused_mlp=True,
)

# بناء المحرك
llm = LLM(
    model="/models/llama-3.1-8b",
    build_config=build_config,
)

# الحفظ للإنتاج
llm.save("/engines/llama-3.1-8b-trt")

تشغيل الاستدلال

from tensorrt_llm import LLM, SamplingParams

# تحميل المحرك المبني مسبقاً
llm = LLM(model="/engines/llama-3.1-8b-trt")

# تكوين أخذ العينات
sampling_params = SamplingParams(
    temperature=0.7,
    top_p=0.9,
    max_tokens=512,
)

# التوليد
prompts = ["اشرح الحوسبة الكمومية:", "اكتب هايكو عن الذكاء الاصطناعي:"]
outputs = llm.generate(prompts, sampling_params)

for output in outputs:
    print(f"المطالبة: {output.prompt}")
    print(f"المولد: {output.outputs[0].text}")

TensorRT-LLM مقابل vLLM: متى تختار

الجانب TensorRT-LLM vLLM
العتاد NVIDIA فقط متعدد البائعين
تعقيد الإعداد أعلى (بناء المحرك) أقل (HuggingFace مباشر)
الأداء أسرع 10-30% على NVIDIA ممتاز، أبطأ قليلاً
التكميم FP4، FP8، INT8، INT4 FP8، AWQ، GPTQ
المجتمع تقوده NVIDIA مفتوح المصدر كبير
حالة الاستخدام أقصى أداء NVIDIA المرونة، تعدد العتاد

اختر TensorRT-LLM عندما:

  • أنت ملتزم بعتاد NVIDIA
  • تحتاج أقصى أداء GPU واحد
  • تستخدم وحدات Blackwell GPU مع FP4
  • زمن الاستجابة حرج (مقايضة التعقيد بالسرعة)

اختر vLLM عندما:

  • تحتاج مرونة العتاد
  • التكرار الأسرع والنشر الأبسط يهم
  • دعم المجتمع وتكامل النظام البيئي أولويات :::

اختبار

الوحدة 3: TensorRT-LLM وتحسين GPU

خذ الاختبار