Celeb Kaiser作家高璇、Geek AI到场

言语模子秒变API,一文了解怎样安排DistilGPT-2

模子又大又繁杂,安排和运用就成了艰难。本文是一篇教程,告诉你怎样应用HuggingFace推出的DistilGPT-2完成模子安排和运用的期望。

过去一年的阵势部时间里,OpenAI 的 GPT-2 不停是板滞进修范畴中最热门的话题之一,这是有启事的。这个文本生成模子最初被认为「太伤害」而无法完备发布,它可以发生难以念象的输出。假如你还没有看过任何示例,我引荐你参阅 OpenAI 的官方示例,真的令人难以置信:

因为板滞进修社区的部分人对 GPT-2 的狂热,有大宗东西可用来差别的用例中完成 GPT-2:


  • 念上手GPT-2 吗?OpenAI已发布了预教练的模子:https://github.com/openai/gpt-2。

  • 念用差别的文本教练GPT-2吗?可以运用 Max Woolf 的 gpt-2-simple:https://github.com/minimaxir/gpt-2-simple。

  • 念要更速的压缩版 GPT-2 吗?可以运用 Hugging Face 的 DistilGPT-2:https://github.com/huggingface/transformers。

运用这些东西,当地运转 GPT-2 就变得相当简单。可是,生产中安排 GPT-2 仍然很艰难。

为了运用 GPT-2 构修实的软件——从聊天板滞人到带有特定 GIF 动图的卡片生成器,你需求生产中安排模子。最常睹的方法是将模子安排为可通过运用顺序盘诘的 Web 运用顺序接口(API)。

本教程中,我们将 AWS 上将 Hugging Face 的 DistilGPT-2 安排为 Web API。我们的 API 将修立可主动缩放,监控,更新和记载日记的根底上。

让我们开端吧。

加载 Hugging Face 的 DistilGPT-2
起首,我们将创立一个 Python 脚本来加载我们的模子并处理呼应。本教程中,我们将改脚本称为「predictor.py」。

如你所睹,Hugging Face 的 Transformers 库可以使仅用几行代码就能加载 DistilGPT-2:

现,你有了一个颠末初始化的 DistilGPT-2 模子。另外,Hugging Face 的 Transformers 库使得初始化确实所有目前最优的 NLP 模子(不光是DistilGPT-2)变得很容易。

「predictor.py」脚本中,还将需求一个函数来供应预测,我们将该函数称为「predict()」。当传进输入时,「predict()」应对输入举行分词,模子中运转它,解码输出,并运用生成的文本举行呼应。这种状况下,我们的「predict()」函数很简单,可以只需 6 行代码就能完成:

这段代码中调用了少许函数,我们对此不做精细先容,但你可以通过下面的链接查看/复制完备的「predictor.py」文献:
https://github.com/cortexlabs/cortex/blob/master/examples/pytorch/text-generator/predictor.py

通过编写与预测相关的代码,我们就可以安排模子。

将 DistilGPT-2 安排为API

这一般是板滞进修根底架构中的一个主要难点。认真地安排模子意味施行主动缩放,举行构造化更新以使它们不会摧毁 API,监控模子的功用以及处理日记记载。

除了手动完毕上述所有操作外,我们将运用 Cortex 将其笼统化。你可以点击链接通过下面的链接阅读相关 Cortex 的更众新闻:https://github.com/cortexlabs/cortex,但从实质上讲,它是一个东西,运用简单的配备文献并 AWS 上主动施行模子安排。

起首,安装Cortex(https://www.cortex.dev/install)。一朝安装了 Cortex,你就可以创立安排配备文献,该文献应当被命名为「cortex.yaml」。该文献可以是如许的:

保管好配备后,可以通过命令行简单运转「cortex deploy」。这将从「cortex.yaml」中获取声明式配备,并集群上创立它:

$ cortex deploydeployment started

实质上,Cortex 包罗了我们的完成,使其可以运用 Flask 举行效劳,使器具有负载均衡器的公然终端,并 Kubernetes 上谐和义务负载。

现,我们可以盘诘我们的 API。

及时盘诘你的 DistilGPT-2 API

任何时分,你都可以通过运转「cortex get generator」来检索 API 端点的同一资源定位符(URL)。有了终端后,你可以运用curl 来测试安排:

$ cortex get generatorurl: http://***.amazonaws.com/text/generator$ curl http://***.amazonaws.com/text/generator \     -X POST -H “Content-Type: application/json” \     -d ‘{“text”: “Machine learning (ML) is the scientific study of algorithms and statistical models that computer systems use to perform a specific task without using explicit instructions, relying on patterns and inference instead. It is seen as a subset of artificial intelligence.”}’"Machine learning (ML) is the scientific study of algorithms and statistical models that computer systems use to perform a specific task without using explicit instructions, relying on patterns and inference instead. It is seen as a subset of artificial intelligence.\n\n\n\nThe iFrame top was inspired by several prominent advances in machine learning \u2013 vision, machine learning, machine learning and machine learning \u2013 that were widely accepted. One well-known example was intuition \u2013 used by many computer scientists to predict which"

现,你可以运用任何可以盘诘终端的效劳来拜访端点,就像运用其它 Web API 相同。

瞧!你已将 DistilGPT-2 安排为可扩展的 Web API,而所需的只是一个简单的配备文献。

进阶操作

有许众方法可以将 DistilGPT-2 支撑的 API 完成到软件项目中。念要构修一个主动完毕功用吗?念要运用电子邮件再起的 Chrome扩展顺序吗?或者构修更适用的——你的网站的聊天板滞人?

你以致可以实验改正其它颠末预教练的模子,这要归功于 Hugging Face 通过十分简单的方法运用 Transformers 完成了它们。运用 Cortex,你就可以按照上述方法来安排它们。

参考链接:

https://towardsdatascience.com/deploy-a-text-generating-api-with-hugging-faces-distilgpt-2-9791b9f356f9

初学APIDistilGPT-2言语模子
1
暂无评论
暂无评论~