社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  chatgpt

AI2:仅凭开源数据,可达ChatGPT 83%表现

夕小瑶科技说 • 1 年前 • 228 次点击  
 夕小瑶科技说 原创
 作者 | Python

ChatGPT强大的性能让人爱不释手,ChatGPT迟迟不开源让人恨得牙根痒痒。那仅通过开源数据,能够取得怎样的效果呢?近期,AI2的一篇论文显示,最好的65B规模的模型能够达到ChatGPT表现的83%,能够达到GPT-4表现的68%。让我们一起来看看他们是怎么做的。

论文题目:
How Far Can Camels Go? Exploring the State of Instruction Tuning on Open Resources

论文链接:
https://arxiv.org/pdf/2306.04751.pdf

项目链接:
https://github.com/allenai/open-instruct

开源资源使用

ChatGPT等大规模语言模型(简称大模型)的训练主要分成两个阶段:语言模型训练指令精调。对语言模型训练,该文主要探索了不同规模3种预训练模型:LLaMa、OPT和Pythia。下图展示了不同模型的参数规模及预训练时的数据规模。

而在第二步的指令精调中,该文探索了如下12个开源的指令精调数据集。这些数据集的构建思路主要包括5个方向:

  1. 通过现有的NLP数据集构建
  2. 人类从头写
  3. 通过GPT4等特定模型生成
  4. 人类写的prompt+模型生成补全
  5. 通过思维链(CoT)、代码补全等特定形式构建

图中,为对话的平均轮数,后两列为用户prompt与生成内容的平均长度。

作者还构建了2个混合数据源的训练集,包括:

  • Human data mixture:含有人类标注的数据集(FLAN V2, CoT, Dolly, 和 Open Assistant 1)
  • Human+GPT data mix:进一步增加模型生成的数据集(GPT4-Alpaca, Code-Alpaca, and ShareGPT)

评价方式

如何评估大模型的好坏也是个复杂的问题。该文采用了包括自动评价和人工评价的方式,包括:

  • 事实知识:Massive Multitask Language Understanding dataset (MMLU)。以单选题的形式,涵盖了57个学科,从入门级到专业级难度的都有。
  • 推理:Grade School Math dataset (GSM) 和 Big-Bench-Hard (BBH)。GSM是小学难度的数学题;而BBH包含了23种较难的推理任务,比如日期理解、影评、逻辑归纳、目标计数等。
  • 多语言能力:基于TyDiQA,段落级抽取式阅读理解数据集,包含11种不同形式的语言。
  • 编程:基于HumanEval数据集,基于文档的函数级变成能力(为避免混淆,这里改称为Codex-Eval)。
  • 基于模型的评价方式:参考AlpacaFarm的设置,选取805个开放式指令。让Davinci-003生成长度不超过2048的回复作为基准,并让GPT-4来做排序比较。
  • 人工评价:考虑了332个指令(源于Self-Instruct 和Vicuna)。指标包括:
    • 二分类地去判断每个回复是否可以接受
    • 5分类地两两比较模型输出结果

实验结果

结论1:不同的Instruction Tuning数据集,会给模型带来不同方面的优势。

结论2:混合多种Instruction Tuning数据集效果会更好。

这两条结论很容易从下图中看出。比如MMLU上,用Flan V2最好,GSM上,用CoT最好,在Codex-Eval上用Code-Alpaca最好。Instruction Turing数据和下游任务一致性越高,表现就越好。而看均值的话,混合最多数据集的Human+GPT data mix最好。

接下来,使用Human+GPT data mix,检验参数量相当的的Pythia(300B)、OPT(180B)和LLAMA(1.0T)模型的表现,如下图所示,发现表现与预训练时使用的数据规模一致。

结论3:参数规模相同时,backbone模型预训练数据量越大表现越好。

后文将在Human+GPT data mix上调整过的LLAMA模型称作TÜLU。下图印证了几个比较常规的结论:参数越多表现越好;Instruction Tuning对所有参数规模的模型都有效;参数规模越小提升越大。以及:

结论4:TÜLU 65B同ChatGPT相比还有差距,表现达到ChatGPT的83%,GPT-4的68%。

具体的人类评价结果如下图所示,可以看到 TÜLU 65B 和 ChatGPT 相比仍有较大差距。(下图左是是否接受的0-1评分,下图右为两两比较评分)

总结

OpenAI的ChatGPT等模型不开源,给学术界相关研究提出了很大的挑战。本文系统地探索了开源数据集上Instructiong Tuning的结果,并同ChatGPT于GPT-4的结果系统比较,对相关研究具有较好的参考价值。

此外,对比本文与OpenAI的论文也可以看出,OpenAI真的是什么训练细节都不讲。且不说GPT-4的技术报告中没有涉及任何技术细节,就连最近被大家夸赞开源了数据集的文章verify step by step中透露的技术细节也远少于本文。


Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/156461
 
228 次点击