調優引數

黑逍逍發表於2024-08-31

p

from peft import PromptEncoderConfig, get_peft_model

peft_config = PromptEncoderConfig(task_type="CAUSAL_LM", num_virtual_tokens=20, encoder_hidden_size=128)
model = get_peft_model(model, peft_config)
model.print_trainable_parameters()

prefix

from peft import PrefixTuningConfig, get_peft_model

peft_config = PrefixTuningConfig(task_type="CAUSAL_LM", num_virtual_tokens=20)
model = get_peft_model(model, peft_config)

prompt

from peft import PromptTuningConfig, PromptTuningInit, get_peft_model

prompt_tuning_init_text = "Classify if the tweet is a complaint or no complaint.\n"
peft_config = PromptTuningConfig(
task_type="CAUSAL_LM",
prompt_tuning_init=PromptTuningInit.TEXT,
num_virtual_tokens=len(tokenizer(prompt_tuning_init_text)["input_ids"]),
prompt_tuning_init_text=prompt_tuning_init_text,
tokenizer_name_or_path="bigscience/bloomz-560m",
)
model = get_peft_model(model, peft_config)
這樣的只是文字的分類,不需要輸出的結果;

task_type

  • SEQ_CLS (Sequence Classification): 將整個文字序列分配到一個類別中。例如,將一篇文章分類為“體育”、“科技”或“娛樂”。

  • SEQ_2_SEQ_LM (Sequence-to-Sequence Language Modeling): 將一個序列轉換為另一個序列。常用於機器翻譯、文字生成和摘要等任務。

  • CAUSAL_LM (Causal Language Modeling): 用於生成文字的語言模型,每個詞的生成只依賴於之前的詞。例如,用於生成連貫的段落或對話。

  • TOKEN_CLS (Token Classification): 將文字中的每個單詞或標記分配到一個類別中。例如,命名實體識別(NER),將“紐約”標記為“地點”。

  • QUESTION_ANS (Question Answering): 從給定的上下文中回答問題。通常包括閱讀理解任務,系統需要從一段文字中找出答案。

  • FEATURE_EXTRACTION: 提取文字的特徵或嵌入,這些特徵可以用於其他下游任務。通常得到的特徵是模型的隱藏狀態,可以用作其他任務的輸入。

  

相關文章