第六课:Prompt

文章目录

  • 第六课:Prompt
    • 1、学习总结:
      • Prompt介绍
      • 预训练和微调
        • 模型回顾
        • 挑战
      • Pre-train, Prompt, Predict
        • Prompting是什么?
        • prompting流程
        • prompt设计
      • 课程ppt及代码地址
    • 2、学习心得:
    • 3、经验分享:
    • 4、课程反馈:
    • 5、使用MindSpore昇思的体验和反馈:
    • 6、未来展望:

第六课:Prompt

1、学习总结:

Prompt介绍

  • Fine-tuning Recap and its Drawbacks:
    • Fine-tuning 指的是在一个已经预训练好的模型基础上,使用特定任务的数据进行额外的训练,以使模型适应该任务。
    • Fine-tuning 的优点是能够在已有知识的基础上,更好地适应特定任务,提高性能。
    • 缺点可能包括过度拟合(Overfitting):模型在训练数据上表现很好,但在新数据上的泛化能力较差。
  • Prompt Learning Introduction:
    • Prompt learning 涉及使用自然语言提示(prompt)来引导模型执行特定任务。
    • 这种方法通常用于零样本学习,其中模型需要在没有大量示例的情况下执行任务。
    • Prompt learning 的优势在于可以通过简洁的指令来完成复杂的任务,而无需大量标注的训练数据。
    • 挑战可能包括设计合适的提示,以确保模型准确执行任务。

Pre-train, Prompt, and Predict: A Systematic Survey of Prompting Methods in Natural Language Processing

预训练和微调

模型回顾
  1. BERT
  • bidirectional transformer,词语和句子级别的特征抽取,注重文本理解
  • Pre-train: Maked Language Model + Next Sentence Prediction
  • Fine-tune: 根据任务选取对应的representation(最后一层hidden state输出),放入线性层中

例:Natural Language Inference

  1. GPT
  • auto-regressive model,通过前序文本预测下一词汇,注重文本生成
  • Pre-train: L 1 ( U ) = ∑ i log ⁡ P ( u i ∣ u i − k , … , u i − 1 ; Θ ) L_1(\mathcal{U})=\sum_i \log P\left(u_i \mid u_{i-k}, \ldots, u_{i-1} ; \Theta\right) L1(U)=ilogP(uiuik,,ui1;Θ)
  • Fine-tune: task-specific input transformations + fully-connected layer

挑战
  1. 少样本学习能力差、容易过拟合

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 微调上的损失较大

现在的预训练模型参数量越来越大,为了一个特定的任务去 finetuning 一个模型,然后部署于线上业务,也会造成部署资源的极大浪费

Pre-train, Prompt, Predict

Prompting是什么?
  • Prompting是一种利用自然语言提示来引导模型执行特定任务的方法。通过为模型提供简短的任务描述,模型能够理解并生成相应的输出。
  • Fine-tuning通过改变模型结构或调整参数,使其适应下游任务。这包括在预训练模型的基础上,使用特定任务的数据进行额外的训练,以提高性能。
  • Prompt Learning是一种方法,其中模型结构保持不变,而是通过重新构建任务描述(prompt)来使下游任务适配模型。这可以用于零样本学习或在有限数据情况下进行任务适应。
  1. Zero-shot Learning

零样本学习是一种模型在没有任何先前示例的情况下执行任务的方法。模型通过提示或任务描述来学习如何处理没有先验训练数据的新任务。

  1. One-shot Learning

一样本学习是指模型通过很少量的示例(通常是一个样本)来学会执行任务。这可以通过提示来实现,使模型能够从有限的数据中学到新任务。

  1. Few-shot Learning

少样本学习是介于零样本学习和传统的训练方法之间。模型通过少量的示例(通常是少于常规训练所需的数量)进行学习,以适应新任务。

prompting流程
  1. Template: 根据任务设计prompt模板,其中包含 input slot[X] 和 answer slot [Z],后根据模板在 input slot 中填入输入
  2. Mapping (Verbalizer): 将输出的预测结果映射回label

prompt设计

Prompting 中最主要的两个部分为 template 与 verbalizer 的设计。

他们可以分别基于任务类型和预训练模型选择(shape)或生成方式(huamn effort)进行分类。

课程ppt及代码地址

  • github地址(网络不好的可以访问下面我克隆到gitee上的地址):Prompt

  • gitee地址:Prompt

2、学习心得:

​ 通过本次学习,更加熟悉了华为Mindspore这个国产深度学习框架,同时也对Prompt学习有所了解,后面又通过GPT-2预训练模型的prompt learning来完成情感分类任务,更加加深了对Prompt学习的理解,

3、经验分享:

​ 在启智openI上的npu跑时记得使用mindspore1.7的镜像,同时安装对应mindnlp的版本,不然可能会因为版本不兼容而报错。另外就是给出的代码示例都要跑一跑,结合视频去加深理解。

4、课程反馈:

​ 本次课程中的代码串讲我觉得是做的最好的地方,没有照着ppt一直念,而是在jupyter lab上把代码和原理结合到一块进行讲解,让学习者对代码的理解更加深入。我觉得内容的最后可以稍微推荐一下与Mindspore大模型相关的套件,让学习者在相关套件上可以开发出更多好玩和有趣的东西!

5、使用MindSpore昇思的体验和反馈:

MindSpore昇思的优点和喜欢的方面:

  1. 灵活性和可扩展性: MindSpore提供了灵活的编程模型,支持静态计算图和动态计算图。这种设计使得它适用于多种类型的机器学习和深度学习任务,并且具有一定的可扩展性。
  2. 跨平台支持: MindSpore支持多种硬件平台,包括CPU、GPU和NPU等,这使得它具有在不同设备上运行的能力,并能充分利用各种硬件加速。
  3. 自动并行和分布式训练: MindSpore提供了自动并行和分布式训练的功能,使得用户可以更轻松地处理大规模数据和模型,并更高效地进行训练。
  4. 生态系统和社区支持: MindSpore致力于建立开放的生态系统,并鼓励社区贡献,这对于一个开源框架来说非常重要,能够帮助用户更好地学习和解决问题。

一些建议和改进方面:

  1. 文档和教程的改进: 文档和教程并不是很详细,希望能够提供更多实用的示例、详细的文档和教程,以帮助用户更快速地上手和解决问题。
  2. 更多的应用场景示例: 提供更多真实场景的示例代码和应用案例,可以帮助用户更好地了解如何在实际项目中应用MindSpore。

6、未来展望:

​ 大模型的内容还是很多的,希望自己能坚持打卡,将后面的内容都学习完,并做出一些有趣好玩的东西来!最近准备尝试做做社区大模型相关的代码迁移+精度验证任务了,希望能够学以致用,提高自己的技术水平!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/651764.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

由两个有限项的等差数列B, C, 求有多少个有限项的等差数列A,满足C是A, B的所有公共项,若有无穷个A满足条件,输出-1

题目 思路&#xff1a; #include <bits/stdc.h> using namespace std; #define int long long #define pb push_back const int maxn 1e6 5, inf 1e9 5, maxm 4e4 5, mod 1e9 7, N 1e6; // int a[maxn], b[maxn]; int n, m; string s;int qpow(int a, int b){i…

Unity中创建Ultraleap 3Di交互项目

首先&#xff0c;创建新的场景 1、创建一个空物体&#xff0c;重命名为【XP Leap Provider Manager】&#xff0c;并在这个空物体上添加【XR Leap Provider Manager】 在物体XP Leap Provider Manager下&#xff0c;创建两个子物体Service Provider(XR)和Service Provider(…

C语言与操作符相关的经典例题

目录 一道变态的面试题&#xff1a;不能创建临时变量&#xff08;第三个变量&#xff09;&#xff0c;实现两个数的交换。 编写代码实现&#xff1a;求一个整数存储在内存中的二进制中1的个数。 二进制位置0或者置1 如果以下的知识点不是很清楚的可以去看这篇文章&#xff1…

Deepin基本环境查看 - 目录/大纲

第一次整理本文材料才发现 原来写博客和写代码一样的 多章节的内容&#xff0c;必须将目录单独取出来 这样才方便作者&#xff0c;也方便读者 奇怪的知识又增加了 ^^ Deepin基本环境查看 - 目录Deepin基本环境查看&#xff08;一&#xff09;【基本信息】Deepin基本环境查看&am…

阿里云部署配置幻兽帕鲁Palworld联机服务器详细教程

阿里云作为国内领先的云计算服务提供商&#xff0c;为企业和个人提供了丰富的云服务。本文将为大家详细介绍如何在阿里云上配置幻兽帕鲁Palworld联机服务器&#xff0c;以便与更多玩家共同体验游戏的乐趣。 第一步&#xff1a;登录服务器创建页 1、进入幻兽帕鲁联机服务快速部…

数据结构——顺序队列(循环)

采用顺序表的方式实现循环队列。其中关键在于如何判断队列已满。通常情况下&#xff0c;当对头和队尾指向同一个节点时&#xff0c;可以判断为队空。但是&#xff0c;倘若队尾不断增加&#xff0c;最后队尾也会指向对头&#xff0c;此时队满和队空的判断条件一致。以下有三种对…

剖析线程池ForkJoinPool

文章目录 一、引言二、ForkJoinPool概述三、工作原理四、案例及分析案例背景案例分析实现 五、注意事项六、总结 一、引言 在并发编程中&#xff0c;线程池是一个常见的工具&#xff0c;用于管理和复用线程&#xff0c;以避免频繁地创建和销毁线程带来的开销。ForkJoinPool是J…

11. 双目视觉之立体视觉基础

目录 1. 深度恢复1.1 单目相机缺少深度信息1.2 如何恢复场景深度&#xff1f;1.3 深度恢复的思路 2. 对极几何约束2.1 直观感受2.2 数学上的描述 1. 深度恢复 1.1 单目相机缺少深度信息 之前学习过相机模型&#xff0c;最经典的就是小孔成像模型。我们知道相机通过小孔成像模…

力扣LCR 180. 文件组合(双指针)

Problem: LCR 180. 文件组合 文章目录 题目描述思路及解法复杂度Code 题目描述 思路及解法 本题目可以利用滑动窗口的技巧&#xff08;滑动窗口就是双指针的运用&#xff09;解决&#xff0c;具体实现如下 1.逻辑上生成窗口&#xff1a;让两个指针i&#xff0c;j分别初始化为1…

Java基本数据类型-字符型,布尔型

目录 字符型转义字符实例运行结果 ASCII码实例运行结果 布尔型实例运行结果 字符型 Java中使用单引号来表示字符常量&#xff0c;字符型在内存中占2个字节。char 类型用来表示在Unicode编码表中的字符。Unicode编码被设计用来处理各种语言的文字&#xff0c;它占2个字节&#…

3DGS 其二:Street Gaussians for Modeling Dynamic Urban Scenes

3DGS 其二&#xff1a;Street Gaussians for Modeling Dynamic Urban Scenes 1. 背景介绍1.1 静态场景建模1.2 动态场景建模 2. 算法2.1 背景模型2.2 目标模型 3. 训练3.1 跟踪优化 4. 下游任务 Reference&#xff1a; Street Gaussians for Modeling Dynamic Urban Scenes 1.…

【Docker】Docker学习⑧ - Docker仓库之分布式Harbor

【Docker】Docker学习⑧ - Docker仓库之分布式Harbor 一、Docker简介二、Docker安装及基础命令介绍三、Docker镜像管理四、Docker镜像与制作五、Docker数据管理六、网络部分七、Docker仓库之单机Dokcer Registry八、 Docker仓库之分布式Harbor1 Harbor功能官方介绍2 安装Harbor…

OpenCV 1 - 加载 显示 修改 保存图像

1 加载图像(cv::imread) imread功能是加载图像文件成为一个Mat对象 第一个参数,表示图像文件名称第二个参数,表示加载的图像是什么类型&#xff0c;支持常见的三个参数值 参数注释IMREAD_UNCHANGED表示加载原图,不做任何改变IMREAD_GRAYSCALE表示把原图作为灰度图像加载进来IM…

Linux——常用命令

1、命令的基本格式 对服务器来讲&#xff0c;图形界面会占用更多的系统资源&#xff0c;而且会安装更多的服务、开放更多的端口&#xff0c;这对服务器的稳定性和安全性都有负面影响。其实&#xff0c;服务器是一个连显示器都没有的家伙&#xff0c;要图形界面干什么&#xff…

力扣hot100 字符串解码 栈 辅助栈

Problem: 394. 字符串解码 文章目录 思路&#x1f496; 辅助栈 思路 &#x1f468;‍&#x1f3eb; 路飞 &#x1f496; 辅助栈 ⏰ 时间复杂度: O ( n ) O(n) O(n) &#x1f30e; 空间复杂度: O ( n ) O(n) O(n) class Solution {public String decodeString(String s…

MCU启动文件小解一下

GD32启动文件分析 启动文件的一些指令.s启动文件分析栈空间分配堆空间管理中断向量表定义堆空间定义Reset_Handler复位程序HardFault_Handler_main文件分析用户堆栈初始化 GD32启动文件主要做了以下工作&#xff1a; 初始化SP_initial_sp , PCReset_Handler指针&#xff0c;设置…

C#,计算几何,随机点集之三角剖分的德劳内(Delaunay)算法的源代码

一、三角剖分Delaunay算法简介 点集的三角剖分&#xff08;Triangulation&#xff09;&#xff0c;对数值分析&#xff08;比如有限元分析&#xff09;以及图形学来说&#xff0c;都是极为重要的一项预处理技术。尤其是Delaunay三角剖分&#xff0c;由于其独特性&#xff0c;关…

day04 两两交换链表中的节点、删除链表倒数第N个节点、链表相交、环形链表II

题目链接&#xff1a;leetcode24-两两交换链表中的节点, leetcode19-删除链表倒数第N个节点, leetcode160-链表相交, leetcode142-环形链表II 两两交换链表中的节点 基础题没有什么技巧 解题思路见代码注释 时间复杂度: O(n) 空间复杂度: O(1) Go func swapPairs(head *Li…

thinphp 调用 \think\Log::write 写入回调日志信息

//接口回调地址 public function back_content(){\think\Log::record(进来了, info); $data file_get_contents(php://input);$ret json_decode($data,true); \think\Log::write(调用第一张图片返回结果.$data,log,true); } Think\Log::record(测试日志信息&#xff0c;这是…

Spark面试全攻略:深入理解与高效准备指南

目录 基础问题 进阶问题 高阶问题 相关资料 基础问题<