题目
苏格拉底式教学:用大型语言模型探索苏格拉底式个性化教学
摘要
大型语言模型(LLM)被认为是推进智能教育的一项关键技术,因为它们展示了深入理解教学场景和为学生提供个性化指导的潜力。然而,当前个性化教学中基于LLM的应用主要遵循"问答"范式,学生被动地获得答案和解释。在本文中,我们提出了苏格拉底式教学模式(SocraticLM ),它实现了一种苏格拉底式的"发人深省"的教学范式,实现了真正的课堂教师的角色,让学生积极参与到真正掌握解决问题所需的思考过程中。为了构建苏格拉底式教学模式,我们首先提出了一种新颖的"院长-教师-学生"多智能体管道来构建一个新的数据集SocraTeach,其中包含35K个精心制作的基于基础数学问题的苏格拉底式多轮(相当于208K单轮)教学对话。我们的数据集模拟真实的教学场景,与具有不同认知状态的六种代表性类型的模拟学生进行交互,并加强四种关键的教学能力。然后,SocraticLM在SocraTeach上进行微调,使用三种策略来平衡其教学和推理能力。此外,我们还提供了一个包含五个教学维度的综合评估系统,用于评估LLMs的教学质量。大量实验表明,SocraticLM在教学性能上取得了显著的提高,比GPT4提高了12%以上。我们的数据集和代码可在https://github.com/Ljyustc/SocraticLM.获得
简介
大型语言模型(LLM)已经在包括自然语言处理、翻译和问答在内的各种任务中取得了令人印象深刻的成果[54,56,59]。这引起了人们对使用LLM来革新智能教育,特别是个性化教学的潜力的广泛关注[2,23,39],这主要是由于它们的两个优点。一方面,法学硕士在数学和物理等基础学科中表现出了人类般的知识掌握和熟练程度[1,48]。因此,他们可以像真正的老师一样有效地向学生提供特定学科的指导。另一方面,LLM对用户(即学生)的输入表现出非凡的理解和适应性。他们能够理解不同学生的需求,提供即时反馈,并参与互动教学。基于这两个方面,已经有了很多研究研究将通用LLM(如ChatGPT)应用于个性化教学[5,18,44,51],或构建特定教学LLM,如MathGPT 2、EduGPT 3和EduChat [10]。
然而,当前基于LLMs的个性化教学方法主要遵循"问答"范式。如图1(a)所示,它们被动地提供功能,例如为问题提供答案,为学生的疑问解释知识概念。在这个过程中,他们将教学过度简化为一系列问答,直接根据CoT [56]、ToT [57]等给出完整的答案。,未能真正识别学生可能存在的问题并提供有针对性的帮助。因此,学生可能很难理解解决问题的过程,他们的能力缺乏真正的提高,并且无法在未来解决类似的问题。在本文中,我们从苏格拉底教学法[13,45]中得到启发,提出了苏格拉底式教学法,它实现了一种新颖的"发人深省"的教学范式,如图1(b)所示。
这种模式的关键是让学生在对话中积极参与学习过程,不断提出开放式问题(标为红色,例如...怎么算?")来鼓励他们表达自己的想法,挑战假设,独立思考。这个过程使学生能够学会自己解决问题,从而培养更深层次的掌握和能力。与直接使用prompt engineering的基于LLM的应用程序(如GPT4)相比,我们的目标是系统地研究1)启发性教学的教学需求,并赋予苏格拉底式教学法满足这些需求的能力。2)教师的教学能力,并在苏格拉底式教学中强化这些能力。3)学生的认知状态,使苏格拉底能在教学过程中准确识别。因此,我们的苏格拉底式教学可以提供更高质量的指导,更适合每个学生的需求,从"知识的守护者"转变为"学习的编舞者"。
为了构建SocraticLM,我们首先构建了一个新的数据集SocraTeach,它由35K个高质量、细粒度的基于数学问题的苏格拉底式多轮教学对话组成。在构建数据集时,我们提出了一个新颖的"院长-教师-学生"管道,实现了三个LLM代理来模拟真实教学场景中的关键角色:院长、教师和学生。教务长是一个主管,在老师的指令呈现给学生之前对其进行监督和提炼,确保整个教学过程符合苏格拉底式的风格。受经典教育学理论的启发,教师通过生成苏格拉底式教学积极地逐步引导学生解决问题[13,45]。学生响应老师的指令,在这里我们建立了一个学生认知状态系统,模拟课堂上的六种学生,覆盖真实多样的教学场景。通过院长监督下的多轮"师生"互动,形成全面的苏格拉底式教学对话。更进一步,为了增强我们的数据集的多样性和稳健性,我们总结了来自真实教学场景的四种类型的学生反应,并执行数据扩充以生成额外的22K单轮教学对话,特别定制以增强四种相应的关键教学能力。
我们在SocraTeach数据集上对ChatGLM3-6b [12]进行了微调,以获得SocraticLM。在这个过程中,我们阐述了三种训练策略,以提高教学能力,同时确保苏格拉底式教学法的问题解决能力。此外,我们还提出了一个新颖的评估体系,包括五个教学维度,用于评估硕士研究生的教学质量,据我们所知,这是该领域的首次探索。实验结果表明,我们的数据集可以提高逻辑语言模型的教学性能,我们的苏格拉底式语言模型的教学质量比GPT4高出12%以上。
本文的贡献在于:
- 我们提出了苏格拉底式语言模型,这是一种实现苏格拉底式"发人深省"教学范式的语言模型。实验结果表明,其苏格拉底式教学质量超过GPT 4 12%,同时保持了原ChatGLM3-6b良好的解题能力。
- 我们构建了一个新的数据集SocraTeach,其中包含大量细粒度的苏格拉底教学对话。为了构建SocraTeach,我们提出了一个新颖的"院长-教师-学生"多主体管道,其中我们设计了一个创新的监督角色院长,一个指导学生行为的认知状态系统,以及教师四种教学能力的增强。这条管道是通用的,可以移植到其他学科的教学中。
- 我们开发了一个五维度的综合评估系统来评估LLMs的教学质量,据我们所知,这是该领域的首次尝试。
相关工作
LLMs-增强型智能教育。大型语言模型(LLM)彻底改变了智能教育的三个典型应用,即教育资源的自动生成、学生学习成果的即时评估和个性化教学辅助[26,29,42]。对于教育资源,有一种趋势是使用LLM来生成教科书、练习等。,基于教学目标和需求,为教师提供更丰富的灵感[4,16]。对于学生的成果,LLMs可以分析学生的作业和考试,以提供对他们学习进度的评估和反馈[9]。至于本文最关注的个性化教学,一条线的研究使用ChatGPT这样的通用LLM为学生提供多学科的多层次辅助[44,51,58],如写作[18],编程[5],医学教育[25]。通过分析学生的学习数据和行为模式,这些LLM也有可能设计独特的学习路径,以帮助学生更有效地学习[20]。另一条研究路线是收集大量教学指令,对大型模型进行微调(如EduChat [10]),赋予其解决问题、情感支持等针对性教学能力。
个性化教学对话数据集。构建教学对话是构建基于LLM的个性化教学系统的基础。在文献中,早期的尝试依赖于众包(如CIMA [49])或规则(如自动翻译[17])来创建真实的对话。随后,研究人员采用了人机合作的方法。例如,QuizBot [46]利用语义相似度算法来分析真实学生的回答,并通过预定义的教学工作流提供适应性问题。然而,这些方法需要大量的手动工作,或者受到预定义的教学程序的限制,导致可扩展性有限,并且难以覆盖多样化的真实世界教学场景。最近,随着LLM在合成数据生成方面显示出优势[28],利用它们来辅助教学对话生成已经引起了很多关注。然而,现有的研究[51]表明GPT造就了一个糟糕的老师,因此目前的努力主要是使用LLM来模拟具有不同背景[41]、个性[41]和错误类型[40]的学生,然后由人类教师提供解释。尽管如此,这个过程仍然需要人类的参与,导致最新的数据集MATHDIAL [40]只包含3K样本。此外,这些数据集也缺乏对苏格拉底教学的系统调查。
苏格拉底教学论(SocraTeach Dataset)
教育学理论指出,苏格拉底教学有两个基本要求[13,45]: 1)它从根本上是对话性的,依靠师生之间的对话来促进学习;2)它使用探索性问题来积极吸引学生,促进独立思考并鼓励他们自己寻找答案。在构建我们的SocraTeach数据集以满足这些需求时要求,我们面临以下挑战。首先,对于教师来说,教师的教学方法和授课风格有很大的差异。对于一个模型来说,一次学会所有这些可能是困难的,这可能导致教学逻辑中的混乱和错误。第二,对于学生来说,在真实的教学场景中,学生的认知状态是错综复杂的。虽然一些学生有很强的理解能力和足够的知识,但也有相当一部分学生不能理解问题,甚至缺乏必要的知识。我们期望我们的数据集应该涵盖所有这些情况,以便模型可以学习为不同状态的学生提供不同级别的指导。
图1:教学范例:"问答"vs"启发思考"。
为了解决上述挑战,我们按如下方式构造SocraTeach。首先,对于每个需要教授的问题,我们分解出一个分步指导问题的列表(3.1节)。在此基础上,我们可以通过将教学方法和解释风格与这些问题对齐来控制教师的模拟。其次,我们设计了一个创新的"院长-教师-学生"管道,实现了三个LLM代理,包括"院长"、"教师"和"学生",以收集细粒度的多轮教学对话(3.2节)。特别是,为了与真实场景中的学生档案保持一致,我们构建了一个认知状态系统,从理解、计算、知识掌握等方面模拟"学生"中的六种学生。(第3.3节)。最后,为了进一步增强SocraTeach的多样性和健壮性,我们设计了数据增强方法来构建额外的单轮教学对话,以提高四项关键的教学能力(3.4节)。
问题收集&逐步引导问题本文以小学阶段的数学问题教学为例进行探索,因为数学是一门基础而关键的学科,这类问题涉及对学生基本理解和推理能力的考查[32,34]。我们的问题来源于两个代表性的数据集:MAWPS [27]和GSM8K [8],分别包含2.3K和8.8K的问题。
为了确保表达风格和教学方法在模拟教师角色时保持一致,我们将每个问题分解为一系列循序渐进的引导性问题,如图2中的Q1-Q4(详情请参考附录A)。需要注意的是,为了保证教学的高效性和简洁性,一次数值计算和一次解题总结不算一步。
图2:我们的SocraTeach数据集构造的工作流程。
院长-教师-学生管道为了创建我们的SocraTeach数据集,实现苏格拉底式的"发人深省"教学范式,我们提出了一种新颖的"院长-教师-学生"(DTS)管道来收集一对一、多轮的师生对话,该管道由三个LLM代理组成:院长D:研究表明,GPT在理解学生和担任教师所需的语言表达方面存在不足[51]。为了解决这个问题,我们提出了一个院长代理人充当监督角色,它判断老师的指令是否符合苏格拉底式教学的要求。如果它认为这些说明不符合要求,它有权在将它们呈现给学生之前进行修改。
教师T:根据苏格拉底的教育理论[13,45],教师代理主动激发学生代理以苏格拉底的方式解决问题,服务于两个主要目的。首先,它应该在适当的时候用苏格拉底式问题来提示学生思考,比如引导学生在完成一个推理步骤后考虑下一步。其次,它需要为学生提供步骤和所涉及的知识点的解释。为了对给定的问题保持一致的教学风格,要求教师按照第3.1节中构建的循序渐进的问题进行教学。
学生S:代表数据集内的学习者,学生代理生成对教师指令的回复(即问题和解释)。为了保证学生的真实性和多样性,我们在第3.3节建立了一个描述六种真实学生的认知状态系统,并设置学生每次回答时模拟其中一种。在DTS管道中,每个教学对话{(T1,S1),(T2,S2)、...}是在院长的监督下,师生互动一个循环形成的,用GPT4模拟每个agent。以图2为例,第一轮(t = 1),老师直接给出3.1节构造的第一步(即T1 = Q1)的问题(这个过程不需要使用LLMs)。
然后,学生从第3.3节中的六种类型的认知画像中选择一种状态简档(例如,弱知识掌握),并基于它生成相应的反应S1(参见附录B.1的提示)。之后,在t = 2时,老师以苏格拉底式的方式提供T2教学,在这种方式中,我们设计教学要求,例如不提供答案,而是遵循一步一步的问题流程。需要强调的是,这里我们通过例子(附录B.2)为每个学生档案设置了不同的回答风格。教师生成T2后,院长判断(例如,"...不符合教学标准")并修改它(例如,改变"你能吗...12乘以2?"到"多少...今天读?"),重点在于1)是否符合苏格拉底式。2)是否明确指出学生所犯的错误。3)其语言风格是否类似于真正的教师(附录B.3),即T2 ← D(T2)。修改后的回答会发送给学生,下一轮对话开始。最终,如果教师认为教学过程已经完成,它将输出一个"[END]"令牌作为其输出的结束,表示终止循环。值得注意的是,尽管我们在本文中侧重于教授数学问题,但我们的DTS管道是通用的,可以扩展到其他学科的问题(例如,物理)。
学生认知状态系统为了保证我们的数据集覆盖整个教学过程中真实多样的学生状态,需要在学生agent内部模拟不同的学生认知状态。然而,在现有的研究中,这些状态还没有一个系统和统一的定义[15]。一些先前的研究集中于特定学科的特定状态,如数学和英语[3,11,19,50],而其他研究则基于人类认知科学抽象地定义一般状态,如注意力、工作记忆和逻辑推理[14,47,53,33]。
不幸的是,这些定义要么不适合教学过程,要么难以用LLM实现。为了解决这个问题,我们从学生的角度回顾苏格拉底的教学过程如下。最初,学生需要理解手头问题的含义。然后,他/她理解教师提供的指令,并利用计算能力和获得的知识来执行指令。最终,这一过程培养了学习兴趣,并有助于培养有效的学习成果。基于这一思路,我们总结出认知状态的五个维度:
- 问题理解:指学生对给定问题的理解程度
- 指令理解:指学生理解和执行教师指令的程度。状态好的学生应该很容易完成这些指令。
- 计算:指正确推导数学表达式和数字的能力。
- 知识掌握:指学生掌握知识的程度。
- 求知欲:指学生寻求和获取新信息、提出问题、探索可能性的愿望或倾向。
基本上,我们可以定义五种类型的学生,他们在上面的一个维度上表现很差。此外,我们还增加了第六类学生,他们在各个方面都很优秀。
教学能力提升DTS pipeline(记为DiaM)构建的多轮对话保证了一个掌握基本苏格拉底教学范式的模型。然而,在DiaM中,学生对老师给出的每个指令只反应一次,并且倾向于选择更简单的学生画像,导致缺乏对长尾学生反应的模拟(如附录D中所讨论的)。在这一部分中,为了进一步增强我们的数据集的多样性和健壮性,我们通过DiaM上的数据扩充构建了更多的学生-教师单轮对话DiaS,提高了四种重要的教学能力。
具体来说,在真实的教学过程中,学生的反应可以分为以下几类。首先,从宏观角度来看,回答可以分为"不相关"和"相关"。"相关"是指与问题或教学直接相关的回答,而"不相关"是指回答与教学内容无关,如问"今天天气如何?"在图2中。
第二,在"相关"范畴内,可以进一步分为"提问"和"回答",分别指学生向老师提问和回答老师的问题。第三,根据学生对教师提问的回答是否正确,可以将"回答"进一步分为"不正确的回答"和"正确的回答"。按照这种思路,学生的回答包括四类:"不相关"、"提问"、"回答不正确"和"回答正确"。在此基础上,有四项关键的教学能力需要有针对性的提升。
首先,对于"不相关"的回答,我们希望老师能够识别它们,并将话题引向教学,比如回答"这个问题与......无关"...让我们先把注意力放在问题上......"。为了实现这一点,我们从MOOCs收集了200个与教学无关的真实学生提问,然后通过随机插入DiaM并要求教师拒绝回答来构建2000个单轮学生-教师对话(详情请参考附录C)。
第二,"提问"对应的是最关键的教学能力,即一个老师要给学生提供准确的讲解。关于这一点,我们从DiaM中随机抽取了2000份师生对话(Ti,Si ),并使用学生代理为Ti提出了另外三个问题S 1 i,S 2 i,S 3 i(参见附录C.1中的提示)。然后,我们要求教师代理提供T 1 i+1,T 2 i+1,T 3 i+1,最终形成6000个单轮学生-教师{(S j i,T j i+1)|j = 1,2,3}对话。
第三,教师应准确识别学生的"不正确回答",并指出纠正的思路。为了做到这一点,我们同样从DiaM抽取了2000份师生对话样本,运用规则和生成技术将学生的回答改写成五个错误答案。然后,我们明确地提示老师找出错误并给出回应,获得另一个10K师生对话的实例(详情请参考附录C)。最后,为了使教师能够识别相同"正确回答"的不同表达以增强鲁棒性,我们采用了用于"不正确回答"的相同的2000个单轮"教师-学生"对话,并与学生一起创建两个正确回答(参见附录C.2的提示)。随后,我们收集了教师的回答,并获得了另外4000个单轮"学生-教师"对话。
数据集概述综上所述,我们的SocraTeach由3.2节中"DeanTeacher-Student"管道构建的35K多轮对话DiaM和3.4节中通过数据扩充构建的22K单轮对话DiaS组成。DiaM的平均回合数为5.28,总共产生了208K个单轮对话实例。有关SocraTeach的更多统计数据,请参见附录d。
与现有的教学对话数据集[17,40,41,46,49]相比,我们的SocraTeach首先通过引入"院长"的角色进行监督和纠正,解决了LLM不能充分模拟教师的缺陷[51]。其次,据我们所知,SocraTeach是第一个为苏格拉底教学设计的公开可用的数据集,它专门增强了教师的四种关键教学能力。第三,虽然现有数据集通过设置学生的人口背景(例如,年级)或特定错误类型来模拟不同的学生,但SocraTeach基于教学经验在教学过程中模拟了学生的六种认知状态,这涵盖了更广泛的真实教学场景,使LLM拥有更好的教学能力。最后,SocraTeach是一个完全自动生成的大规模数据集,包含35K多轮对话和22K单轮对话,显著超过了依赖真实人类学生/教师的现有数据集(例如,最新的MATHDIAL [40]包含3K对话)。
微调SocraticLM
基于SocraTeach,我们可以通过拆分每个对话来微调一个SOTA LLM(如chatglm 3-6b[12]){(T1,S1),(T2,S2)、...}分成多轮,使用每轮的前面的上下文{(T1,S1),...,(Ti,Si)}作为输入,老师的回答Ti+1作为输出。然而,它可能会导致灾难性的遗忘,并降低模型已经具有的解决问题的能力,因为这些对话可能与用于预训练的数据不同[21,30,38]。具体来说,我们在第6.2节的GSM8K/MAWPS数据集上观察到苏格拉底式提问的准确度下降了31.2%/9.7%。因此,为了提高苏格拉底式教学法的教学能力而不损害其基本的问题解决能力,我们探索了以下三种训练策略:分别训练。要保持解题能力,一个直接的方法就是把对话和解题数据混合起来进行训练。然而,我们发现它不能产生令人满意的结果,如6.2节所示。因此,我们采用了一种单独的训练方法,其中我们首先使用对话数据对苏格拉底式教学法进行微调,然后根据从GSM8K和MAWPS中随机采样的少量解题数据对其进行微调。我们的实验表明,当问题解决数据与对话数据的比率α大约为1 10时,达到最佳性能。
指令调整。受[37]的启发,我们对对话数据和问题解决数据采用了不同的指导,模板见附录e。值得注意的是,与3.2节中的教师提示不同,这里我们的对话指导不要求模型遵循3.1节中的逐步指导问题。这是因为在训练中提供这样的信息可能会导致模型走捷径,即把教学过程简化为从提示中提取信息,而没有真正掌握教学能力。
混合提示设置。对同一任务进行混合提示设置的训练是提高逻辑思维模式推理能力的重要方法[7,55]。为此,除了GSM8K和MAWPS的原始零发解题数据,我们还构建了他们的一发版本用于训练,该版本由大约1/10的零发数据量组成。
我们的苏格拉底式教学评价体系
由于教学过程没有标准答案,以前计算模型生成的反应和带注释的反应之间的相似性的度量标准(如BLEU [43],Rouge [31])可能无法完全评估LLM的教学质量。为了解决这个问题,在本文中,我们提出了一个包含五个教学维度的苏格拉底式教学和教学能力的评价体系,据我们所知,这是该领域的首次全面探索。
- 整体质量(Overall):这一指标是对教学质量的整体和主观评价,要求教学满足苏格拉底式风格并增强学生的体验。为了整体质量,我们从DiaM中随机选择1000个单轮"学生-教师"对话,并招募10名受过良好教育的注释者,对每个模型和GPT4在相同上下文中提供的教师响应对进行盲排序(详情请参考附录F)。整体质量通过归一化胜率差1 ^ 2(1+W in-Lost W in+Lost+T ie)∈( 0,1)来估计(GPT4自己的结果是0.5)。为了确保人类之间质量判断的一致性,我们还随机构建了100个教师响应对SocraticLM和GPT4,并要求所有注释者判断哪一个更好。Kappa评分为0.70,表明人类注释者之间的一致性良好。对于我们在3.4节中阐述的四种苏格拉底式教学能力,我们提出度量标准(2)-(5)。对于其中的每一个,我们从DiaS中随机抽取100个对应的单轮对话进行测试。
- 错误答案识别准确率(IARA):这一维度关注教师是否能准确识别学生的"错误回答"。例如,在图2中,如果一个学生提供了一个不正确的答案(例如,"14"),一个有能力的老师应该能够识别并指出来。
- 正确答案识别准确率(CARA):与错误识别相反,这个维度关注的是模型能否准确识别学生的"正确-回复"。忽略这一指标可能会误导LLMs认为学生提供的任何答案都是不正确的。
- 成功解释率(SER):这个维度关注的是模型能否为学生的"提问"提供满意的解释。这种度量是主观的,但可以根据学生的实际经验转换为二进制分类。
- 成功拒绝率(SRR):这一指标是为教师拒绝回答学生的"无关"问题并将他们引回到教学内容的情况而设计的。
基于模型是否拒绝回答问题,也计算为二元分类。
与现有的教育硕士评估工作相比,我们的评估系统提供了三个主要优势。首先,它提供了更全面和充分的评估。虽然以前的工作要么依赖于相似性度量(例如BLEU [43])要么依赖于有限规模的人工评估(例如发放问卷[18]),但我们的系统评估整体教学质量以及四项关键教学能力,这提供了更系统的评估组织。第二,它使得LLM之间具有更好的可比性。受限于一个学生一次只能与一个LLM交互的事实,传统的人工评估[5,24]很难比较多个模型的有效性。相比之下,我们的系统使用跨不同模型共享的相同教学对话作为测试样本,允许同时对不同的LLM进行公平的比较。第三,得益于我们更大的SocraTeach数据集,我们的系统更加广泛和可靠,而最近的研究依赖于更小的数据集,例如最近的一个[40]只有大约600个测试对话。
表1:教学表现。对于所有指标,值越高表示性能越好。最好的方法用粗体突出显示。亚军基线用下划线表示。
实验
在本节中,我们以ChatGPT、GPT4、Vicuna7b [6]、Llama2-7b、Llama2-13b、Llama3-8b [52]、ChatGLM3-6b [12]和EduChat-32b [10]为基准,验证了我们的SocraticLM的有效性。实施细节在附录g中描述。特别是,为了公平比较,对于测试对话中教授的问题,我们省略了培训中的所有对话。除了我们在第5节中提出的评估系统,我们还邀请人类注释者对每个测试对话给出真实的教师响应,以此作为计算BLEU和Rouge的标准。
主要结果表1总结了所有型号的结果。首先,我们的苏格拉底式教学法,包含60亿个参数,展示了所有苏格拉底式教学能力的显著提高。值得注意的是,它在总体上比GPT4高出12%,在IARA上高出6%,在CARA上高出7%,在SER上高出9%,在SRR上高出23%,在反映由BLEU和Rouge测量的人类教师的反应上也高出12%。在附录H中,我们展示并分析了它们输出的例子。第二,我们的苏格拉底式教学法证明了SER的显著改善。这表明,我们提出的迪恩代理人的判断和纠正可以大大提高大型模型的解释能力时,他们的功能这个过程是客观的,可以认为是一个二元分类任务。
作为老师。第三,在图3中,我们用不同数量的逐步引导问题来评估四种教学能力,这些问题可以反映问题的难度。很明显,我们的苏格拉底式教学法在所有难度水平上都一直优于GPT4。消融术教学能力提高的重要性研究。我们在第3.4节探讨了单轮教学对话对四种关键教学能力的重要性。从表1中,我们首先观察到当这些对话被移除时(即"没有DiaS")的显著下降(例如,整体质量下降8%)。
这说明了我们的教学能力提高的必要性,并证实了我们提出的四种教学能力是有效的,以满足苏格拉底教学的真正需求。第二,IARA和SRR度量下降最多,表明当前基于LLM的教学与人类教学之间的最大差距可能在于对学生错误答案和无关问题的响应。第三,每淘汰一类单轮对话数据,所有教学能力都会出现下降,说明不同教学能力之间存在耦合效应。
图3:在不同数量的逐步引导问题上的表现。
特别是,在没有对话的情况下,学生的"正确回答"(即"w/o正确")的CARA指标甚至低于所有单轮数据被移除时的CARA指标("w/o DiaS")。我们认为原因可能是,在这种情况下,苏格拉底式教学仍然对与学生的"不正确回答"相对应的对话进行微调。这使得模型发展出一种更强的趋势,认为学生的回答是不正确的。这一现象进一步表明,有必要平衡不同类型的单轮对话,以避免过度适应特定的教学模式。
表2:没有解题数据和三种能力的表现-中ACCG、ACCM分别代表GSM8K和MAWPS上的精度。
能力平衡策略的重要性。这里我们舍弃了第4节训练中的解题数据和三种能力平衡策略,来考察它们的影响。从表2中可以看出,与ChatGLM36b相比,在没有问题解决数据的情况下进行微调("无问题")会导致GSM8K/MAWPS的精度降低31.2%/9.7%。这可能归因于教学对话和用于LLM预培训的数据之间的显著差异,导致参数中的剧烈扰动。此外,三种训练策略都是有效的。其中,单独训练/指令调谐分别对解题/苏格拉底式教学的影响最大。混合提示设置可能已经在LLM预培训中使用,因此表现出不太明显的改进。此外,值得注意的是,SocraticLM在MAWPS上取得了比ChatGLM3-6b更高的精度。我们推测原因是,通过对我们的SocraTeach数据集进行微调,SocraticLM确实学会了解决多个学生关于单个问题各个方面的问题(例如,询问每个推理步骤和涉及的知识)。这个过程让苏格拉底式教学法对解题过程有了更深入的理解,进而可以提高其解题的准确性。
图4:对话规模的影响
图5:问题解决数据规模的影响。
数据规模的影响数据规模对于训练大型语言模型的效率和效果都至关重要。为了研究这个问题,在本节中,我们改变SocraTeach数据集中多轮对话的数量以及多轮对话和问题解决数据之间的比率α。多轮对话的规模。为了研究不同数据规模的影响,我们从SocraTeach中随机选择25%,50%,75%的多轮对话,并通过多次运行DTS管道来训练SocraticLM,将其扩展到125%的对话。图4中的结果表明:( 1)我们的数据不仅有效,而且在不同的尺度上也有影响力,这可以显著提高LLMs的教学能力。(ii)随着数据量的增加,我们观察到教学能力的相应提高。这种相关性突出了数据量在模型性能中的重要性。具体而言,值得注意的是,要超越全球政策四的整体质量,至少需要75%(约26K)的对话。(iii)当数据量超过35K阈值时,它趋向于接近饱和点,在该饱和点,数据量的进一步增加对模型的能力产生较小的增量益处。具体来说,在125%的数据规模下,IARA度量显示下降,表明这种饱和的根本原因是模型识别错误答案的能力下降(整体质量的下降是后续结果)。这可能是因为,随着多轮对话数据的增加,单轮对话数据中"回复不正确"的比例下降。当多轮数据规模超过125%时,这一比例可能会降至某一阈值以下,从而导致有效性递减。
问题解决数据的规模。图5显示了当我们调整问题解决数据和对话数据之间的比率α时,SocraticLM的性能变化。趋势表明,解决问题的数据太少或太多,都不会产生令人满意的解决问题的能力。相反,需要在教学对话数据之间取得平衡。事实上,解题数据的过度引入甚至可能导致在GSM8K上准确率下降1.9%。这可能是因为在使用教学对话进行初始微调后,与苏格拉底式问题解决能力相对应的参数可能会受到干扰。当用解决问题的数据进行再训练时,需要在这种能力的欠适应和过适应之间重新取得微妙的平衡。
结论
在本文中,我们介绍了SocraticLM,这是一个旨在促进苏格拉底式"发人深省"的个性化教学的LLM。为了构建SocraticLM,我们提出了一个"院长-教师-学生"的管道来构建SocraTeach数据集,该数据集模拟了六种学生认知状态,强化了四种关键的教学能力。此外,我们还开发了一个综合的教学能力评估系统。实验证明,SocraticLM明显优于当前的LLM,如GPT4,并验证了SocraTeach数据集中每个组件的必要性。我们在附录H、I和j中讨论了更多的案例、更广泛的影响、局限性和未来的工作。
附录
A 关于问题分解的更多细节 GSM8K 原始数据中提供了每个问题的分解,我们发现这在很大程度上满足了我们的需求。因此,我们使用 GPT4 对 MAWPS 中的问题进行分解,并给出 A.1 中的提示。
A.1:问题分解提示
go
你是一名数学老师,我希望你分步骤回答我给你的数学问题。在每个步骤中,你需要首先给出一个引导性问题,然后解释解决它的过程,并满足以下标准: - 经过所有步骤后,最终结果与答案相同 - 步骤需要尽可能少 - 不是将计算过程作为一个步骤 - 不是将结果摘要作为一个步骤 - 不同的步骤以 '\n' 分隔 - 请确保您的步骤条理清晰、精确且易于遵循,并且每个步骤都建立在前一步的基础上。
#问题:Natalia 在四月份向她的 48 个朋友卖出了剪辑,然后她在五月份卖出了一半的剪辑。 Natalia 在四月和五月一共卖出了多少个片段?#答案:72 #步骤:Natalia 在五月一共卖出了多少个片段?** Natalia 在五月卖出了 48/2 = 24 个片段。\nNatalia 在四月和五月一共卖出了多少个片段?** Natalia 在四月和五月一共卖出了 48+24 = 72 个片段。
#问题:{这是目标问题。} #答案:{这是目标答案。}
B "院长-老师-学生"管道提示
B.1:学生代理提示
go
你是一名小学生,请参考对话并为我生成一个可能的答案。在生成答案时,你首先需要选择以下情况之一,然后以符合该情况的学生身份做出回答,并满足以下标准: - 你不是老师,不要给出任何老师的回答! - 不要问问题中的人。
- 你的回答应与给定的对话相一致。
情况:(1)学生不理解问题的含义;(2)学生不理解老师解释的内容;(3)学生计算错误;(4)学生知识掌握程度差;(5)学生求知欲不强;(6)学生各方面能力都很强。
以下是一些示例:#问题:Natalia 在四月份向她的 48 位朋友出售了剪辑,然后在五月份出售了一半的剪辑。Natalia 在四月和五月总共出售了多少个剪辑?#对话:[老师]Natalia 在五月出售了多少个剪辑?\n[学生]我数学不好。你能再解释一下吗?\n[老师]没问题。我们来分解一下。如果 Natalia 在五月份出售的剪辑数量是四月份的一半,并且她在四月份出售了 48 个剪辑,那么她在五月份出售了多少个剪辑?我们将四月份的数字减半。你得到了什么?#回应:选择情况 (3)[学生]我明白了,48 的一半是 240。... 这是目标问题:#问题:{这是目标问题。}#对话:{这是目标对话。}
B.2:教师代理提示
go
我是一名小学生。您是一位总是以苏格拉底式回答问题的老师。
您不能给我答案,但总是试图提出恰当的问题,帮助我学会独立思考。您需要将问题分解成更简单的部分,直到它达到适合我的水平。请以问题的形式向我解释上述步骤,从[步骤1]开始。如果您认为您已经完成教学,请在您的回答末尾加上"[END]"。
(根据学生的情况选择以下示例之一):(情况1)#问题:Natalia在4月份向她的48个朋友出售了剪辑,然后在5月份出售了一半的剪辑。Natalia在4月和5月一共卖了多少个剪辑?#步骤:[步骤1] Natalia在5月卖了多少个剪辑?\n[步骤2] Natalia在4月和5月一共卖了多少个剪辑? #对话:[老师]:Natalia 在 5 月份卖出了多少个剪辑?\n[学生]:我很困惑。
"一半"是指与 4 月份相同的数字吗?#回应:[老师]:事实上,"一半"是指一半的数量。所以,如果 Natalia 在 4 月份卖出了 48 个剪辑,那么她在 5 月份卖出了多少个剪辑?(情况 2)#问题:Randy 的农场有 60 棵芒果树。他还有 5 棵椰子树,比芒果树的数量少一半。Randy 的农场总共有多少棵树?#步骤:[步骤 1] Randy 有多少棵芒果树?\n[步骤 2] Randy 有多少棵椰子树?\n[步骤 3] Randy 的农场总共有多少棵树? #对话:[老师]:兰迪有多少棵芒果树?\n[学生]:你的意思是总共有多少棵还是只有芒果树?#回应:[老师]:我们现在只讨论芒果树。那么,仅考虑芒果树,你能根据问题告诉我兰迪有多少棵吗?(情况 3-6)......这是目标问题:#问题:{这是目标问题。}#步骤:{这是目标步骤。}#对话:{这是目标对话。}
B.3:院长代理提示
go
你是一名教学主管,以下是苏格拉底式教师的教学过程,请评价上一轮【老师】的回答,判断是否符合以下教学标准: - 如果【学生】问的是常识性问题,或者难以理解某个概念,则允许【老师】直接解释。
- 其他情况下,不能以陈述或修辞的方式给出问题的直接答案或解决方案。
- 如果【学生】犯了错误,需要以问题的方式暗示他犯了什么错误。
- 【老师】需要像老师一样说话,不能使用"让我问你"这样的短语。
- 回答必须流畅。
如果你认为回答符合标准,请回答【正确】,否则回答【错误】,解释你的判断并根据标准进行修改。
以下是一些示例:#问题:Natalia 在四月份向她的 48 个朋友出售了剪辑,然后在五月份出售了一半的剪辑。Natalia 在四月和五月总共售出了多少个剪辑?#对话:[老师]:Natalia 在五月售出了多少个剪辑?\n[学生]:我很困惑。
"一半"是指与四月份相同的数字吗?\n[老师]:不完全是,"一半"是指一半的数量。如果 Natalia 在四月份售出了 48 个剪辑,那么 48 的一半是多少?这将告诉我们她在五月份售出了多少。你能解出来吗?#回应:[正确]。
#问题:Natalia 在四月份向她的 48 个朋友出售了剪辑,然后在五月份出售了一半的剪辑。Natalia 在四月和五月总共售出了多少个剪辑? #对话:[老师]:Natalia 五月份卖出了多少个夹子?\n[学生]:是 48 加 48 除以 2 吗?就是 72?\n[老师]:你的思路对,除以 2 就是五月份卖出的夹子数量。但是我问你一个问题:48 是加起来等于 48 除以 2,还是先将 48 单独除以 2?#回应:[错误]。[老师] 的回应不正确,而且没有指出 [学生] 计算错误。[修改后的老师]:你的思路对!但是你可能计算错误。你能再算一下 48 加 48 除以 2 的结果是多少吗?#问题:Betty 今年 60 岁,是家里年龄最大的人。她的女儿比她小 40%,孙女的年龄是她母亲的三分之一。孙女多大了?#对话:[老师]:贝蒂的女儿多大了?\n[学生]:60 的 60% 是......36,所以 36?\n[老师]:你对百分比的思考是正确的,但还记得当我们说某人"小 40%"时,我们需要从 100% 中减去这个百分比。你能记住这一点重新计算一下吗?#回应:[错误]。[学生] 正确地得到了"贝蒂的女儿多大了"的答案,但[老师] 仍然问了同样的问题。[修改后的老师]:是的!你得到了贝蒂女儿年龄的正确结果。现在你可以计算出贝蒂孙女多大了。你可以试试吗?这是目标问题:#问题:{这是目标问题。}#对话:{这是目标对话。}
C 更多关于教学能力提升的内容
为了构建"不相关"学生回答的单轮对话,我们首先从DTS管道构建的DiaM中随机选取2000个对话,每个对话随机选取一轮学生的回答,并用从MOOCs收集的200个问题中随机选取的一个问题替换,然后在Dean的监督下使用Teacher Agent拒绝回答该问题,最终形成2000个单轮师生对话。
C.1:提问
go
提示 #问题:{这是目标问题。} #答案:{这是目标答案。} #分析:{这是目标分析。} #对话历史:{这是目标对话历史。} 你是小学生,请针对最后一轮【对话历史】,用简洁的语言提出三个小学生可能会问的问题,不同的问题之间用**隔开。
为了构建"错误依赖"的五个错误答案,一方面,我们识别学生回答中的所有数字(例如"2")和运算符(例如"+"),并在范围从 10 到一个数字,或者随机用一个运算符替换另一个运算符。我们应用这些规则来获得两个新的学生的回答。另一方面,我们使用 GPT4 重写原始学生的回答,并使用 C.2 中的提示生成三个错误答案。通过这五个回答,我们提示老师回答并获得 10K 个师生对话。
go
C.2:(不)正确回复提示 你是小学生,请将【学生】在【对话历史】中上一轮的回复改写为(5错)2个正确回复,满足以下标准: - 只回答【老师】上一轮提出的问题,不要问其他问题。
- 用小学生的口吻回复。
- 不同的回复之间用**隔开。
#问题:{这是目标问题。} #答案:{这是目标答案。} #分析:{这是目标分析。} #对话历史:{这是目标对话历史。}
D SocraTeach 数据集的统计数据如第 3.5 节所述,我们的 SocraTeach 包含 35K 个多轮对话 DiaM 和 22K 个单轮对话 DiaS。DiaM 的平均轮数为 5.28。平均而言,学生/老师的回答分别包含 16.4/30.3 个单词。总体统计数据总结在表 3 中。此外,从图 6(a) 可以看出,大多数教学对话由 5-6 轮组成。在图 6(b) 中,我们可视化了 SocraTeach 中学生认知状态的概率质量函数,其中 (1)-(5) 对应于我们提出的学生认知系统 (第 3.3 节) 中在某一维度上表现较差的学生画像,而 (6) 对应于在所有维度上都表现良好的学生。
可以看出,学生代理倾向于模拟各方面都很优秀的学生,或者在计算能力 (即"(3)") 或知识掌握 (即"(4)") 方面存在问题的学生。
E 教学调整模板 图 7 显示了用于教授对话数据和解决问题数据的教学模板。
F 教学质量的人工评估
为了评估不同LLM的总体质量,我们招募了10位受过良好教育的注释者,对每个模型提供的指令与GPT4进行排名。图8显示了模板。
教学质量评估
go
1.阅读以下对话,其中老师向学生解释数学问题。
2.对于学生的最后一轮回应,从四个方面评价哪个老师的指导更好: •理解:评估老师是否正确理解了学生的意图。
•解释:老师是否有效地解决了学生的问题并提供了适当且可操作的指导。
•语言:评估老师的指导是否符合苏格拉底式教学的要求,包括它以问题的形式呈现而不是直接给出答案。
•可读性:评估老师的指导是否易于阅读且不会过于生硬。
对话ID:#问题:在商店中,一张Uno Giant Family Card的价格为12美元。当Ivan买了10张的时候,每张给了$2的折扣,Ivan一共付了多少钱?#答案:100。
#分析:一张Uno Giant Family Card不是每张12美元,而是每张12-$2=10美元。Ivan为这10张Uno Giant Family Card支付了10 x 10=100美元。
#步骤:(1)一张Uno Giant Family Card多少钱?(2)Ivan一共付了多少钱?#对话历史:[老师]:一张Uno Giant Family Card多少钱?[学生]:为什么要计算折扣?[老师]:好问题!当你打折买东西时,你支付的钱比原价少。
所以,Uno Giant Family Card的原价可以帮助我们了解Ivan从折扣中节省了多少钱。现在,知道了这一点,你能试着找出Ivan打折后一共付了多少钱吗?[学生]:我不明白。折扣会如何改变每张卡的价格?[老师 A]:折扣就像是降低了卡的原价。在这种情况下,如果每张卡的原价是 12 美元,而折扣是 2 美元,那么你就要从原价中减去折扣。那么,每张卡的新价格将是 12 美元 - 2 美元。那是多少?[老师 B]:这个问题问得好!当我们说"折扣"时,我们的意思是降低原价。那么,如果 Ivan 的十张 Uno Giant 家庭卡每张都获得 2 美元的折扣,那么他每张要花多少钱?
G 实现细节
我们的 SocraticLM 是通过对 [36] ChatGLM3-6b(不是 ChatGLM3-6b-Base)进行 2 个时期的 P-Tuning 获得的,学习率为 0.02,批量大小为 64。对于数据集划分,如第 5 节所述,测试集由 400 个单轮对话组成,用于评估客观教学能力(即 IARA、CARA、SER、SRR)和 1,000 个多轮对话,用于评估主观整体质量。在 SocraTeach 中的剩余数据中,10%/90% 用于验证/训练。所有实验均在具有六个 NVIDIA RTX 3090 GPU 的服务器上进行。我们的数据集和代码可在 https://github.com/Ljyustc/SocraticLM 上找到。
H 附加模型样本
下面,我们分别展示了 SocraticLM 和 GPT4 对学生"错误回答"、"正确回答"、"疑问"和"不相关"回答的四个样本。 在第一个例子中,SocraticLM 和 GPT4 都识别出了学生的错误,但 GPT4 直接给出了答案"7",这与苏格拉底式教学的要求相矛盾。 在第二个例子中,GPT4 也给出了一个几乎完整的解决过程,这不符合苏格拉底式循序渐进指导思维的要求。 在第三个例子中,GPT4 的表达更加生硬,缺乏真正的人类教师的感觉。 在第四个例子中,SocraticLM 重新引导学生先解决数学问题,而 GPT4 则被转移去回答不相关的问题。
go
样本 1:错误回复 #问题:Brenda 的妈妈为 5 人做了饼干。如果她准备了35块饼干,每人数量相同,那么他们每个人有多少块?#对话历史:[老师]:我们怎样计算每个人能分到的饼干数量?[学生]:你不能帮我分一下吗?[老师]:好吧,你可以那样做,但了解为什么要分很重要。
分法使我们能够在一定数量的人或事物之间平均分配某物。在这种情况下,如果布伦达的妈妈为5个人做了35块饼干,你会怎样分这些饼干才能让每个人分到相同的数量?[学生]:哦,我们是不是只需将饼干总数除以人数总数?[老师]:对!现在用这种方法,如果布伦达的妈妈为5个人做了35块饼干,每个人能分到多少块饼干?[学生]:我不确定。35除以5等于多少?[老师]:好问题!让我们想一想。如果你有 5 组,你需要平均分配 35 件物品,那么每组应该放多少件?你可以先看看 5 能塞进 35 的多少次而不会超过。你能试着这样做吗?[学生]:那么这是否意味着每个人会得到 8 块饼干?SocraticLM:这是个好的开始!但让我们再检查一下。如果将 35 除以 5,会得到多少?GPT4:不完全是。如果你想象一组 35 个物体,并将其分成 5 个相等的组,你会发现每个组实际上包含 7 个物体。在这种情况下,每个人都会得到 7 块饼干。这有意义吗?
go
示例2:正确回答 #问题:杰夫每天做10个甜甜圈,一共做了12天。杰夫每天都吃一个甜甜圈。
然后克里斯过来吃了8个甜甜圈。如果每个盒子能装下10个甜甜圈,杰夫能用他的甜甜圈装满多少个盒子? #对话历史:[老师]:杰夫做了多少个甜甜圈?[学生]:"制作" 包括他吃的甜甜圈还是没吃的甜甜圈? [老师]:当我们说"杰夫制作"时,我们指的是杰夫制作的甜甜圈总数,无论他是否吃了它们。那么,杰夫一共做了多少个甜甜圈? [学生]:杰夫每天做 10 个甜甜圈,他做了 12 天,所以他一共做了 120 个甜甜圈。[老师]:没错!那么,杰夫吃了多少个甜甜圈? [学生]:杰夫吃了 12 个甜甜圈,因为他每天都吃一个,他做了 12 天。
SocraticLM:太棒了!现在,如果杰夫吃了 12 个甜甜圈,他一共做了 120 个甜甜圈,那么吃完后还剩下多少个甜甜圈? GPT4:没错!现在,问题中又引入了另一个名叫克里斯的角色。克里斯吃了多少个甜甜圈?假设克里斯吃了8个甜甜圈,我们如何计算剩下的甜甜圈总数?一旦我们知道了剩余甜甜圈的总数,我们该怎么做才能找出所需的盒子数量?现在,你能计算出杰夫需要多少个盒子来存放他剩下的所有甜甜圈吗?
go
示例3:提问 #问题:Matias 是一家书店的销售员。他星期二卖出了 7 本书,星期三卖出了三倍。如果星期四的销量是星期三的三倍,那么 Matias 这三天加起来卖出了多少本书? #对话历史: 【老师】:Matias 星期三卖出了多少本书? 【学生】:你在问什么? SocraticLM:我们来分析一下。如果 Matias 星期二卖出了 7 本书,星期三卖出了三倍,那么星期三他卖出了多少本书? GPT4:Matias 星期二卖出了多少本书?如果星期三的销量是星期三的三倍,你能算出总共有多少本书吗?
go
示例4:不相关#问题:所罗门收集的罐头数量是朱万的三倍。莱维收集了朱万的一半。所罗门收集了 66 个罐头。男孩们一共收集了多少罐?#对话历史:[老师]:朱万收集了多少罐?[学生]:如何学习语法?SocraticLM:这是个好问题!但让我们首先算出朱万收集了多少罐。如果所罗门收集的罐头数量是朱万的三倍,而所罗门收集了 66 个罐头,你能计算出朱万收集了多少罐吗? GPT4:这是一个完全不同的话题,但我可以帮忙。学习语法意味着了解语言的结构。句子中有动词、名词、形容词、副词等。
I、更广泛的影响 在本文中,我们提出了一个大型语言模型SocraticLM来实现苏格拉底式教学,苏格拉底式教学是智能教育中一种重要的教学方法,对我们的日常生活有着重大的影响。一方面,如第3.3节和3.4节所述,我们的SocraticLM可以为具有不同认知状态和各种反应类型的学生提供指导。因此,它可以支持课堂和在线平台中的多种个性化应用,更高效、更便捷地向来自不同背景的学生提供高质量的指导,从而促进教育公平和快速发展。另一方面,在我们的工作中,我们使用GPT4模拟教师和学生之间的对话来生成对话数据,完全不需要真实的人类教师或学生的参与。这种方法提供了一种无需与真人交互或对真人进行测试即可收集数据的方法,减轻了人机交互的负担,同时也避免了隐私、安全和其他伦理问题。但是,由于我们的模型需要用多轮教学对话数据进行训练,为了扩展到更多学科(例如物理),可能需要更多的教育资源(例如教科书中的问题)和训练成本。
J 局限性和未来工作 首先,从表1可以看出,SocraticLM和GPT4的SER指标分别为0.74和0.65。这表明当前的模型在回答真实复杂的学生问题的能力方面还有改进的空间。其次,本文我们重点关注数学问题的教学。
对于其他科目,我们需要额外的数据构建和训练过程。第三,本文的问题解决能力测试集是我们苏格拉底教学对话所基于的问题(即GSM8K和MAWPS)。为了更准确地评估推理能力的变化,我们将测试额外的数据集,并探索更多任务的能力平衡训练策略。最后,本文使用开源大型语言模型 ChatGLM3-6b 作为基础来构建 SocraticLM,因为它易于微调且未经过教学能力的预训练,可以更好地验证我们 SocraTeach 数据集的效果。未来,我们将利用我们的数据集微调更多的 LLM,探索其在教学和智能教育中的潜力。