1. 巩固大模型理论知识
(1) 模型原理:学生能够深入理解大模型的基本原理,如深度学习大模型微调、检索增强生成、领域大模型开发等。
(2) 数据集知识:学生能够熟悉用于训练大模型的数据集,包括使用LangChain编程完成数据集的构建、标注、预处理等,还有提示词的编写、调用。
(3) 训练策略:学生应了解大模型的微调策略,如混合精度训练、优化算法等。
(4) 评估指标:学生能够熟练使用各种评估指标来评价大模型的性能,如准确率、召回率、F1分数、困惑度等。
2. 实践技能提升
(1) 模型搭建:学生能够通过编程调用搭建大模型,包括选择合适的大模型、调用大模型等。
(2) 训练与调优:学生能够通过编程微调大模型,并根据实验结果进行模型调优。
(3) 实验记录与分析:学生能够记录实验过程,分析实验结果,并撰写实验报告。
3. 综合能力培养
(1) 问题解决能力:面对实验中的问题和挑战,学生能够独立思考,提出解决方案,并验证其有效性。
(2) 团队协作能力:在团队项目中,学生能够与他人有效沟通,分工合作,共同完成实验任务。
(3) 创新能力:学生应能够在实验过程中发挥创新思维,尝试大模型的新应用,以提高模型的性能。
4. 拓展知识与应用
(1) 模型应用:学生能够了解大模型在各个领域的应用场景,如问答、客服和专业咨询等。
(2) 前沿技术追踪:学生应关注大模型领域的最新研究进展,了解新技术和新方法,保持对前沿技术的敏感度。
(3) 跨学科融合:鼓励学生将大模型与其他学科进行融合,如心理学、社会学、医学等,探索新的应用场景和价值。
5. 反思与持续改进
(1) 实验反思:学生能够对自己的实验过程进行反思,总结经验和教训,为未来的项目设计提供借鉴。
(2) 持续改进:学生应具备持续改进的意识,不断优化实验方案和方法,提高实验效率和准确性。
通过以上实验教学目标的设定,可以确保学生在完成大模型实验后,不仅掌握了相关的理论知识和实践技能,还具备了解决问题、团队协作、创新等综合能力,为后续的学习打下坚实的基础。
一、实验必要性
作为深度学习的重要技术应用,大模型训练(微调)和推理过程对硬件资源的需求极高,一般的计算设备往往难以满足其对GPU算力的苛刻要求。GPU作为加速深度学习计算的核心硬件,其强大的并行处理能力对于大模型的训练至关重要。如果缺乏足够的GPU算力,模型的训练速度将受到极大限制,甚至可能无法完成训练。此外,深度学习大模型本身具有一定的技术复杂性,不仅体现在模型架构的设计上,还体现在实验环境的配置和调用上。这些复杂性要求用户具备深厚的专业知识和技能。
通过虚拟仿真实验系统,学生可以使用一般的电脑就可以虚拟使用大模型,不必直接使用昂贵的GPU资源,但其有身临其境的体验。这样就可以低成本地使用大模型,且系统可以一步步引导学生进行编程实验。进行大模型仿真实验不仅是为了验证常用大模型在不同任务上的表现,评估其泛化能力和鲁棒性,更是为了深入理解大模型算法的工作原理和性能特点,为后续的算法优化和应用开发提供理论支持。
此外,在学生体验了基本的大模型调用和微调等操作后,实验系统也提供实际的GPU资源供学生设计新的案例,推动创新应用。
二、实验实用性
通过大模型虚拟实验,学生可以学习国内外开源预训练大模型的微调,提高其在特定任务上的性能。借助特定领域知识库,实验中使用检索增强生成技术,提升大模型的对垂直领域问题的解决能力。实验还可以指导实际应用中的模型选择和部署策略,降低开发成本和提高效率。此外,通过自主实验还可以促进学生对大模型的创新应用能力培养。
以上的虚拟大模型实验和虚实结合大模型实验,都分为学习模块和考核模块,其中虚拟实验系统可以自动给出评分;虚实结合大模型实验,系统也可以对程序进行自动检查评分(创意需要人工辅助评分)。
三、教学设计的合理性
本实验的教学设计充分考虑了大模型算法的特点和学生的学习需求,旨在通过实践操作帮助学生深入理解大模型的工作原理和应用方法。教学内容涵盖了大模型算法的关键技术、应用案例以及训练和优化的基本流程和方法。教学方法采用案例讲解和实验操作的形式,引导学生自主设计实验方案,培养其独立思考和解决问题的能力。同时,通过小组讨论和案例分析等形式,促进学生之间的交流和合作。
四、实验系统的先进性
(1)本项目开发的大模型虚拟仿真系统虚实结合,以虚拟的实验环境为主,使用几个主流的国内外预训练大模型事先开发了客服对话、专业咨询等近10个实验,大模型调用过程中的中间结果都存储在数据库中,学生实验时使用简单的电脑,就可以一步步虚拟完成实验,能够满足大模型实验的实验要求。学生按照实验的操作提示,就可以一步步地完成提示词的编写、大模型的调用、检索增强生成、结果查看等步骤代码。上述每个步骤通过才能得分,并进入下一步。
(2)学生操作的直观性与互动性
学生根据系统提供的实验操作提示,可以循序渐进地完成提示词的编写、检索增强生成、大模型的调用以及结果的查看等步骤。每一步骤完成后需通过验证才能得分,并进入下一阶段。这种设计不仅确保了学习的连贯性,也提高了学生的学习动力。
(3)深度学习框架与可视化工具
为了支持各种深度学习大模型算法的调用和微调,系统采用了通用的技术框架(如LangChain等)作为实验平台。同时,系统还提供了丰富的可视化工具,帮助学生迅速完成实验环境的配置,并利用预制的大模型进行分析。
(4)为了提高学生的举一反三能力,实验系统还提供了学生自主开发大模型的功能,并给与一定的GPU实际算力的支持。
综上所述,大模型虚拟实验在教学中具有比较高的重要性。通过先进的实验系统和合理的教学设计,可以帮助学生深入理解大模型的调用过程和应用开发方法。
(1)实验原理
1)虚拟实验环境下的实验
本项目开发的大模型虚拟仿真系统融合了虚拟与实际的实验环境,其中虚拟环境占据主导地位。通过利用国内外主流的预训练大模型,系统预先开发了近10个客服、聊天、专业咨询等实验。这些实验的运行中间结果均被存储在数据库中,学生使用低代码开发(虚拟的LangChain环境,不用安装)和简单配置的电脑就能轻松重复实验,从而满足大模型实验的各项需求。
使用低代码开发方法,虚拟大模型实验系统示意图如下:

a) 预训练模型微调
ChatGLM、Baichuan、LLaMa等大语言模型的微调是使大语言模型适应特定任务的关键步骤。例如,ChatGLM通过微调可以应用于问答、聊天、咨询等场景,使其生成更符合任务需求的回复。
这个过程不需要学生使用GPU资源,系统会事先在GPU服务器存储好实验中间结果,重用即可。
b) 调用大模型与提示词设计
通过练习提示词设计引导大语言模型执行特定任务。
学生只需按照模板编写提示词,然后“调用”大模型,就可以看到结果(系统事先在实际的系统运行把结果存储回放)。
c) 上下文学习、思维链与少样本学习
通过实例实现上下文学习、思维链、少样本学习。
学生只要选择系统预先提供的推理链实例和小样本数据,大模型就可以学习其思路,给出推理结果。这个过程也是实现结果存储回放。
d) 应用案例分析
除了设计问答与聊天实验外,还开发了专业客服和专业问题咨询,通过检索增强生成(RAG)技术,训练在特定专业领域的数据集上,模型可以学习到该领域的专业知识和术语,并为用户提供诊断建议。
学生可以选择、使用上述应用场景,选择某个或某些系统给定的问题,系统就虚拟可以给出对话、咨询结果。
2)学生自主开发大模型
为了提升学生的创新能力和举一反三的能力,实验系统特别设计了学生自主开发大模型的功能。系统不仅提供了GPU实际算力的支持(默认每位同学30G流量),还通过自动测评的方式对学生的设计进行评估和打分。
知识点:共6个
1.大模型预训练模型调用(包括一般调用和RAG)
2.大语言模型预训练模型微调
3.提示词设计
4.大语言模型思维链
5.大语言模型小样本学习
6.大语言模型的创新应用设计
(2)核心要素仿真设计
大模型虚拟实验系统的开发不仅融合了虚拟与现实的精髓,这样的环境不仅为学生提供了一个简单、易用的实验平台,同时也极大地丰富了他们的学习体验。
在系统的研发过程中,深入调研了行业内广泛认可的预训练大模型,从中选取了数个在国内外的模型作为基础模型,预先构建了多个接近实际场景的客服对话、咨询等具体实验。其中,如何解决大模型对算力的需求问题,在虚拟实验阶段可以先在带GPU的服务器上预先实验,并记录每个步骤的结果,事先存储在数据库中。学生实验时无需再真实地使用GPU,只需要通过人机接口,就可以复现整个实验过程,起到与实际物理系统仿真相同的效果。这些实验的设计初衷是模拟真实场景中的对话和交互,使学生在没有实际开发经验的情况下,也能通过模拟实践,更好地理解和掌握大模型的应用。
为了确保实验数据的完整性和可追溯性,在系统设计时特别注重了大模型调用过程中的中间结果存储问题。每一次的模型调用都可能产生大量的中间结果,这些结果对于学生的学习和理解至关重要。这样的设计不仅方便了学生随时查阅和回放实验过程,更为他们提供了一个深入了解大模型运作机制和实验结果。学生只需通过简单的电脑设备,就能轻松回放整个实验过程,观察每一步操作对模型输出的影响,从而更加深入地理解大模型的工作原理和应用技巧。
在自主实验阶段,才使用带GPU算力的服务器,这部分的实验学生只要通过人机接口调用GPU,无需安装驱动程序和配置,只要集中精力设计大模型的应用开发思路即可。
一、实验环境启动
选择远程访问工具,输入虚拟主机的地址。输入用户名和密码,连接虚拟主机,访问用户界面。在用户界面上,可以像在本地计算机上一样进行操作,进行开发和运行程序等。
二、基础和创新应用实验
a)大语言预训练模型微调
· 数据集:准备特定任务的数据集,包括训练集、验证集和测试集。
· 微调策略:选择适当的微调策略,如冻结部分参数、更新顶层参数等。
· 性能评估:使用验证集虚拟评估微调后的模型性能。
仿真设计:
设计一个数据集管理模块,允许用户上传和管理数据集。
提供微调策略选择界面,允许用户自定义微调参数。
进行模型虚拟微调,并使用验证集进行性能评估,将结果展示给用户。完成后系统自动给出评分。
b)大语言模型预训练模型调用
· 模型选择:根据任务需求选择合适的预训练大语言模型,如ChatGLM、Baichuan、LLaMa等。
· API接口:通过预定义的虚拟接口调用预训练模型,传递输入数据并接收输出结果。
· 数据处理:确保输入数据符合模型要求的格式和预处理步骤。
仿真设计:
设计一个用户界面,允许用户选择预训练模型。
提供一个数据上传和预处理模块,确保数据符合模型要求。
通过界面虚拟调用API接口,并将结果返回给用户。完成后系统自动给出评分。
c)提示词设计
· 任务理解:深入理解任务需求,确定提示词的目的。
· 提示词类型:选择合适的提示词,如主题提示词、风格提示词等。
· 实验验证:验证提示词的有效性。
仿真设计:
设计一个提示词编辑界面,允许用户输入和编辑提示词。
提供提示词类型选择和推荐功能,帮助用户快速构建有效的提示词。
允许用户进行多轮输入提示词,虚拟验证提示词的效果。完成后系统自动给出评分。
d)大语言模型思维链
· 逻辑结构:理解大语言模型在生成文本时形成的逻辑结构。
· 思维链构建:分析模型如何根据输入构建思维链。
· 思维链优化:通过实验和训练优化模型的思维链构建能力。
仿真设计:
设计一个可视化界面,展示模型在生成文本时的思维链结构。完成后系统自动给出评分。
提供思维链构建过程的模拟和演示功能,帮助用户理解模型的思维过程。
允许用户通过虚拟调整参数和训练数据来优化模型的思维链构建能力。
e)大语言模型小样本学习
· 样本选择:从有限的数据集中选择具有代表性的样本。
· 模型初始化:利用预训练模型进行初始化,加速小样本学习。
仿真设计:
设计一个样本选择和管理模块,允许用户从数据集中选择样本。
提供预训练模型初始化功能,帮助用户快速构建小样本学习模型。完成后系统自动给出评分。
f)大模型的应用设计
· 需求分析:明确应用需求,确定模型的问答、咨询应用场景和目标。
· 模型适配:根据应用场景调整模型参数和结构。
· 界面设计:设计易于使用的用户界面,提供模型调用和结果展示功能。完成后系统自动给出评分。
仿真设计:
提供模型适配功能,允许用户根据需求调整模型参数和结构。
设计一个直观易用的用户界面,允许用户通过界面虚拟调用模型并查看结果。同时,提供结果分析和可视化功能,帮助用户更好地理解模型输出。
g)自主大模型应用设计
学生通过小组形式选择应用领域进行大模型应用开发,例如某领域的专业咨询、问答设计。然后使用LangChain完成开发工作,系统会自动检测程序的正确性。给出评分(业务逻辑需要教师的辅助评估)。
(1)学生交互性操作步骤,共7步
步骤序号 | 步骤目标要求 | 步骤合理用时 | 目标达成度赋分模型 | 步骤满分 | 成绩类型 |
1 | 提示词设计 | 30分钟 | 根据问答需求设计合适的提示词 | 5 | 操作成绩 教师评价报告 |
2 | 大模型微调 | 60分钟 | 加载数据集,并且写出大模型微调的语句 | 10 | |
3 | 调用预训练的大模型 | 30分钟 | 写出调用大模型的语句 | 5 | |
上下文学习 | 30分钟 | 写出上下文学习的代码 | 10 | ||
5 | 思维链分析 | 30分钟 | 根据需求,写出对应的思维链,供大模型学习 | 10 | |
6 | 小样本学习 | 60分钟 | 根据需求,写出小样本的描述,供大模型学习 | 10 | |
8 | 多轮问答实验 | 30分钟 | 调用大模型,实现多轮问答的代码 | 10 | |
9 | 专业咨询系统实验 | 60分钟 | 读取专业领域知识文件,写出检索增强生成(RAG)的代码 | 20 | |
10 | 应用部署 | 60分钟 | 开发一个调用大模型的应用 | 20 | |
11 | 自主作业 | 120分钟 | 开发一个有应用新意的大模型系统原型 | 40 |
(2)交互性步骤详细说明
1) 配置实验环境
i. 登录系统:学生使用个人账号登录到实验平台。
ii. 配置实验环境:从预定义的实验环境中选择一个用于大语言模型实验的环境。
2) 数据集上传与管理
i. 上传数据集:在数据集管理模块中,上传特定任务的数据集。
ii. 查看数据集信息:查看已上传数据集的详细信息,包括样本数量、特征等。
3) 预训练模型调用
i. 选择预训练模型:从预训练模型库中选择一个合适的模型进行调用。
ii. 输入数据准备:根据模型要求准备输入数据,并进行必要的预处理。
iii. 调用模型:通过API接口虚拟调用预训练模型,并传入输入数据。
iv. 查看结果:查看模型输出的结果,并进行初步分析。
4) 提示词设计
i. 理解任务需求:详细阅读任务描述,明确任务需求。
ii. 设计提示词:根据任务需求设计提示词,并输入到提示词编辑界面。
iii. 预览与测试:预览和测试设计的提示词,查看其对模型输出的影响。
5) 微调模型
i. 选择微调策略:从微调策略中选择一个合适的策略。
ii. 开始微调:使用选定的数据集和微调策略对模型进行微调。
iii. 监控训练过程:实时查看模型的训练进度和性能指标。
iv. 评估模型性能:使用验证集评估微调后模型的性能。
6) 思维链分析
i. 查看思维链:在可视化界面中查看模型在生成文本时的思维链结构。
ii. 分析思维链:分析思维链的构建过程和逻辑结构,理解模型的思考方式。
7) 小样本学习
i. 选择样本:从数据集中选择具有代表性的小样本。
ii. 初始化模型:使用预训练模型进行初始化,准备进行小样本学习。
iii. 数据增强:应用数据增强技术对小样本进行扩展,提高模型的泛化能力。
8) 问答、咨询系统搭建
i. 大语言模型调用:对上述优化过的大语言模型ChatGLM、Baichuan、LLaMa进行调用,设计问答系统和咨询系统。
ii. 设计调用过程接口:使用LangChain框架设计问答系统接口。
9) 应用设计
i. 明确应用需求:明确模型的应用场景和目标需求。
ii. 适配模型:根据应用需求调整模型的参数和结构。
iii. 设计用户界面:设计直观易用的用户界面,包括模型调用、结果展示等功能。
1.实验结果
在针对ChatGLM、Baichuan、LLaMa等大语言模型的实验中,通过微调、上下文学习和调用等步骤,这些模型能够在多个领域和任务中展现出良好的性能。以下是具体的实验结果:
1) 预训练模型调用阶段
ChatGLM、Baichuan和LLaMa在预训练阶段均学习了大量的通用语义表示和世界知识。特别是,ChatGLM基于中英双语数据进行训练,而Baichuan和LLaMa则覆盖了更广泛的语言和领域。可以调用这些大语言模型,查看初步的效果。
2) 微调阶段
a) 在小规模数据上进行微调后,这些大语言模型能够更好地适应特定任务和领域。例如,在问答系统、咨询等任务上,微调后的模型性能显著提升。
b) 使用合适的提示词和上下文学习技术能够进一步提高模型在特定任务上的性能。思维链和少样本学习等技术也有助于模型在数据稀缺的情况下保持高性能。
3) 调用和推理阶段
a) 调用预训练和微调后的模型进行推理时,这些大语言模型能够快速地生成准确且连贯的响应。无论是在智能问答系统、咨询系统还是文本生成任务中,这些模型都表现出了良好的性能。
b) 通过优化显存使用、提高吞吐量等策略,可以提升了模型的推理性能,使得模型能够在更短的时间内处理更多的请求。
4) 结论
ChatGLM、Baichuan、LLaMa等大语言模型通过微调、上下文和调用等步骤,可以广泛应用于各种领域和任务。这些模型在预训练阶段学习到的通用知识和语义表示能力为其在后续任务上的高性能表现奠定了基础。通过微调阶段对特定任务和领域的适应,这些模型能够进一步提升在特定任务上的性能。此外,设计合适的提示词和利用上下文学习、思维链、少样本学习等技术能够进一步扩展模型的应用范围并提高其在特定任务上的性能。
(1)客户端到服务器的带宽要求
校园网的带宽即可,主要实验都在合作企业海豚的人工智能平台的服务器进行。
(2)够支持的同时在线人数
能够支持的同时在线人数虚拟实验可以支持100人左右,实体实验支持大约30人左右。
1)处理器
多核心、高主频的CPU。考虑到大模型训练和推理的复杂性,建议选择至少4核心8线程的CPU,如Intel Core i7或更高,或AMD Ryzen 5及以上系列。
2)内存
至少16GB DDR4 RAM。内存是确保本地程序流畅运行的关键因素,特别是当处理大型数据集或运行多个程序时。对于更复杂的实验或更大的数据集,建议考虑32GB或更多的内存。
3)存储
至少200GB的SSD固态硬盘。SSD固态硬盘能够提供更快的读写速度,加快程序启动和数据传输。此外,确保有足够的容量来存储数据集、实验结果和本地开发环境所需的软件库和工具。
(1) 计算机操作系统和版本要求
Windows、Unix都可以。
(2) 其他计算终端操作系统和版本要求
(3) 支持移动端:○是 ●否
(4)非操作系统软件要求(支持2种及以上主流浏览器)
R谷歌浏览器 RIE浏览器 R360浏览器 R火狐浏览器 £其他
(5)需要特定插件 ○是 ●否

电邮:wdzhao@fudan.edu.cn
地址:复旦大学邯郸校区逸夫楼502
个人主页:https://faculty.fudan.edu.cn/zhaoweidong/zh_CN/index/107861/list/index.htm