diff --git a/configs/datasets/GLUE_QQP/GLUE_QQP_ppl.py b/configs/datasets/GLUE_QQP/GLUE_QQP_ppl.py new file mode 100644 index 00000000..717c2607 --- /dev/null +++ b/configs/datasets/GLUE_QQP/GLUE_QQP_ppl.py @@ -0,0 +1,4 @@ +from mmengine.config import read_base + +with read_base(): + from .GLUE_QQP_ppl_250d00 import QQP_datasets # noqa: F401, F403 diff --git a/configs/datasets/GLUE_QQP/GLUE_QQP_ppl_250d00.py b/configs/datasets/GLUE_QQP/GLUE_QQP_ppl_250d00.py new file mode 100644 index 00000000..cb75aef9 --- /dev/null +++ b/configs/datasets/GLUE_QQP/GLUE_QQP_ppl_250d00.py @@ -0,0 +1,51 @@ +from opencompass.openicl.icl_prompt_template import PromptTemplate +from opencompass.openicl.icl_retriever import FixKRetriever +from opencompass.openicl.icl_inferencer import PPLInferencer +from opencompass.openicl.icl_evaluator import AccEvaluator +from opencompass.datasets import HFDataset + + +_hint = "The following are semantic matching questions. \n" \ + "Please determine whether the following two sentences are semantically duplicate: " \ + "0 means not duplicate, 1 means duplicate.\n" +QQP_infer_cfg = dict( + ice_template=dict( + type=PromptTemplate, + template="Sentence one: {question1}\nSentence two: {question2}\nResult: {label}", + ), + prompt_template=dict( + type=PromptTemplate, + template={ + answer: + f"{_hint}Sentence one: {{question1}}\nSentence two: {{question2}}\nResult: {answer}" + for answer in [0, 1] + }, + ice_token='', + ), + retriever=dict(type=FixKRetriever), + inferencer=dict(type=PPLInferencer, fix_id_list=[0, 1, 2, 3, 4])) + +QQP_eval_cfg = dict(evaluator=dict(type=AccEvaluator), ) + + +QQP_datasets = [] +for _split in ["validation", "test"]: + + QQP_reader_cfg = dict( + input_columns=['question1', 'question2'], + output_column='label', + train_split="train", + test_split=_split + ) + + QQP_datasets.append( + dict( + abbr=f'QQP-{_split}', + type=HFDataset, + path='glue', + name='qqp', + reader_cfg=QQP_reader_cfg, + infer_cfg=QQP_infer_cfg, + eval_cfg=QQP_eval_cfg + ) + )