كود للتعليق التوضيحي الانتقائي للورق يجعل نماذج اللغة أفضل للمتعلمين القلائل
العديد من الأساليب الحديثة لمهام اللغة الطبيعية مبنية على القدرات الرائعة لنماذج اللغة الكبيرة. يمكن لنماذج اللغة الكبيرة إجراء التعلم في السياق، حيث تتعلم مهمة جديدة من عدد قليل من العروض التوضيحية للمهام، دون أي تحديثات للمعلمات. يدرس هذا العمل الآثار المترتبة على التعلم في السياق لإنشاء مجموعات بيانات لمهام اللغة الطبيعية الجديدة. انطلاقًا من أساليب التعلم الحديثة في السياق، نقوم بصياغة إطار عمل فعال من خطوتين للتعليق التوضيحي: تعليق توضيحي انتقائي يختار مجموعة من الأمثلة للتعليق عليها من البيانات غير المسماة مقدمًا، يليها استرجاع سريع يسترد أمثلة المهام من المجموعة المشروحة في وقت الاختبار. بناءً على هذا الإطار، نقترح طريقة تعليق توضيحي انتقائية غير خاضعة للرقابة ومعتمدة على الرسم البياني، التصويت-k ، لاختيار أمثلة تمثيلية متنوعة للتعليق عليها. توضح التجارب الموسعة التي أجريت على 10 مجموعات بيانات (تغطي التصنيف، والمنطق المنطقي، والحوار، وتوليد النص/الكود) أن طريقة التعليقات التوضيحية الانتقائية لدينا تعمل على تحسين أداء المهمة بهامش كبير. في المتوسط، يحقق التصويت k ربحًا نسبيًا بنسبة 12.9%/11.4% في ظل ميزانية التعليقات التوضيحية البالغة 18/100، مقارنةً بالاختيار العشوائي للأمثلة للتعليق عليها. بالمقارنة مع أحدث أساليب الضبط الدقيق الخاضع للإشراف، فإنه يوفر أداءً مشابهًا بتكلفة أقل بمقدار 10-100× للتعليقات التوضيحية عبر 10 مهام. نقوم أيضًا بتحليل فعالية إطار عملنا في سيناريوهات مختلفة: نماذج اللغة بأحجام مختلفة، وطرق التعليقات التوضيحية الانتقائية البديلة، والحالات التي يوجد فيها تحول في مجال بيانات الاختبار. نأمل أن تكون دراساتنا بمثابة أساس لشروح البيانات حيث يتم تطبيق نماذج اللغة الكبيرة بشكل متزايد على المهام الجديدة
قم بتشغيل الأمر التالي لاستنساخ هذا الريبو
git clone https://github.com/HKUNLP/icl-selective-annotation
لتأسيس البيئة، قم بتشغيل هذا الكود في الصدفة:
conda env create -f selective_annotation.yml
conda activate selective_annotation
cd transformers
pip install -e .
سيؤدي ذلك إلى إنشاء بيئة التعليق التوضيحي الانتقائي التي استخدمناها.
تفعيل البيئة عن طريق التشغيل
conda activate selective_annotation
GPT-J كنموذج التعلم في السياق، وDBpedia كمهمة، وvote-k كطريقة تعليق توضيحي انتقائية (وحدة معالجة رسومات واحدة، وذاكرة سعة 40 جيجابايت)
python main.py --task_name dbpedia_14 --selective_annotation_method votek --model_cache_dir models --data_cache_dir datasets --output_dir outputs
إذا وجدت عملنا مفيدا، يرجى ذكر لنا
@article{Selective_Annotation,
title={Selective Annotation Makes Language Models Better Few-Shot Learners},
author={Hongjin Su and Jungo Kasai and Chen Henry Wu and Weijia Shi and Tianlu Wang and Jiayi Xin and Rui Zhang and Mari Ostendorf and Luke Zettlemoyer and Noah A. Smith and Tao Yu},
journal={ArXiv},
year={2022},
}