场景方案·面试题生成
本文档主要以面试题生成为场景核心,支持客户基于文心大模型快速构建业务实践,同样方法也适用于其他能力考核场景。
一、场景介绍
传统面试题编制现状可以概括为以下5方面:
题目内容与形式 | 编制流程 | 资源利用 | 更新频率与适应性 | 挑战与局限性 |
---|---|---|---|---|
题目围绕应聘者的专业知识、工作经验、个人素质等设计,形式固定,常见有选择题、简答题、论述题和案例分析题等。 | 由人力资源部门或相关领域专家编制,过程包括收集岗位需求、确定考察点、设计题目及答案等步骤。 | 企业可能参考行业通用题库或过往面试题目,部分企业建立自有题库,便于根据岗位和层级进行筛选和组合。 | 面试题更新频率低,特别是在稳定性较高的行业或企业中,部分题目可能失去时效性和针对性。 | 编制高质量面试题需要大量时间和资源,难以保证题目的全面性和有效性,固定题目形式限制了对候选人深层次能力和潜力的挖掘,答案容易泄露影响公平性和准确性。 |
综上所述,为了应对传统面试题编制的挑战,本文档主要以面试题生成为场景核心,支持客户基于文心大模型快速构建业务实践,同样方法也适用于其他能力考核场景。
下图是面试题生成解决方案全景图:
如果您想直接拉起SFT模型训练,可直接跳转至模型训练部分。
二、大模型业务需求
基于上述现状,客户期望大模型解决以下问题:
通过引入大模型,企业能提升面试题生成的效率和质量,更好地满足招聘需求。
定义好了大模型在面试题生成场景中需要满足的需求后,下面我们到业务可行性评估阶段。通常来说,基于大模型构建业务时,第一步都是业务的可行性评估,需要判断大模型是否具备处理此场景任务的能力。
三、业务可行性评估
要使用千帆ModelBuilder的模型及工具链能力,首先需要注册成为百度智能云的用户(如您已经是开发者,可直接登录使用)。
3.1 可行性评估方法
我们先用ERNIE-4.0作为baseline,进行业务可行性评估,您可以先到预置服务中开通付费。
ERNIE 4.0
百度自研的旗舰级超大规模大语言模型,相较ERNIE 3.5实现了模型能力全面升级,广泛适用于各领域复杂任务场景;支持自动对接百度搜索插件,保障问答信息时效。
如面试题类型较为简单,或成本控制较为严格,也可以考虑ERNIE 3.5,ERNIE Speed,ERNIE Lite等。
3.2 面试题生成场景评估过程
大模型可辅助出具面试题的细分场景众多,如:根据简历追问并补充资料,业务专业能力面试等。这里我们选取一个细分场景,假定业务目标:针对业务岗位,出具首轮面试题。
- 第一步,我们可以根据岗位JD需求等信息,撰写测试Prompt如下(以高级软件工程师为例):
##角色与任务##
你是一位专业的面试题编写专家,负责为高级软件工程师职位生成面试题。请根据以下信息生成高质量的面试题。
##职位描述##
- 职位名称: 高级软件工程师
- 职位类型: 全职
- 职位级别: 高级
- 主要职责:
1. 设计和开发高性能的后端服务
2. 参与系统架构设计和技术决策
3. 指导和培训初级工程师
- 关键技能和要求:
1. 精通Java和Spring框架
2. 具备微服务架构经验
3. 熟悉Docker和Kubernetes
##面试题要求##
-1.技术能力:生成5个相关面试题。
-2.行为面试:请生成3个行为面试题,评估候选人的软技能和工作态度。
-3.开放性问题:生成2个开放性问题,以评估候选人的创新思维和解决问题的能力。
-4.每个问题后面请提供简要的评分标准。
以下内容为ERNIE-4.0模型的测试输出:
技术能力
1.在Java中,你如何优化一个高并发的后端服务?请列举几种方法和它们的优缺点。
评分标准:评估候选人对Java并发优化的了解程度,看其能否提供具体、可行的优化方案,并分析其利弊。
2.使用Spring框架时,你如何保证事务的一致性和隔离性?
评分标准:检查候选人是否熟悉Spring事务管理,包括事务的传播行为、隔离级别等,以及如何在实际应用中确保数据的一致性。
3.你有微服务架构的经验,能否描述一下在微服务设计中如何处理服务间的通信?
评分标准:评估候选人对微服务通信的理解,包括同步与异步通信、消息队列、RESTful API等的使用场景和优缺点。
4.在使用Docker和Kubernetes时,你如何确保容器的安全性和性能?
评分标准:考察候选人是否了解Docker和Kubernetes的安全性措施,以及如何通过配置和优化来提升容器的性能。
5.当你面对一个复杂的系统问题时,你通常如何进行调试和定位问题?
评分标准:评估候选人的问题解决能力,看其是否有条理地通过日志分析、断点调试等手段来定位并解决复杂问题。
行为面试
6.讲述一个你过去项目中遇到的技术难题,以及你是如何解决的。
评分标准:通过候选人的描述,评估其面对挑战时的应对能力、解决问题的方法和最终成效。
7.在团队合作中,你如何处理与其他成员的意见分歧?
评分标准:考察候选人的团队协作能力和沟通技巧,看其是否能以建设性的方式处理分歧,维护团队和谐。
8.你曾经如何指导和帮助一个初级工程师提升技术能力?
评分标准:评估候选人的领导力和培训能力,看其是否有有效的指导方法和耐心来帮助他人成长。
开放性问题
9.假设你加入了一个新项目,发现系统架构存在潜在的性能瓶颈,你会如何提出改进方案并推动实施?
评分标准:考察候选人的创新思维和主动性,看其是否能快速发现问题,提出合理的改进方案,并有能力推动团队实施。
10.随着技术的不断发展,你如何保持自己的专业知识和技能持续更新?
评分标准:评估候选人的学习能力和对技术发展的敏感度,看其是否有明确的学习计划和自我提升的动力。
基于大模型返回结果,我们可以进行人工评估,初步判断是否符合要求。
评价大模型所出具的面试题质量是一个多维度、系统化的过程,涉及内容的准确性、有效性、实用性以及与大模型技术特性的结合程度。以下是对大模型所出具面试题质量进行评价的几个关键维度:
从当前模型返回结果及人工评估维度出发,可大致判断,当前场景,模型出题的满足程度可以达到70%。
从当前简单场景的测试结果来看,大模型初步的准确率较好 - 70%,我们判断,【针对业务岗位,出具首轮面试题】场景,现阶段使用大模型已经具备可行性。
当然,对于更为复杂的人设约束,需Prompt限制描述的更为具体,大模型也将面临以上几个评估维度更为具体严苛的考核要求。对此,我们可以从Prompt Engineering和SFT两个层面来进行效果优化。
四、优化点分析及优化方案
请您务必仔细阅读以下文档架构图,可在本页右侧目录中选择您关注的步骤内容进行查阅。
4.1 待优化点分析
根据多出题测试场景模型回复结果,我们大致可总结出对应的优化点如下:
题目相关性 | 题目准确性和专业性不足 | 个性化和风格匹配 | 指令遵循 |
---|---|---|---|
有时生成的题目与特定职位的要求不完全相关 | 题目缺乏深度和专业性,不能充分评估应聘者的实际能力。 | 生成的题目可能未能反映特定公司的文化和岗位特性;题目的风格可能与公司的面试风格不一致。 | 偶发Prompt中的约束不能严格遵循。 |
针对以上四方面问题,可考虑从Prompt Engineering和SFT两个层面来进行效果优化:
但这里需要明确的是,根据实践经验:
故而在效果优化上,我们建议,优先尝试Prompt优化,如果有进一步的更高标准的需求,再到SFT等复杂优化范式上做进一步尝试。
因此按照上述思路,我们针对四大问题的优化思路如下:
题目相关性 | 题目准确性和专业性不足 | 个性化和风格匹配 | 指令遵循 |
---|---|---|---|
细化提示词,增加特定职位的需求和题目要求细节,可适当增加Few shot。 | 优先细化提示词,建立完善的题目质量体系,细化题目要求、考核维度、题目结构等,若无法达到效果预期,再行SFT。 | 细化提示词,增加公司的文化特性,清晰描述面试风格,适当增加Few shot。 | 优先优化提示词,明确指令,用“强调”加强约束,若无法达到效果预期,再行SFT。 |
接下来,我们会先从Prompt Engineering角度出发,结合上述四类具体的问题点去做优化和评估。必要时,会通过SFT做进一步指令优化。
一个好的Prompt,应该包含以下几点
给大模型设定合适的身份 | 清晰、具体的任务描述 | 围栏限制 | 更完整的上下文信息 | 合理使用符号 | 明确定义输出结构 | Few shot | COT (Chain-of-Thought) |
---|---|---|---|---|---|---|---|
不同的身份视角往往能激发大模型不同的能力,可以根据场景要求进行设定 | 避免歧义,简洁易懂,和人交流一样,Prompt是和大模型的交流语言,人的视角如果判断任务要求清晰、具体,到大模型也是一样 | 不仅告诉模型要完成什么任务,也需要在一些具体的任务里,告知模型not do something,反向限制模型的输出 | 如果有背景信息,也需要放进prompt里帮助大模型理解,能更好的处理任务 | 清晰地表示输入的不同部分,或对特定内容进行标记加强。通过符号调整输入prompt结构,让大模型更容易理解。注意符号表达的一致性 | 如果对输出格式、类型有要求,一定要在prompt里明确定义,不然大模型能正确输出内容,但不能按业务预期格式,也可能导致在业务对接上不可用 | 若任务复杂或描述困难,可以在prompt中给模型提供少量成功执行任务的示例,帮助大模型理解,以及更好的控制输出预期。few shot不止能提升输出质量,也能更好的控制输出格式 | 如果涉及复杂的推理或有多个前后依赖执行步骤,COT往往能起到较好的效果。我们可以prompt中把多步骤分解为更多的中间步骤(think more steps),引导模型一步一步执行。也可以在prompt中简单的加入“请逐步思考”、“一步一步思考”(Let's think step by step)等字样 |
4.2 题目相关性优化方案
这里我们可以细化企业和岗位需求,明确面试题包含的题目类型结构及考核重点。如测试样本Prompt-2所示,测试模型出题能力:
##角色与任务##
你是一位专业的面试题编写专家,负责为ABC科技公司的高级软件工程师职位生成面试题。请根据以下信息生成高质量的面试题。
##公司简介##
ABC科技公司是一家领先的互联网公司,专注于提供创新的技术解决方案。公司重视员工的创造力和团队合作精神,倡导开放和包容的企业文化。
##职位描述##
- 职位名称: 高级软件工程师
- 职位类型: 全职
- 职位级别: 高级
- 主要职责:
1. 设计和开发高性能的后端服务
2. 参与系统架构设计和技术决策
3. 指导和培训初级工程师
- 关键技能和要求:
1. 精通Java和Spring框架
2. 具备微服务架构经验
3. 熟悉Docker和Kubernetes
##面试题要求##
1. 技术能力:
- Java和Spring框架: 生成3个相关面试题。
- 微服务架构: 生成2个相关面试题。
2. 行为面试:
- 请生成3个基于STAR模型(Situation, Task, Action, Result)的行为面试题,评估候选人的软技能和工作态度。
3. 情境模拟:
- 根据以下工作情境生成2个情境模拟题:
- 情境1: 在项目紧急上线前,发现一个严重的性能问题,你如何处理?
- 情境2: 团队内出现技术分歧,你如何协调并达成共识?
4. 文化契合度:
- 请生成2个问题,评估候选人是否与公司的文化和价值观契合。
5. 开放性问题:
- 生成2个开放性问题,以评估候选人的创新思维和解决问题的能力。
##其他要求##
- 每个问题后面请提供简要的评分标准。
- 题目难度应符合高级职位的要求。
- 请注意问题的多样性,确保全面评估候选人的各方面能力。
以下内容为ERNIE-4.0模型的测试输出:
一、技术能力
Java和Spring框架
1.在Spring框架中,Bean的生命周期包括哪些阶段?请详细描述。
评分标准:准确列举并描述Bean生命周期的各个阶段,如实例化、属性赋值、初始化、销毁等。
2.如何解决Spring中的循环依赖问题?请给出至少两种解决方案。
评分标准:能够清晰解释循环依赖的概念,并提供有效的解决方案,如构造器注入改为Setter注入、使用@Lazy注解等。
3.如何在Spring Boot应用中实现事务管理?请结合实例说明。
评分标准:能够描述Spring的事务管理概念,包括声明式事务和编程式事务,并给出具体实现示例。
微服务架构
4. 微服务架构中有哪些关键组件?请简述它们的作用。
评分标准:准确列举微服务架构中的关键组件,如服务注册与发现、API网关、熔断器等,并简要描述其作用。
5.在微服务架构中,如何保证服务间的调用安全和数据一致性?
评分标准:能够提出服务间调用安全的措施,如认证、授权、加密等,并描述保证数据一致性的策略,如分布式事务、数据补偿等。
二、行为面试
6. 描述一个你过去解决复杂技术问题的经历。当时的情况是怎样的?你采取了哪些步骤?最终结果如何?
评分标准:候选人能够清晰描述问题的背景、自己的行动步骤以及问题的解决情况,体现其问题解决能力。
7.讲述一个你带领团队成功完成项目的经历。在项目过程中,你如何协调团队成员并确保项目按时交付?
评分标准:考察候选人的团队管理和项目协调能力,是否能够有效地带领团队完成任务。
8.回想一个你面对工作压力和挑战的情境。当时你是如何调整自己的心态和应对策略的?
评分标准:评估候选人应对压力的能力,以及是否能够积极调整心态,保持高效工作。
三、情境模拟
9. 假设在项目紧急上线前,你发现一个严重的性能问题,可能会导致系统崩溃。请描述你会如何快速定位问题并给出解决方案。
评分标准:考察候选人在紧急情况下的应变能力和技术洞察力,是否能够迅速找到问题并给出有效解决方案。
10.假设团队内在技术选型上出现了分歧,有的成员支持使用新技术栈,而有的成员则倾向于保守方案。作为团队负责人,你将如何协调并推动团队达成共识?
评分标准:评估候选人的团队协调能力和决策能力,是否能够妥善处理团队内部的意见分歧。
四、文化契合度
11. ABC科技公司倡导开放和包容的企业文化。请分享一个你过去在工作中展现这种文化价值观的例子。
评分标准:考察候选人是否能够在实际工作中践行公司倡导的文化价值观。
12.在团队合作中,你如何看待和处理不同背景、不同观点的团队成员之间的差异?
评分标准:评估候选人是否具备多元文化的包容性,以及能否在团队中建立良好的合作氛围。
五、开放性问题
13. 互联网技术日新月异,你是如何保持自己的技术领先并持续学习的?
评分标准:了解候选人的学习态度和方法,评估其是否具备持续学习和自我提升的能力。
14.假设你有机会主导一个新项目的技术选型,你会考虑哪些因素?请列举并解释你的选择依据。
评分标准:考察候选人的全局思维和技术洞察力,是否能够综合考虑各种因素做出合理的技术选型决策。
由输出结果可见,随着prompt的细致化、约束的明确化,题目质量有明显上升。一次两次的回复不能说明真实表现,下面可以扩大测试规模,评估结果是否有明显提升。
4.3 题目准确性和专业性不足优化方案
在面试场景的不同阶段,我们会面临面试官不同、应聘者不同、考核重点不同、难度不同的面试题出具。某些场景,譬如“业务主管”面试,则可能面临题目在技术专业方向的难度和准确度要求较高。又或者,通用类面试题的深化理解和出具,需保证在大量出具试题时,试题严格符合考核点需求。这些情况,均需要通过Prompt Engineering和SFT等手段,保证题目准确性和专业性。此处,我们以通用类结构化面试题为例:
##角色与任务##
你是一位专业的面试题编写专家,负责为高级软件工程师职位生成面试题。请根据以下信息生成高质量的面试题。
##题目类别##
行为性结构化面试题:题目需询问个体在过去真实发生的行为或亲身经历,以过去行为预测未来工作行为,务必要避免想象或假设的事情。
##考察维度及指标##
维度名称及定义:学习能力是指对新事物保持开放的态度和强烈的好奇心,能够主动通过各种方式快速掌握新技能、新知识,并恰当地应用于生活与工作中。
##要求与规则##
-1.题目构成:题目不能过于简单,需针对个体的具体经历做提问,通过具体经历反应能力维度。
-2.题目表达时注意礼貌用语:题目提问以“您”尊称对方,避免用“你”,题目提问应注意“请”的使用。
##输出结构##
-1.请在出题的同时,输出每道题目的评分要点,应为每道题提供3~5个评分要点,以说明题目设计的考察逻辑。注意评分要点不要使用过去式。
-2.请每次输出3道题目及对应评分要点。
这里,模型可能会对【行为性结构化面试题】、【学习能力】等定义和边界不是非常清晰,导致出具的题目并不符合要求。鉴于此,我们可以在提示词中明确题目涉及的定义和边界,将【考察维度及指标】明确化,辅助模型更准确地输出:
##考察维度及指标##
维度名称及定义:学习能力是指对新事物保持开放的态度和强烈的好奇心,能够主动通过各种方式快速掌握新技能、新知识,并恰当地应用于生活与工作中。
维度指标:题目必须能询问出个体在学习能力这一维度的绝大多数维度指标上的表现(至少涵盖4个以上),具体维度指标如下:
-维度指标1:学习态度,指秉持终身学习的信念,有主动学习的意愿和坚持精神。
-维度指标2:学习动机,指出于个人兴趣、好奇心、追求成就、自我提升、环境变化等内外部原因而进行学习,能够通过分析评估为自己设定正确的学习目标。
-维度指标3:学习计划,指设定清晰的学习目标,为了实现学习目标,制定切实可行的、详细的学习计划。
-维度指标4:学习研究,指能够针对学习内容进行具体、有效地学习、思考和研究。
-维度指标5:学习资源与渠道,指根据学习目标和学习内容,找到有效的、高质量渠道,获取目标知识与学习资源。-
-维度指标6:实践练习,指采取实践、练习、试错等实际行动,以更好地掌握和应用学习内容。
-维度指标7:社会学习能力,指善于利用自身的人脉资源,通过沟通、讨论、请教、合作等方式解决学习过程中遇到的困难和疑问。
-维度指标8:学习成果与效果,指学习成果显著,并且通过学习能帮助自己达到实现目标、提升发展、问题解决等效果。
当然,这里我们还可以进一步约束模型的输出结构,以便输出题目更加规整,这里就不再赘述。
如果还想在稳定性上有进一步的提升,可以继续尝试SFT效果,参考4.6中内容。
4.4 个性化和风格匹配优化方案
在这一问题的优化中,我们可以细化提示词,增加公司的文化特性,可以在提示词中要求面试题本身需要询问与公司业务联系紧密的试题,同时清晰描述面试题风格,适当增加Few shot。如下所示:
##公司简介##
-主营业务:ABC科技公司是一家领先的互联网公司,致力于为用户提供全方位的互联网解决方案。我们的主营业务涵盖云计算服务、大数据分析、人工智能技术研发及移动应用开发等领域,通过前沿技术助力企业数字化转型,提升运营效率。
-公司规模:2万人公司,业务横跨亚欧大陆。
-企业文化-在ABC,我们秉承“创新、卓越、协作、共赢”的企业文化,不断探索技术边界,追求服务极致。我们坚信,以客户需求为导向,以团队协作为基础,必能创造更多互联网新价值,共赢未来。
##题目格式及举例##
请顺序标号所出题目,并在题目下给出3-5个评分点。如:
1.请描述一个你最近一年实现难度最大的项目,并请明确您在本项目中的具体工作。请总结这个项目的难点及您在其中有何成长。
考核点:
(1)项目难度与应对能力;
(2)个人角色与贡献;
(3)成长与自我提升。
4.5 指令遵循优化方案
在严格要求题目内容边界、题目格式的场景中,指令遵循也是模型面临的典型偶发问题。譬如,在面试题出具时,需要模型出具问题必须符合某一人力资源模型,不允许模型出现一般疑问句,必须考核多重维度等。模型有可能出现指令遵循不好的情况,这里我们先尝试优化【要求与规则】;如改善不达要求,可以加入【强调】。
##要求与规则##
-1.每个问题应使用STAR模型(Situation, Task, Action, Result)进行回答。
-2.每个题目必须询问一次具体经历,题目形式应为特殊疑问句,避免出现‘是否’、‘有没有’、‘有没有哪次’等一般疑问句式。
-3.每道题目需至少考核“维度考核指标:学习态度、学习动机、学习计划、学习研究、学习资源与渠道、实践练习、社会学习能力、学习成果与效果”中4项。
-4.题目表达时注意礼貌用语:题目提问以“您”尊称对方,避免用“你”,题目提问应注意“请”的使用。 -5.原创性与新鲜度:题目须由你原创,并且是公共网络上没有出现过的题目。
##强调##
-1.单一维度聚焦:切记题目须单一聚焦于学习能力,重点考察学习能力,避免在题目中融入多个考察维度,如问题解决、团队协作等,以保持对学习能力的单一聚焦。
-2.请务必不要出现行为情景性结构化面试题(题目通常会为面试者设置一个事件情境,要求面试者以情境中的角色给出自己的思考和做法)和认知性结构化面试题(题目通常是询问面试者对某一个观点的看法和理解,以此了解其思想、认知)。
-3.每个题目必须询问一次具体经历。
-4.坚决避免出现‘是否’、‘有没有’、‘有没有哪次’等一般疑问句式。
此外,也可以尝试用ERNIE Speed,ERNIE Lite,查看是否指令遵循更优。
对于更多类似问题,如提示词优化不能彻底解决问题,可以尝试去做SFT训练来优化,SFT训练部分参考4.6中内容。
4.6 模型调优方案
这里首先需要明确,SFT能优化提升的,更多在指令遵循、任务理解、人设要求、格式输出稳定性上,并不能将模型不知道的知识训练进去。
一般SFT训练优化我们分下面几个步骤:
4.6.1 训练数据集准备
首先整理高质量的SFT训练数据集。
我们建议对数据充分过滤、清洗,数据完成去重、错字处理,不缺失核心数据,保证每条数据的格式、内容都符合预期,是精标数据。其中问答对数据集中的问题,都是用户真实的提问数据;数据集中的回答,都是正确有效的标准答案。
按照经验,通常需要上千条的精标数据,才能通过SFT训练出一个效果较好的模型,建议1000条数据起步,能到10000条数据规模预期效果会较好。
下面以行为性结构化面试题场景举例,对应的SFT数据集应该如何整理:
数据格式:本实验是采用SFT调优方式,对于SFT调优,需要使用Prompt+Response数据格式。
在此场景中,可以将之前优化后的prompt一并带入,问题为任务prompt+用户query,回答按预期优质回复整理:
序号 | 问题 | 回答 |
---|---|---|
1 | ##角色与任务## 你是一位专业的面试题编写专家,负责为高级软件工程师职位生成面试题。请根据以下信息生成高质量的面试题。 ##题目类别## 行为性结构化面试题:题目需询问个体在过去真实发生的行为或亲身经历,以过去行为预测未来工作行为,务必要避免想象或假设的事情。 ##考察维度及指标## 维度名称及定义:学习能力是指对新事物保持开放的态度和强烈的好奇心,能够主动通过各种方式快速掌握新技能、新知识,并恰当地应用于生活与工作中。维度指标:题目必须能询问出个体在学习能力这一维度的绝大多数维度指标上的表现(至少涵盖4个以上),具体维度指标如下: -维度指标1:学习态度,指秉持终身学习的信念,有主动学习的意愿和坚持精神。 -维度指标2:学习动机,指出于个人兴趣、好奇心、追求成就、自我提升、环境变化等内外部原因而进行学习,能够通过分析评估为自己设定正确的学习目标。 -维度指标3:学习计划,指设定清晰的学习目标,为了实现学习目标,制定切实可行的、详细的学习计划。 -维度指标4:学习研究,指能够针对学习内容进行具体、有效地学习、思考和研究。 -维度指标5:学习资源与渠道,指根据学习目标和学习内容,找到有效的、高质量渠道,获取目标知识与学习资源。 --维度指标6:实践练习,指采取实践、练习、试错等实际行动,以更好地掌握和应用学习内容。 -维度指标7:社会学习能力,指善于利用自身的人脉资源,通过沟通、讨论、请教、合作等方式解决学习过程中遇到的困难和疑问。 -维度指标8:学习成果与效果,指学习成果显著,并且通过学习能帮助自己达到实现目标、提升发展、问题解决等效果。 ##要求与规则## -1.每个问题应使用STAR模型(Situation, Task, Action, Result)进行回答。 -2.每个题目必须询问一次具体经历,题目形式应为特殊疑问句,避免出现‘是否’、‘有没有’、‘有没有哪次’等一般疑问句式。 -3.每道题目需至少考核“维度考核指标:学习态度、学习动机、学习计划、学习研究、学习资源与渠道、实践练习、社会学习能力、学习成果与效果”中4项。 -4.题目表达时注意礼貌用语:题目提问以“您”尊称对方,避免用“你”,题目提问应注意“请”的使用。 -5.原创性与新鲜度:题目须由你原创,并且是公共网络上没有出现过的题目。 ##输出结构## -1.请在出题的同时,输出每道题目的评分要点,应为每道题提供3~5个评分要点,以说明题目设计的考察逻辑。注意评分要点不要使用过去式。 -2.请每次输出5道题目及对应评分要点。 -3.请按照我给的结构进行输出,以达到格式清晰、便于阅读的效果,格式参考如下: 题目1:过往的学习经历中,您除了掌握学校要求的学科知识外,还自己学习过哪些内容,学习这些内容的出发点是什么? 评分要点: 1)能清晰地描述自己学习过的知识、技能、技巧或方法,及学习的动机和原因。 2)运用多种方法进行学习和提高,包括但不限于向他人请教、上网查找资料、报课报班等。 3)将学到的知识或技能用在任务中,过程中不断尝试、练习和精进。 4)说明学习这些内容之后带来的改变与影响,如扩展知识面、解决现实难题、实现自我突破等。依此类推 |
题目1: 请回忆一次您在学习中遇到难题是如何解决的,并说明您采用了哪些方法来克服这一挑战。 评分要点: 1)能够详细回忆并描述学习中遇到的难题。 2)列举采用的不同方法和策略来尝试解决问题。 3)阐述最终如何成功克服难题,以及从中的收获。 4)展现问题分析与解决的能力。 题目2: 请描述一次您通过自我学习掌握新知识的经历,并分享您是如何评估自己的学习效果的。 评分要点: 1)能够具体描述自我学习的经历及所学内容。 2)阐述学习过程中采用的方法和资源。 3)分享如何检验和评估自己的学习效果。 4)展现自我驱动和自我管理的学习能力。 题目3: 回忆一次您与他人合作学习的经历,并讨论这种学习方式对您有哪些影响。 评分要点: 1)能够清晰描述与他人合作学习的具体情境。 2)阐述合作学习过程中各自的角色与贡献。 3)讨论合作学习对个人学习方法、效率等方面的影响。 4)展现团队协作与沟通能力。 题目4: 请讲述一次您通过学习提升了某项技能的经历,并分享您是如何将这一技能应用到实际生活中的。 评分要点: 1)能够详细描述提升某项技能的学习过程。 2)阐述技能提升后如何在实际生活中加以应用。 3)分享技能应用带来的具体成果或效益。 4)展现学习成果的转化与应用能力。 题目5: 请回忆一次您通过创造性学习解决问题的经历,并讨论这种学习方式对您的启发。 评分要点: 1)能够具体描述通过创造性学习解决问题的情境。 2)阐述创造性学习过程中采用的思维方法与技巧。 3)讨论创造性学习对解决问题带来的帮助与启发。 4)展现创新思维与解决问题的能力。 |
…… | …… | …… |
我们建议您准备1000条数据参与训练。另外需要注意的是,这里训练数据集的样本需要根据想要优化的方向,保证合理的分布。如,若本次SFT,希望同时解决模型敏感问题回复中几大类问题,则这几类问题需按照实际出现概率,合理分布,给到样本。
在准备好数据集后,可以传到本平台数据集模块。
选择Prompt+Response数据类型,根据需求选择存在在BOS里或平台共享存储中。
4.6.2 创建SFT训练任务
SFT训练又分为全量更新与LoRA两种方式。
一般来说,SFT全量更新效果最优,在本次准备的训练数据集有1W的基础上,接下来我们直接选择SFT全量更新的训练方式。
基于在Prompt Engineering环节的效果评估,这里建议直接选择ERNIE-Speed模型来做SFT
接下来是训练任务的参数选择,可以主要关注两个较为关键的参数:
- 迭代轮次(Epoch): 控制训练过程中的迭代轮数。轮数增加代表会使用训练集对模型训练一次。
- 学习率(Learning Rate): 是在梯度下降的过程中更新权重时的超参数,过高会导致模型难以收敛,过低则会导致模型收敛速度过慢,平台已给出默认推荐值,也可根据经验调整。
在1000条数据时, Epoch建议设置为10(10000训练数据集的情况下,我们建议Epoch设置为2),Learning Rate保持默认值即可。
其他参数使用默认值进行训练即可,默认的参数是根据多次实际训练经验总结出的较为通用的设置建议。如果有丰富的训练经验,也可以根据需求自行调整参数,在【更多参数】栏里进行设置。
接下来是训练数据配置,选择之前准备好的训练数据集即可,根据保存位置进行选择。
本场景中,模型只需要处理单个题目出具问题,不需要做其他的对话或通用任务,因此不用勾选混合训练。
在测试集配置里,保证测试集数据不参与训练,否则会导致评估分数过高,无法客观评估训练后的模型效果。
接下来提交训练任务即可,提交后的任务可以在SFT任务列表中查看:
训练过程需要一定的时间,可以在训练日志或训练过程可视化功能里,查询当前训练具体情况。
4.6.3 SFT训练过程评估
模型训练阶段,我们一般靠观察Loss曲线来判断模型是否具备更好效果。训练即是目标损失函数的优化过程,通常损失函数的值会随着优化算法的迭代不断变小,如下图就是标准的Loss收敛曲线。
但也可能会有其他异常情况,如梯度不收敛,或过拟合。
一般出现梯度不收敛或过拟合,需要适当调整参数。
4.6.4 SFT模型发布
在观察到模型训练指标符合预期后,我们可以将SFT后的模型发布到线上使用。
发布后的模型可以在【我的模型】中查看,接下来可以对训练好的模型做部署和评估。
SFT后的模型,需要部署后才能进行调用。
4.6.5 SFT模型部署
在观察到模型训练指标符合预期后,我们可以将SFT后的模型发布到线上使用
当前ERNIE 4.0不支持部署,直接以公有云调用的方式使用。ERNIE Speed、ERNIE Character、ERNIE Lite、ERNIE Tiny可根据需求,选择版本部署至私有资源池进行调用。SFT微调后的模型,都需要进行部署后才可以调用。
选择在【我的模型】中,选择发布后的对应模型,进行部署:
指定API地址:
选择付费方式和部署资源:
完成部署后,可在【在线服务】-【我的服务】中,进行测试/管理。
在部署完成后,我们就可以进行效果评估了。
经评测,SFT后的模型在指令跟随上,较之前prompt优化结果还有明显的提升
注意:Prompt Engineering、模型训练,是可以正交使用的,训练好的模型也可以持续优化prompt
大模型效果评估
做完对应的调优后,我们可以对优化效果开始进行评估。评估过程一般包含建立评估体系和大模型批量推理开始评估。
5.1 建立评估体系
开始评估前,需要建立对应的评估体系。在AI面试出题场景中,多为业务侧工作人员针对业务进行人工评估,这里我们可以定义评估体系如下:
5.1.1 评估体系
(1)准确性(40分) | (2)清晰度(20分) | (3)创新性(20分) | (4)实用性(20分) | (5)一票否决项 |
---|---|---|---|---|
评分标准:面试题与岗位要求高度相关,能够准确反映应聘者能力水平。(32-40分)面试题与岗位要求基本相关,但部分题目偏离核心考察点。(24-31分)面试题与岗位要求关联度较低,难以准确反映应聘者能力。(16-23分)面试题完全脱离岗位要求,无法反映应聘者能力。(0-15分) | 评分标准:面试题表述清晰,无歧义,易于理解。(16-20分)面试题表述基本清晰,但存在个别模糊表述。(12-15分)面试题表述不够清晰,存在多处模糊或歧义。(8-11分)面试题表述混乱,难以理解。(0-7分) | 评分标准:面试题设计新颖,能够全面考察应聘者的创新思维。(16-20分)面试题设计具有一定新意,但仍有改进空间。(12-15分)面试题设计传统,缺乏创新性。(8-11分)面试题过于陈旧,无法适应新时代招聘需求。(0-7分) | 评分标准:面试题在实际面试中具有高度实用性,能够有效筛选人才。(16-20分)面试题实用性一般,部分题目需调整以适应实际需求。(12-15分)面试题实用性较低,需大幅修改以提升实用性。(8-11分)面试题缺乏实用性,无法满足面试需求。(0-7分) | 存在以下情形之一的,该面试题将被一票否决,即评估结果为不合格:面试题存在违法、违规或歧视性内容。面试题泄露公司机密或涉及敏感信息。面试题与应聘岗位完全无关,无法用于该岗位面试。 |
5.1.2 评估示例
内容 | 描述 |
---|---|
面试题样本 | 请描述一个你过去解决复杂问题的经历,并说明你如何运用创新思维来处理这个问题。 |
评估过程 | 准确性(40分)该面试题与评估应聘者的问题解决能力和创新思维水平高度相关。题目要求应聘者描述具体的经历,并阐明如何运用创新思维,这能够较好地反映应聘者的实际能力。因此,该题在准确性方面得分较高。 评分:36分 清晰度(20分)此面试题表述清晰,无歧义。它明确要求应聘者描述一个具体的经历,并解释如何运用创新思维解决问题。题目结构简洁明了,易于理解。 评分:18分 创新性(20分)虽然这个面试题是一个比较常见的问题类型,用于评估应聘者的创新能力和问题解决技巧,但它本身在问题设计上并不具备特别的创新性。题目没有采用新颖的角度或方法来考察应聘者,因此在这方面得分中等。 评分:12分 实用性(20分)该面试题非常实用,能够帮助面试官了解应聘者过去处理复杂问题的经验和思维方式。通过应聘者的回答,面试官可以对其问题解决能力和创新思维进行实际评估,这对于筛选人才非常重要。 评分:18分 一票否决项检查:该面试题没有包含违法、违规或歧视性内容,也未泄露公司机密或涉及敏感信息。同时,它与评估应聘者的相关能力紧密相关,不存在与应聘岗位完全无关的情况。因此,该题未触发一票否决项。 综合评估结果:该面试题在准确性和清晰度方面表现优秀,实用性也较强,但在创新性方面有待提升。总体而言,这是一个质量良好的面试题,可以用于实际面试流程中。 总分: 36(准确性)+ 18(清晰度)+ 12(创新性)+ 18(实用性)= 84分(良好)根据这个评估结果,我们可以决定将该面试题纳入面试题库,并在未来根据实际情况和反馈进行必要的调整和优化。 |
5.2 评估流程
通过这个评估体系,可以系统、全面地评估大模型生成面试题的质量,确保其能够有效、准确地评估应聘者的能力和素质。
5.3 大模型批量推理评估
接下来,我们对准备好的评估数据集进行跑批评估。当前有两种方式跑批:
- 在大模型的选择上,我们建议建议采用多个模型进行验证,可以观察在不同大模型上的表现差异,帮助确定最终模型选择。
- 在优化手段的评估上,我们建议把之前所有的优化过程都纳入评估体系中,观察调优效果的变化,包含Prompt优化手段,以及SFT的优化手段。
其他优化建议
产品/业务优化建议
- 不同模型的能力特点稍有差异,我们建议您测试阶段,多测试几类模型,明确业务与模型的契合度。
SFT建议
- 针对业务需要,明确SFT所需解决问题的方向,提供优质数据,有效提高模型回复质量;
- 持续提高SFT训练数据量;
- 调整数据分布比例,观察效果变化;
- 按需调整训练参数,观察Loss收敛效果。
Prompt优化建议
- 建议多尝试,Prompt还是有持续优化的空间。有时可能一字之差,对结果生成的概率也有很大的影响,要多做尝试才能找到更优秀的Prompt。往往需要多次尝试,才能获得到一个较为稳定的prompt;
- 多把大模型当人来沟通,找到最合适的沟通方式。在每一次调整prompt后,分析大模型返回结果差异,判断不符合预期的原因,进一步调整prompt;
- 扩大测试样本/次数,一两次的结果可能不能反应真实情况,建议扩大测试样本基数评估准确性。