大语言模型在程序设计基础教学改革中的应用探索

作者: 谢红标 刘芳 覃浩轩

大语言模型在程序设计基础教学改革中的应用探索0

摘要:程序设计基础是一门极为重要的基础课程,对培养计算思维具有重要作用,同时这门课程的教学具有抽象性,需要投入大量时间练习,存在老师教得累学生也学得累的情况。人工智能技术特别是大语言模型的出现,为程序设计基础的教学改革提供了新的思路和方法。文章首先介绍了什么是大语言模型,阐述了国内外大语言模型发展及其在教育等多个行业的应用情况,随后以程序设计基础教学为例探索利用国内著名的大语言模型辅助教学的实例和分析,为智能时代程序设计类课程教学改革提供新的思路。

关键词:大语言模型;程序设计;教学改革;教学创新

中图分类号:G642      文献标识码:A

文章编号:1009-3044(2024)08-0039-04

开放科学(资源服务)标识码(OSID)

0 引言

以ChatGPT为代表的大语言模型的崛起,带领我们进入了通用人工智能的新阶段,为教育行业带来了巨大的变革。从一开始,教育工作者会担心大语言模型会对教育产生负面影响,如会取代教师、降低学生的学习能力,从而产生抗拒心理,到现在随着大语言模型在金融、医疗和教育领域的应用越来越广泛,老师们慢慢认识到他的价值,逐渐运用到教学过程中来提高工作效率。

目前大语言模型在教学中起到辅助作用,主要表现在个性化的词汇和语法建议,生成各种教学资源,分析学习行为提供个性化的学习推荐,作为教学助手进行智能辅导和答疑,为教育教学研究提供新的视角。

尽管自2018年以来,大语言模型已在对话机器人、在线学习分析、人机协同写作和编程等教与学的场景中广泛应用,但业界普遍存在对大语言模型特性认识不够、实际应用效果不明、教学支持策略掌握不全、赋能学生核心素养培养的途径了解不深、带来的挑战认知及其应对方略不足等问题[1]。因此本文从介绍大语言模型出发,调研国内外各行业特别是教育行业运用大语言模型的一些情况,结合程序设计基础这门课程介绍如何利用大语言模型来促进教学改革。

1 什么是大语言模型

人工智能经历了4次高潮。第三次高潮是2010年前后由深度学习推动的。2022年11月,OpenAI发布由大模型支持的ChatGPT–3.5,标志着人工智能第四次高潮的到来[2]。

大语言模型是一种人工智能模型,旨在理解和生成人类语言。它在大量的文本数据上进行训练,可以执行广泛的任务,包括文本总结、翻译、情感分析等,它的特点是规模庞大,包含数十亿的参数[3]。

大语言模型取得进展主要有以下几个原因。

1) 自监督学习成本低。模型可以学习如何从输入数据中提取有用的特征,而无需人工标注数据。通过挖词构造带有标准答案的填空题,毫无成本地产生无限量的训练数据,让机器在努力学习解答填空题的过程中获得通用的语言智能。

2) 模型、数据和计算资源的扩展。如ChatGPT-3有1 750亿个参数,比人类的神经元数量还高出一个数量级,从而由量变到了质变。

3) 表达语义方式改变。传统表达方式把词看作符号,符号与符号之间需要建立额外的知识库去定义他们之间的关系,而大语言模型采用连续、稠密的词向量,利用语义距离来表示词之间的关系。

4) 用户体验更好。传统的问答系统以数据库的结构化方式存储信息,用标准SQL语句进行访问,这种方式很不自然。搜索引擎虽然因为其以非结构化方式存储信息,可以使用关键词进行搜索,但是表达还是不够自然,同时检索结果也较为粗糙。而大语言模型允许用户用自然语言的方式进行提问,并对收集的信息以参数化的方式进行存储,能充分满足用户的需求。

基于Transformer的大语言模型主要有BERT、T5和GPT三大技术路线。他们各有自己的特征[4](如表1所示)。

GPT是OpenAI开发的交互式大语言模型包括GPT-1、GPT-2、GPT-3和GPT-4几个版本。

GPT-1是最早的版本,他没有使用任何人工标注的数据,而是通过无监督学习从互联网上收集的大量文本中学习到了语言知识,其模型参数量为1.75万亿,训练数据量是1200万条,训练过程采用了预训练和微调的二段式训练策略。GPT-2是在GPT-1的基础上使用了更多的网络参数和更大的数据集,以此来训练一个泛化能力更强的词向量模型,其模型参数量为15亿个,训练数据量为3.6亿条。GPT-3是GPT系列中的最新版本相较于GPT-2,其训练数据量增加了近15倍,从40GB到570GB;同时,其参数量也增加了约116倍,从15亿到1750亿,也提升了算法性能。

不同于BERT和T5,GPT没有开源,参数量极大,需要花费极高的复现和研发成本,同时单次预训练成本约980万元人民币[5],仅适合大型企业和政府组织进行研发。

2 国内外大语言模型发展及应用情况

美国在大语言模型领域的布局方面处于领先地位。上游市场,以OpenAI和Google为代表的行业巨头和科研机构,在大模型的通用性方面实现了跨越式的突破。如OpenAI公司推出的ChatGPT是目前最具有代表性的通用语言生成应用,除了能完成连续对话、翻译、编程等工作外,可以根据用户需求修改、完善回答。在下游市场,以微软为代表的企业将其与自身产品生态相结合(如搜索引擎),极大增强了产品的竞争力[6]。如微软接入了GPT-4推出了AI版的搜索引擎New Bing,同时在办公方面也推出了365 Copilot。

英国和俄罗斯虽然也推出了Gopher和YaLM等大模型,但是和美国还有一定的差距。其中Gopher是DeepMind公司发布的大模型但是其应用范围相对来说比较狭窄,离通用型还有一定的距离。而YaLM是Yandex(俄罗斯最大的搜索引擎)推出的具有千亿参数级别的开源大模型,在语音助手和搜索中有了初步应用,但是在生成搜索结果时不能直接生成文本答案。

我国在大模型领域里已经有30多家公司发布或宣布研发大模型,如互联网巨头的BAT、华为、科大讯飞等,还有清华、复旦等知名高校。同时在应用领域有广泛的落地,比如在智能大模型中有讯飞星火、华为的TinyBERT、百度文心一言、智谱清言等。

目前大语言模型已经在搜索引擎、办公软件、金融、医疗、教育、传媒等多个行业落地应用。

如在教育方面,针对学生大语言模型主要有自主学习、合作学习和探究学习三个方面。以ChatGPT为代表的大语言模型能为学生提供个性化和定制化的学习体验,为自主学习创造了便利条件[7]。具备文字处理和数据分析能力,可以辅助学生进行考试准备、翻译、背诵和编程等活动[8],可以为学生推荐有个性化的学习资源。大语言模型提供了一种“基于对话的学习是一种包容性学习法”[9],从而促进人机和人人互动,提升动机和参与度,从而促进合作学习。大语言模型建立在丰富的知识库之上,通过辅助理解、促进语言表达,通过学习工具和跨学科应用激发思考,从而促进探究学习。针对教师教学,大语言模型能够让教师从简单的基础性工作中解放出来。如在课前准备上,大语言模型的生成功能可以帮助教师设计课堂讲义、生成教案等,同时还能帮助教师创新教学策略[10]。在课堂教学中,教师利用大语言模型的交互式学习和合作学习能够有效地增加课堂的气氛和活跃性。同时在测评方面大语言模型可以辅助教师命题并通过多角色的方式命制较为复杂的综合性试题,它强大的监控和分析能力减少教师数据处理的时间。同时,也应当规避大语言模型在教育应用可能导致的异化和失范风险,推动教育数字化转型可持续发展。

3 如何用大语言模型改进程序设计基础教学

程序设计基础是大学计算机相关专业的一门极为重要的基础课程,对培养计算思维具有重要作用,能为以后学生更高效地解决问题打下良好的基础。同时程序设计基础这门课也是面向对象基础、数据结构与算法、计算机组成原理、软件工程、数据库应用、移动应用开发等一系列课程的前置课,重要程度不言而喻。

同时程序设计基础这门课程的教学具有抽象性,需要反复理解,学生要投入大量时间练习和学习,对于教师来说大量学生的练习题设计、批改、指导、答疑等工作量也很大,导致教学效果一般,老师教得累学生也学得累的情况。

人工智能技术特别是大语言模型的应用对程序设计教学产生了深远的影响,为程序设计教学带来了新的机遇和挑战。

目前,国内对于大语言模型教育应用的具体政策尚处于初步阶段,相关政策和规范仍在研究和制定过程中。但在人工智能、教育信息化等领域的政策文件中,已经涉及了大语言模型技术在教育中的应用。如教育部《关于加强“三个课堂”建设的指导意见》提出,要加强人工智能等新技术与教育的融合,推动大规模开放在线课程(MOOC) 和虚拟实验室等公共服务平台建设[11]。国家发展改革委、教育部等六部门联合发布的《关于加快构建高校“人工智能 + 教育”新型基础设施促进教育公平和高质量发展的若干意见》也提出,要加强人工智能教育基础设施建设,推动大规模开放在线课程(MOOC) 和人工智能技术等公共服务平台建设,提高教育质量[12]。

虽然目前关于融入大语言模型的教育教学理念共识尚未完全形成,但在教育领域,人工智能助手、智能教育平台等应用已经在逐步改变传统的教育教学方式,为教师和学生提供更加便捷、高效的学习体验。融入大语言模型的教学改革会越来越广泛和深入。本文以程序设计基础这一门课为例,尝试利用大语言模型来进行教学改革以提高教学质量和学生的学习体验。

1) 利用讯飞星火进行程序设计基础知识问答,帮助学生自主学习。目前基于大语言模型的问答系统主要有四种:基于预训练语言模型的问答系统(如BERT、GPT等)、基于嵌入式模型的问答系统(如 word2vec、doc2vec等)、基于知识图谱的问答系统(如Google知识图谱、百度知识图谱等)、基于指令微调的问答系统(如谷歌Dialogflow、亚马逊Lex、ChatterBot等)和基于多模态输入的问答系统(如谷歌Duplex、苹果Siri、百度小度等)。本文采用的讯飞星火属于第一种,是科大讯飞研发的以中文为核心的新一代认知智能大模型,能用自然语言进行对话互动,我们用他来进行程序设计基础知识问答。如输入“C语言包含哪几种数据类型,各自的长度和表示数的范围是什么”,讯飞星火返回的答案如图1所示。

当然除了这些基本概念外,讯飞星火也能判断语法的正确性和理解程序基本语句的意义,如图2所示。

相对于搜索引擎而言通过这种方式学生可以进行更加高效的自主学习,提高学习主动性和积极性。

2) 利用智谱清言进行辅助式编程,提升学生编程能力。辅助式编程是一种使用计算机来帮助程序员完成编程任务的技术。它可以通过分析代码、提供建议、自动修复错误等方式,帮助程序员提高编程效率和代码质量。利用编译器的代码提示等都是一种辅助式编程:一种是基于模型的辅助式编程,另一种是基于符号的辅助式编程。而智谱清言是融合了这两种方式,在基于模型的辅助式编程中,使用编程模型来辅助编程,例如生成代码、提供代码示例和建议。在基于符号的辅助式编程中,使用符号来表示代码元素,例如变量、函数和类,并使用这些符号来辅助编程。下面让它来实现猴子吃桃问题的程序代码,如图3所示。

图3中不仅给出了正确的程序代码还进行了解释,相对于在网络上搜索答案不仅可以去除很多错误的内容,还能对疑问代码进行提问,如图3是递归实现,还可以用递推实现。

3) 利用文心一言进行辅助试题生成。辅助生成试题是利用大语言模型来创建和自动生成试题,这种技术可以大大提高教育效率,减少教师的工作负担。主要有四种方法:基于规则的方法、基于模版的方法、基于机器学习的方法、混合方法。下面让他来根据要求生成一份C语言的试卷,输入“你是一名程序设计基础C语言的教师,请你出一份C语言试卷,包含选择题2题,填空题2题,程序阅读题2题,包含知识点为基本数据类型、基本输入输出、选择结构和循环结构”如图4所示。

上一篇 点击页面呼出菜单 下一篇