模型也能 知其然知其所以然
1. 引言局部
当天要给大家分享一篇很无心思的论文。这篇论文关键处置的是什么疑问呢?就是如何让大言语模型在专业畛域,比如医疗、迷信畛域体现得更好。
你们有没有想过,只管如今的ChatGPT、Claude这些大模型很凶猛,但在专业畛域它们的体现还是不够好,对吧?比如说,当咱们问它一个对于"支气管扩张"的专业疑问时,它或者就答不太准确了。这是为什么呢?
关键要素是这样的 - 这些专业畛域有很多不凡的常识和术语,个别模型或者了解得不够深化。就像咱们个别人看医学论文一样,没有专业背景的话,很多术语都看疑问,是不是?
那么如今有一个很好的技术叫RAG(检索增强生成),这个技术的原理其实很像咱们人类查资料的环节。比如当咱们要回答一个疑问时,会先去查找关系的资料,而后再基于这些资料来回答,对不对?RAG就是让模型也这样做 - 先检索关系文档,再基于这些文档来回答疑问。
然而呢,这里又产生了一个新的疑问。就算用了RAG技术,在专业畛域的体现还是不够现实。这是为什么呢?由于模型或者不太懂得如何正确经常使用检索到的专业文献。就像一个医学院重生,即使给他一堆医学文献,他也不必定能准确了解和运行这些常识,对吧?那如今曾经有哪些处置打算呢?关键有这么几种:
但这些方法都有什么疑问呢?
这就是为什么咱们须要一个更好的处置打算。那作者是怎样处置的呢?他们提出了一个叫SimRAG的方法。这个方法最幽默的中央是它让模型同时学会了两个才干:一个是回答疑问,一个是提出疑问。
你们感觉为什么要让模型同时具有这两种才干呢?这就像咱们学习一样,不只要会答题,还要会出题,对吧。只要真歪了解了常识,才干提出好的疑问。这两个才干相反相成,可以协助模型更好地理解专业常识。
2. 关系上班
在讲详细方法之前,咱们先来了解一下关系的钻研上班。这就像咱们做钻研之前,要先知道先人都做了什么。首先是RAG技术。它是怎样上班的呢?就像咱们写论文要先查文献一样,RAG也是先去找关系的资料,而后再基于这些资料来回答疑问。近期有很多钻研者在改良这个技术,比如说:
第二个关键的技术叫自训练。这个概念听起来或者有点生疏,但其实很好了解。它就像是“教学相长”的环节 - 模型一边学习,一边用学到的常识来教自己。详细怎样做呢?
但这个环节也有个疑问,就像咱们自学时或者会学到一些失误的常识一样,模型生成的训练数据也或者有失误。所以钻研者们想了很多方法来处置这个疑问:
第三个是畛域特定的大言语模型。如今曾经有很多专门针对特定畛域的模型了,比如医疗畛域的、法律畛域的。他们是怎样训练这些模型的呢?关键有两种模式:
但这些方法都有什么疑问呢?
如今大家应该能明确为什么须要一个新的处置打算了吧。就是由于现有的这些方法都不够完美。
3. SimRAG的详细方法
接上去要讲的是本文最外围的局部了 - SimRAG详细是怎样上班的。这个方法很奇妙,分为两个关键阶段。
3.1 第一阶段:基础训练
第一阶段是做什么呢?就是先教会模型一些基本功。这就像咱们学习任何新物品一样,要先把握基础常识,对吧。详细来说,要让模型学习三类常识:
OpenAssistant的数据
Dolly的数据
SODA的数据
这些数据都是协助模型了解人类指令的。
Squad数据集,这是对于阅读了解的
DROP数据集,这须要一些推理才干
NQ(人造疑问)数据集,这些都是真适用户的提问
这就像给在校生做各种类型的习题,协助他们提高解题才干。
教模型怎样从文档中找到或者的答案
教模型怎样依据文档和答案来提出好疑问
就像教会在校生不只要会做题,还要会出题一样。
3.2 第二阶段:自我优化
这个阶段是最无心思的局部。模型要用第一阶段学到的才干来优化自己,详细怎样做呢?首先是答案生成。模型会读一段专业文献,而后找出外面或者成为答案的内容。比如读到这样一段医学文献:
For its survival, the body needs to ensure a continuous delivery of energy despite highly variable supplies of nutrients from the external environment.
模型就会找出关键的概念,比如"continuous delivery of energy"这样的关键消息。而后是疑问生成。基于找到的答案,模型会生成相应的疑问。而且,模型会生成不同类型的疑问:
这样做的好处是什么呢?就像咱们温习时用不同类型的标题来测试自己,可以片面地把握常识。最后还有个关键的步骤 - 品质控制。不是一切生成的疑问都会被用来训练,而是要经过挑选:
4. 试验结果剖析
好,如今到了最激动人心的局部了 - 咱们来看看这个方法究竟效果如何。
4.1 试验设置
首先,作者选用了三个十分关键的畛域来测试:
PubMedQA:这是对于医学钻研的问答
BioASQ:这是动物医学畛域的疑问
MedQA:这个更专业,是医学执照考试的标题
还有其余几个数据集
就像是让模型去加入不同类型的医学考试一样。
ARC:这是中学级别的迷信标题
SciQ:这蕴含了物理、化学、动物等各种迷信识题
MMLU-sci:这个更片面,蕴含了14个迷信学科
相当于是从基础到初等的迷信常识都测试了一遍。
用了最新的CS-Bench数据集
蕴含了编程、算法等各种计算机迷信的疑问
这就像是给模型来了次计算机系的期末考试。那模型用什么"教材"来学习呢?
4.2 比拟对象
作者找了好几类模型来比拟,就像举行一场较量一样:
医疗畛域有PMC-llama、MEDITRON
迷信畛域有SciTulu
4.3 试验结果
在医疗畛域:
在迷信畛域:
在计算机迷信畛域:
只管分数看起来不是很高,但要知道CS-Bench的标题是很难的,这个效果曾经很不错了。
4.4 深化剖析
作者还做了一些很无心思的剖析:
多选题体现最好,由于选项可以提供线索
开明性疑问稍微差一点,这很反常,由于须要自在施展嘛
判别题介于两者之间
生成的疑问很人造,答案也很准确,不是便捷的复制粘贴。
5. 局限性和未来展望
当然,这个方法也不是完美的,还有一些可以改良的中央:
就像咱们温习,多温习几遍效果会更好
未来可以尝试迭代式的生成模式
生成和过滤数据须要不少期间
但好在这些都是训练时的开支,用的时刻不会变慢
比如说用70B的模型或者效果会更好
但这样就须要更多计算资源了
这种自我优化的思绪其真实很多畛域都能用。比如说,咱们学习新常识的时刻,也可以先把握基础,而后自己出题来测验,这样不是很像SimRAG的思绪吗?
原文:《》
本文转载自,作者: