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

نشر نماذج اللغة الكبيرة على كوبيرنيتس: دليل شامل

mm
أضف Unite.AI إلى مصادرك المفضلة على Google
Kubernetes and gpu Large Language Models: A Complete Guide

نماذج اللغة الكبيرة (LLM) قادرة على فهم وإنشاء نص يشبه الإنسان، مما يجعلها لا تقدر بثمن لمجموعة واسعة من التطبيقات، مثل محادثات الدردشة وإنشاء المحتوى وترجمة اللغة.

然而، نشر نماذج LLM يمكن أن يكون مهمة صعبة بسبب حجمها الهائل ومتطلباتها الحاسوبية. كوبيرنيتس، نظام أوركسترا حاويات مفتوح المصدر، يوفر حلًا قويًا لنشر وإدارة نماذج LLM بمقياس.

فهم نماذج اللغة الكبيرة

قبل الغوص في عملية النشر، دعنا نفهم بشكل موجز ما هي نماذج اللغة الكبيرة و почему تحظى باهتمام كبير.

نماذج اللغة الكبيرة (LLM) هي نوع من نماذج الشبكات العصبية التي يتم تدريبها على كميات هائلة من بيانات النص. هذه النماذج تتعلم فهم اللغة البشرية وإنشاء نص يشبه الإنسان عن طريق تحليل الأنماط والعلاقات داخل بيانات التدريب. بعض الأمثلة الشهيرة على نماذج LLM تشمل GPT (الترجمة المسبقة للتحويل الجيني)، BERT (تمثيلات التشفير ثنائي الاتجاه من التحويلات)، و XLNet.

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

لماذا كوبيرنيتس لنشر نماذج LLM؟

كوبيرنيتس هو منصة أوركسترا حاويات مفتوحة المصدر التي تautomates نشر وتحميل وتحديث التطبيقات المحتوية في الحاويات. يوفر كوبيرنيتس العديد من الفوائد لنشر نماذج LLM، بما في ذلك:

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

الاستعداد لنشر نماذج LLM على كوبيرنيتس:

قبل نشر نماذج LLM على كوبيرنيتس، هناك العديد من المتطلبات الأساسية التي يجب مراعاتها:

  1. كلستر كوبيرنيتس: ستحتاج إلى كلستر كوبيرنيتس تم إعداده وتنفيذه، إما محليًا أو على منصة سحابة مثل خدمة كوبيرنيتس المرنة من أمازون (EKS) , محرك كوبيرنيتس من جوجل (GKE) , أو خدمة كوبيرنيتس من أزور (AKS).
  2. دعم الرسومات: تعتبر نماذج LLM متطلبة حاسوبيًا وغالبًا ما تتطلب تسريع الرسومات لتحميل فعال. تأكد من أن كلستر كوبيرنيتس لديك الوصول إلى موارد الرسومات، إما عبر رسومات مادية أو مثيلات رسومات السحابة.
  3. سجل الحاويات: ستحتاج إلى سجل حاويات لتخزين صور حاويات نماذج LLM. تشمل الخيارات الشهيرة دッカー هاب، سجل حاويات مرن من أمازون (ECR)، سجل حاويات جوجل (GCR)، أو سجل حاويات أزور (ACR).
  4. ملفات نموذج LLM: احصل على ملفات نموذج LLM المسبقة (الأوزان والتهيئة والtokenizer) من المصدر المعني أو تدريب نموذجك الخاص.
  5. التحويل إلى حاويات: تحويل تطبيق نماذج LLM إلى حاويات باستخدام دッカー أو وقت تشغيل حاوية مشابه. يتضمن ذلك إنشاء ملف دッカー يحتوي على رمز نماذج LLM والاعتماديات وملفات النموذج في صورة حاوية دッカー.

نشر نماذج LLM على كوبيرنيتس

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

بناء صورة الحاوية

ابنِ صورة حاوية تطبيق نماذج LLM باستخدام ملف دッカー المُقدم ودفعها إلى سجل الحاويات.

إنشاء موارد كوبيرنيتس

حدد موارد كوبيرنيتس المطلوبة لنشر نماذج LLM، مثل النشرات والخدمات و ConfigMaps والأسرار. يتم تعريف هذه الموارد عادةً باستخدام مаниفستات YAML أو JSON.

تكوين متطلبات الموارد

حدد متطلبات الموارد لنشر نماذج LLM، بما في ذلك الموارد الحاسوبية والذاكرة وموارد الرسومات. هذا يضمن أن نشرك يdispose من الموارد الحاسوبية اللازمة لتحميل فعال.

نشر إلى كوبيرنيتس

استخدم أداة سطر الأوامر kubectl أو أداة إدارة كوبيرنيتس (مثل لوحة تحكم كوبيرنيتس، راشر، أو لينس) لتطبيق مаниفستات كوبيرنيتس ونشر تطبيق نماذج LLM.

مراقبة وتحميل

راقب أداء واستهلاك مورد نشر نماذج LLM باستخدام أدوات مراقبة كوبيرنيتس مثل بروميثيوس و غرافانا. عدل تخصيص الموارد أو حمل نشرك حسب الحاجة لتلبية الطلب.

نشر مثال

دعونا ننظر إلى مثال لنشر نموذج لغة GPT-3 على كوبيرنيتس باستخدام صورة حاوية مسبقة من هوجينج فايس. سنفترض أن لديك كلستر كوبيرنيتس معداً ومهيئاً مع دعم الرسومات.

جلب صورة الحاوية:


<p>docker pull huggingface/text-generation-inference:1.1.0</p>

إنشاء نشر كوبيرنيتس:

أنشئ ملفًا باسم gpt3-deployment.yaml مع المحتوى التالي:


<p>apiVersion: apps/v1
kind: Deployment
metadata:
name: gpt3-deployment
spec:
replicas: 1
selector:
matchLabels:
app: gpt3
template:
metadata:
labels:
app: gpt3
spec:
containers:
- name: gpt3
image: huggingface/text-generation-inference:1.1.0
resources:
limits:
nvidia.com/gpu: 1
env:
- name: MODEL_ID
value: gpt2
- name: NUM_SHARD
value: "1"
- name: PORT
value: "8080"
- name: QUANTIZE
value: bitsandbytes-nf4</p>

إنشاء خدمة كوبيرنيتس:

أنشئ ملفًا باسم gpt3-service.yaml مع المحتوى التالي:


<p>apiVersion: v1
kind: Service
metadata:
name: gpt3-service
spec:
selector:
app: gpt3
ports:
- port: 80
targetPort: 8080
type: LoadBalancer</p>

نشر إلى كوبيرنيتس:

طبق مаниفستات كوبيرنيتس باستخدام أمر kubectl:


<p>kubectl apply -f gpt3-deployment.yaml
kubectl apply -f gpt3-service.yaml</p>

مراقبة النشر:

مراقب تقدم النشر باستخدام الأوامر التالية:


<p>kubectl get pods
kubectl logs &lt;pod_name&gt;</p>

بمجرد أن يكون Pod قيد التشغيل وسجلاته تشير إلى أن النموذج محمل وجاهز، يمكنك الحصول على عنوان IP الخارجي لخدمة LoadBalancer:


kubectl get service gpt3-service

اختبار النشر:

يمكنك الآن إرسال طلبات إلى خادم التحميل باستخدام عنوان IP الخارجي والمنفذ المكتسب من الخطوة السابقة. على سبيل المثال، باستخدام curl:

 [securities_stock_price_tag symbol="NVDA" exchange="NASDAQ"]

<p>curl -X POST \
http://&lt;external_ip&gt;:80/generate \
-H 'Content-Type: application/json' \
-d '{"inputs": "The quick brown fox", "parameters": {"max_new_tokens": 50}}'</p>

مواضيع متقدمة يجب أن تكون على دراية بها

Kubernetes logo LLM GPU (HCP )

1. التوسيع التلقائي

2. جدولة الرسومات ومشاركتها

3. موازنة النموذج وتجزئته

4. ضبط دقيق وتعلم مستمر

5. المراقبة والرصد

6. الأمان والامتثال

7. نشرات متعددة السحابة والهجينة

الخلاصة

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

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

كوبيرنيتس يوفر منصة قوية ومرنة لنشر وإدارة نماذج LLM، مما يسمح لك ببناء تطبيقات موثوقة ومقاييس وأمنة.

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