ضبط المطالبات باستخدام المتغيرات

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

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

في هذه المقالة، سنوضح لك كيفية استخدام المتغيرات لضبط المطالبات وتقييم أداء المتغيرات المختلفة.

المتطلبات الأساسية

قبل قراءة هذه المقالة، من الأفضل الانتقال من خلال:

كيفية ضبط المطالبات باستخدام المتغيرات؟

في هذه المقالة، سنستخدم نموذج تدفق تصنيف الويب كمثال.

  1. افتح نموذج التدفق وأزل عقدة prepare_examples كبداية.

    Screenshot of Web Classification example flow to demonstrate variants.

  2. استخدم المطالبة التالية كمطالبة أساسية في عقدة classify_with_llm .

Your task is to classify a given url into one of the following types:
Movie, App, Academic, Channel, Profile, PDF or None based on the text content information.
The classification will be based on the url, the webpage text content summary, or both.

For a given URL : {{url}}, and text content: {{text_content}}.
Classify above url to complete the category and indicate evidence.

The output shoule be in this format: {"category": "App", "evidence": "Both"} 
OUTPUT:

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

  • بالنسبة classify_with_llm العقدة: تعلمت من المجتمع وأوراق أن درجة الحرارة المنخفضة تعطي دقة أعلى ولكنها أقل إبداعا ومفاجأة، لذا فإن درجة الحرارة المنخفضة مناسبة لمهام التصنيف، كما أن المطالبة ببضع صور يمكن أن تزيد من أداء LLM. لذلك، أود اختبار كيفية تصرف تدفقي عند تغيير درجة الحرارة من 1 إلى 0، وعندما تكون المطالبة مع أمثلة قليلة.

  • بالنسبة summarize_text_content العقدة: أريد أيضا اختبار سلوك تدفقي عندما أقوم بتغيير الملخص من 100 كلمة إلى 300 كلمة، لمعرفة ما إذا كان المزيد من محتوى النص يمكن أن يساعد في تحسين الأداء.

إنشاء متغيرات

  1. حدد الزر إظهار المتغيرات في الجزء العلوي الأيسر من عقدة LLM. عقدة LLM الموجودة variant_0 وهي المتغير الافتراضي.
  2. حدد الزر Clone على variant_0 لإنشاء variant_1، ثم يمكنك تكوين المعلمات إلى قيم مختلفة أو تحديث المطالبة على variant_1.
  3. كرر الخطوة لإنشاء المزيد من المتغيرات.
  4. حدد إخفاء المتغيرات لإيقاف إضافة المزيد من المتغيرات. يتم طي جميع المتغيرات. يتم عرض المتغير الافتراضي للعقدة.

بالنسبة للعقدة classify_with_llm ، استنادا إلى variant_0:

  • إنشاء variant_1 حيث يتم تغيير درجة الحرارة من 1 إلى 0.
  • قم بإنشاء variant_2 حيث تكون درجة الحرارة 0 ويمكنك استخدام المطالبة التالية بما في ذلك أمثلة قليلة اللقطات.
Your task is to classify a given url into one of the following types:
Movie, App, Academic, Channel, Profile, PDF or None based on the text content information.
The classification will be based on the url, the webpage text content summary, or both.

Here are a few examples:

URL: https://play.google.com/store/apps/details?id=com.spotify.music 
Text content: Spotify is a free music and podcast streaming app with millions of songs, albums, and original podcasts. It also offers audiobooks, so users can enjoy thousands of stories. It has a variety of features such as creating and sharing music playlists, discovering new music, and listening to popular and exclusive podcasts. It also has a Premium subscription option which allows users to download and listen offline, and access ad-free music. It is available on all devices and has a variety of genres and artists to choose from. 
OUTPUT: {"category": "App", "evidence": "Both"} 
		
URL: https://www.youtube.com/channel/UC_x5XG1OV2P6uZZ5FSM9Ttw 
Text content: NFL Sunday Ticket is a service offered by Google LLC that allows users to watch NFL games on YouTube. It is available in 2023 and is subject to the terms and privacy policy of Google LLC. It is also subject to YouTube's terms of use and any applicable laws. 
OUTPUT: {"category": "Channel", "evidence": "URL"} 
		
URL: https://arxiv.org/abs/2303.04671 
Text content: Visual ChatGPT is a system that enables users to interact with ChatGPT by sending and receiving not only languages but also images, providing complex visual questions or visual editing instructions, and providing feedback and asking for corrected results. It incorporates different Visual Foundation Models and is publicly available. Experiments show that Visual ChatGPT opens the door to investigating the visual roles of ChatGPT with the help of Visual Foundation Models. 
OUTPUT: {"category": "Academic", "evidence": "Text content"} 
		
URL: https://ab.politiaromana.ro/ 
Text content: There is no content available for this text. 
OUTPUT: {"category": "None", "evidence": "None"}
		
For a given URL : {{url}}, and text content: {{text_content}}.
Classify above url to complete the category and indicate evidence.
OUTPUT:    

بالنسبة إلى عقدة summarize_text_content ، استنادا إلى variant_0، يمكنك إنشاء variant_1 حيث 100 words يتم تغيير الكلمات 300 في المطالبة.

الآن، يبدو التدفق كما يلي، متغيرين لعقدة summarize_text_content و3 لعقدة classify_with_llm .

Screenshot of flow authoring page when you have variants in flow.

تشغيل كافة المتغيرات مع صف واحد من البيانات والتحقق من المخرجات

للتأكد من أن جميع المتغيرات يمكن تشغيلها بنجاح، والعمل كما هو متوقع، يمكنك تشغيل التدفق مع صف واحد من البيانات لاختبارها.

إشعار

في كل مرة يمكنك فيها تحديد عقدة LLM واحدة فقط مع متغيرات للتشغيل بينما ستستخدم عقد LLM الأخرى المتغير الافتراضي.

في هذا المثال، نقوم بتكوين متغيرات لكل من عقدة summarize_text_content وعقدة classify_with_llm ، لذلك يجب تشغيل مرتين لاختبار جميع المتغيرات.

  1. حدد الزر Run في الجزء العلوي الأيسر.
  2. حدد عقدة LLM مع المتغيرات. ستستخدم عقد LLM الأخرى المتغير الافتراضي. Screenshot of submitting a flow run when you have variants in flow.
  3. إرسال تشغيل التدفق.
  4. بعد اكتمال تشغيل التدفق، يمكنك التحقق من النتيجة المقابلة لكل متغير.
  5. إرسال تشغيل تدفق آخر مع عقدة LLM الأخرى مع المتغيرات، وتحقق من المخرجات.
  6. يمكنك تغيير بيانات إدخال أخرى (على سبيل المثال، استخدام عنوان URL لصفحة Wikipedia) وتكرار الخطوات المذكورة أعلاه لاختبار المتغيرات لبيانات مختلفة.

تقييم المتغيرات

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

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

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

  2. حدد تقييم في الجزء العلوي الأيسر من الصفحة.

  3. معالج لتشغيل الدفعة وتقييم يحدث. الخطوة الأولى هي تحديد عقدة لتشغيل جميع المتغيرات الخاصة بها.

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

    على سبيل المثال، يمكنك تحديد classify_with_llm العقدة لتشغيل كافة المتغيرات، ستستخدمه عقدة summarize_text_content متغيرا افتراضيا لتشغيل الدفعة هذا.

  4. بعد ذلك في إعدادات التشغيل الدفعي، يمكنك تعيين اسم تشغيل الدفعة، واختيار وقت تشغيل، وتحميل البيانات المعدة.

  5. بعد ذلك، في إعدادات التقييم، حدد أسلوب تقييم.

    نظرا لأن هذا التدفق مخصص للتصنيف، يمكنك تحديد طريقة تقييم دقة التصنيف لتقييم الدقة.

    يتم حساب الدقة من خلال مقارنة التسميات المتوقعة المعينة من قبل التدفق (التنبؤ) مع التسميات الفعلية للبيانات (الحقيقة الأرضية) وحساب عددها المتطابق.

    في قسم Evaluation input mapping ، تحتاج إلى تحديد الحقيقة الأساسية يأتي من عمود الفئة لمجموعة بيانات الإدخال، ويأتي التنبؤ من أحد مخرجات التدفق: الفئة.

  6. بعد مراجعة جميع الإعدادات، يمكنك إرسال تشغيل الدفعة.

  7. بعد إرسال التشغيل، حدد الارتباط، وانتقل إلى صفحة تفاصيل التشغيل.

إشعار

قد يستغرق التشغيل عدة دقائق حتى يكتمل.

تصور المخرجات

  1. بعد اكتمال تشغيل الدفعة وتقييمها، في صفحة تفاصيل التشغيل، حدد متعددة تشغيل الدفعة لكل متغير، ثم حدد تصور المخرجات. سترى مقاييس 3 متغيرات لعقدة classify_with_llm والمخرجات المتوقعة ل LLM لكل سجل من البيانات. Screenshot of runs showing visualize outputs.
  2. بعد تحديد المتغير الأفضل، يمكنك العودة إلى صفحة تأليف التدفق وتعيين هذا المتغير كمتغير افتراضي للعقدة
  3. يمكنك تكرار الخطوات المذكورة أعلاه لتقييم متغيرات عقدة summarize_text_content أيضا.

الآن، لقد انتهيت من عملية ضبط المطالبات باستخدام المتغيرات. يمكنك تطبيق هذه التقنية على تدفق المطالبة الخاص بك للعثور على أفضل متغير لعقدة LLM.

الخطوات التالية