第六课:Prompt

news2024/11/17 11:47:23

文章目录

  • 第六课: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.coloradmin.cn/o/1414889.html

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

相关文章

【电子通识】学习网上《初学者学习电子的常见误区文章》有感

学习硬件电子电路过程中,特别是初级阶段,可能会走进一些误区,会比较迷茫和困惑。如果这时不能正确对待好这些困惑,就会影响正常的学习,干扰学习的进程,严重时可能会半途而废。今天我从网络上看到为初学者写…

什么是单元测试?谁来做?怎么写?

🍅 视频学习:文末有免费的配套视频可观看 🍅 点击文末小卡片 ,免费获取软件测试全套资料,资料在手,薪资嘎嘎涨 一、什么是单元测试? 单元测试(unit testing)&#xff0c…

pytorch-metric-learning度量学习工具官方文档翻译

基于Pytorch实现的度量学习方法 开源代码:pytorch-metric-learning官网文档:PyTorch Metric Learning官方文档 度量学习相关的损失函数介绍: 度量学习DML之Contrastive Loss及其变种度量学习DML之Triplet Loss度量学习DML之Lifted Structu…

幻兽帕鲁服务器多少钱一台?腾讯云新版报价

腾讯云幻兽帕鲁服务器4核16G、8核32G和16核64G配置可选,4核16G14M带宽66元一个月、277元3个月,8核32G22M配置115元1个月、345元3个月,16核64G35M配置580元年1个月、1740元3个月、6960元一年,腾讯云百科txybk.com分享腾讯云幻兽帕鲁…

谷歌Chrome浏览器将通过人工智能技术升级了3项重大功能改变,Chrome (M121) 版本可以在浏览器上生成内容

从今天开始发布的 Chrome (M121) 版本起,Chrome 将引进一系列实验性的生成式 AI 功能。这些功能包括智能组织标签页、利用文本生成图像模型生成个性化壁纸图片,以及辅助写作。这些新功能将为用户提供更便捷、智能的浏览体验。 Chrome官方介绍网址&#x…

php mysql字段默认值使用问题

前提是使用了事务,在第一个阶段 是A表操作保存,第二阶段操作B表,操作B表的时候使用了A表的一个字段,这个字段在第一阶段没有设置值,保存的时候使用字段默认值。 【这种情况 最好是在第一阶段 把后面要使用的字段设置好…

Vue中使用TypeScript:全面指南和最佳实践

🚀 欢迎来到我的专栏!专注于Vue3的实战总结和开发实践分享,让你轻松驾驭Vue3的奇妙世界! 🌈✨在这里,我将为你呈现最新的Vue3技术趋势,分享独家实用教程,并为你解析开发中的难题。让我们一起深入Vue3的魅力,助力你成为Vue大师! 👨‍💻💡不再徘徊,快来关注…

ChatGPT 官方中文页面上线

根据页面显示,OpenAI 现已推出 ChatGPT 的多语言功能 Alpha 版测试,允许用户选择不同语言的界面进行交互。 如下图所示,ChatGPT 会检测系统当前所使用的语言,并提示用户进行语言切换。 用户也可通过设置页面选择其他语言。目前&a…

【JavaEE】网络原理:UDP数据报套接字编程和TCP流套接字编程

目录 1.UDP数据报套接字编程 1.1 DatagramSocket 1.2 DatagramPacket 1.3 InetSocketAddress 1.4 基于UDP实现回响服务器 2.TCP流套接字编程 2.1 ServerSocket 2.2 Socket 2.3 基于TCP实现回响服务器 1.UDP数据报套接字编程 API 介绍 1.1 DatagramSocket DatagramS…

【C++中STL】set/multiset容器

set/multiset容器 Set基本概念set构造和赋值set的大小和交换set的插入和删除set查找和统计 set和multiset的区别pair对组两种创建方式 set容器排序 Set基本概念 所有元素都会在插入时自动被排序。 set/multist容器属于关联式容器,底层结构属于二叉树。 set不允许容…

spring cloud之分布式事务

写在前面 1:分布式事务介绍 参考MySQL之分布式事务 。 2:seata实战 架构图: 可以看到seata在这里作为协调者的角色,协调所有事务的提交以及回滚,其中seata使用MySQL存储每个分支事务的执行状态信息,以…

GIT使用,看它就够了

一、目的 Git的熟练使用是一个加分项,本文将对常用的Git命令做一个基本介绍,看了本篇文章,再也不会因为不会使用git而被嘲笑了。 二、设置与配置 在第一次调用Git到日常的微调和参考,用得最多的就是config和help命令。 2.1 gi…

腾讯云4核16G幻兽帕鲁服务器多少钱?

腾讯云幻兽帕鲁服务器4核16G14M配置,14M公网带宽,限制2500GB月流量,系统盘为220GB SSD盘,优惠价格66元1个月,277元3个月,支持4到8个玩家畅玩,地域可选择上海/北京/成都/南京/广州,腾…

机器学习和可视化还能一起这样用?Python教你全搞定

今天这篇推文,我们继续空间数据可视化的最后一个系列-类别插值(categorical-spatial-interpolation) 可视化绘制的推文教程,这期我们使用Python进行绘制,涉及的知识点如下: sklearn.KNeighborsClassifier()机器学习应用 plotnine…

4JS表达式和运算符expression and operator

表达式(expression)JavaScript中的一个短语,JavaScript解释器会将其计算(evaluate)出一个结果。程序中的常量是最简单的一类表达式。变量名也是一种简单的表达式,它的值就是赋值给变量的值。复杂表达式是由…

【第二天】蓝桥杯备战

题 1、星期一2、顺子日期3、修剪灌木4、最少砝码 1、星期一 https://www.lanqiao.cn/problems/611/learning/ 解法:星期一的天数总共的天数/7 import java.util.Scanner; // 1:无需package // 2: 类名必须Main, 不可修改public class Main {public static void ma…

AutoGen实战应用(二):多代理协作(Multi-Agent Collaboration)

AutoGen是微软推出的一个全新工具,它用来帮助开发者创建基于大语言模型(LLM)的复杂应用程序. AutoGen能让LLM在复杂工作流程启用多个角色代理来共同协作完成人类提出的任务。在我之前的一篇博客: AutoGen实战应用(一):代码生成、执行和调试 中我们通过一…

Web3:B站chainlink课程Lesson5遇到的小坑汇总

ethers代码 我用的ethers.js 6 ,和视频里一样用的是5的不用看代码部分 ethers.providers.JsonRpcProvider("server") //无了 ethers.JsonRpcProvider("server") //现在的wallet.getTransactionCount() //无了 wallet.getNonce() //现在的Big…

springboot的actuator

1、actuator简介 微服务的特点决定了功能模块的部署是分布式的,大部分功能模块都是运行在不同的机器上,彼此通过服务调用进行交互,前后台的业务流会经过很多个微服务的处理和传递,出现了异常如何快速定位是哪个环节出现了问题&am…

[晓理紫]每日论文分享(有中文摘要,源码或项目地址)--大模型、扩散模型、视觉语言导航

专属领域论文订阅 关注{晓理紫|小李子},每日更新论文,如感兴趣,请转发给有需要的同学,谢谢支持 如果你感觉对你有所帮助,请关注我,每日准时为你推送最新论文。 分类: 大语言模型LLM视觉模型VLM扩散模型视觉…