当前位置: 首页 > article >正文

大型语言模型LLM - Finetuning vs Prompting

资料来自台湾大学李宏毅教授机器学课程ML 2023 Spring,如有侵权请通知下架

台大机器学课程ML 2023 Springicon-default.png?t=O83Ahttps://speech.ee.ntu.edu.tw/~hylee/ml/2023-spring.php2023/3/10 课程 機器如何生成文句

内容概要

主要探讨了大型语言模型的两种不同期待及其导致的两类不同使用方式,具体内容如下:

 

  1. 两种不同期待
    • 成为专才:专注于解决某一个特定任务,在单一任务上有机会胜过通才。例如在翻译任务中,不同翻译系统的表现各有优劣,如 Google、DeepL、Tencent 和 ChatGPT 在不同语言对的翻译任务中准确率有所差异
    • 成为通才:期望模型具备多种能力,类似 ChatGPT 的路线,只要重新设计 prompt 就可以快速开发新功能,无需编写程序25。
  2. 不同期待导致的使用方式
    • 成为专才
      • 对预训练模型做改造
        • 加外挂(Head):如针对不同任务有 bertForSequenceClassification(单一句子分类任务)、bertForTokenClassification(单一句子标注任务)、用于问答任务的相关设置等,常见任务包括情感分析、命名实体识别、问答任务等
        • 微调和 Adapter:通过更新网络参数或在 adapter 中更新参数来实现,如在翻译任务中,不同的调整方式对模型的翻译能力有影响。100 个任务如果采用传统方式需要存 100 个大模型,而使用 adapter 则只需存 1 个大模型和 100 个 adapter。
    • 成为通才
      • 机器学会读题目叙述或范例
        • Instruction Learning(指令学习):通过题目叙述让机器理解任务要求,如英语语法选择题目,给出情境和选项,让机器选择正确答案121212。
        • In - context Learning(上下文学习):通过给出范例让机器学习,如情感分析任务中,给出不同情感倾向的句子作为范例,让机器判断新句子的情感。包括分类任务(如判断句子情感倾向)、多选项任务(如选择合适的输出)等,还涉及不同模型在该学习方式下的表现及相关研究。
      • Instruction - tuning(指令微调):如 FLAN 模型在多种任务类型上的表现,涵盖自然语言推理、阅读理解、闭卷问答等任务。还涉及 Chain of Thought(CoT)Prompting(思维链提示)相关内容,包括标准提示和思维链提示在数学应用题等任务中的不同表现,以及思维链提示中的 Few - shot、Few - shot - CoT、Self - consistency 等方法的应用,还有 Problem Reduction(问题分解)方法在解决问题时的步骤和示例。
      • 用机器来找 Prompt:包括 Hard Prompt 和 Soft Prompt,可通过任务特定的标记数据训练、在输入添加 Adapter、使用强化学习、利用语言模型(如 GPT - 3、BlenderBot、DialoGPT 等)来找 Prompt,如使用正向生成模板、让语言模型遵循指令生成内容等方式,并且有不同方法在准确率上的对比。

  • 專才的期待要求模型專注於特定任務,因此需要進行微調和配置;而通才的期待則是希望模型能夠靈活應對多種任務,自然語言下指令即可,無需要頻繁調整。
  • GPT專注於生成任務,例如文字接龍,而BERT則是填空任務,主要關注於理解句子結構和補全缺失部分,兩者的應用場景和使用方式大相逕庭。

 

【生成式AI】Finetuning vs. Prompting:對於大型語言模型的不同期待所衍生的兩類使用方式 (1/3) Go to original video by Hung-yi Leeicon-default.png?t=O83Ahttps://youtube.com/watch?v=F58vJcGgjt0

【生成式AI】Finetuning vs. Prompting:對於大型語言模型的不同期待所衍生的兩類使用方式

大型語言模型的兩種期待

“人們對大型語言模型有兩種不同的期待。”

  • 大型語言模型在歷史上引發了兩種截然不同的期待。第一種期待是希望這些模型能作為解決特定問題的專才,例如翻譯或摘要生成。使用者小心地調整模型,使其專注於特定任務。這意味著對模型的使用需要一定的改造與微調,以確保它能履行特定的功能。

  • 第二種期待則是希望大型語言模型成為一個通才,具備解決多元任務的能力。這種期待要求模型能夠理解並執行用戶以自然語言下的指令,而不需要事先進行特別調整。這樣的模型會以更靈活的方式來處理用戶的各種需求。

GPT與BERT的差異

“GPT做的事情就是文字接龍,而BERT則是文字填空。”

  • GPT和BERT都是知名的語言模型,卻擁有不同的工作方式。GPT擅長進行“文字接龍”,透過上下文補全句子,使得用戶能夠自然而流暢地進行對話。

  • 相對而言,BERT主要執行“文字填空”的任務。它的工作是接收一段文字時,將其中的缺失部分進行填充。這種填空方式使BERT能夠在理解和生成語言時有著不同的應用場景,尤其在多任務的自然語言處理中。

使用大型語言模型的方式

“這兩種期待導致兩種不同類型的使用與大型語言模型的方式。”

  • 第一種期待,針對專才的期望,通常使用BERT類的模型,這類模型需要進行專門的外掛和參數微調,讓它們能夠專注於特定的任務。例如,對BERT進行翻譯任務時,就必須進行參數調整,來專注於翻譯這一任務。

  • 而第二種期待則是在通才模式下使用大型語言模型,如GPT。用戶能夠直接使用自然語言來給模型下指令,讓模型進行翻譯、摘要等任務,無需過多的調整。這樣的模式在使用上更加靈活,也讓開發新功能變得更加迅速和簡便。

【生成式AI】Finetuning vs. Prompting:對於大型語言模型的不同期待所衍生的兩類使用方式 (2/3) Go to original video by Hung-yi Leeicon-default.png?t=O83Ahttps://youtube.com/watch?v=aZ_jXZvxyVg

  • 機器理解人類指令的過程涉及透過範例及任務敘述來學習,機器依賴這些信息來解析和執行特定的任務。
  • 選擇通才能夠讓模型在不同的任務上保持靈活性,提高適應性,並能有效地處理未來可能遇到的各種任務類型。

【生成式AI】Finetuning vs. Prompting:對於大型語言模型的不同期待所衍生的兩類使用方式

機器如何成為通才的探索

我們希望機器能夠閱讀任務的敘述,並根據範例進行學習。

  • 機器需具備理解任務敘述的能力,以便能夠按照人類的指令執行任務。為達成這一目標,我們會為機器提供一些範例作為參考,使其能夠理解該執行的任務類型。

  • 這樣的學習方式稱為「Instruction learning」,透過精心設計的敘述與範例來引導機器的行為,使其更像人類。

  • 在這個過程中,機器的學習能力會逐漸進化,並能根據不同任務自動調整其反應。

Instruction Learning與In-context Learning的定義

給定任務敘述和範例之後,機器能夠正確地回答問題。

  • Instruction learning是指機器學習如何解讀指令並執行任務的過程,而In-context learning則是指根據提供的範例進行學習和回答問題的方式。

  • 這兩種學習模式是ChatGPT系列希望達成的核心目標。

  • 因為過去其他模型如BERT主攻專才微調,GPT系列則選擇朝著通才發展,這使得它在面對多種任務時能夠保持靈活性和適應性。

微調與通才模型的選擇

GPT系列不選擇像BERT一樣微調參數,而是專注於通才模型的開發。

  • OpenAI在一開始就抱有高期待,希望創建能夠理解各種人類指令的通才模型,這代表了他們對於人工智慧未來的一種高瞻遠矚的見解。

  • 相較於BERT的專才導向,GPT系列採取的路線是尋求創新,讓機器在多樣化的任務中表現出色而非僅僅對單一任務進行微調。

  • 微調這條路或許相對狹隘,因此選擇更為大膽、通才的做法讓其具有更廣泛的應用潛力。

Machine Learning以範例學習的實驗

基於範例機器學習的過程有賴於示範是否正確。

  • 進行情感分析時,我們不能僅僅給機器一個句子,還需要告訴它任務的類型以及它應該如何回應。透過提供正確的範例,機器能學會判別句子的情感。

  • 然而,研究表明即使範例標記出現錯誤,機器的表現下降仍然有限,顯示出其內在的理解能力或許不完全依賴範例的精確性。

  • 此外,如果範例的內容與目標任務差異過大,則學習效果會顯著降低,表明範例的相關性對於機器學習成效至關重要。

 

 


http://www.kler.cn/a/412225.html

相关文章:

  • Spring Boot 3.4.0 发行:革新与突破的里程碑
  • 【作业九】RNN-SRN-Seq2Seq
  • RTMP协议
  • Burp入门(2)-代理功能介绍
  • 大数据面试SQL题-笔记02【查询、连接、聚合函数】
  • transformer.js(三):底层架构及性能优化指南
  • 第 4 章 Java 并发包中原子操作类原理剖析
  • 鸿蒙NEXT开发案例:文字转拼音
  • Apache OFBiz xmlrpc XXE漏洞(CVE-2018-8033)
  • 详谈面试题:Vue、React为什么使用虚拟DOM
  • Git中HEAD、工作树和索引的区别
  • MySQL 中的乐观锁与悲观锁
  • 日常开发记录-正确的prop传参,reduce搭配promise的使用
  • 卸载snap docker一直卡住:Save data of snap “docker“ in automatic snapshot set #3
  • [Redis#0] iredis: linux上redis超好用的环境配置
  • [含文档+PPT+源码等]精品大数据项目-Django基于大数据实现的游戏用户行为分析与个性化推荐系统
  • vscode下面python调试报错ImportError: cannot import name ‘Literal‘ from ‘typing‘
  • 【三维生成】Edify 3D:可扩展的高质量的3D资产生成(英伟达)
  • Linux 子进程 -- fork函数
  • python之开发笔记
  • 力扣 LRU缓存-146
  • 基于微信小程序的校园二手交易平台设计与实现,微信小程序(定制+讲解+咨询)校园二手商品在线交易系统、校园二手市场管理与推荐工具、智能化商品交易与推荐平台
  • 网络安全、Web安全、渗透测试之笔经面经总结(一)
  • FastAPI学习最后一天: Cors跨域和token鉴权
  • MySQL 存储引擎切换场景与示例
  • 泷羽Sec学习笔记:shell(2)永久环境变量和字符串显位