在实践中很少拍摄学习:GPT-NEO&'HUGGINGFACE'加速推理API

2021-06-05 02:58:42

在许多机器学习应用中,可用标记数据的量是产生高性能模型的障碍。 NLP的最新进展表明,您可以通过提供具有大语言模型的推理时间的几个例子来克服这种限制 - 一种称为少量学习的技术。在这个博客文章中,我们' ll解释了很少拍摄的学习,并探索称为gpt-neo的大型语言模型和🤗加速推理API,可用于生成自己的预测。

少量学习是指用非常少量的训练数据喂养机器学习模型的做法,以指导其预测,例如推理时间的几个例子,而不是需要相对大量的标准微调技术预先训练模型的培训数据,以准确性适应所需的任务。

这种技术主要用于计算机愿景,但与一些最新的语言模型,如Eleutherai GPT-Neo和Openai GPT-3,我们现在可以在自然语言处理(NLP)中使用它。

在NLP中,很少拍摄的学习可以与大型语言模型一起使用,这已经学会了在他们在大型文本数据集的预训练期间隐含地执行广泛的任务。这使得模型概括,即要了解相关但以前看不见的任务,只有几个例子。

任务说明:简短描述模型应该做的事情,例如"将英语翻译为法语"

示例:一些例子,显示了预期预测的模型,例如预期。 "海獭=> loutre de mer"

提示:通过生成丢失的文本,例如,该模型的开头,例如,该模型应该完成。 "奶酪=> "

创建这些几张镜头示例可能很棘手,因为您需要阐明“任务”,因此您希望模型通过它们执行。常见问题是模型,尤其更小的模型对描述的方式非常敏感。

一种优化生产中的少量学习的方法是学习任务的共同表示,然后在此表示的顶部培训特定于特定于特定于特定的分类器。

Openai在GPT-3纸上显示,几次射击提示能力随着语言模型参数的数量而改进。

Let'现在看看如何使用GPT-NEO和🤗加速推理API来生成您自己的少量学习预测!

GPT⁠-⁠neo是一系列来自Eleutherai的基于变压器的语言模型,基于GPT架构。 eleutherai'初级目标是培训一个相当于尺寸的模型,以便在公开许可下向公众提供。

所有当前可用的GPT-NEO检查点都接受了桩数据集,这是一个广泛记录的大文本语料库(Gao等,2021)。因此,预计将在与其培训文本分配匹配的文本上更好地运行;我们建议在设计示例时牢记这一点。

加速推理API是我们的托管服务,以通过简单的API调用在「模型集线器上公开可用的10,000多种型号中的任何10,000多种型号的推理。 API包括CPU和GPU的加速,与OFFORMERERE的盒子部署相比,高速增速。

要在您自己的应用程序中与GPT-Neo集成了几秒钟学习预测,您可以使用下面的代码片段的🤗加速推理API。如果您没有账户,您可以在此处找到您的API令牌,您可以在此处开始。

导入JSON Import RequestSapi_Token ="" def(payload ='',parameters = none,选项= {' use_cache&#39 ;: false}):api_url =" https://api-inference.huggingface.co /models/eleutherai/gpt-neoge.7b"标题= {"授权&#34 ;: f"持票人{api_token}"} body = {"输入":有效载荷,'参数':参数, '选项':选项} response} response = requests.request(" post and#34; api_url,headers =标题,data = json.dumps(body))尝试:response.raise_for_status()除请求之外.Exceptions.httperror:返回"错误:" +" " .join(response.json()['错误'])else:return response.json()[0] ['生成_text' parameters = {&#39 ; max_new_tokens&#39 ;: 25,生成的令牌的数量和#39;温度&#39 ;: 0.5,#控制几代人的随机性' end_sequence&#39 ;:" ###" #停止生成序列}提示=" ...." #少量拍摄提示=查询(提示,参数,选项)

以下是一些实用的见解,帮助您使用GPT-NEO和🤗加速推理API开始。

由于GPT-Neo(2.7b)小于GPT-3(175b),因此它不概括为零射击问题,并且需要3-4个例子来实现良好的结果。当您提供更多示例时,GPT-neo了解任务并将End_sequence占用,这允许我们控制生成的文本。

封闭式计结束序列,令牌长度&温度可用于控制模型的文本生成,并且您可以将此用于解决您所需的任务。温度控制几代随机性,较低的温度导致随机的几代,更高的温度导致更多随机的几代。

在该示例中,您可以看到定义HyperParameter有多重要。这些可以在解决任务或恶作剧失败之间产生差异。

很少拍摄的学习是一种强大的技术,但也呈现了在设计使用情况时需要考虑的独特陷阱。要示出此操作,请' s考虑窗口小部件中提供的默认情绪分析设置。在看到三个情绪分类的例子之后,模型使以下预测值为5的4次,温度设定为0.1:

什么可能出错?想象一下,您正在使用情感分析在网上购物网站上的产品汇总审查:可能的结果可以是对残疾人有用的物品将自动排放 - 一种自动歧视的形式。有关此具体问题的更多信息,我们建议将ACL 2020纸张社会偏见作为残疾人的障碍。由于少量学习更直接依赖于从预训练中拾取的信息和关联,因此它使其对这种类型的故障更敏感。

确保人们知道其用户体验的哪些部分取决于ML系统的输出

提供了一种机制,让用户对模型决定提供反馈,并覆盖它

最需要避免的是使用该模型来自动为用户自动做出决策,而不为人类提供输入或更正输出的机会。欧洲的若干法规(如GDPR)要求用户提供关于对其作出的自动决策的解释。

要在您自己的应用程序中使用GPT-neo或任何拥抱面部模型,您可以开始自由试验的🤗加速推理API.IF您需要帮助缓解模型和AI系统的偏见,或利用少量学习,🤗专家加速计划可以从拥抱面部团队提供您的团队直接的优质支持。