基于开源模式的研究生人工智能课程建设与实践
2023-05-29于耀翔柯爱华
蔡 波,罗 剑,于耀翔,柯爱华
(武汉大学 国家网络安全学院,湖北 武汉 430072)
0 引言
2020 年3 月,教育部、国家发展改革委、财政部联合印发《关于“双一流”建设高校促进学科融合加快人工智能领域研究生培养的若干意见》提出,要加强人工智能领域研究生培养方式的融合与创新,在课程体系建设中强调“精密耦合”,以“全链条”“开放式”“个性化”为目标,打造人工智能核心知识课程体系和应用模块课程[1]。我国在《中华人民共和国国民经济和社会发展第十四个五年规划和2035 年远景目标纲要》中明确提出,要瞄准人工智能领域加强原创性引领性的科技攻关,要在新一代人工智能的理论与工程应用上有所突破、创新,还提出要在深度学习框架等开源算法、平台构建上有所贡献[2]。
人工智能的创新与发展需要人才,研究型高校作为人才培养的主力军,担负着为国家培养研究型人才的重任。为了适应新时代对人工智能领域人才的要求,对传统人工智能课程进行改革建设便成为了人工智能教育领域的重要课题。开源社区的兴起为人工智能课程建设提供了新的方向,其自身就具有巨大的优质教学与研究资源,在人工智能技术发展中起到了重要的推动作用。目前人工智能已进入一个全新阶段,开源开放已成为推动技术持续进步的行业共识和重要驱动力量。
人工智能是一门实践性很强的课程,大部分人工智能框架与模型均已开源,为人工智能课程建设带来了机遇。本次改革基于研究生的课程——高级人工智能,重点培养学生的开源意识、开源能力、团队合作精神、创新思维、研究能力。在课程改革建设过程中,首先分析传统人工智能课程存在的问题与开源背景下课程建设面临的挑战,从课程内容设置的前沿性、教学方法的高效性等方面进行分析,提出开源模式下人工智能课程建设思路与评价方法。通过开源软件、在线资源、社区协作等方式,为学生提供全方位的学习支持与实践体验,旨在培养学生的实践能力和创新意识。
1 相关研究
研究生人工智能课程改革研究,目前存在“人工智能+X”的模式助力人工智能融合其他专业[3-5],在研究生阶段开设人工智能课程,以学科交叉、跨界融合、精准培育方式赋能专业创新,为培养复合研究型人才起到重要作用。从人工智能赋能交叉学科人才培养的制度建设与培养研究中可见,人工智能课程对其他学科的创新发展和研究型人才培养赋能起到了至关重要的作用,能有效提高复合型研究人才的培养质量[6-7]。
在课程建设研究方面,基于人工智能课程的实践改革取得了较好的效果,在课程体系建设过程中通过加强教学实验、项目驱动、课题研究等方面创新教学模式,提高了研究生的动手能力、独立思考能力、研究与探索意识[8-10]。
在开源教育模式方面,目前软件工程教育已进行多种探索,从软件人才的培养模式进行改革,建立了培养方法与评价标准[11]。例如,国防科技大学软件工程课程引入开源模式,学生在软件开发课程中采用开源教学模式,通过阅读开源项目代码、参与开源项目提升学生的软件开发能力[12]。
目前,通过分析人工智能与开源模式的研究发现,大部分主要关注融合人工智能专业的交叉建设与课程,在课程建设研究上仍采用传统实验课程资源进行教学,与开源项目的对接还不够深入。开源提供了海量资源、优秀的学习案例,使学生能更好地融入前沿项目,对培养人工智能研究型人才具有一定的促进作用。虽然,开源模式在软件工程中取得了一定的成果,但软件工程侧重于参与开源软件的编写与阅读,人工智能课程的开源模式仍侧重于构建数据集和模型、优化人工智能算法等方面。
为此,本文基于开源模式的研究生人工智能课程建设原则、路径与评价方法,为研究生人工智能课程建设提供了框架参考。
2 开源背景下人工智能课程建设挑战
2.1 开源社区发展对人才培养提出新要求
根据OpenLogic 和开源组织OSI 发布的《2022 State of Open Source Report(全球开源趋势报告)》调查发现,在企业与开发者对开源技术的采用情况显示,人工智能开源框架与工具的使用排在第4 位,占比27.69%[13]。行业技术领袖均在持续行动,推动企业积极采用、贡献开源技术,并使人工智能与机器学习开源项目不断发展。
企业与开发者使用人工智能开源框架的数量在持续增长,在2022 年人工智能开源大事件中,AIGC(AI-Generated Content)相关技术引发了全球关注,OpenAI 也上线升级版文本生成图像模型DALLE2,还组织发布GPT-3 模型的交互式变体ChatGPT。其中,英伟达开源了LinuxGPU 内核模块,这些人工智能开源社区的标志性事件将对未来人工智能开源发展产生深远影响。
目前,开源发展使企业需要大量理解开源、熟练掌握开源的人工智能高级人才。高校在开源教育上有所行动,例如开展“开放原子校源行”公益项目为学校、企业、行业提供生态社区,使开源文化在校园生根发芽。武汉大学积极开展开源教学模式,倡导开源融入课程建设,成立了武汉大学OpenHarmony 技术俱乐部,是国内第二家、华中地区首家OpenHarmony 技术高校俱乐部。
综上,人工智能教育拥抱开源已成为人才培养的时代要求。
2.2 人工智能课程的内容建设应持续更新
目前人工智能课程建设主要关注人工智能的基础理论、应用场景和案例、编程实践、伦理和社会问题及跨学科合作等方面,这些内容可帮助学生全面了解人工智能的基础知识与最新进展,使其掌握实际应用能力。人工智能课程知识模块如表1所示。
面向研究生的人工智能课程需要更深入、更全面的学习课程知识,结合研究性与先进性,关注人工智能领域的发展方向,在课程建设中应重点突出建设以下方面:
(1)深入理解机器学习算法和模型。研究生更应深入学习机器学习算法和模型,包括深度学习、强化学习、贝叶斯网络等。如此,才能深入理解算法原理、特点和应用场景,并能应用这些算法解决实际问题。
(2)掌握自然语言处理和计算机视觉技术。自然语言处理、计算机视觉是人工智能的重要应用领域。研究生应掌握自然语言处理与计算机视觉的技术和算法,并能应用该技术解决实际问题。
(3)深入了解人工智能的伦理和社会问题。人工智能的发展和应用会引发部分伦理和社会问题,包括隐私保护、数据安全、公平性和透明度等。研究生应深入了解该问题,学会如何解决这些问题。
(4)学习最新研究进展和前沿技术。人工智能发展非常迅速,研究生应了解最新研究进展,学习前沿技术,掌握当前研究热点与趋势,并能进行科学研究。
此外,在课程建设和升级中应持续保持前沿性,采用开源课程形式。例如,中国人民大学朝乐门[14]在数据科学导论课程的建设中使用开源课程模式,并进行教学改革,实践表明该方法能复用教学资源,提高备课效率与质量。采用开源课程模式,师生共建课程需将课程开放,形成开源课程。同时,在GitHub 或Gitee 等开源平台进行发布,不断积累优秀经验和案例,持续迭代更新以保持课程内容的前沿性。,开源资源内容结构如图1所示。
Fig.1 Artificial intelligence open source course catalog structure图1 人工智能开源课程目录结构
2.3 人工智能课程教学方法应与时俱进
人工智能是一门复杂的学科,涵盖了多个领域和技术。为了使学生更好理解、掌握人工智能的知识和技能,一般采用理论教学方法讲解人工智能相关算法,例如搜索算法、机器学习算法、神经网络算法等。在实验教学中,通过编写代码和实现人工智能算法,使学生更好地理解、掌握人工智能的基础知识和技术。
课程上,结合机器学习、自然语言处理、图像识别等领域的项目实践,帮助学生提升实践能力,采用项目教学方式提升学生综合能力,通过小组合作方式开发项目,让学生选择自身感兴趣的领域,例如智能问答、机器翻译、自动驾驶等,通过深入了解项目,掌握人工智能应用。
为满足学生个性化需求,开展学科交叉教学。人工智能课程涉及多个学科领域,例如计算机科学、数学、统计学等,通过学科交叉教学帮助学生更好地了解不同领域的知识与技能,并在人工智能学习中获得更全面的视野和能力。教学过程可通过讨论、辩论展开人工智能的伦理与社会问题,让学生充分锻炼独立思考和表达能力。除了基础教学方法外,研究生课程还需着重以研究型课程教学方式开展,增加文献阅读与研究、参加学术会议和研讨会,实现课程开展与课题研究并行,充分提升学生的科研能力。
传统课程实践一般通过教师指定项目和作业任务,但通常情况下项目来源较为匮乏,并未考虑学生的主体需求。目前,学生学习的课程案例代码,并未参与企业级项目开发,对项目架构、编码规范、文档编写接触较少,但这些内容是学生未来进入企业所必须掌握的。然而,新技术与工具难以在课程中全部讲解,创新课程设计和优秀项目也难以持续更新,并作为课程资源加以利用。
开源作为一种开放的社交化编程模式,学生需要具有代码分析能力、编码规范意识、团队合作精神、文档编写能力等,特别在大规模人工智能程序开发中尤为重要。因此,应在教学过程中拥抱开源,培养学生开源能力,开展开源模式,例如阅读优秀开源项目代码、参与开源项目、复现论文、将自己研究开源并持续维护。
此外,开源平台自身也具有许多优秀的学习资源,学生在校期间就能快速接触各种企业级项目,学习优秀的项目架构思想和代码,了解开源社区生态,引入这些教学方式、内容对提升学生能力具有积极意义。
3 开源模式下人工智能课程建设实践
课程建设离不开资源,开源平台为人工智能教育提供了丰富的免费工具和资源,包括深度学习框架、数据集、代码示例等。这些资源能帮助学生更好地了解、掌握人工智能的基础知识和技能,并在实践中不断提升自身能力和技术水平。开源模式下的人工智能课程建设需要转变思路,利用好开源平台,使用平台资源赋能人工智能课程建设。
3.1 建设原则
开源模式下的人工智能课程建设应该遵循以下原则:
(1)共建共享。采用开源模式下的人工智能课程建设应倡导共建共享理念。在建设过程中,应充分利用社区资源和社会力量,广泛征集意见、建议,以实现优化课程内容和质量的目的。
(2)多样性。开源模式下的人工智能课程建设应鼓励多样性,以满足不同学生需求,提供初学者版、高级版、专业版等多版本课程满足不同层次、领域学生的需求。
(3)开放式课程设计。开源模式下的人工智能课程应采用开放式课程设计,鼓励学生自主选择学习内容和学习路径。课程应以项目为核心,设计具有挑战性的项目任务,以激发学生创新能力和实践能力。
(4)开放式评价。开源模式下,人工智能课程应采用开放式评价方式,鼓励学生自评、互评。评价方式应包括考试、作业、项目、论文等方面,以全面评价学生的综合能力。
(5)课程持续更新。开源模式下,人工智能课程应采用课程持续更新方式,及时反映最新研究成果和实际应用情况,应充分利用社区力量不断改进课程内容和教学方法,以满足学生需求。
综上,在开源模式下的人工智能课程建设中,需要建立完善的课程管理和质量控制机制,既确保课程内容和质量的稳定和持续改进,还需培养、引进具有实践经验和研究背景的教师和专家,确保课程的专业性和权威性。
3.2 建设路径
在开源模式下的人工智能课程建设需要作到资源开放、多方评价、持续改进、师生合作,课程建设的路径如图2所示。
Fig.2 Course construction path of artificial intelligence图2 人工智能的课程建设路径
由图2 可见,课程建设围绕开源平台展开,课程资源建设开源从开源平台获取资源,也可将资源存放至开源平台。教学活动的开展依赖于开源资源,例如学生阅读开源代码、参与开源项目、创建开源项目,因此在教学评价上要变革评价方式,引入学生在开源上的贡献进行评估。课程建设是一个持续改进的工作,需要依赖社区合作,通过社区引入专业教师团队、学生、工程师等优化课程资源,作到课程迭代和反哺开源平台。人工智能课程在开源模式下的建设路径如下:
(1)明确课程目标。首先要明确人工智能课程教学目标,例如学生应掌握的基本知识、技能和实践能力,基于目标分析确定课程内容与教学方式,满足学生需求。
(2)利用开源资源。在开源模式下利用丰富的开源资源,包括课程教材、代码、工具和案例等。在社区中搜索、收集相关资源,并进行筛选和整合,形成完整的课程内容与教学资料。
(3)多元化教学。针对不同学生的需求和学习层次,采用多元化教学方式,例如在线视频、实验、项目、论文等,利用GitHub、Jupyter Notebook 等开源工具和平台,实现课程在线教学与交互式学习。
(4)开放评价。在开源模式下应采用开放式评价方式,鼓励学生自评、互评,利用PeerScholar、GitHub、Kaggle等开源评价工具和平台,实现课程在线评价与反馈。
(5)持续改进。开源模式下人工智能课程应持续改进,及时反映最新研究成果与实际应用情况,利用社区资源和学生反馈优化、升级课程内容和教学方式。
(6)社区合作。在开源模式下借助社区力量进行课程建设和教学管理,可与其他教师、专家和学生合作,共同建设、完善课程内容与教学方式,利用GitHub、Stack Overflow等社区平台进行交流与协作。
总之,开源模式下的人工智能课程建设应注重多元化教学、开放式评价和持续改进,满足学生和社会需求,需建立完善的课程管理和质量控制机制,确保课程内容和教学质量稳定、持续提升。
4 面向开源能力的课程评价
课程评价是教学的一个重要环节,与传统课程考试或课程设计的不同之处在于,基于开源模式的课程容易获得开源代码。学生参与开源项目的过程数据是评价学生开源能力的重要指标,从考查研究生的研究报告这个角度而言,开源能力评价是其有效补充,能从学生参与开源的过程、开源成果、团队合作、文档编写等方面进行综合评价,引入开源能力的评价能引导学生进入开源领域,为国家培养开源项目的核心贡献者提供人才支撑。
4.1 开源能力评价流程
在开展面向开源能力的人工智能课程评价时,需要明确评价的对象是学生的开源能力,应考虑学生是否掌握开源工具和技术,是否具有开源项目经历及在开源社区中的贡献等,并根据不同评价目标制定相应的评价指标。具体评价指标可从以下方面考虑:
(1)开源项目参与情况。考察学生是否在开源项目中有过贡献,并能具体说明自身贡献。
(2)开源工具与技术掌握情况。考察学生是否熟悉常用的开源工具和技术,能否熟练使用。
(3)开源课程设计和实现情况。考察学生是否设计并实现开源项目,并考虑了开源社区的需求与反馈。
(4)开源社区交互情况。考察学生是否积极参与开源社区交流、互动,并能给出自身观点与建议。
(5)项目管理能力。考察学生在开源项目中的协作与管理能力,能否高效完成任务,并与团队成员进行有效沟通与协作。
在评价中要采集学生的特征数据,设计相应的评价流程和标准,确保评价结果客观、公正、可比较。在实施评价时,需考虑评价的时机、频次及评价结果的反馈和应用,要充分考虑学生的意见、建议,确保评价的有效性和可信度。
在课程迭代过程中,由于评价体系的建设和实施是一个不断迭代和改进的过程,需要定期对评价指标和流程进行评估和改进,以提高评价的准确性和有效性。此外,还需从课程内容、教学方法、项目实践等方面培养学生的开源意识和能力,让学生能主动参与开源项目和社区,具备设计、开发和管理开源项目的能力。
总之,开展面向开源能力的人工智能课程评价体系建设与实施需全面考虑评价目标、指标、工具、流程和反馈等方面,要与课程内容、教学方法和实践相结合,共同促进学生开源能力,提升开源意识。
4.2 开源能力评价体系
学生在参与开源项目中会执行提交代码、团队管理、代码审查、文档维护、issue 管理、版本发布、分支合并等活动。根据学生活动和能力要求构建评价指标并设计评价模型,从开源编码能力、开源项目管理能力、开源社交能力出发构建开源能力评价体系。学生在参与开源项目时会在开源平台中产生数据,根据该特征对学生开源能力进行建模[14]。开源能力评估特征如表2所示。
根据上述指标构建评价模型,然后评价学生开源能力,将学生开源能力评价成绩作为课程评价的重要部分,通过开源评价提升学生的开源能力,培养懂开源、会开源的研究型人才。
实践表明,在采用开源模式前,学生课程设计提交开源地址占总人数的9%,提交的文档与电子材料无法记录学生开发过程和数据,学生合作开发能力和基于开源项目的创新无法得到锻炼。
在武汉大学国家网络安全学院21、22 级研究生的高级人工智能课程中采用开源模式后,98% 的学生在Github、gitee 等平台为课程设计创建了开源项目库,提供了开源代码。通过开源能力评估体系评估开源项目表明,80分以上的项目占总项目的52%,相较于传统教学模式在开源项目率、项目优秀率方面显著提升。
5 结语
开源背景下的人工智能课程建设是迎合人工智能产业发展的举措,是一项具有挑战性的工作。本文旨在探讨如何在开源模式下,构建符合研究生人工智能课程建设的路径,通过分析当前研究生人工智能课程建设的问题和挑战,提出开源模式下人工智能课程建设方法和路径。
首先,分析开源与人工智能背景,结合当前研究生人工智能课程建设的问题和挑战,提出开源模式下课程建设的原则和路径,指出开源模式能促进课程的开放性、协作性和共享性,有利于培养学生开源意识和能力。
然后,基于课程建设原则指导开源模式下人工智能课程建设,包括课程内容设计、教学方法创新、项目实践和开源社区参与等方面,强调在开源模式下应注重研究与实践相结合,通过项目实践和开源社区参与等方式,让学生深入理解人工智能技术原理,创新人工智能算法和模型,提升学生的实践与创新能力。
最后,探讨开源模式下人工智能课程建设的评价体系,提出面向开源能力的课程评价思路和方法,包括明确评价目标和指标、设计评价工具和流程、开展评价实施、定期评估和改进、培养学生的开源意识和能力等方面。
综上所述,本文系统阐述了开源模式下人工智能课程建设的重要性、建设路径和评价体系,对推动研究生人工智能课程建设的改革和创新具有一定参考价值。