PEFT documentation

ضبط الموجهات متعددة المهام

You are viewing main version, which requires installation from source. If you'd like regular pip install, checkout the latest stable version (v0.21.0).
Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

ضبط الموجهات متعددة المهام

يقوم ضبط الموجه متعدد المهام بتفكيك الموجهات الناعمة لكل مهمة إلى موجه واحد قابل للنقل تم تعلمه، بدلاً من موجه منفصل لكل مهمة. يمكن تكييف الموجه الواحد المتعلم لكل مهمة من خلال تحديثات منخفضة الرتبة الضربية.

ملخص الورقة البحثية هو:

برز ضبط المُوجِّه (Prompt tuning)، الذي يتم فيه تكييف نموذج مُسبَق التدريب الأساسي لكل مهمة من خلال التكييف على متجهات مُوجِّه مُتعلَّمة، كنهج واعد لتكييف نماذج اللغة الكبيرة بكفاءة على مهام متعددة. ومع ذلك، فإن الأساليب القائمة تتعلم عادةً متجهات مُوجِّه ناعمة من الصفر، ولم يتضح كيف يمكن استغلال المعرفة الغنية عبر المهام باستخدام متجهات المُوجِّه في إعدادات التعلم متعدد المهام. نقترح هنا ضبط المُوجِّه متعدد المهام (MPT)، الذي يتعلم أولاً مُوجِّهًا واحدًا قابلًا للنقل عن طريق تقطير المعرفة من مُوجِّهات مصدر خاصة بعدة مهام. ثم نتعلم تحديثات ذات رتبة منخفضة ضربية لهذا المُوجِّه المشترك لتكييفه بكفاءة مع كل مهمة هدف لاحقة. تُظهر تجارب موسعة على 23 مجموعة بيانات لمعالجة اللغة الطبيعية أن مقاربتنا المقترحة تتفوق على الأساليب الأكثر تقدمًا، بما في ذلك خط الأساس للتدريب الكامل في بعض الحالات، على الرغم من ضبط 0.035% فقط من المعلمات الخاصة بالمهمة.

Multitask prompt tuning enables parameter-efficient transfer learning.

يتألف MPT من مرحلتين:

  1. التدريب على المصدر - بالنسبة لكل مهمة، يتم تفكيك موجهها الناعم إلى متجهات خاصة بالمهمة. تُضرب المتجهات الخاصة بالمهمة معًا لتكوين مصفوفة أخرى W، ويُستخدم حاصل هادامارد بين W ومصفوفة الموجه المشترك P لتوليد مصفوفة موجه خاصة بالمهمة. يتم تقطير الموجهات الخاصة بالمهمة في مصفوفة موجه واحدة مشتركة بين جميع المهام. يتم تدريب هذا الموجه باستخدام التدريب متعدد المهام.
  2. التكيّف مع الهدف - لتكييف الموجه الواحد مع مهمة مستهدفة، يتم تهيئة موجه مستهدف ويُعبَّر عنه كمنتج هادامارد لمصفوفة الموجه المشتركة ومصفوفة الموجه منخفضة الرتبة الخاصة بالمهمة.
Prompt decomposition.

نظرة عامة على الاختبارات

لا يوجد حتى الآن معيار مرجعي لهذه الطريقة. يمكنك المساهمة بإعداد تجربة، لكن تأكد أولاً من إنشاء مشكلة هنا.

واجهة برمجة التطبيقات

MultitaskPromptTuningConfig

فئة peft.MultitaskPromptTuningConfig

< >

( task_type: Optional[Union[str, TaskType]] = Nonepeft_type: Optional[Union[str, PeftType]] = Noneauto_mapping: Optional[dict] = Nonepeft_version: Optional[str] = Nonebase_model_name_or_path: Optional[str] = Nonerevision: Optional[str] = Noneinference_mode: bool = Falsenum_virtual_tokens: int = Nonetoken_dim: int = Nonenum_transformer_submodules: Optional[int] = Nonenum_attention_heads: Optional[int] = Nonenum_layers: Optional[int] = Nonemodules_to_save: Optional[list[str]] = Noneprompt_tuning_init: peft.tuners.multitask_prompt_tuning.config.MultitaskPromptTuningInit | str = <MultitaskPromptTuningInit.RANDOM: 'RANDOM'>prompt_tuning_init_text: str | None = Nonetokenizer_name_or_path: str | None = Nonetokenizer_kwargs: dict | None = Noneprompt_tuning_init_state_dict_path: str | None = Noneprompt_tuning_init_task: int | None = 0num_ranks: int | None = 1num_tasks: int | None = 1 )

MultitaskPromptEmbedding

فئة peft.tuners.MultitaskPromptEmbedding

< >

( config: MultitaskPromptTuningConfigword_embeddings )

Update on GitHub