beeevita / EvoPrompt

Official implementation of the paper Connecting Large Language Models with Evolutionary Algorithms Yields Powerful Prompt Optimizers
75 stars 12 forks source link

为什么在evoluter.py的class DEEvoluter中sim任务要选择cls任务的模板,而cls和sum任务要选择sim任务的模板? #2

Closed Chongyu-hub closed 5 months ago

Chongyu-hub commented 5 months ago
class DEEvoluter(Evoluter):
    def __init__(self, args, evaluator):
        super(DEEvoluter, self).__init__(args, evaluator)
        if args.task in ["cls", "sum"]:
            self.template = templates[args.template]["sim"]
        elif args.task == "sim":
            self.template = templates[args.template]["cls"]["sst-5"]

为什么在evoluter.py的class DEEvoluter中sim任务要选择cls任务的模板,而cls和sum任务要选择sim任务的模板?

beeevita commented 5 months ago
class DEEvoluter(Evoluter):
    def __init__(self, args, evaluator):
        super(DEEvoluter, self).__init__(args, evaluator)
        if args.task in ["cls", "sum"]:
            self.template = templates[args.template]["sim"]
        elif args.task == "sim":
            self.template = templates[args.template]["cls"]["sst-5"]

为什么在evoluter.py的class DEEvoluter中sim任务要选择cls任务的模板,而cls和sum任务要选择sim任务的模板?

hi, chongyu 因为在实验过程中,我们发现如果 CLS 任务用 CLS 的模版的话,LLM 在生成进化后的 Prompt 的时候会 copy demonstration 当中的内容,为了防止模型照搬 demonstration,在进化的时候会用不同任务的模版

Chongyu-hub commented 5 months ago

明白了,谢谢您