发表时间: 2020-09 · arXiv:2009.03300
原文: https://arxiv.org/abs/2009.03300
作者/机构: Dan Hendrycks (UC Berkeley), Collin Burns (Columbia University), Steven Basart (UChicago), Andy Zou (UC Berkeley), Mantas Mazeika (UIUC), Dawn Song (UC Berkeley), Jacob Steinhardt (UC Berkeley)
一句话结论 本文构建了一个涵盖57个学科的大规模多任务多项选择基准测试,在零样本和少样本设置下评估了大型语言模型的知识广度与深度,发现即使是1750亿参数的GPT-3模型也存在严重的偏科、校准不良以及在计算和伦理等领域的显著知识盲点。
要解决什么问题 现有的自然语言处理评估体系存在严重的错位与饱和问题。一方面,传统的语言理解基准(如GLUE和SuperGLUE)已经被模型迅速攻克,无法有效区分模型在整体语言理解上与人类的真实差距;另一方面,现有的问答基准要么局限于中小学级别的简单常识,要么仅停留在阅读理解形式的表面文本处理,未能触及更深层次的专业知识。当前的主流Transformer模型通过在海量互联网语料(如维基百科、书籍、网站)上进行预训练,已经接触到了极其广泛的专业领域知识,但由于缺乏合适的测试平台,模型在预训练阶段究竟掌握了多少多领域真实世界知识、能否将其应用于高级推理,始终是一个悬而未决的卡点。这种评估手段的缺失,导致研究者无法准确识别模型在复杂学科、程序性计算以及人类价值观对齐等方面的知识盲点。
怎么做的 为了精准衡量模型从预训练语料中获取和应用知识的能力,作者放弃了传统的微调评估范式,转而构建了一个大规模多任务测试集。核心思路是直接在零样本和少样本设置下,通过多项选择题的分类准确率来考察模型的真实知识储备,从而避免模型依赖特定微调数据集中的虚假线索得分。该基准由15908个高质量问题组成,被划分为少样本开发集、验证集和包含14079个问题的测试集,确保每个学科至少有100个测试样本。关键设计在于其极高的学科广度与深度跨度:测试涵盖了57个截然不同的学科,分为人文学科(如法律、哲学,考察定性分析与道德规范理解)、社会科学(如经济学、心理学,考察人类行为与社会运转规律)、STEM(如物理、数学、计算机科学,考察经验方法与程序性计算能力)以及其他专业领域(如专业医学、商业)。题源均来自真实世界的高难度人类考试,例如研究生入学考试、美国医师执照考试以及专业书籍,难度从初级一路延伸至高级专业水平。在评估机制上,模型需要根据输入的提示(包含学科说明和可选的几个带答案的演示示例),直接为四个选项词元生成概率,选取概率最高的选项作为预测结果。这种设计不仅考察了模型的陈述性知识记忆,更强制要求其具备跨领域的流体智力与专家级的问题解决能力。
效果如何 实验主要评估了代表少样本与零样本预训练路线的GPT-3系列模型(参数量从27亿到1750亿不等),以及代表微调迁移学习路线的UnifiedQA(基于T5架构,最高110亿参数),并辅以RoBERTa、ALBERT和GPT-2等较小规模的微调基准。量化结果表明,模型规模对知识掌握起着决定性作用:130亿参数及以下的GPT-3模型在少样本下的准确率仅约25%,等同于随机猜测;而1750亿参数的GPT-3准确率跃升至43.9%,110亿参数的UnifiedQA在迁移测试中达到48.9%。然而,实验也暴露了当前SOTA模型的致命局限:首先是极度的偏科现象,GPT-3在美国外交政策上能拿到69%的准确率,但在大学化学上仅有26%,且在任何单一学科上都远未达到89.8%的人类专家水平。其次,模型在需要程序性知识的计算密集型STEM学科(如数学、物理)以及涉及人类价值观的学科(如专业法律、道德情景)上表现尤为糟糕,暴露出严重的知识盲点。最后,模型存在严重的校准度差问题,GPT-3无法准确评估自身的知识边界,其预测置信度与实际准确率的偏差最高可达24%。作者指出,仅靠扩大模型规模和常规预训练数据,可能难以弥补这些在深奥专业领域和人类价值观对齐上的根本缺陷。
核心问题与研究目标:
自然语言处理(NLP)模型在许多基准测试中已达到超人水平,但这与它们在整体语言理解方面仍远逊于人类的现实存在脱节。现有的基准如GLUE【索引29, Glue: A multi-task benchmark and analysis platform for natural language understanding, 2018, Wang et al.】和SuperGLUE【索引30, Superglue: A stickier benchmark for general-purpose language understanding systems, 2019, Wang et al.】很快被模型攻克,这表明它们未能捕捉到语言理解的重要方面。同时,Transformer模型通过在包括维基百科、数千本书籍和众多网站在内的大规模文本语料库上进行预训练,接触到了海量的专业领域知识,而现有NLP基准并未评估这些知识。因此,当前语言模型在学习和应用多领域知识方面的能力究竟如何,仍然是一个悬而未决的问题。
为了弥合模型在预训练中接触的广泛知识与现有成功衡量标准之间的差距,本文旨在创建一个新的基准测试,用于评估模型在人类学习的各种学科中的知识水平。该基准专门设计用于衡量预训练期间获得的知识,仅在零样本(zero-shot)和少样本(few-shot)设置下对模型进行评估,这使得测试更具挑战性,也更接近于我们评估人类的方式。
创新点与主要发现:
评估预训练知识: 该测试通过零样本和少样本学习评估模型,旨在衡量模型从海量预训练语料中获取和应用知识的能力,而非依赖于特定任务的微调。
揭示SOTA模型的性能与缺陷:
通过全面评估模型在学术和专业知识方面的广度和深度,该测试可用于跨多任务分析模型,并识别其重要缺陷。
(a) 使用GPT-3进行少样本学习和推理的示例。蓝色下划线粗体文本是GPT-3的自动补全响应,而前面的文本是用户输入的提示。在这个2样本学习的例子中,有两个指令示例和一个最初不完整的示例。平均而言,GPT-3在高中数学问题上的准确率较低。
(b) 在一个常识基准(HellaSwag)、一个语言理解基准(SuperGLUE)和我们提出的大规模多任务测试上的性能。在以前的基准上,较小的模型起步就远高于随机猜测水平,并且随着模型尺寸的增加表现出更连续的改进,但在我们的测试中,GPT-3只有在最大模型时才超越随机猜测。
预训练
当前NLP领域的主流范式是在包含教育书籍和网站等海量文本语料库上预训练大型模型。在此过程中,这些模型接触到关于广泛主题的信息。Petroni等人【索引23, Language models as knowledge bases?, 2019, Petroni et al.】发现,近期的模型从预训练中学习到足够多的信息,以至于可以作为知识库使用。然而,先前没有工作全面衡量模型在众多真实世界领域中所掌握的知识。
从微调到少样本学习
直到最近,研究人员主要在下游任务上使用微调模型【索引7, Bert: Pre-training of deep bidirectional transformers for language understanding, 2019, Devlin et al.】。然而,像GPT-3【索引4, Language models are few-shot learners, 2020, Brown et al.】这样的大型预训练模型已经使得通过少样本学习(few-shot learning)在不进行微调的情况下实现有竞争力的性能成为可能,这消除了对大型微调集的需求。随着强大的零样本和少样本学习的出现,现在可以策划一组多样化的任务进行评估,并消除了模型依赖数据集中“虚假线索”(spurious cues)【索引8, Shortcut learning in deep neural networks, 2020, Geirhos et al.】、【索引11, Natural adversarial examples, 2019, Hendrycks et al.】来获得高性能的可能性。
常识基准
许多近期的基准旨在通过测试模型的“常识”来评估其通用世界知识和基本推理能力。在过去一年中,已经提出了许多常识基准,但近期模型在其中几个上已经接近人类水平,包括HellaSwag【索引31, Hellaswag: Can a machine really finish your sentence?, 2019, Zellers et al.】、Physical IQA【索引2, Piqa: Reasoning about physical commonsense in natural language, 2019, Bisk et al.】和CosmosQA【索引13, Cosmos qa: Machine reading comprehension with contextual commonsense reasoning, 2019, Huang et al.】。这些数据集的设计初衷是评估几乎每个儿童都具备的能力。相比之下,我们引入了更难的、人们必须通过学习才能掌握的专业学科。
评估方法
一些研究人员建议,NLP评估的未来应该关注自然语言生成(NLG)【索引32, Evaluating machines by their real-world language use, 2020, Zellers et al.】,这个想法可以追溯到图灵测试【索引28, Computing machinery and intelligence, 1950, Turing, A.】。然而,NLG的评估是出了名的困难,并且缺乏标准度量【索引27, A survey of evaluation metrics used for nlg systems, 2020, Sai et al.】。因此,我们创建了一个易于评估的测试,通过多项选择题的分类准确率来衡量性能。
现有问答基准的局限性
虽然存在一些问答基准,但它们的范围相对有限。大多数要么涵盖模型已经能取得优异性能的简单主题,如中小学学科【索引5, Think you have solved question answering? try arc, the ai2 reasoning challenge, 2018, Clark et al.】、【索引16, Qasc: A dataset for question answering via sentence composition, 2019, Khot et al.】、【索引21, Can a suit of armor conduct electricity? a new dataset for open book question answering, 2018, Mihaylov et al.】、【索引6, From ’f’ to ’a’ on the n.y. regents science exams: An overview of the aristo project, 2019, Clark et al.】,要么专注于阅读理解形式的语言理解【索引18, Race: Large-scale reading comprehension dataset from examinations, 2017, Lai et al.】、【索引26, MCTest: A challenge dataset for the open-domain machine comprehension of text, 2013, Richardson et al.】。相比之下,我们涵盖了远超语言理解范围的广泛且困难的学科。
测试构成与来源
我们创建了一个大规模的多任务测试,由来自不同知识分支的多项选择题组成。该测试涵盖人文学科、社会科学、硬科学以及其他对特定人群而言重要的学习领域。总共有57个任务,这个数字也与雅达利游戏(Atari games)的数量相同【索引1, The arcade learning environment: An evaluation platform for general agents (extended abstract), 2013, Bellemare et al.】,所有任务都列在附录B中。数据集中的问题由研究生和本科生从网上免费获取的资源中手动收集。这些资源包括研究生入学考试(GRE)和美国医师执照考试(USMLE)等考试的练习题。它还包括为本科课程设计的问题以及为牛津大学出版社书籍的读者设计的问题。一些任务涵盖了特定学科,如心理学,但难度级别不同,分为“初级”、“高中”、“大学”或“专业”。例如,“专业心理学”任务的题目来源于专业心理学执业考试(Examination for Professional Practice in Psychology)的免费练习题,而“高中心理学”任务的题目则类似于大学预修课程心理学(Advanced Placement Psychology)考试的题目。
数据集划分
我们总共收集了15908个问题,并将其划分为一个少样本开发集、一个验证集和一个测试集。少样本开发集每个科目有5个问题,验证集可用于选择超参数,由1540个问题组成,测试集有14079个问题。每个科目至少包含100个测试样本,这比大多数用于评估人类的考试都要长。
人类水平的准确率
在这个测试上,人类水平的准确率各不相同。来自亚马逊土耳其机器人(Amazon Mechanical Turk)的非专业人士在该测试中获得了34.5%的准确率。与此同时,专家水平的表现可能要高得多。例如,对于构成我们“专业医学”任务的美国医师执照考试题目,真实考生的第95百分位数准确率约为87%。如果我们采用构成我们测试的考试中人类考生的第95百分位数准确率,并在信息不可用时进行有根据的猜测,我们估计专家水平的准确率约为89.8%。
测试目标
由于我们的测试汇集了不同的学科和多个难度级别,我们衡量的不仅仅是简单的常识或狭隘的语言理解。相反,我们衡量的是任意的真实世界文本理解能力。由于模型是在互联网上进行预训练的,这使我们能够测试它们从海量语料库中提取有用知识的能力。未来使用该测试的模型可以是单一模型,也可以是专家混合模型。为了在我们的测试中取得成功,未来的模型应该全面发展,拥有广泛的世界知识,并发展出专家级的问题解决能力。这些特性使得该测试可能成为一个持久且富有信息的衡量标准。
人文学科的技能要求
人文学科是一组利用定性分析和分析方法而非科学经验方法的学科。人文学科的分支包括法律、哲学、历史等(见附录B)。掌握这些学科需要多种技能。例如,法律理解需要知道如何将规则和标准应用于复杂情景,并提供附带规定和解释的答案。我们在图2中对此进行了说明。法律理解对于理解和遵守规则和法规也是必要的,这是约束开放世界机器学习模型的必要能力。对于哲学,我们的问题涵盖了逻辑谬误、形式逻辑和著名哲学论证等概念。它还涵盖了道德情景,包括来自ETHICS数据集【索引12, Aligning AI with shared human values, 2020, Hendrycks et al.】的问题,这些问题通过预测对各种日常情景的广泛道德直觉来测试模型对规范性陈述的理解。最后,我们的历史问题涵盖了广泛的时间段和地理位置,包括史前和其他高级主题。
社会科学的考察范围
社会科学包括研究人类行为和社会的知识分支。学科领域包括经济学、社会学、政治学、地理学、心理学等。图3展示了一个示例问题。我们的经济学问题包括微观经济学、宏观经济学和计量经济学,并涵盖不同类型的问题,包括需要综合世界知识、定性推理或定量推理的问题。我们还包括了重要但更深奥的主题,如安全研究,以测试预训练期间所经历和学习的知识边界。社会科学还包括心理学,这个领域对于获得对人类的细致入微的理解可能尤为重要。
政府不鼓励和管制垄断的原因之一是
(A) 生产者剩余损失,消费者剩余增加。
(B) 垄断价格确保了生产效率,但使社会付出了配置效率的代价。
(C) 垄断企业不从事重要的研发。
(D) 消费者剩余因价格上涨和产出水平下降而损失。
STEM学科的特点
STEM学科包括物理学、计算机科学、数学等。图4展示了两个例子。概念物理学测试对简单物理原理的理解,可以被看作是物理常识基准Physical IQA【索引2, Piqa: Reasoning about physical commonsense in natural language, 2019, Bisk et al.】的更难版本。我们还测试了不同难度级别的数学问题解决能力,从初级到大学水平。大学数学问题,如GRE数学科目考试中的问题,通常需要推理链和抽象知识。为了编码数学表达式,我们使用LaTeX或符号如*和ˆ分别表示乘法和指数运算。STEM学科需要经验方法、流体智力和程序性知识。
“其他”类别的构成
有一长串的学科,它们要么不完全属于前面三个类别中的任何一个,要么没有成千上万个免费可用的问题。我们将这些学科归入“其他”类别。这个部分包括“专业医学”任务,其中包含需要人类多年学习才能掌握的难题。图5描绘了一个例子。这个部分还包含商业主题,如金融、会计和市场营销,以及全球事实知识。后者包括不同国家随时间变化的贫困统计数据,这对于拥有一个准确的国际世界模型可能是必要的。
一名33岁的男子因甲状腺癌接受了甲状腺全切除术。手术期间,颈部左侧出现中度出血,需要结扎几根血管。术后,血清研究显示钙浓度为7.5 mg/dL,白蛋白浓度为4 g/dL,甲状旁腺激素浓度为200 pg/mL。下列哪条血管的损伤导致了该患者的上述发现?
(A) 肋颈干的分支 (B) 颈外动脉的分支 (C) 甲状颈干的分支 (D) 颈内静脉的支流
</blockquote>评估与模型:
GPT-3: 使用OpenAI API进行评估,涵盖四个模型变体【索引4, Language models are few-shot learners, 2020, Brown et al.】:
UnifiedQA: 基于T5【索引25, Exploring the limits of transfer learning with a unified text-to-text transformer, 2019, Raffel et al.】架构,已在其他问答数据集上微调过【索引18, Race: Large-scale reading comprehension dataset from examinations, 2017, Lai et al.】。本文评估其在不进行额外调整下的迁移准确率【索引15, Unifiedqa: Crossing format boundaries with a single qa system, 2020, Khashabi et al.】。
少样本提示(Few-Shot Prompt):
模型规模与准确率
跨学科表现比较
模型校准
多模态理解
尽管文本能够传达大量关于世界的概念,但许多重要概念主要通过其他模态(如图像、音频和物理交互)来传达【索引3, Experience grounds language, 2020, Bisk et al.】。现有的大规模NLP模型(如GPT-3)并未整合多模态信息,因此我们设计的基准旨在以纯文本格式捕捉多样化的任务。然而,随着模型处理多模态输入能力的增强,基准测试也应相应调整。一个可能的未来基准可以是“土耳其人测试”(Turk Test),由亚马逊土耳其机器人(Amazon Mechanical Turk)的人类智能任务组成。这些是定义明确的任务,要求模型与灵活的格式交互并展示多模态理解能力。
将互联网作为训练集
我们的基准与以往的多任务NLP基准的一个主要区别在于,我们不要求提供大型训练集。相反,我们假设模型已经通过阅读互联网上大量多样的文本获得了必要的知识。这个过程通常被称为预训练,但它本身也可以被视为一种训练,其下游评估旨在展示人类在阅读相同文本后所能获得的知识。
方法论的变革
这促使我们提出一种方法论上的改变,使得模型的训练方式更像人类的学习方式。虽然大多数以往的机器学习基准让模型从一个大型题库中学习,但人类主要是通过阅读书籍和听取他人讨论来学习新学科。对于像专业法律这样的专业学科,有大量的法律语料库可用,例如164卷的法律百科全书《Corpus Juris Secundum》,但可用的多州律师资格考试问题却不足5000个。仅通过少量练习题来学习整个法律体系是不现实的,因此未来的模型必须在预训练期间学到更多。
新的评估范式
因此,我们在零样本、少样本或迁移设置下评估预训练模型,并为每个任务提供开发集、验证集和测试集。开发集用于少样本提示,验证集可用于超参数调整,测试集用于计算最终准确率。重要的是,我们的评估格式与预训练期间信息获取的格式并不相同。这样做的好处是避免了对训练集标注中虚假人为因素的担忧【索引8, Shortcut learning in deep neural networks, 2020, Geirhos et al.】、【索引11, Natural adversarial examples, 2019, Hendrycks et al.】,这与之前训练集和测试集同分布的范式形成鲜明对比。这种改变也使得收集更广泛、更多样化的评估任务成为可能。我们预计,随着模型从多样化的在线资源中提取信息的能力提高,我们的方法论将变得更加普遍。
模型局限性
我们发现当前的大规模Transformer模型有很大的改进空间。它们在建模人类的(不)赞同方面表现尤其差,这从在专业法律和道德情景任务上的低性能中可见一斑。为了使未来的系统与人类价值观保持一致,这些任务上的高性能至关重要【索引12, Aligning AI with shared human values, 2020, Hendrycks et al.】,因此未来的研究应特别致力于提高这些任务的准确率。模型在执行计算方面也存在困难,以至于它们在小学数学和许多其他包含“代入计算”问题的STEM学科上表现不佳。此外,它们在任何学科上都未能达到专家级水平(90%),因此在所有学科上都低于人类水平。平均而言,模型目前才刚刚开始超越随机猜测的准确率水平。
解决局限性的挑战
解决这些缺点可能具有挑战性。为了说明这一点,我们尝试通过在专业数据上进行预训练来创建一个更好的专业法律模型,但仅取得了有限的成功。我们收集了大约2000个额外的专业法律训练样本。在使用这个自定义训练集微调一个RoBERTa-base模型【索引20, Roberta: A robustly optimized bert pretraining approach, 2019, Liu et al.】后,我们的模型达到了32.8%的测试准确率。为了测试额外专业训练数据的影响,我们还让RoBERTa在哈佛法学院图书馆的判例法语料库case.law上,对大约160万份法律案例摘要继续进行预训练,但微调后准确率仅达到36.1%。这表明,虽然在相关的高质量文本上进行额外的预训练可以有所帮助,但可能不足以显著提高当前模型的性能。
扩展的未知性
目前尚不清楚仅仅扩大现有语言模型的规模是否能解决这个测试。当前的理解表明,模型规模增加10倍必须伴随数据量大约增加5倍【索引14, Scaling laws for neural language models, 2020, Kaplan et al.】。除了创建数万亿参数语言模型的巨大开销外,数据也可能成为瓶颈,因为关于深奥知识分支的文字远少于关于日常情景的文字。
本文引入了一个新的测试,用于衡量文本模型学习和应用在预训练期间遇到的知识的能力。通过涵盖57个不同难度级别的学科,该测试比以往的基准在更广的范围和更深的层次上评估了语言理解能力。我们发现,模型最近才有可能在该测试上取得有意义的进展,但最先进的模型表现出不均衡的性能,并且很少在任何单个任务上表现出色。我们还表明,当前模型是未经校准的,并且在需要计算的任务上存在困难。令人担忧的是,模型在包括道德和法律在内的社会相关学科上表现尤其差。我们这个广泛的测试可以帮助研究人员精确定位模型的重要缺点,从而更容易地获得对最先进能力的更清晰的认识。
本附录包括按任务排序的结果图(图9)、少样本示例数量与准确率的关系图(图10)以及少样本校准图(图11)。此外,还包括关于微调、错误分析和格式敏感性的部分。
小型模型的表现
我们在论文主体部分主要分析了参数超过100亿的模型。在本节中,我们分析了包括RoBERTa-base(1.25亿参数)【索引20, Roberta: A robustly optimized bert pretraining approach, 2019, Liu et al.】、ALBERT-xxlarge(2.23亿参数)【索引19, Albert: A lite bert for self-supervised learning of language representations, 2020, Lan et al.】和GPT-2(15.58亿参数)【索引24, Language models are unsupervised multitask learners, 2019, Radford et al.】在内的较小模型。这些模型使用UnifiedQA的多项选择题以及我们的开发集+验证集进行微调,以预测四个类别中的一个。我们在我们的多任务测试集上进行测试。我们观察到,这些较小的模型可以获得优于随机猜测的准确率。RoBERTa-base的总体准确率为27.9%,其中人文学科27.9%,社会科学28.8%,STEM 27.0%,其他27.7%。ALBERT-xxlarge的准确率为27.1%,其中人文学科27.2%,社会科学25.7%,STEM 27.7%,其他27.9%。GPT-2的准确率为32.4%,其中人文学科32.8%,社会科学33.3%,STEM 30.2%,其他33.1%。
预训练数据集的重要性
与此相比,UnifiedQA的最小变体只有6000万参数,准确率约为29.3%。尽管参数更少,但其准确率高于RoBERTa和ALBERT。这表明其更大的预训练数据集使得准确率更高。同样,拥有30亿参数的UnifiedQA达到了43.7%的准确率,而规模相近的15亿参数的GPT-2模型准确率仅为32.4%。这再次表明,T5更大的预训练数据集规模(因此也是UnifiedQA的预训练数据集规模)可以提高准确率。
高置信度错误的性质
我们定性分析了GPT-3产生高置信度错误的情况。我们发现,虽然其中许多错误明显是错误的,但也有许多是人类可能犯的错误。例如,它答错的一个问题是“所有人类体细胞含有多少条染色体?”正确答案是46条,而少样本GPT-3以97.5%的置信度预测为23条。如果问题问的是染色体的对数,这个答案本应是正确的。类似地,它的许多其他高置信度错误也是对稍有不同的问题的正确答案。
不同模型的敏感度
虽然不同的问题格式选择通常会导致GPT-3的准确率相似,但我们发现UnifiedQA更为敏感。UnifiedQA的输入格式为 QUESTION1 \\n (A) CHOICE1 (B) CHOICE2 (C) CHOICE3 (D) CHOICE4</s>,其中问题和选项被规范化并转为小写。如果我们从输入中移除 </s>,准确率会下降几个百分点。
问题长度与难度分析
我们在图12中提供了问题长度和难度的分析。我们在表2中列出了所有任务及其测试的主题。我们还从图14开始为每个任务提供了一个示例。
污染问题的分析
由于语言模型在庞大的文本语料库上进行训练,它们有可能在预训练期间看到过确切的问题和答案。如果它们记住了确切的问题和答案,那么它们的准确率将高于其真实能力。同样,如果一个问题被记住,其熵将特别低。被记住的问题和答案应该具有低熵和高准确率。然而,在图13中,我们看到准确率和问题熵并非正相关,这表明测试中的低熵问题并不对应于被记住(并因此被正确预测)的答案。这表明我们的确切问题没有被记住。然而,在预训练期间,模型通过处理维基百科接触到了与我们问题相关的文本。我们还注意到,我们的大部分问题来自PDF或网站,其中问题和答案位于不同的页面。
缓解措施
关于污染的先前讨论,请参见Brown等人(2020)【索引4, Language models are few-shot learners, 2020, Brown et al.】,该文表明这种现象几乎不影响性能。为了降低未来模型在测试时遇到确切问题的可能性,我们将提供一个问题来源列表。
各任务示例
(A) 0 (B) 1 (C) 2 (D) 3
_PROTECTED_IMAGE_15