大模型开发工程师 认证&学习指南· 第 2 / 4 页

背景知识(2)

Embedding辅助给LLM外接大脑

尽管大模型具有非常出色的能力,然而在实际应用场景中,仍然会出现大模型无法满足我们需求的情况,主要有以下几方面原因:

知识局限性:大模型的知识来源于训练数据,而这些数据主要来自于互联网上已经公开的资源,对于一些实时性的或者非公开的,由于大模型没有获取到相关数据,这部分知识也就无法被掌握。

数据安全性:为了使得大模型能够具备相应的知识,就需要将数据纳入到训练集进行训练。然而,对于企业来说,数据的安全性至关重要,任何形式的数据泄露都可能对企业构成致命的威胁。

大模型幻觉:由于大模型是基于概率统计进行构建的,其输出本质上是一系列数值运算。因此,有时会出现模型“一本正经地胡说八道”的情况,尤其是在大模型不具备的知识或不擅长的场景中。

因此,将知识提前转成Embedding向量,存入知识库,然后通过检索将知识作为背景信息,这样就相当于给LLM外接大脑,使大模型能够运用这些外部知识,生成准确且符合上下文的答案,同时能够减少模型幻觉的出现。

参数高效微调

在实际应用场景中,大模型还会经常出现以下问题:

  • 大模型在当前任务上能力不佳,如果提升其能力?
  • 另外,怎么使大模型学习其本身不具备的能力呢?

这些问题的答案是模型微调。

模型微调也被称为指令微调(Instruction Tuning)或者有监督微调(Supervised Fine-tuning, SFT),首先需要构建指令训练数据,然后通过有监督的方式对大模型的参数进行微调。经过模型微调后,大模型能够更好地遵循和执行人类指令,进而完成下游任务。

然而,由于大模型的参数量巨大, 进行全量参数微调需要消耗非常多的算力。为了解决这一问题,研究者提出了参数高效微调(Parameter-efficient Fine-tuning),也称为轻量化微调 (Lightweight Fine-tuning),这些方法通过训练极少的模型参数,同时保证微调后的模型表现可以与全量微调相媲美。

六、大模型应用开发 必知必会

通常,一个完整的大模型应用包含一个客户端和一个服务端。

客户端接收到用户请求后,将请求输入到服务端,服务端经过计算得到输出后,返回给客户端回复用户的请求。

客户端

在大模型应用中,客户端需要接受用户请求,并且能将回复返回给用户。

目前,客户端通常使用 Gradio 和 Streamlit 进行开发。

Gradio 基本概念

《大模型开发工程师 认证&学习指南》 背景知识(2) 配图 1

Gradio 有输入输出组件、控制组件、布局组件几个基础模块,其中

  • 输入输出组件用于展示内容和获取内容,如:Textbox文本、Image图像
  • 布局组件用于更好地规划组件的布局,如:Column(把组件放成一列)、Row(把组件放成一行)
    • 推荐使用gradio.Blocks()做更多丰富交互的界面,gradio.Interface()只支持单个函数交互

控制组件用于直接调用函数,无法作为输入输出使用,如:Button(按钮)、ClearButton(清除按钮)

Gradio的设计哲学是将输入和输出组件与布局组件分开。输入组件(如Textbox、Slider等)用于接收用户输入,输出组件(如Label、Image等)用于显示函数的输出结果。而布局组件(如Tabs、Columns、Row等)则用于组织和排列这些输入和输出组件,以创建结构化的用户界面。

如果想了解更多组件详情,可查看 官方文档;

另外,如果想设计更复杂的界面风格,还可以查看学习 官方文档:主题

Streamlit 基础概念

Streamlit 官方的视频演示如下,我们可以直接输入markdown格式的文本,网页即可渲染好。

  • Streamlit 中没有gradio的输入和输出概念,也没有布局组件的概念。

  • Gradio和Streamlit中的【文件组件】对比如下图: Gradio图像组件

    streamlit文件组件

  • Streamlit每个组件都是独立的,需要用什么直接查看官方文档即可,大致有如下几种组件:

    • 页面元素

      • 文本
      • 数据表格
      • 图标绘制(柱状图,散点图等等)
      • 输入(文本框,按钮,下拉框,滑块,复选框,文件上传,等等)
      • 多媒体(图片,音频,视频)
      • 布局和容器
      • Chat(聊天对话控件)
      • 状态(进度条,加载中,等等元素)
      • 第三方组件(提供了更加丰富的组件)
    • 应用逻辑

      • 导航和页面(可以切换页面)
      • 执行流程
      • 缓存和状态
      • 连接和加密(可连接数据库,也可以对内容进行加密处理)
      • 自定义组件
      • 公共组件(用户信息存储,帮助,以及输出html)
      • Config(使用配置文件,来定义一些内容)
    • 工具

      • 应用测试
      • 命令行

服务端

在大模型应用中,服务端需要与大模型进行交互,大模型接受到用户请求后,经过复杂的计算,得到模型输出。

目前,服务端主要有以下两种方式:

  • 直接调用大模型API:将请求直接发送给相应的服务商,如openai,讯飞星火等,等待API返回大模型回复 ✔️ 优点:

    ✖️ 缺点:

大模型本地部署:在本地GPU或者CPU上,下载模型文件,并基于推理框架进行部署大模型

✔️ 优点:

✖️ 缺点:

综上,选择哪种方式取决于具体的应用场景、数据敏感性、预算以及对延迟和性能的需求。

🔥 小白零基础 10 分钟 速通实践baseline

我们整个学习活动,将带你学习以下内容:

  • 大模型部署【搭建你的智能编程助手】
  • 大模型RAG实战【搭建你的AI科研助手】
  • 大模型微调实战【搭建你的AI简历助手】

当前环节可让你在10分钟内,从一个完全小白的选手,搭建你的第一个大模型应用(智能编程助手)!

千里之行,始于足下,从这里,开启你的 AI 学习之旅吧!

—— Datawhale贡献者团队

Step0:开通阿里云PAI-DSW试用

链接:https://free.aliyun.com/?productCode=learn

开通PAI-DSW 试用 ,可获得5000算力时!有效期3个月!

如果已经开通试用或试用已过期,可以跳过此步骤,使用魔搭免费GPU额度或寻找其他的算力方案

  • 注意多模态数据合成方向无法通过魔搭免费GPU执行

Step1:在魔搭社区创建PAI实例!(点击即可跳转)

链接:https://www.modelscope.cn/my/mynotebook/authorization

创建实例,启动!

如果在上一步授权失败,可到阿里云控制台创建 & 打开实例,具体步骤详见下方子步骤

创建实例,会返回魔搭,自动开始启动

《大模型开发工程师 认证&学习指南》 🔥 小白零基础 10 分钟 速通实践baseline 配图 14

《大模型开发工程师 认证&学习指南》 🔥 小白零基础 10 分钟 速通实践baseline 配图 15

《大模型开发工程师 认证&学习指南》 🔥 小白零基础 10 分钟 速通实践baseline 配图 16

  • 如果 在魔搭无法授权 或 点击【打开】无法打开,可到阿里云控制台创建 & 打开实例 《大模型开发工程师 认证&学习指南》 🔥 小白零基础 10 分钟 速通实践baseline 配图 17

    《大模型开发工程师 认证&学习指南》 🔥 小白零基础 10 分钟 速通实践baseline 配图 18

    • 创建实例 《大模型开发工程师 认证&学习指南》 🔥 小白零基础 10 分钟 速通实践baseline 配图 19

      《大模型开发工程师 认证&学习指南》 🔥 小白零基础 10 分钟 速通实践baseline 配图 20

      《大模型开发工程师 认证&学习指南》 🔥 小白零基础 10 分钟 速通实践baseline 配图 21

      《大模型开发工程师 认证&学习指南》 🔥 小白零基础 10 分钟 速通实践baseline 配图 22

    • 打开实例 此处的【新建实例】与魔搭的【创建实例】效果相同,如果魔搭处无法执行,也可以从此处创建

      到这个界面即为打开实例成功

  • 如果之前试用的额度已经过期,可使用魔搭的免费Notebook实例 《大模型开发工程师 认证&学习指南》 🔥 小白零基础 10 分钟 速通实践baseline 配图 25

    《大模型开发工程师 认证&学习指南》 🔥 小白零基础 10 分钟 速通实践baseline 配图 26

Step2:Demo搭建!

第一步:文件下载

点击终端,然后输入如下命令,回车运行!

打开终端

下载完成后,刷新即可

第二步:环境安装

点击终端,然后输入如下命令,回车运行!

《大模型开发工程师 认证&学习指南》 🔥 小白零基础 10 分钟 速通实践baseline 配图 29

等待依赖安装成功!

《大模型开发工程师 认证&学习指南》 🔥 小白零基础 10 分钟 速通实践baseline 配图 30

第三步:启动Demo

点击终端,然后输入如下命令,回车运行!

《大模型开发工程师 认证&学习指南》 🔥 小白零基础 10 分钟 速通实践baseline 配图 31

Step3:对话体验!

点击链接,跳转到浏览器新页面!

注意⚠️:这里一定要保存效果截图去打卡哦!!一定要保存效果截图去打卡哦!!一定要保存效果截图去打卡哦!

《大模型开发工程师 认证&学习指南》 🔥 小白零基础 10 分钟 速通实践baseline 配图 32

显示Demo名称,后台正在运行中!

《大模型开发工程师 认证&学习指南》 🔥 小白零基础 10 分钟 速通实践baseline 配图 33

等待后台完成模型下载和加载!

《大模型开发工程师 认证&学习指南》 🔥 小白零基础 10 分钟 速通实践baseline 配图 34

弹出对话框,现在开始对话吧!

《大模型开发工程师 认证&学习指南》 🔥 小白零基础 10 分钟 速通实践baseline 配图 35

下面,让你的编程助手简单写个代码吧!输入后回车即可运行!

参考Prompt:

给我一个python打印helloword的代码

改成c++的

《大模型开发工程师 认证&学习指南》 🔥 小白零基础 10 分钟 速通实践baseline 配图 36

可以看到,Yuan2-2B-Mars 模型不仅拥有出色的代码生成能力,而且能够紧密跟随用户的指令,与上下文完美融合。(保存效果截图去打卡)

关闭PAI实例!!!!(点击即可跳转)

链接:https://www.modelscope.cn/my/mynotebook/authorization

运行完成后,别忘了回到魔搭,【关闭】实例,否则会一直消耗你的试用额度!

每小时消耗大概7个试用额度!(总共5000个,有效期三个月)

《大模型开发工程师 认证&学习指南》 🔥 小白零基础 10 分钟 速通实践baseline 配图 37

🎉恭喜速通成功!👍🏻 快来给自己点赞!

学习活动已结束

学习活动期间,大家完成打卡后就可以在表格里填写组队信息,积极主动寻找合适的队友

【腾讯文档】夏令营第四期大模型应用开发-找搭子辅助表- Task01打卡链接

📅 后续课程内容

动手学大模型应用全栈开发
学习规划表
Task Task 描述 相关知识点 学习安排
Task 1
8月8日~8月11日
打怪难度:⭐️
跑通baseline,创建大模型应用!
学习相关知识点,进行《大模型开发工程师》认证
写笔记,填写找搭子辅助表
大模型原理简介
大模型开源与闭源的差异
源大模型开源体系
大模型应用开发必知必会
学习活动作品提交规则
大模型应用案例:智能编程助手
开营直播(点击回放)
2024年/8月10日 19:00
优秀案例直播分享(点击回放)
2024年/8月11号 19:00
Task 2
8月12日~8月13日
打怪难度: 简单
参加头脑风暴会,进行组队
写笔记,完成Task2 打卡
热点idea & 应用案例方向
互相激发创意,头脑风暴
案例分享
头脑风暴会腾讯会议(密码:YM3N)
2024年/8月12号 20:00
优秀案例分享直播(点击回放)
2024年/8月13号 19:00
Task 3
8月14日~8月17日
打怪难度:⭐️⭐️
学习RAG技术与实战、群内交流分享
组队进行应用开发
写笔记,完成 Task3 打卡
基于源的RAG技术原理与实践
RAG应用案例:AI科研助手
RAG原理与实践直播(点击回放)
2024年/8月14号 19:00
Task 4
8月18日~8月21日
打怪难度:⭐️⭐️
学习微调技术与实战、群内交流分享
组队进行应用开发
写笔记,完成 Task4 打卡
源大模型微调技术原理与实践
微调应用案例:AI简历助手
微调原理与实践直播(点击回放)
2024年/8月19号 18:00
Task 5
8月22日~8月25日
打怪难度:⭐️⭐️
组队进行应用开发
参加技术交流会
完成应用开发,填写作品提交表
优化路演答辩PPT 技术交流会腾讯会议(点击回放)
2024年/8月22号 20:00
Task 6
8月26日~8月30日
打怪难度:⭐️⭐️⭐️
专家评审
根据建议优化作品、报名Demo Day
- Demo Day1直播
2024年/8月29号 19:00
Demo Day2直播
2024年/8月30号 19:00
祝大家开发顺利,学习愉快~ 多在群里提问和交流哟!
作品提交链接:(即将开放提交,敬请期待~)
作品提交规则&案例可见:提交作品规则 & Task1案例:智能编程助手
提问前建议先查看
QA & 其他彩蛋 是否早已收录你的问题~ (QA文档可任意编辑,助教和教程贡献者会不定时查看)
更多学习活动问题可见:
动手学大模型应用全栈开发-学习者手册

你还可以参考下面的学习方案,提升自己的学习效率——

  • 定位自己的学习预期、设计自己的学习计划:每天花多少时间,做什么,大概能拿到什么结果
  • 学习内容有很多,明确目标、按需学习自己所需要学习的内容即可
动手学大模型应用全栈开发-参考学习方案
学习方案类型 所需背景与能力 预期学习目标&收获 学习内容 & 参考时长
初级:60分,提见识 无 跑通Task1内容,熟悉开发流程,构建自己的第一个大模型应用
学习大模型应用开发通识,考取《大模型应用开发工程师》证书
跑通Task1代码(30分钟)
大模型应用开发基础通识(30分钟)
魔搭创空间搭建与应用部署(60分钟)