ChatGPT 的三个主要流程:
- SFT:通过 Instruction Tuning 来微调一个监督学习模型。
- Reward Model:通过排序序列来训练一个打分模型。
- Reinforcement Learning:通过强化学习来进一步优化模型。
通过 ChatGLM 来微调一个读懂指令的模型:通过instructions对我们的医学文本的关键词提取能够更为准确。并且通过instructions的设置,chatGLM能够更好地发现不同的实体之间的对应关系(只要我们给出了其中的规律)
数据集准备:
我们的微调数据集,也可以被认为是一种信息抽取数据集(DuIE),则对instructions定义后的数据输入格式如下:
{
"instruction": "找到句子中的医学META分析词汇并输出成json给我。",
"input": "",
"target": "```json\n[{\"predicate\": \"连载网站\", \"object_type\": \"网站\", \"subject_type\": \"网络小说\", \"object\": \"纵横中文网\", \"subject\": \"九玄珠\"}, {\"predicate\": \"作者\", \"object_type\": \"人物\", \"subject_type\": \"图书作品\", \"object\": \"龙马\", \"subject\": \"九玄珠\"}]\n```"
}
我们期望的输出格式则如下:
"fixed_data": {
"total-participants": "500",
"intervention-participants": "237",
"control-participants": "235",
"age": "45-65",
"eligibility": "",
"condition": "Type 2 Diabetes",
"location": "Medline and Scopus",
"ethnicity": "",
"intervention": "probiotic yogurt",
"control": "conventional yogurt",
"intervention-age": "",
"control-age": "",
"conclusion": "The study shows significant improvements in glucose levels."
},
"variable_data": [
{
"outcome": "fasting blood glucose",
"outcome-Measure": "",
"iv-bin-abs": "100",
"cv-bin-abs": "95"
},
{
"outcome": "fasting insulin",
"outcome-Measure": "",
"iv-bin-percent": "42.1",
"cv-bin-percent": "40.0"
},
{
"outcome": "insulin resistance",
"outcome-Measure": "",
"iv-cont-mean": "5.5",
"cv-cont-mean": "5.3"
}
]
二更:可以将该JSON格式一并输入到instructions中:
输入于是变成了:
{
"instruction": "找到句子中的医学META分析词汇并输出成json给我。JSON的格式如下:"fixed_data": {
"total-participants": "500",
"intervention-participants": "237",
"control-participants": "235",
"age": "45-65",
"eligibility": "",
"condition": "Type 2 Diabetes",
"location": "Medline and Scopus",
"ethnicity": "",
"intervention": "probiotic yogurt",
"control": "conventional yogurt",
"intervention-age": "",
"control-age": "",
"conclusion": "The study shows significant improvements in glucose levels."
},
"variable_data": [
{
"outcome": "fasting blood glucose",
"outcome-Measure": "",
"iv-bin-abs": "100",
"cv-bin-abs": "95"
},
{
"outcome": "fasting insulin",
"outcome-Measure": "",
"iv-bin-percent": "42.1",
"cv-bin-percent": "40.0"
},
{
"outcome": "insulin resistance",
"outcome-Measure": "",
"iv-cont-mean": "5.5",
"cv-cont-mean": "5.3"
}
]",
"input": "",
"target": "```json\n[{\"predicate\": \"连载网站\", \"object_type\": \"网站\", \"subject_type\": \"网络小说\", \"object\": \"纵横中文网\", \"subject\": \"九玄珠\"}, {\"predicate\": \"作者\", \"object_type\": \"人物\", \"subject_type\": \"图书作品\", \"object\": \"龙马\", \"subject\": \"九玄珠\"}]\n```"
}
三更:在推理过程中,可以将instructions合并到context里面,形成一个大的context。