كيفية تعزيز أداء نماذج اللغة lớn باستخدام تقنيات هندسة السياق
كيف يمكن تعزيز أداء النماذج اللغوية الكبيرة من خلال استغلال هندسة السياق هندسة السياق هي فن تقديم السياق المناسب للنماذج اللغوية الكبيرة (LLMs) لتحقيق أقصى أداء ممكن. عند العمل مع هذه النماذج، يتم إنشاء دعوة نظامية (System Prompt) تطلب من النموذج تنفيذ مهمة معينة. ومع ذلك، من وجهة نظر البرمجة، هناك عناصر أخرى يجب مراعاتها لتحسين قدرة النموذج على أداء المهمة. التعريف بهندسة السياق هندسة السياق هي عبارة عن علم تحديد ما يجب تقديمه إلى النموذج اللغوي من بيانات. يمكن أن يتضمن هذا، على سبيل المثال: الدعوة النظامية: وهي توجيه عام للنموذج حول المهمة المطلوبة. البيانات الإضافية: مثل أمثلة سابقة وأدوات للتفاعل مع العالم الخارجي. الكلمة الأكثر شيوعاً التي تُستخدم لهذا الغرض هي "هندسة الدعوات" (Prompt Engineering)، ولكنها تمثل جزءاً فقط من العملية. لتتحصل على أفضل النتائج، يجب عليك النظر إلى جميع العناصر التي تقدمها للنموذج اللغوي، وليس مجرد الدعوة النظامية. الدافع لقد جاءت فكرة هذا المقال من تغريدة لـ Andrej Karpathy، حيث أشار إلى أهمية الهندسة عند العمل مع النماذج اللغوية الكبيرة. يرى Karpathy أن هندسة الدعوات ليست كل شيء؛ بل يجب مراعاة جميع عناصر السياق التي يتم تقديمها للنموذج. استخدام النماذج اللغوية عبر الواجهة البرمجية (API) أم عبر لوحة التحكم (Console) هندسة السياق مهمة سواء كنت تستخدم النماذج اللغوية عبر الواجهة البرمجية أو عبر لوحة التحكم. ومع ذلك، فإن التركيز في هذا المقال سيكون على استخدام النماذج عبر الواجهة البرمجية، حيث تتوفر فيها خيارات أكثر لتغيير السياق بشكل ديناميكي. مثلاً، يمكن استخدام تقنية الاسترجاع المعزز بالتجنيد (RAG) حيث يتم أولاً البحث عن المتجهات (Vector Search) واختيار المعلومات الأكثر أهمية من القاعدة البيانات، بدلاً من تقديم القاعدة بأكملها للنموذج. تقنيات هندسة السياق التحفيز بدون أمثلة (Zero-shot prompting) هذا هو الأساس في هندسة السياق، حيث يطلب من النموذج أداء مهمة لم يسبق له رؤيتها. على سبيل المثال، قد تطلب من النموذج تصنيف نص إلى فئة إيجابية أو سلبية دون تقديم أمثلة: ``` أنت خبير في تصنيف النصوص، ومهمتك تقسيم النصوص إلى فئتين: - الفئة A: النص يحمل مشاعر إيجابية - الفئة B: النص يحمل مشاعر سلبية صنف النص: {النص} ``` التحفيز بأمثلة قليلة (Few-shot prompting) تتمثل هذه التقنية في تقديم أمثلة قليلة للنموذج بالإضافة إلى الوصف العام للمهمة. هذا يساعد النموذج على فهم المهمة بشكل أفضل. على سبيل المثال: ``` أنت خبير في تصنيف النصوص، ومهمتك تقسيم النصوص إلى فئتين: - الفئة A: النص يحمل مشاعر إيجابية - الفئة B: النص يحمل مشاعر سلبية <مثال> {النص 1} -> الفئة A </مثال> <مثال> {النص 2} -> الفئة B </مثال> صنف النص: {النص} ``` التحفيز الديناميكي بأمثلة قليلة (Dynamic few-shot prompting) تعتبر هذه التقنية من التقنيات الناجحة، حيث يتم اختيار الأمثلة بشكل ديناميكي عند إنشاء الدعوة للمهمة. مثلاً، إذا كان لديك قائمة بـ 200 نص وتصنيفهم، يمكنك البحث عن النصوص الأكثر تشابهاً مع النص الجديد وتضمينها في الدعوة. ذلك يوفر للنموذج أمثلة أكثر صلة بأدائه للمهمة. الاسترجاع المعزز بالتجنيد (RAG) تعتبر تقنية RAG من أشهر الطرق لزيادة معرفة النماذج اللغوية. إذا كانت لديك قاعدة بيانات كبيرة وحصلت على سؤال من المستخدم، يجب عليك البحث عن المعلومات الأكثر صلة في القاعدة وتوفيرها للنموذج. هذا يتم من خلال: البحث عن المتجهات: البحث عن الوثائق الأكثر تشابهاً مع سؤال المستخدم. اختيار الوثائق الأكثر صلة: توفير هذه الوثائق كسياق للنموذج عند طلب الإجابة. هذه الطريقة تساعد في تحسين أداء النموذج عن طريق توفير معلومات دقيقة ومحددة بدلاً من تقديمه لقاعدة بيانات ضخمة. الأدوات (MCP) يمكن أيضاً تقديم أدوات للنموذج اللغوي لتزيد من قدراته، خاصة مع انتشار الوكلاء الذكيين (AI Agents). على سبيل المثال، يمكنك تقديم أداة للحصول على حالة الطقس الحالية: python @أداة def get_weather(المدينة): # الكود لاسترجاع حالة الطقس الحالية لمدينة معينة return الطقس إذا قدمت هذه الأداة للنموذج وسألته عن الطقس في نيويورك، سيتمكن من استرجاع المعلومات بشكل دقيق وتقديم الإجابة الصحيحة. المواضيع التي يجب مراعاتها استغلال طول السياق طول السياق متاح للنماذج اللغوية الكبيرة يصل إلى أكثر من 100,000 رمز مدخل. يجب عليك النظر في التوازن بين: كمية السياق: كمية البيانات التي تقدمها للنموذج. جودة السياق: مدى صلة هذه البيانات بالمهمة المطلوبة. تقديم سياق طويل جداً قد يكون ضاراً، كما سنرى في القسم التالي. تلف السياق (Context rot) تتحدث دراسة حديثة عن ظاهرة "تلف السياق"، حيث أن زيادة طول السياق قد تقلل من أداء النموذج اللغوي حتى لو لم يزداد صعوبة المهمة. هذا يعني أن: تقديم معلومات غير ذات صلة: يقلل من قدرة النموذج على أداء المهام بنجاح. يجب عليك دائماً الحرص على تقديم معلومات ذات صلة فقط للنموذج، لأن زيادة عدد الرموز المدخلة يؤثر سلباً على الأداء. الخلاصة في هذا المقال، ناقشت موضوع هندسة السياق، وهو العملية التي تهدف إلى توفير السياق المناسب للنموذج اللغوي لتحقيق أداء فعال. هناك العديد من التقنيات التي يمكن استخدامها، مثل التحفيز بأمثلة قليلة، RAG، والأدوات. يجب عليك أيضًا مراعاة أن تقديم كميات كبيرة من السياق غير ذي صلة قد يكون ضاراً بالأداء. من خلال تطبيق هذه التقنيات بشكل صحيح، يمكنك تحسين قدرات النموذج اللغوي بشكل كبير. آراء المؤلفين والمختصين يؤكد العديد من المختصين في مجال الذكاء الصناعي على أهمية هندسة السياق في تحسين أداء النماذج اللغوية الكبيرة. تشير دراسات حديثة إلى أن استخدام تقنيات ديناميكية مثل RAG يمكن أن يوفر فوائد كبيرة في تعامل النماذج مع مهام معقدة تتطلب معرفة دقيقة. كما يشير Andrej Karpathy إلى أن الهندسة الشاملة للسياق تتجاوز مجرد تغيير الدعوة النظامية، وتتضمن مراعاة جميع البيانات المدخلة. نبذة عن Anthropic Anthropic هي شركة رائدة في مجال النماذج اللغوية الكبيرة، وقد طورت مفهوم البروتوكول السياقي للنموذج (Model Context Protocol - MCP)، الذي يتيح للنماذج اللغوية استخدام الأدوات والتفاعل مع العالم الخارجي بشكل أكثر فعالية. هذه التقنية تعتبر خطوة مهمة في تطوير الوكلاء الذكيين وتحسين قدراتهم على تنفيذ مهام متعددة ومتقدمة.