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: 提取文本的特征或嵌入,这些特征可以用于其他下游任务。通常得到的特征是模型的隐藏状态,可以用作其他任务的输入。
标签:文本,prompt,get,调优,参数,model,peft,config From: https://www.cnblogs.com/mxleader/p/18390861