نماذج ومنصات الذكاء الاصطناعي

أقوى نموذج لغة مفتوح المصدر حتى الآن: ميتا لاما 3.1-405B

mm
أضف Unite.AI إلى مصادرك المفضلة على Google
The Most Powerful Open Source LLM Yet: Meta LLAMA 405B
div]:bg-bg-300 [&_pre]:-mr-4 md:[&_pre]:-mr-9″>
_*]:min-w-0″>

لاما 3.1-405B، الذي تم تطويره بواسطة ميتا آي آي، يمثل قفزة كبيرة إلى الأمام في نماذج اللغة المفتوحة المصدر. مع 405 مليار معامل، يُعتبر أكبر نموذج لغة متاح بشكل عام حتى الآن، ويتجاوز بعض النماذج المملوكة الأكثر تقدمًا في بعض الاختبارات.

الميزات الرئيسية:

  • 405 مليار معامل
  • طول سياق 128 كيلو توكن
  • دعم متعدد اللغات (8 لغات)
  • إصدار محسّن للتعليمات
  • مفتوح المصدر برخصة مرنة

إطلاق نموذج قوي مثل هذا في المجال المفتوح المصدر هو مغير للعبة، ويمكّن الوصول إلى قدرات الذكاء الاصطناعي المتقدمة، ويعزز الابتكار في جميع أنحاء الصناعة.

هيكل النموذج و التدريب

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

 

_*]:min-w-0″>
div]:bg-bg-300 [&_pre]:-mr-4 md:[&_pre]:-mr-9″>
_*]:min-w-0″>
  1. انتباه الاستعلام المجمّع (GQA)

انتباه الاستعلام المجمّع

انتباه الاستعلام المجمّع

يستخدم لاما 3.1 انتباه الاستعلام المجمّع، وهو تقنية تحسين importante لا يتم تغطيتها بشكل كامل في الإجابة السابقة. دعونا نستكشف ذلك بالتفصيل:

انتباه الاستعلام المجمّع (GQA) هو متغير من انتباه متعدد الرؤوس يهدف إلى تقليل التكاليف الحسابية واستخدام الذاكرة أثناء الاستدلال، خاصة للتسلسلات الطويلة. في نموذج لاما 3.1 405B، يتم تنفيذ GQA مع 8 رؤوس قيمة-مفتاح.

هنا كيف يعمل GQA:

  1. بدلاً من وجود مشاريع مفتاح وقيمة منفصلة لكل رأس انتباه، يتم تجميع GQA لمجموعة من رؤوس الاستعلام لمشاركة نفس الرؤوس المفتاحية والقيمة.
  2. يقلّل هذا التجميع بشكل كبير من عدد المعاملات في مشاريع المفتاح والقيمة، مما يؤدي إلى حجم نموذج أصغر وسرعة استدلال أسرع.
  3. يمكن التعبير عن حساب الانتباه على النحو التالي:
انتباه(Q, K, V) = softmax(QK^T / sqrt(d_k))V

حيث Q يتم تجميعها في g مجموعات، وK وV لها رؤوس أقل من Q.

المنافع من GQA في لاما 3.1 405B تشمل:

  • تقليل بصمة الذاكرة: معاملات مفتاح وقيمة أقل تعني ذاكرة أقل مطلوبة لتخزين معاملات النموذج.
  • استدلال أسرع: مع حسابات أقل مطلوبة لمشاريع المفتاح والقيمة، يتم تحسين سرعة الاستدلال.
  • اداء محفوظ: على الرغم من تقليل المعاملات، تم إثبات أن GQA يحافظ على أداء مماثل لانتباه متعدد الرؤوس في العديد من المهام.
  1. التدريب المسبق بمرحلتين لسياق موسّع

يُذكر المقال عملية تدريب مسبق بمرحلتين لتحقيق نافذة سياق 128 كيلو توكن. هذا هو جانب حاسم من قدرات لاما 3.1 405B:

المرحلة 1: التدريب المسبق الأولي على 8 كيلو توكن

  • يتم تدريب النموذج أولاً على تسلسلات تصل إلى 8 كيلو توكن.
  • تسمح هذه المرحلة للنموذج بتعلم فهم اللغة العامة وخصائص التوليد.

المرحلة 2: استمرار التدريب المسبق لتوسيع السياق

  • بعد التدريب الأولي، يخضع النموذج لتدريب مسبق مستمر لزيادة طول السياق إلى 128 كيلو توكن.
  • تتضمن هذه المرحلة نظم تدريب محسّنة بعناية لمساعدة النموذج على تعميم التسلسلات الأطول دون فقدان القدرة على التعامل مع السياقات الأقصر.
  1. القدرات المتعددة الوسائط

في حين تطرق الإجابة السابقة إلى القدرات المتعددة الوسائط، يمكننا التوسع في كيفية تنفيذ لاما 3.1 405B لهذا:

نهج تركيبي:

  • يستخدم لاما 3.1 405B مشفرات منفصلة للوسائط المختلفة (مثل الصور، الكلام).
  • تتحول هذه المشفرات الإدخال من مختلف الوسائط إلى مساحة تعبير مشتركة يمكن للنموذج اللغوي فهمها.

التكامل مع النموذج اللغوي:

  • تُغذى مخرجات هذه المشفرات المتخصصة إلى النموذج اللغوي الرئيسي.
  • يسمح هذا لاما 3.1 405B بمعالجة وفهم أنواع مختلفة من البيانات في نفس الوقت، مما يُمكّنه من أداء مهام تتضمن عدة وسائط.

آليات الانتباه المتقاطع:

  • من المحتمل أن يستخدم لاما 3.1 405B آليات انتباه متقاطع للتعامل مع دمج الوسائط المختلفة.
  • تسمح هذه الآليات للنموذج بالانتباه إلى المعلومات ذات الصلة من الوسائط المختلفة عند توليد النص أو أداء مهام أخرى.

تفتح القدرات المتعددة الوسائط لاما 3.1 405B مجالات تطبيق واسعة، مثل:

  • تعريف الصور والاستفسار البصري
  • نص إلى كلام مع فهم سياقي
  • مهام المنطق المتعددة الوسائط التي تجمع بين النص والصور وربما أنواع بيانات أخرى

تفاصيل التدريب

  • تم تدريبه على أكثر من 15 تريليون توكن
  • مجموعة معالجات رسومات مخصصة مع 39.3 مليون ساعة معالج رسومات للنموذج 405B
  • تحضير بيانات متنوع لتحقيق القدرات متعددة اللغات

خضع الإصدار المحسّن للتعليمات لتدريب إضافي:

مقاييس الأداء

الجدول يقارن لاما 3.1 405B، Nemotron 4 340B Instruct، GPT-4 (0125)، GPT-4 Omni، وClaude 3.5 Sonnet. تشمل المقاييس الرئيسية مهام عامة مثل MMLU وIFEval، مهام برمجية مثل HumanEval وGSM8K، و مهام منطقية مثل ARC Challenge. يعكس كل نمط مقياس أداء النموذج في فهم وتوليد نص شبيه بالبشر، وحل المشكلات المعقدة، وتنفيذ البرمجيات. يُظهر لاما 3.1 405B وClaude 3.5 Sonnet أداء متقدم في العديد من المقاييس، مما يُظهر قدراتهم المتقدمة في المهام العامة والمحددة بالمنطقة.

متطلبات الذاكرة لاما 3.1-405B

تشغيل لاما 3.1-405B يتطلب ذاكرة وحوسبة كبيرة:

  • ذاكرة معالج الرسومات: يمكن للنموذج 405B استخدام ما يصل إلى 80 جيجابايت من ذاكرة معالج الرسومات لكل معالج A100 للاستدلال الفعال. يمكن توزيع الحمل عبر معالجات رسومات متعددة باستخدام موازاة التنسور.
  • ذاكرة النظام: يُوصى بحد أدنى 512 جيجابايت من ذاكرة النظام لتعامل بصمة النموذج وضمان معالجة البيانات السلسة.
  • تخزين: تأكد من أن لديك عدة تيرابايت من تخزين SSD لweights النموذج والبيانات المرتبطة. تعتبر الأقراص الصلبة السريعة حاسمة لخفض أوقات الوصول إلى البيانات أثناء التدريب والاستدلال.

تقنيات تحسين الاستدلال لاما 3.1-405B

تشغيل نموذج 405B معامل مثل لاما 3.1 يتطلب عدة تقنيات تحسين. هنا بعض الأساليب الرئيسية لضمان استدلال فعال:

أ) الكم: تتضمن الكم تخفيض دقة معاملات النموذج، مما يقلل من استخدام الذاكرة ويعزز سرعة الاستدلال دون التضحية الكبيرة بالدقة. يدعم لاما 3.1 الكم إلى FP8 أو دقائق أقل باستخدام تقنيات مثل QLoRA (Quantized Low-Rank Adaptation) لتحسين الأداء على معالجات الرسومات.

مثال الكود:


<p>from transformers import AutoModelForCausalLM, AutoTokenizer, BitsAndBytesConfig</p>

<p>model_name = "meta-llama/Meta-Llama-3.1-405B"
bnb_config = BitsAndBytesConfig(
load_in_8bit=True, # Change to load_in_4bit for 4-bit precision
bnb_8bit_quant_type="fp8",
bnb_8bit_compute_dtype=torch.float16,
)
model = AutoModelForCausalLM.from_pretrained(
model_name,
quantization_config=bnb_config,
device_map="auto"
)
tokenizer = AutoTokenizer.from_pretrained(model_name)</p>

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

مثال الكود:

from transformers import AutoModelForCausalLM, AutoTokenizer, pipeline

<p>model_name = "meta-llama/Meta-Llama-3.1-405B"
model = AutoModelForCausalLM.from_pretrained(
model_name,
device_map="auto",
torch_dtype=torch.float16
)
tokenizer = AutoTokenizer.from_pretrained(model_name)
nlp = pipeline("text-generation", model=model, tokenizer=tokenizer, device=0)</p>

ج) تحسين ذاكرة KV: إدارة ذاكرة المفتاح والقيمة (KV) بفعالية حاسمة لتعامل مع سياقات طويلة. يدعم لاما 3.1 أطوال سياق موسعة، يمكن إدارتها بفعالية باستخدام تقنيات ذاكرة KV المُحسّنة. مثال الكود:

# تأكد من أن لديك ذاكرة معالج رسومات كافية لمعالجة سياقات موسعة
output = model.generate(
input_ids,
max_length=4096, # زيادة الطول حسب احتياجات سياقك
use_cache=True
)</code>

استراتيجيات النشر

نشر لاما 3.1-405B يتطلب اعتبار دقيق للموارد الحاسوبية. هنا بعض الخيارات:

أ) النشر السحابي: استخدم مثيلات معالج رسومات عالية الذاكرة من مزودي السحابة مثل AWS (مثيلات P4d) أو Google Cloud (TPU v4).

مثال الكود:

# مثال إعداد لمثيل AWS
import boto3
ec2 = boto3.resource('ec2')
instance = ec2.create_instances(
ImageId='ami-0c55b159cbfafe1f0', # صورة نظام تشغيل تعلم الآلة
InstanceType='p4d.24xlarge',
MinCount=1,
MaxCount=1
)</code>

ب) النشر المحلي:对于 المنظمات التي لديها قدرات حوسبة عالية الأداء، يمكن نشر لاما 3.1 على الموقع لتحقيق مزيد من التحكم وربما تقليل التكاليف على المدى الطويل.

مثال الإعداد:

# مثال إعداد لنشر محلي
# تأكد من أن لديك معالجات رسومات عالية الأداء متعددة، مثل NVIDIA A100 أو H100
pip install transformers
pip install torch # تأكد من تمكين CUDA</code>

ج) استدلال موزّع:对于 النشرات الأكبر، فكر في توزيع النموذج عبر عدة عقد.

مثال الكود:

# باستخدام مكتبة accelerate من Hugging Face
from accelerate import Accelerator

<p>accelerator = Accelerator()
model, tokenizer = accelerator.prepare(model, tokenizer)</p>

حالات الاستخدام والتطبيقات

قوة ومرونة لاما 3.1-405B تفتح العديد من الإمكانيات:

أ) توليد بيانات اصطناعية: توليد بيانات عالية الجودة ومحددة النطاق لتدريب نماذج أصغر.

مثال حالة الاستخدام:

from transformers import pipeline

<p>generator = pipeline("text-generation", model=model, tokenizer=tokenizer)
synthetic_data = generator("Generate financial reports for Q1 2023", max_length=200)</p>

ب) التبخير المعرفي: نقل معرفة النموذج 405B إلى نماذج أصغر وأكثر قابليّة للتوزيع.

مثال الكود:

# استخدام تقنيات التبخير من Hugging Face
from transformers import DistillationTrainer, DistillationTrainingArguments

<p>training_args = DistillationTrainingArguments(
output_dir="./distilled_model",
per_device_train_batch_size=2,
num_train_epochs=3,
logging_dir="./logs",
)
trainer = DistillationTrainer(
teacher_model=model,
student_model=smaller_model,
args=training_args,
train_dataset=train_dataset,
eval_dataset=eval_dataset,
)
trainer.train()</p>

ج) ضبط دقيق حسب المجال: تعديل النموذج لمهام متخصصة أو صناعات.

مثال الكود:

from transformers import Trainer, TrainingArguments

<p>training_args = TrainingArguments(
output_dir="./domain_specific_model",
per_device_train_batch_size=1,
num_train_epochs=3,
)
trainer = Trainer(
model=model,
args=training_args,
train_dataset=train_dataset,
eval_dataset=eval_dataset,
)
trainer.train()</p>

ستساعدك هذه التقنيات والاستراتيجيات على استغلال إمكانيات لاما 3.1-405B بالكامل، مما يضمن تطبيقات ذكاء اصطناعي فعالة ومتخصصة.

اتجاهات المستقبل

إطلاق لاما 3.1-405B من المرجح أن يعزز الابتكار في عدة مجالات:

  • تحسين تقنيات الضبط الدقيق للمجالات المتخصصة
  • تطوير أساليب استدلال أكثر كفاءة
  • تقدّم في ضغط النموذج والتبخير

الخلاصة

يمثل لاما 3.1-405B علامة فارقة في الذكاء الاصطناعي المفتوح المصدر، ويوفر قدرات كانت حصرية للنماذج المملوكة.

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

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