一分钟搞懂 微调fine-tuning和prompt

  • 区别与联系
    • 区别
    • 联系
  • 优缺点
    • 微调的优点
    • 微调的缺点
    • prompt的优点
    • prompt的缺点
  • 在CV领域
  • Reference

大家都是希望让预训练语言模型和下游任务靠的更近,只是实现的方式不一样。Fine-tuning中:是预训练语言模型“迁就“各种下游任务;Prompting中,是各种下游任务“迁就“预训练语言模型。

区别与联系

微调(fine-tuning)和prompt是自然语言处理领域中常用的两个术语,它们都是指训练和生成语言模型的过程中使用的技术。

区别

微调是指在已有的预训练语言模型基础上,通过少量的数据来对模型进行进一步的训练,使得模型能够更好地适应新的任务或领域。微调的目的是利用已有的语言模型,尽量减少训练新模型的时间和资源消耗。因此,微调是一种快速迁移学习的方法。

而prompt是指为了训练特定类型的语言模型而设计的一系列文本或代码提示。prompt可以看作是一种能够帮助语言模型更好地理解特定任务或领域的“指令”。prompt通常包括一个问题、任务描述或预定义的文本片段,用于指导模型生成合适的文本结果。融入了Prompt的新模式大致可以归纳成”pre-train, prompt, and predict“。在该模式中,下游任务被重新调整成类似预训练任务的形式。例如,通常的预训练任务有Masked Language Model,在文本情感分类任务中,对于 “I love this movie.” 这句输入,可以在后面加上prompt “The movie is ___” 这样的形式,然后让PLM用表示情感的答案填空如 “great”、“fantastic” 等等,最后再将该答案转化成情感分类的标签,这样以来,通过选取合适的prompt,我们可以控制模型预测输出,从而一个完全无监督训练的PLM可以被用来解决各种各样的下游任务。

联系

微调和prompt都是针对自然语言处理任务的训练技术,用于提高模型的性能。微调通常用于改进模型的通用性,以便将预训练模型适应到新的任务或领域,而prompt通常用于指导模型在特定任务上的表现。

在某些情况下,微调和prompt也可以一起使用,即使用预训练语言模型进行微调,并通过定义适当的prompt来指导模型生成合适的文本结果。这种方法可以提高模型在特定任务上的性能,并减少针对该任务的训练时间和资源消耗。

优缺点

微调的优点

可以快速迁移学习:利用已有的预训练模型,可以快速迁移学习到新的任务或领域中。

可以减少训练时间和资源消耗:微调只需要使用少量的数据对模型进行进一步训练,可以显著减少训练时间和资源消耗。

微调的缺点

可能存在过拟合问题:在微调过程中,可能会因为过度拟合而导致模型的泛化性能下降。

需要适当的数据量和质量:微调需要使用足够数量且高质量的数据来训练模型,否则可能会影响模型的性能。

prompt的优点

可以帮助模型更好地理解任务和领域:prompt可以为模型提供指导性信息,帮助模型更好地理解任务和领域,从而提高模型的性能。

可以缩短训练时间:prompt可以有效减少训练时间,因为它可以提供更加准确的指导信息,帮助模型更快地学习到任务和领域的规律。

prompt的缺点

需要设计合适的prompt:为了获得良好的模型性能,需要精心设计合适的prompt,这需要一定的人工成本和专业知识。

可能存在过拟合问题:如果prompt设计得不好或者过于复杂,可能会导致模型在训练集上表现良好,但在测试集上表现不佳的过拟合问题。

在CV领域

在CV领域中,Prompt其实可以理解为图像label的设计,从这个角度看,Prompt(预测文本中mask的字符,类似完形填空)其实是介于Image caption(迭代预测出每一个字符)和one-hot label(one-hot可以认为是prompt的特例,单字符通过text encoder编码成one-hot)之间的任务。

Reference

如何看待NLP领域最近比较火的prompt,能否借鉴到CV领域?
NLP新宠——浅谈Prompt的前世今生

一分钟搞懂 微调(fine-tuning)和prompt相关推荐

  1. mysql decimal型转化为float_5分钟搞懂MySQL数据类型之数值型DECIMAL类型

    速成指南 5分钟搞懂MySQL数据类型 之数值型--DECIMAL类型 DECIMAL类型的语法:DECIMAL[(M[,D])] [UNSIGNED] [ZEROFILL].其中M指定的是数字的总位 ...

  2. html网页和cgi程序编程,十分钟搞懂什么是CGI

    原文:CGI Made Really Easy,在翻译的过程中,我增加了一些我在学习过程中找到的更合适的资料,和自己的一些理解.不能算是严格的翻译文章,应该算是我的看这篇文章的过程的随笔吧. CGI真 ...

  3. python数据分析建模-十分钟搞懂“Python数据分析”

    原标题:十分钟搞懂"Python数据分析" 引言:本文重点是用十分钟的时间帮读者建立Python数据分析的逻辑框架.其次,讲解"如何通过Python 函数或代码和统计学知 ...

  4. 场内场外交易成本_2分钟搞懂场内场外基金

    一天一个金融知识,是成为投资大神的必要条件.今天我们花2分钟搞懂场内基金和场外基金.基金,既可以场内买又可以场外申购,场内场外这两者有什么区别?场内 场外 场内场外的"场",一般指 ...

  5. 计算机视觉之迁移学习中的微调(fine tuning)

    现在的数据集越来越大,都是大模型的训练,参数都早已超过亿级,面对如此大的训练集,绝大部分用户的硬件配置达不到,那有没有一种方法让这些训练好的大型数据集的参数,迁移到自己的一个目标训练数据集当中呢?比如 ...

  6. 看聊天记录都学不会C语言?太菜了吧》(17)5分钟搞懂指针与多重指针

    若是大一学子或者是真心想学习刚入门的小伙伴可以私聊我,若你是真心学习可以送你书籍,指导你学习,给予你目标方向的学习路线,无套路,博客为证. 本系列文章将会以通俗易懂的对话方式进行教学,对话中将涵盖了新 ...

  7. 5分钟搞懂用户态,内核态

    5分钟搞懂用户态,内核态 1. 什么是用户态,内核态 用户态就是提供应用程序运行的空间,为了使应用程序访问到内核管理的资源例如CPU,内存,I/O.内核必须提供一组通用的访问接口,这些接口就叫系统调用 ...

  8. 一分钟搞懂JavaME、JavaSE和JavaEE的区别

    一分钟搞懂JavaME.JavaSE和JavaEE的区别 JavaME微缩版 JavaSE标准版 JavaEE企业版 多数编程语言都有预选编译好的类库以支持各种特定的功能,在Java中,类库以包(pa ...

  9. 五分钟搞懂什么是红黑树

    五分钟搞懂什么是红黑树(全程图解) 18-09-04 星925 + 关注 献花(2)  收藏 前戏 红黑树,对很多童鞋来说,是既熟悉又陌生.熟悉是因为在校学习期间,准备面试时,这是重点.然后经过多年的 ...

最新文章

  1. 独家 | ​PyMC3 介绍:用于概率编程的Python包
  2. 报名 | 加密金融生态大咖私享会
  3. 结构专业规范大全_2019年一、二级注册结构师专业考试所用的规范、标准、规程...
  4. 划分vlan实验心得体会_思科:相同vlan,不同交换机之间的通信
  5. mysql表情符号_emoji等表情符号存mysql的方法
  6. Mybatis-学习笔记(3)mapper配置文件
  7. iOS网络请求架构图URL Loading System
  8. 什么是网络爬虫?有什么用?怎么爬?终于有人讲明白了
  9. 用python实现计算器
  10. 数字通信系统相关基本概念(一)
  11. mysql limit 索引失效_mysql索引失效
  12. m1电脑推荐使用Google Chrome浏览器
  13. 全局快门和卷帘快门的区别
  14. 对已存在的标签元素添加子元素
  15. Oracle DG主库失败Failover参考
  16. 7-9 把字符串中的大写字母改成小写字母 (10分)
  17. 通过爬虫爬取四川省公共资源交易平台上最近的招标信息 --- URLConnection
  18. 计算机硬件管理措施,浅谈计算机硬件的维护与管理措施
  19. 9月27日上市公司重大事项公告最新快递
  20. 深入分析 Watcher 机制的实现原理(一)客户端注册watcher

热门文章

  1. python设计函数isleapyear_Python函数
  2. 云图科技,长沙VR多方面给人们带来了新的体验!
  3. 安装centos7.0时电脑进入黑屏的解决方法
  4. 哪款蓝牙耳机的音质好?盘点四款高颜值蓝牙耳机
  5. 如何关闭计算机的wps云文档,怎么把wps云文档关掉
  6. matlab清除所有变量,但是除了某些变量
  7. ttttttttttt
  8. 20135202闫佳歆--week 9 期中总结
  9. Uni-app之Nvue开发细节总结
  10. 从git上克隆的vue项目在本地运行步骤