首页 > 其他分享 >Orca 虎鲸1号余波未平 ,虎鲸2号一波又起

Orca 虎鲸1号余波未平 ,虎鲸2号一波又起

时间:2024-01-22 18:32:05浏览次数:14  
标签:这个 余波未平 Orca2 模型 instruction 虎鲸 GPT Orca

还是讲虎鲸,不过是迭代了

Orca 虎鲸1号余波未平 ,虎鲸2号一波又起_字段

     1 2 3上链接......

     2311.11045.pdf (arxiv.org)

     

Orca 虎鲸1号余波未平 ,虎鲸2号一波又起_深度学习_02

       11月18号新出的论文,不同于Orca1,Orca2的论文著作这里有中国兄弟介入了,感觉Orca1好像都是3哥,3哥水论文的速度是真的快...

       先说一下我对这篇论文的感受,其实没多有特别大的变革,比起Llama到Llama2的变更还是小的(光是GQA这一项就挺颠覆的)

        文章开头照例给他们团队做了一个广告,众所周知的刷榜环节

Orca 虎鲸1号余波未平 ,虎鲸2号一波又起_字段_03

        用一个常见的问题来直观感受一下几个模型回答问题的区别

Orca 虎鲸1号余波未平 ,虎鲸2号一波又起_深度学习_04

         下图是这些模型的相关top_p,temperature的设定

Orca 虎鲸1号余波未平 ,虎鲸2号一波又起_深度学习_05

        我上篇文章说过了Orca是基于Llama的SFT版本,但是我想提醒读者的是,Orca2的7b和13b能在AGI,BBH等所有测试里都能领先Llama2的70B,这个还是让人觉得多少有那么点意思!

       Orca的基本原理都在这个文章里,想详细了解的,可以看我以前这个帖子。为什么羊驼群里混入一只虎鲸,关于Orca和逐步蒸馏 (qq.com)

       今天这篇文章主要说一下Orca2的几点更新和变化:

1- 正式定义或者叫命名Orca的这种训练模式Imitation learning

      直译过来就是模仿学习(跟人学),也解释了一下为什么要这么做,文中给出了我觉得很合乎逻辑的说法。

      我们考虑一个问题,为什么GPT-4比GPT-3.5厉害,GPT-3.5又基本秒杀其他的LLM?一个最大的核心就是大力出奇迹,它的大力不仅仅是数据集的大而全(当然和这个我个人认为关系最大),还一个重要的就是它的网络的复杂度,比如GPT-4,坊间盛传是1.8T的参数量,足足有10个GPT-3.5的容量,对这块超大规模训练感兴趣的读者可以参考之前的MOE训练的文章让Ilya都感到害怕的AGI是由什么东西创造出来的?(qq.com)

      那么这么大的参数怎么就一定比小模型好呢,最重要的原因就是涌现emergent abilities。这个可以实现跨学科,跨专业领域的举一反三的能力其实是大力出奇迹的产生的,某种程度来说,这对深度学习来讲,是最好的礼物。

      但是涌现不是所有模型都能出现的能力,它和模型的参数量呈明显的完全正相关关系。

      所以我们日常接触的模型,什么7B,13B啥的,基本就没涌现什么事。有人说涌现的门槛是33B,我觉得这个基本可能也是为了宣传打榜用的,实际上有文献表明涌现至少要达到70B这个门槛,才能有一定作用,这个也是为什么Meta弄Llama,非要弄到70的原因。而7B,13B更多的现在感觉就像是个玩具,大家拿着微调玩,或者做做所谓的垂直领域自high模型打打榜,其他的一些正事好像也跟它们没什么关系。

(其实胡说八道,也就是所谓的幻觉和它也多少有点关系

Orca 虎鲸1号余波未平 ,虎鲸2号一波又起_Small_06

,这个以后再讲),或者说真理信号(truth signal)比较明显

       那这篇论文的题目其实也说的很明确:Teaching Small Language Models How to Reason,就是说小模型不是没能力做涌现吗,那么我们就照葫芦画瓢学大模型的思维逻辑吧,然后让大模型教它,how to reson(这块就不讲了,上篇说了)


2- 正式定义了Tuning的名字Explanation Tuning

       这个就是典型的跟现在业界比较常用的Instruction Tuning对着干了,属于是。文中也给Instruction Tuning(指令精调)列出了罪状,其中最严重的就是这句:

One of the known weaknesses of instruction tuning is that a resulting student model could learn to generate stylistically correct, but ultimately wrong

      这个其实说的已经很严重了,说指令精调是行文上的正确,但是是本质的错误...

      它给出的理由也主要是因为传统指令精调,就是针对最终答案的学习,并没有对真实的大模型的思考(这块可以约等价于涌现,虽然不能完全画等号)有任何的visibility

 Explanation Tuning,也就是解释精调,对于规避这种risk的方法就是要完全学习LLM的思考过程(具体看上一篇),相反对结果的优先级要低于过程

       

3- Cautious Reasoner 

       Cautious reasoner的意思就是让Orca2在学习的过程中能成为一个非常有逻辑的,合乎条理的LLM,这个核心能力是靠优秀的system instruction(这个概念不理解的请看上一篇)来实现的,文中也举了一个很好的例子,就是即使像强如GPT-4这样的LLM,不同的system instruction,产生完全不同的答案,答案即训练用的COT数据部分(其实可以简单理解为prompt optimization)

       

Orca 虎鲸1号余波未平 ,虎鲸2号一波又起_Small_07

      如上图所示

      1号答案几乎是没思考就乱说,2号用了获取COT的prompt方式,能好一些 ,3号虽然答案是错的,但是解释的逻辑是对的

4号答案是正确的,因为它用了以下的比较复杂的成体系的system instruction

Orca 虎鲸1号余波未平 ,虎鲸2号一波又起_Small_08


4- Prompt Erasing

       这个有点意思,我个人粗浅的理解是增加训练难度,会掌握更好的知识,可以拿BERT和GPT来比较,老做完形填空的学生(BERT),学习起来虽然容易,但是最终的考试的时候,成绩一定不如写大作文的学生(GPT)

       Erasing这个擦除,它擦了什么,其实就是Orca2比Orca1做的最大的改动,这块为了看着方便,我还是沾一下吧

       Orca1的训练数据结构这样的:

⟨ System message, User query, LLM response ⟩

{"instruction": "Arrange the words in the given sentence to form a grammatically correct sentence.", "input": "the quickly brown fox jumped", "output": "the brown fox jumped quickly"}  

      然后Orca2在训练的时候把这个instruction字段留着了,字段里的内容给删了...

Imitation learning里最重要的字段system instruction的内容,所以在SFT的时候,模型是根本不知道这个东西是由什么样的system instruction来生成的,于是又得硬憋... 

      要猜这个字段,当然最后要跟Teacher模型的内容做Loss compare, 看猜的对不,久而久之, 就通过后两个字段,推出来了思考的前置条件,这样客观上增加了训练的难度,但是相当于开辟了另外一个学习的维度,会让模型鲁棒性更强

      Orca2内容就这么多,想玩的可以自己去试一下

      HF的库名:microsoft/Orca-2-7b

      下篇见

Orca 虎鲸1号余波未平 ,虎鲸2号一波又起_深度学习_09




标签:这个,余波未平,Orca2,模型,instruction,虎鲸,GPT,Orca
From: https://blog.51cto.com/u_16432251/9369161

相关文章

  • 为什么羊驼群里混入一只虎鲸,关于Orca和逐步蒸馏
        不敢想象自动给训练数据打标签能有多爽(qq.com)   读书人想要点数据,怎么能叫偷呢?要叫借,也可以叫Self-Instruct(qq.com) 自从Llama诞生以来,几乎已经成为了开源世界的模型标准,而诸多基于Llama重训练和微调的各个版本也应运而生,其中比较有代表性的有以下这些:  ......
  • GO TCP代理(可代理SQLSERVER\MYSQL\ORCALE)
    用nginx代理不知道为什么内网能用,外网用不了,改用go写个代理临时用下,直接上代码 packagemainimport( "fmt" "io" "log" "net")varaddrstring="0.0.0.0:51415"//代理服务端口vardest_addrstring="192.168.2.120:1433"//目标地址......
  • VectorCAST 对基于国产芯片的软件开发的支持
    随着汽车朝着电动化、自动化、智能化、网联化的“四化”趋势发展,芯片的研发和生产变得越来越关键。国产芯片代表着中国的科技雄心和自主创新的追求。实现这些目标需要面对严峻的技术挑战,其中之一就是确保国产芯片开发和应用的质量和可靠性。VectorCAST工具的应用为解决这一挑战提......
  • Linux 下使用 Wine 安装 OrCAD16
    本文演示的是openSUSE,其他发行版操作类似安装Wine官方下载页面sudozypperrefsudozypperinwinewinetricks下载OrCADOrCADCapture绿色版带元件库安装OrCAD创建安装容器WINEARCH=win32WINEPREFIX=~/wine/OrCADwinetricksvcrun2005将压缩包复制到~/win......
  • Cadence OrCAD 功能操作教程
    1.导出BOM表操作顺序:选中当前要导出BOM表的原理图->Tool->BillofMaterials->设置Header和Combined->勾选OpeninExcel导出BOM表LineItemDefinition设置Header:Item\tQuantity\tReference\tPart\tPCBFootprint\tDescription\tPartNumberCombi......
  • 【ORCAL】进程太厉害,影响了主业务系统,该怎么处理?
    v$locked_objectv$lock锁表的问题一、症状描述今天客户反馈说,他们的主业务系统宕机了,是因为某个服务器有个进程占用太多资源带宽,而且杀死后会自动恢复,严重影响业务,希望我们协助查询一下具体的原因!我分析了一下原因,应该是执行SQL或程序时,程序没有响应或SQL执行一......
  • Orcal数据库的开始创建
      sqlplus/@courseassysdba;showcon_name; showpdbs;sqlplus/@orclassysdba;中有可插入数据库   altersessionsetcontainer=orclpdb;createuserscottidentifiedbytiger;grantconnect,resource,unlimitedtablespacetoscott; alterusers......
  • orcale中把查询结果是逗号多个人员的数据转换为单行,过滤重复的
    1.原本图 2.解决方法selectregexp_substr(a.numbers,'[^,]+',1,level)asnumbersfrom(selectdistinctid,numbersfromprojectwhereisdelete=0andisactive=1andnvl(objstatus,'402881e50c717307010c719745ce0009')!='402881e50c717307010c......
  • ORCA优化器浅析——DXLToPlStmt ForeignScan
    有如下两种类型CDXLNode,通过对应的函数将CDXLNode转为对应的Plan:EdxlopPhysicalForeignScan--》TranslateDXLTblScanEdxlopPhysicalDynamicForeignScan--》TranslateDXLDynForeignScan其中比较重要的函数是ProcessDXLTblDescr【translatetabledescriptorintoarangetablee......
  • ORCA优化器浅析——DXLToPlStmt[CTranslatorDXLToPlStmt]
    如上图所示是将plan_dxl转为plan_stmt的主入口函数。其主要工作就是创建plan_id_generator、motion_id_generator、param_id_generator和table_list、subplans_list,并将其设置到CContextDXLToPlStmtdxl_to_plan_stmt_ctxt中供后续流程调用;初始化CTranslatorDXLToPlStmt类,形参为MD......