كمية ذاكرة الوصول العشوائي التي يحتاجها نموذج Llama 3.1 70B

كمية ذاكرة الوصول العشوائي التي يحتاجها نموذج Llama 3.1 70B

نموذج Llama 3.1 70B، وهو نموذج لغوي متطور في مشهد الذكاء الاصطناعي، حظي باهتمام كبير لقدراته الرائعة. ومع ذلك، تأتي القوة الكبيرة بمتطلبات أجهزة ضخمة، خاصة من حيث استخدام ذاكرة الوصول العشوائي.

تتعمق هذه المقالة في تفاصيل استهلاك الذاكرة لنموذج Llama 3.1 70B، واحتياجات الأجهزة، واستراتيجيات التحسين. سواء كنت مطورًا يتطلع إلى تنفيذ هذا النموذج أو متحمسًا للذكاء الاصطناعي فضوليًا حول جوانبه التقنية، سيوفر هذا الدليل الشامل رؤى قيمة حول الاستخدام الفعال لـ Llama 3.1 70B.

ما مقدار الذاكرة التي يحتاجها نموذج Llama 3.1؟

يقدم Llama 3.1 تطورات مثيرة، لكن تشغيله يتطلب دراسة متأنية لموارد أجهزتك. قمنا بتفصيل متطلبات الذاكرة لكل من التدريب والاستدلال عبر أحجام النماذج الثلاثة.

متطلبات ذاكرة الاستدلال

بالنسبة للاستدلال، تختلف متطلبات الذاكرة بناءً على حجم النموذج ودقة الأوزان. يوضح الجدول أدناه الذاكرة التقريبية اللازمة للتكوينات المختلفة:

حجم النموذج FP16 FP8 INT4
8B 16 GB 8 GB 4 GB
70B 140 GB 70 GB 35 GB
405B 810 GB 405 GB 203 GB

ملاحظة: تشير الأرقام أعلاه إلى ذاكرة VRAM للبطاقة الرسومية اللازمة فقط لتحميل نقطة تفتيش النموذج. وهي لا تشمل المساحة المحجوزة من قبل torch للنوى أو رسوم CUDA.

على سبيل المثال، عقدة H100 (بها 8x H100) لديها حوالي 640 جيجابايت من VRAM، لذا فإن نموذج 405B يحتاج إلى التشغيل في إعداد متعدد العقد أو بدقة أقل (مثل FP8)، وهو النهج الموصى به.

ضع في اعتبارك أن الدقة المنخفضة (مثل INT4) قد تؤدي إلى فقدان بعض الدقة ولكنها يمكن أن تقلل بشكل كبير من متطلبات الذاكرة وتزيد من سرعة الاستدلال. بالإضافة إلى أوزان النموذج، ستحتاج أيضًا إلى الاحتفاظ بـ KV Cache في الذاكرة. يحتوي على مفاتيح وقيم جميع الرموز المميزة في سياق النموذج بحيث لا تحتاج إلى إعادة حسابها عند إنشاء رمز جديد. خاصة عند الاستفادة من طول السياق الطويل المتاح، يصبح عاملاً مهمًا. في FP16، تكون متطلبات ذاكرة KV Cache كما يلي:

حجم النموذج 1k رمز مميز 16k رمز مميز 128k رمز مميز
8B 0.125 GB 1.95 GB 15.62 GB
70B 0.313 GB 4.88 GB 39.06 GB
405B 0.984 GB 15.38 GB 123.05 GB

خاصة بالنسبة للنموذج الصغير، تستخدم ذاكرة التخزين المؤقت نفس مقدار الذاكرة الذي تستخدمه الأوزان عند الاقتراب من الحد الأقصى لطول السياق.

متطلبات ذاكرة التدريب

يوضح الجدول التالي متطلبات الذاكرة التقريبية لتدريب نماذج Llama 3.1 باستخدام تقنيات مختلفة:

حجم النموذج الضبط الدقيق الكامل LoRA Q-LoRA
8B 60 GB 16 GB 6 GB
70B 500 GB 160 GB 48 GB
405B 3.25 TB 950 GB 250 GB

ملاحظة: هذه قيم تقديرية وقد تختلف بناءً على تفاصيل التنفيذ المحددة والتحسينات.

العوامل المؤثرة في استخدام ذاكرة الوصول العشوائي

يمكن لعدة عوامل أن تؤثر بشكل كبير على استخدام الذاكرة لنموذج Llama 3.1 70B:

حجم الدفعة: تتطلب أحجام الدفعات الأكبر ذاكرة أكبر لأنه يجب معالجة المزيد من البيانات في وقت واحد. يمكن أن يساعد تقليل حجم الدفعة في تقليل استخدام الذاكرة.
دقة النموذج: يمكن أن تؤثر دقة أوزان النموذج (مثل استخدام النقطة العائمة 32 بت مقابل النقطة العائمة 16 بت أو دقة 8 بت) أيضًا على استخدام الذاكرة.
تكوين الأجهزة: يلعب نوع الأجهزة المستخدمة في الاستدلال (مثل GPU مقابل CPU) دورًا مهمًا في مقدار الذاكرة المطلوبة. بالنسبة للنماذج الكبيرة، تُستخدم وحدات معالجة الرسوميات ذات النطاق الترددي العالي للذاكرة بشكل شائع نظرًا لقدرتها على التعامل مع المعالجة المتوازية بكفاءة.
الإعداد الموزع: مع الحوسبة الموزعة، يتم تقسيم النموذج عبر أجهزة متعددة، مما يقلل من عبء الذاكرة على أي جهاز واحد.

مواصفات الأجهزة للأداء الأمثل

للاستفادة من الإمكانات الكاملة لـ Llama 3.1 70B، يوصى بتكوينات أجهزة محددة. دعنا نقسم المكونات الرئيسية ومتطلباتها.

مواصفات ذاكرة الوصول العشوائي

كما نوقش سابقًا، تتجاوز متطلبات الذاكرة الأساسية لـ Llama 3.1 70B 140 جيجابايت. ومع ذلك، للتشغيل السلس ولمراعاة احتياجات الذاكرة الإضافية، يوصى بنظام يحتوي على 256 جيجابايت على الأقل من ذاكرة الوصول العشوائي. يوفر هذا مساحة كافية لـ:

  1. تحميل النموذج
  2. التعامل مع تسلسلات الإدخال الطويلة
  3. إجراء الحسابات الوسيطة
  4. إدارة توليد المخرجات

في بيئات الإنتاج أو إعدادات البحث حيث قد يتم تشغيل مثيلات متعددة من النموذج في وقت واحد، فإن الأنظمة التي تحتوي على 512 جيجابايت أو حتى 1 تيرابايت من ذاكرة الوصول العشوائي ليست غير شائعة.

متطلبات وحدة المعالجة المركزية

بينما تتعامل وحدات معالجة الرسوميات مع معظم المهام الثقيلة في حسابات الذكاء الاصطناعي، لا تزال وحدة المعالجة المركزية القوية ضرورية لـ:

  1. معالجة البيانات المسبقة
  2. إدارة تحميل النموذج وتفريغه
  3. التعامل مع عمليات الإدخال/الإخراج
  4. تنسيق إعدادات وحدات معالجة الرسوميات المتعددة

للأداء الأمثل، ضع في اعتبارك وحدات المعالجة المركزية عالية الجودة من فئة الخوادم مع:

  • نوى متعددة (32+ نواة)
  • سرعات ساعة عالية (3.0+ جيجاهرتز)
  • أحجام ذاكرة تخزين مؤقت كبيرة

معالجات Intel Xeon أو AMD EPYC هي خيارات شائعة للأنظمة التي تشغل نماذج لغوية كبيرة مثل Llama 3.1 70B.

اعتبارات التخزين

التخزين السريع ضروري لتحميل النموذج بسرعة والتعامل الفعال مع البيانات. تشمل التوصيات:

  1. أقراص NVMe SSD بسعات 1 تيرابايت أو أكثر
  2. تكوينات RAID لتحسين أداء الإدخال/الإخراج
  3. حلول تخزين شبكة عالية السرعة للإعدادات الموزعة

يمكن أن يشغل النموذج نفسه، بما في ذلك جميع الملفات الضرورية والإصدارات المضبوطة بدقة محتملة، عدة مئات من الجيجابايت من مساحة التخزين.

التبريد وإمدادات الطاقة

يولد تشغيل Llama 3.1 70B حرارة كبيرة ويتطلب طاقة كبيرة. تأكد من أن إعدادك يشمل:

  1. أنظمة تبريد فعالة (غالبًا ما يُفضل التبريد السائل لوحدات معالجة الرسوميات)
  2. إمدادات طاقة عالية القوة (1200 واط أو أعلى، اعتمادًا على تكوين النظام الكامل)
  3. تهوية مناسبة للنظام بأكمله

البنية التحتية للشبكة

لإعدادات الحوسبة الموزعة أو عند تقديم النموذج عبر واجهات برمجة التطبيقات، ضع في اعتبارك:

  1. واجهات شبكة عالية السرعة (إيثرنت 10 جيجابت في الثانية أو أعلى)
  2. محولات شبكة منخفضة زمن الوصول
  3. نطاق ترددي كافٍ لنقل البيانات وتقديم النموذج

من خلال تلبية مواصفات الأجهزة هذه، يمكنك ضمان أن Llama 3.1 70B يعمل بأقصى إمكاناته، مما يوفر أداءً مثاليًا لتطبيقات الذكاء الاصطناعي الخاصة بك.

اعتبارات وحدة معالجة الرسوميات لـ Llama 3.1 70B

GPU considerations for Llama 3.1 70B

تلعب وحدات معالجة الرسوميات (GPUs) دورًا حاسمًا في التشغيل الفعال للنماذج اللغوية الكبيرة مثل Llama 3.1 70B. تعمل قدرات المعالجة المتوازية على تسريع العمليات الحسابية بشكل كبير، مما يجعلها لا غنى عنها لكل من مهام التدريب والاستدلال.

متطلبات ذاكرة VRAM

ذاكرة VRAM (ذاكرة الفيديو) على وحدات معالجة الرسوميات هي عامل حاسم عند العمل مع Llama 3.1 70B. يعني الحجم الهائل للنموذج أن وحدات معالجة الرسوميات الاستهلاكية القياسية غير كافية لتشغيله بدقة كاملة. فيما يلي تفصيل لاعتبارات VRAM:

  1. الحد الأدنى من VRAM: لتحميل النموذج الكامل بدقة FP16 (مما يقلل متطلبات الذاكرة إلى النصف مقارنة بـ FP32)، ستحتاج إلى 140 جيجابايت على الأقل من VRAM. وهذا يتجاوز سعة حتى أقوى وحدات معالجة الرسوميات الاستهلاكية.

  2. VRAM الموصى به: للأداء الأمثل ولتلبية احتياجات الذاكرة الإضافية أثناء المعالجة، يعتبر إجمالي VRAM يبلغ 200 جيجابايت أو أكثر مثاليًا.

  3. إعدادات متعددة لوحدات معالجة الرسوميات: بسبب هذه المتطلبات العالية، فإن التكوينات متعددة وحدات معالجة الرسوميات شائعة. على سبيل المثال، يمكن لإعداد يحتوي على 4 وحدات GPU بسعة 48 جيجابايت لكل منها (بإجمالي 192 جيجابايت من VRAM) التعامل مع النموذج بكفاءة.

موديلات وحدات معالجة الرسوميات المناسبة

العديد من موديلات وحدات معالجة الرسوميات عالية الجودة قادرة على تشغيل Llama 3.1 70B، إما بشكل فردي أو في تكوينات متعددة وحدات معالجة الرسوميات:

  1. NVIDIA A100: مع 80 جيجابايت من ذاكرة HBM2e، هذه واحدة من عدد قليل من وحدات معالجة الرسوميات الفردية التي يمكنها التعامل مع النموذج، وإن كان مع بعض التحسينات.

  2. NVIDIA A40: توفر 48 جيجابايت من ذاكرة GDDR6، وغالبًا ما تستخدم في إعدادات متعددة وحدات معالجة الرسوميات.

  3. NVIDIA H100: الأحدث في مجموعة وحدات معالجة الرسوميات لمراكز البيانات من NVIDIA، يوفر 80 جيجابايت من ذاكرة HBM3 وأداء محسن للذكاء الاصطناعي.

  4. AMD Instinct MI250: مع 128 جيجابايت من ذاكرة HBM2e، يمكن لهذه البطاقة تشغيل النموذج على بطاقة واحدة، على الرغم من أنه يجب التحقق من توافق البرامج.

النطاق الترددي لذاكرة GPU

بجانب سعة VRAM الخام، فإن النطاق الترددي للذاكرة أمر بالغ الأهمية لتشغيل النموذج بكفاءة. توفر وحدات معالجة الرسوميات المذكورة نطاقات تردد عالية للذاكرة:

  • A100: حتى 2039 جيجابايت/ثانية
  • H100: حتى 3350 جيجابايت/ثانية
  • MI250: حتى 3276 جيجابايت/ثانية

يسمح النطاق الترددي الأعلى بنقل بيانات أسرع بين ذاكرة GPU ووحدات المعالجة، وهو أمر ضروري للعمليات المعقدة التي ينطوي عليها تشغيل Llama 3.1 70B.

تقنيات التحسين لوحدات معالجة الرسوميات

لتعظيم استخدام GPU وربما تشغيل النموذج على أنظمة ذات VRAM أقل، يمكن استخدام عدة تقنيات:

  1. التدريب بدقة مختلطة: يمكن أن يؤدي استخدام مزيج من حسابات FP16 و FP32 إلى تقليل استخدام الذاكرة مع الحفاظ على الدقة.

  2. التدقيق النقطي للتدرج: تقوم هذه التقنية بمقايضة الحساب مقابل الذاكرة عن طريق إعادة حساب قيم معينة أثناء المرور العكسي بدلاً من تخزينها.

  3. التوازي النموذجي: توزيع النموذج عبر وحدات معالجة رسوميات متعددة يسمح بتشغيل نماذج أكبر مما يمكن لذاكرة GPU واحدة استيعابه.

  4. تحسينات الانتباه: يمكن أن يؤدي تنفيذ آليات انتباه فعالة إلى تقليل استخدام الذاكرة ووقت الحساب بشكل كبير.

  5. التكميم: تحويل النموذج إلى تنسيقات دقة أقل (مثل INT8) يمكن أن يقلل بشكل كبير من متطلبات الذاكرة، وإن كان ذلك قد يكون على حساب بعض الدقة.

من خلال الاستفادة من اعتبارات GPU وتقنيات التحسين هذه، من الممكن تشغيل Llama 3.1 70B بكفاءة، حتى على إعدادات الأجهزة التي قد تبدو غير كافية في البداية. يكمن المفتاح في موازنة المفاضلات بين الأداء والدقة واستخدام الموارد.

للمطورين الذين يتطلعون إلى تنفيذ Llama 3.1 70B أو نماذج لغوية كبيرة أخرى في مشاريعهم، يقدم دليل البدء السريع من Novita AI تعليمات شاملة حول إعداد وتحسين واجهات برمجة تطبيقات LLM، مما يضمن الاستخدام الفعال لموارد الأجهزة المتاحة.

كيفية تشغيل نموذج Llama 3.1 باستخدام Novita AI

سواء كنت تبني روبوت دردشة لخدمة العملاء مدعومًا بالذكاء الاصطناعي، أو أداة ترجمة لغوية ذكية، أو أداة تحرير السيرة الذاتية، فإن واجهة برمجة تطبيقات Novita AI تجعل التكامل بسيطًا. يسمح هذا للمطورين بالتركيز على مهامهم الرئيسية مع الاستفادة من جميع ميزات Llama 3.1، دون القلق بشأن تعقيدات إدارة النظام.

قبل دمج واجهة برمجة تطبيقات Llama 3.1 رسميًا، يمكنك تجربتها عبر الإنترنت مع Novita AI. إليك كيفية البدء مع Llama عبر الإنترنت من Novita AI:

الخطوة 1: حدد نموذج Llama المطلوب للاستخدام وقم بتقييم قدراته.

لقطة شاشة لقائمة نماذج Llama على Novita AI

الخطوة 2: أدخل الموجه المطلوب في الحقل المحدد. هذه المنطقة مخصصة للنص أو السؤال الذي سيعالجه النموذج.

منصة Llama 3.1 8b للتجربة

الخطوة 3: احصل على استجابة النموذج لمحادثة الدردشة المقدمة.

نموذج مرجعي لواجهة برمجة التطبيقات

from openai import OpenAI
  
client = OpenAI(
    base_url="https://api.novita.ai/v3/openai",
    # Get the Novita AI API Key by referring: /docs/get-started/quickstart.htmll#_3-create-an-api-key
    api_key="<YOUR Novita AI API Key>",
)

model = "meta-llama/llama-3.1-8b-instruct"
stream = True # or False
max_tokens = 8192

chat_completion_res = client.chat.completions.create(
    model=model,
    messages=[
        {
            "role": "system",
            "content": "Act like you are a helpful assistant.",
        },
        {
            "role": "user",
            "content": "Hi there!",
        }
    ],
    stream=stream,
    max_tokens=max_tokens,
  )

if stream:
    for chunk in chat_completion_res:
        print(chunk.choices[0].delta.content or "", end="")
else:
    print(chat_completion_res.choices[0].message.content)
 

الأسئلة الشائعة

ما مقدار ذاكرة الوصول العشوائي اللازمة لتشغيل Llama 3.1 70B؟

يتطلب تشغيل Llama 3.1 70B عادةً من 64 جيجابايت إلى 128 جيجابايت من ذاكرة الوصول العشوائي للنظام للاستدلال، اعتمادًا على عوامل مثل حجم الدفعة وتفاصيل تنفيذ النموذج.

ما مقدار الذاكرة التي يحتاجها Llama 2 70B؟

يتطلب Llama 2 70B عمومًا كمية مماثلة من ذاكرة الوصول العشوائي للنظام مثل Llama 3.1 70B، حيث تتراوح الاحتياجات النموذجية من 64 جيجابايت إلى 128 جيجابايت للاستدلال الفعال.

كم مساحة التخزين التي يشغلها Llama 3.1؟

يتطلب Llama 3.1 مساحة تخزين كبيرة، قد تصل إلى عدة مئات من الجيجابايت، لاستيعاب ملفات النموذج وأي موارد إضافية ضرورية للتشغيل.

ما مقدار VRAM اللازم لتشغيل Llama 3.1 8B؟

بالنسبة لـ Llama 3.1 8B، وهو متغير أصغر من النموذج، يمكنك عادةً توقع الحاجة إلى VRAM أقل بكثير مقارنة بإصدار 70B، لكنه لا يزال يعتمد على التنفيذ المحدد والدقة المستخدمة.

كيف ننظر إلى 32 جيجابايت من ذاكرة الوصول العشوائي لتشغيل نماذج Llama؟

32 جيجابايت من ذاكرة الوصول العشوائي غير كافية بشكل عام لتشغيل النماذج الكبيرة مثل Llama 3.1 70B. ومع ذلك، قد تكون مناسبة للإصدارات الأصغر أو الإعدادات المحسّنة للغاية.

نُشر في الأصل في Novita AI

Novita AI هي منصة سحابية شاملة تمكّن طموحاتك في الذكاء الاصطناعي. واجهات برمجة التطبيقات المتكاملة، الحوسبة بدون خادم، مثيلات GPU — الأدوات الفعالة من حيث التكلفة التي تحتاجها. تخلص من البنية التحتية، ابدأ مجانًا، واجعل رؤيتك للذكاء الاصطناعي حقيقة.

قراءات موصى بها

1.Llama 3.1 405B Inference Service Deployment: Beginner’s Guide

2.Decoding Llama 3 vs 3.1: Which One Is Right for You?

3.What Llama 3.1 Can Do: Mastering Its Features and Applications