自然语言处理Olivia、PyTorch Hub、GPT-2、GPT2介绍

以下为你介绍的自然语言处理软件都可用在Linux系统上:Olivia(人工智能聊天机器人)、PyTorch Hub(计算机视觉、自然语言处理领域经典模型的聚合中心)、GPT-2(基于 transformer 的大型语言模型)、GPT2(GPT-2 训练实现)。

1、Olivia(人工智能聊天机器人)

自然语言处理Olivia、PyTorch Hub、GPT-2、GPT2介绍

Olivia 是带有人工神经网络的人工智能聊天机器人。

使用:

要使用 REST Api,必须使用两个参数建立对 /api/response 的 POST 请求:

1]、sentence 这是要发送给 Olivia 的消息。

2]、authorId 这是一个任意 ID,用于标识用户进行上下文聊天。

示例:

curl -X POST 'https://olivia-api.herokuapp.com/api/response' --data "sentence=Hello" --data "authorId=81278329032"

响应格式:

{

"content": "Good morning!",

"tag": "hello"

}

安装:

从Github存储库的主分支克隆Olivia:

git clone https://github.com/olivia-ai/olivia.git

然后进入项目并安装依赖项:

cd olivia

# Install the dependencies with dep (https://github.com/golang/dep)

dep ensure

并运行应用程序:

go run main.go

Websocket现在正在侦听8080端口,只需在环境变量PORT内进行设置即可对其进行更改

该应用程序将自动检查包含神经网络保存内容的res/training.json文件。默认情况下,当您从Github克隆存储库时,您将获得稳定的环境。如果要训练新模型,只需删除此文件并重新运行该应用程序即可。

下载地址:https://github.com/olivia-ai/olivia

2、PyTorch Hub(计算机视觉、自然语言处理领域经典模型的聚合中心)

Facebook宣布推出PyTorch Hub,一个包含计算机视觉、自然语言处理领域的诸多经典模型的聚合中心,让你调用起来更方便。

PyTorch Hub是一个简易API和工作流程,为复现研究提供了基本构建模块,包含预训练模型库。

并且,PyTorch Hub还支持Colab,能与论文代码结合网站Papers With Code集成,用于更广泛的研究。

发布首日已有18个模型入驻,获得英伟达官方力挺。而且Facebook还鼓励论文发布者把自己的模型发布到这里来,让PyTorch Hub越来越强大。

PyTorch Hub的使用简单到不能再简单,不需要下载模型,只用了一个torch.hub.load()就完成了对图像分类模型AlexNet的调用。

PyTorch Hub允许用户对已发布的模型执行以下操作:

1]、查询可用的模型;

2]、加载模型;

3]、查询模型中可用的方法。

下面让我们来看看每个应用的实例。

1]、查询可用的模型

用户可以使用torch.hub.list()这个API列出repo中所有可用的入口点。比如你想知道PyTorch Hub中有哪些可用的计算机视觉模型:

>>> torch.hub.list('pytorch/vision')

>>>

['alexnet',

'deeplabv3_resnet101',

'densenet121',

...

'vgg16',

'vgg16_bn',

'vgg19',

 'vgg19_bn']

2]、加载模型

在上一步中能看到所有可用的计算机视觉模型,如果想调用其中的一个,也不必安装,只需一句话就能加载模型。

model = torch.hub.load('pytorch/vision', 'deeplabv3_resnet101', pretrained=True)

至于如何获得此模型的详细帮助信息,可以使用下面的API:

print(torch.hub.help('pytorch/vision', 'deeplabv3_resnet101'))

如果模型的发布者后续加入错误修复和性能改进,用户也可以非常简单地获取更新,确保自己用到的是最新版本:

model = torch.hub.load(..., force_reload=True)

对于另外一部分用户来说,稳定性更加重要,他们有时候需要调用特定分支的代码。例如pytorch_GAN_zoo的hub分支:

model = torch.hub.load('facebookresearch/pytorch_GAN_zoo:hub', 'DCGAN', pretrained=True, useGPU=False)

3]、查看模型可用方法

从PyTorch Hub加载模型后,你可以用dir(model)查看模型的所有可用方法。以bertForMaskedLM模型为例:

>>> dir(model)

>>>

['forward'

...

'to'

'state_dict',

]

如果你对forward方法感兴趣,使用help(model.forward) 了解运行运行该方法所需的参数。

>>> help(model.forward)

>>>

Help on method forward in module pytorch_pretrained_bert.modeling:

forward(input_ids, token_type_ids=None, attention_mask=None, masked_lm_labels=None)

...

PyTorch Hub中提供的模型也支持Colab。

进入每个模型的介绍页面后,你不仅可以看到GitHub代码页的入口,甚至可以一键进入Colab运行模型Demo。

提交至PyTorch中心的步骤:

1]、按照torch.hub doc中的说明,在您的存储库中添加hubconf.py。通过在本地运行torch.hub.load(...)验证其是否正常运行。

2]、在pytorch/hub仓库中创建PR。对于您拥有的每个新模型,使用此模板创建一个<repo_owner>_<repo_name>_<title>.md文件。

下载地址:https://github.com/pytorch/hub

3、GPT-2(基于 transformer 的大型语言模型)

GPT-2 是一种基于 transformer 的大型语言模型,具有 15 亿个参数,在 800 万网页数据集上进行训练。

它是论文《语言模型是无人监督的多任务学习者》(Language Models are Unsupervised Multitask Learners)的代码实现。

目前发布了 GPT-2 的小型(117M 参数)和中型(345M 参数)版本,还没有发布更大的模型,但已经发布了一个数据集供研究人员研究行为。该存储库旨在成为研究人员和工程师尝试使用 GPT-2 的起点。

下载地址:https://github.com/openai/gpt-2

4、GPT2(GPT-2 训练实现)

自然语言处理Olivia、PyTorch Hub、GPT-2、GPT2介绍

非官方 GPT-2 训练实现,支持 GPU 和 TPU。

GPT-2 是一种基于  transformer 的大型语言模型,具有 15 亿个参数,在 800 万网页数据集上进行训练。

依赖:

GPU:

pip3 install tensorflow-gpu regex

TPU:

pip3 install tensorflow regex google-api-python-client oauth2client

下载模型:

pip3 install requests tqdm

生成数据集:

pip3 install ftfy tqdm newspaper3k

训练:

要训练模型,请在.json文件中定义其参数,然后只需调用:

python3 main.py --model Your-Model.json [--tpu Your-TPU-Name]

使用TPU是可选的,无需修改即可在GPU上正常运行。(注意:评估不适用于TPU盒,必须将其注释掉)

下载地址:https://github.com/ConnorJL/GPT2

注明

以上就是自然语言处理Olivia、PyTorch Hub、GPT-2、GPT2的介绍内容,这些自然语言处理软件都能使用在Linux操作系统中。

栏目相关文章