热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

谷歌、斯坦福联合发文:我们为什么一定要用大模型?(谷歌模型突破)

本文主要分享【谷歌模型突破】,技术文章【谷歌、斯坦福联合发文:我们为什么一定要用大模型?】为【夕小瑶】投稿,如果你遇到相关问题,本文相关知识或能到你。谷歌模型突破

本文主要分享【谷歌模型突破】,技术文章【谷歌、斯坦福联合发文:我们为什么一定要用大模型?】为【夕小瑶】投稿,如果你遇到相关问题,本文相关知识或能到你。

谷歌模型突破

de45640037a8c803874c6f61a1a101b8.png

文 | Harris

语言模型已经深刻变革了自然语言处理领域的研究和实践。近年来,大模型在多个领域都取得了重要的突破。它们无需在下游任务上微调,通过合适的指令或者提示就可以取得优异的性能,甚至有时让人为之惊叹。例如,GPT-3 [1] 可以写情书、写剧本和解决复杂的数据数学推理问题,PaLM [2] 可以解释笑话。上面的例子只是大模型能力的冰山一角,现在利用大模型能力已经开发了许多应用,在OpenAI的网站 [3] 可以看到许多相关的demo,而这些能力在小模型上却很少体现。

今天介绍的这篇论文中,将那些小模型不具备而大模型具备的能力称为突现能力(Emergent Abilities),意指模型的规模大到一定程度后所突然获得的能力。这是一个量变产生质变的过程。

突现能力的出现难以预测。为什么随着规模的增大,模型会忽然获得某些能力仍旧是一个开放问题,还需要进一步的研究来解答。在本文中,笔者梳理了最近关于理解大模型的一些进展,并给出了一些相关的思考,期待与大家共同探讨。

相关论文

Emergent Abilities of Large Language Models.http://arxiv.org/abs/2206.07682

Beyond the Imitation Game: Quantifying and extrapolating the capabilities of language models.https://arxiv.org/abs/2206.04615

大模型的突现能力

何谓大模型?到什么尺寸才算“大”?这并没有一个明确的定义。一般来说,模型参数可能要达到十亿级别才会显示出明显不同于小模型的zero-shot和few-shot的能力。近年来已有多个千亿和万亿级别参数的模型,在一系列的任务上都取得了SOTA的表现。在一些任务中,模型的性能随着规模的增加而可靠地提高,而在另一些任务中,模型在某个规模上表现出性能的突然提升。可以用两个指标去对不同的任务进行分类 [4]:

Linearity: 旨在衡量模型随着规模的增加在任务上的表现在多大程度上得到可靠的提高。

Breakthroughness: 旨在衡量当模型规模超过临界值时可以在多大程度上学习任务。

这两个指标是模型规模和模型性能的函数,具体计算细节可以参考 [4]。下图展示了一些高Linearity和高Breakthroughness任务的例子。

83317680a53ef37b6c346c880b9b0b79.png

高Linearity的任务大多是基于知识的,也就是说他们主要依赖于记忆训练数据中存在的信息,比如回答一些事实性的问题。更大的模型通常用更多的数据进行训练,也能记住更多的知识,所以模型随着规模的增大在这类任务上显式出了稳定的提升。高Breakthroughness的任务包括较复杂的任务,它们需要用几种不同的能力或执行多个步骤以得出正确的答案,例如数学推理。较小的模型难以获得执行这类任务所需要的所有能力。下图进一步展示了不同的模型在一些高Breakthroughness任务上的表现

81b18ae5f55e5693252120ed5947b119.png

在未达到一定的模型规模时,模型在这些任务上的表现是随机的,达到某个特定的规模之后,就有了显着的提升。

是平滑还是突现?

前面我们看到的是模型规模增加到一定程度后突然获得了某些能力,从任务特定的指标来看,这些能力是突现的,但是从另外的角度来看,模型能力的潜在变化更为平滑。本文讨论如下两个角度:(1)使用更为平滑的指标;(2)将复杂的任务分解为多个子任务。

下图(a)展示了一些高Breakthroughness任务的真实目标对数概率的变化曲线,真实目标的对数概率是随着模型规模增大逐渐提高的。

0daed35559f7572624df28378b3cd7f9.png

图(b)显式了对于某个多项选择任务,随着模型规模的增大,正确答案的对数概率逐步提升,而错误答案的对数概率在某个特定的规模之前逐步提升,而在此之后趋于平坦。在这个规模之后,正确答案概率和错误答案概率的差距拉大,从而模型得到了显着的性能提升。

此外,对于某个特定任务,假设我们可以用Exact Match和BLEU去评价模型的表现,BLEU相比于Exact Match是更为平滑的指标,使用不同指标所看到的趋势可能有显着的差距。

对于一些任务,模型可能在不同的规模上获得了做这个任务的部分能力。下图是通过一串emoji去猜测电影名字的任务

8ea27b3d4b9378862d2288d3fb0a72e8.png

我们可以看到模型在一些规模开始猜测电影名称,在更大的规模上识别表情符号的语义,在最大的规模上产生正确的答案。

大模型对如何形式化任务很敏感

模型在什么规模上体现出突然的能力提升也取决于如何去形式化任务。例如,在复杂的数学推理任务上,使用标准的prompting将其视为问答任务,模型规模增大性能提升十分有限,而若使用如下图所示的chain-of-thought prompting [5],将其视为多步推理任务,则会在某个特定的规模看到显着的性能提升。

8fe2e33ee5d648bfd43f0970a3e416fc.png

c6421d5d08bd22726d7d28e13f6b592d.png

更有甚者,研究人员发现通过添加一个简单的提示“Let’s think step by step”,就可以大幅提升GPT-3的zero-shot推理能力 [6],如下图所示

7caceea4d71c4a0800933607b5cae138.png

这对于我们的启发是,大模型有时做不好某个任务,可能并不是真的做不好,而是需要合适的方式去激发它的能力。

模型越大一定越强吗?

前面的讨论给我们的直观感觉是模型规模变大性能一定是有所提升的,但是真的是这样吗?实际上,对于有些任务,模型变大之后性能可能反而会有所下降,如下图所示

bea3128980c68d4d45b5044338fb8e14.png

纽约大学的几位研究人员还组织了一项竞赛,旨在找到那些模型变大后反而表现变差的任务。

fe8e74ad21695a7837d81ce88087eac1.png

比如在问答任务中,如果在提问的同时加上你的信仰,大模型会更容易受到影响。感兴趣的同学可以关注。

总结与思考

在大多数任务上,随着模型规模的增大,模型的表现也越好,但是也会有一些反例。更好地去理解模型此类行为还需要更多的研究。

大模型的能力需要合适的方式去激发。

大模型真的是在做推理吗? 如我们之前看到的,通过添加提示“Let’s think step by step”,大模型在数学推理任务上就可以进行多步推理并取得令人满意的效果,似乎模型已经具备了人类的推理能力。但是,如下如所示,如果给GPT-3一个没有意义的问题,让它去做多步推理,GPT-3看似在做推理,实则是一些无意义的输出。正所谓“garbage in, garbage out”。相比较而言,人类就可以判断问题是否是合理的,也就是说在给定条件下,当前问题是不是可回答的。“Let’s think step by step”能够发挥作用,笔者觉得根本原因还是GPT-3在训练过程中看过很多类似的数据,它做的只不过是根据前面的token去预测接下来的token罢了,跟人类的思考方式仍旧有本质的区别。当然,如果给合适的提示让GPT-3去判断问题是不是合理的或许它也能在某种程度上做到,但是距离“思考”和“推理”恐怕仍有相当大的距离,这不是单纯增大模型的规模能够解决的。模型或许不需要像人类那样思考,但是亟需更多的研究去探索除增大模型规模之外的路径。

eaa9a5f609cd4eb28b0940493b184e8f.png

系统1还是系统2? 人类大脑有两个系统相互配合,系统1(直觉)是快速的、自动化的,而系统2(理性)是缓慢的、可控的。大量实验已证明,人更喜欢使用直觉进行判断和决策,而理性可以对其导致的偏误进行纠正。现在的模型大多基于系统1或系统2进行设计,能否基于双系统去设计未来的模型呢?

大模型时代的查询语言。 之前我们把知识和数据存储在数据库和知识图谱中,我们可以用SQL查询关系型数据库,可用SPARQL去查询知识图谱,那我们用什么查询语言去调用大模型的知识和能力呢?

梅贻琦先生曾说“所谓大学者,非谓有大楼之谓也,有大师之谓也”,笔者在此用个不太恰当的类比结束本篇:所谓大模型者,非谓有参数之谓也,有能之谓也。

e5c6c453d4ca130d529974360245aeaf.jpeg

后台回复关键词【 入群

加入卖萌屋NLP、CV、搜推广与求职讨论群

 

2d57465a022b9a97a89cf6dff3edb096.png

[1] Language Models are Few-Shot Learners. https://arxiv.org/abs/2005.14165 [2] PaLM: Scaling Language Modeling with Pathways. https://arxiv.org/abs/2204.02311 [3] https://gpt3demo.com/ [4] Beyond the Imitation Game: Quantifying and extrapolating the capabilities of language models. https://arxiv.org/abs/2206.04615 [5] Chain of Thought Prompting Elicits Reasoning in Large Language Models. https://arxiv.org/abs/2201.11903 [6] Large Language Models are Zero-Shot Reasoners. https://arxiv.org/abs/2205.11916

本文《谷歌、斯坦福联合发文:我们为什么一定要用大模型?》版权归夕小瑶所有,引用谷歌、斯坦福联合发文:我们为什么一定要用大模型?需遵循CC 4.0 BY-SA版权协议。


推荐阅读
  • 软件测试行业深度解析:迈向高薪的必经之路
    本文深入探讨了软件测试行业的发展现状及未来趋势,旨在帮助有志于在该领域取得高薪的技术人员明确职业方向和发展路径。 ... [详细]
  • 计算机学报精选论文概览(2020-2022)
    本文汇总了2020年至2022年间《计算机学报》上发表的若干重要论文,旨在为即将投稿的研究者提供参考。 ... [详细]
  • 机器学习算法:SVM(支持向量机)
    SVM算法(SupportVectorMachine,支持向量机)的核心思想有2点:1、如果数据线性可分,那么基于最大间隔的方式来确定超平面,以确保全局最优, ... [详细]
  • 本文节选自《NLTK基础教程——用NLTK和Python库构建机器学习应用》一书的第1章第1.2节,作者Nitin Hardeniya。本文将带领读者快速了解Python的基础知识,为后续的机器学习应用打下坚实的基础。 ... [详细]
  • Maven + Spring + MyBatis + MySQL 环境搭建与实例解析
    本文详细介绍如何使用MySQL数据库进行环境搭建,包括创建数据库表并插入示例数据。随后,逐步指导如何配置Maven项目,整合Spring框架与MyBatis,实现高效的数据访问。 ... [详细]
  • 对于初学者而言,搭建一个高效稳定的 Python 开发环境是入门的关键一步。本文将详细介绍如何利用 Anaconda 和 Jupyter Notebook 来构建一个既易于管理又功能强大的开发环境。 ... [详细]
  • 我的读书清单(持续更新)201705311.《一千零一夜》2006(四五年级)2.《中华上下五千年》2008(初一)3.《鲁滨孙漂流记》2008(初二)4.《钢铁是怎样炼成的》20 ... [详细]
  • AI炼金术:KNN分类器的构建与应用
    本文介绍了如何使用Python及其相关库(如NumPy、scikit-learn和matplotlib)构建KNN分类器模型。通过详细的数据准备、模型训练及新样本预测的过程,展示KNN算法的实际操作步骤。 ... [详细]
  • 在OpenCV 3.1.0中实现SIFT与SURF特征检测
    本文介绍如何在OpenCV 3.1.0版本中通过Python 2.7环境使用SIFT和SURF算法进行图像特征点检测。由于这些高级功能在OpenCV 3.0.0及更高版本中被移至额外的contrib模块,因此需要特别处理才能正常使用。 ... [详细]
  • 精选10款Python框架助力并行与分布式机器学习
    随着神经网络模型的不断深化和复杂化,训练这些模型变得愈发具有挑战性,不仅需要处理大量的权重,还必须克服内存限制等问题。本文将介绍10款优秀的Python框架,帮助开发者高效地实现分布式和并行化的深度学习模型训练。 ... [详细]
  • Jupyter Notebook多语言环境搭建指南
    本文详细介绍了如何在Linux环境下为Jupyter Notebook配置Python、Python3、R及Go四种编程语言的环境,包括必要的软件安装和配置步骤。 ... [详细]
  • 深入解析层次聚类算法
    本文详细介绍了层次聚类算法的基本原理,包括其通过构建层次结构来分类样本的特点,以及自底向上(凝聚)和自顶向下(分裂)两种主要的聚类策略。文章还探讨了不同距离度量方法对聚类效果的影响,并提供了具体的参数设置指导。 ... [详细]
  • 实践指南:使用Express、Create React App与MongoDB搭建React开发环境
    本文详细介绍了如何利用Express、Create React App和MongoDB构建一个高效的React应用开发环境,旨在为开发者提供一套完整的解决方案,包括环境搭建、数据模拟及前后端交互。 ... [详细]
  • 【转】强大的矩阵奇异值分解(SVD)及其应用
    在工程实践中,经常要对大矩阵进行计算,除了使用分布式处理方法以外,就是通过理论方法,对矩阵降维。一下文章,我在 ... [详细]
  • 本文介绍如何使用OpenCV和线性支持向量机(SVM)模型来开发一个简单的人脸识别系统,特别关注在只有一个用户数据集时的处理方法。 ... [详细]
author-avatar
继续不插电的名单
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有