自然语言处理市场正在蓬勃发展,最近在生态系统中出现了许多新工具。以下是你应该了解的库、框架、语言、服务和演员,以便在2022年将文本理解和文本生成整合到你的项目中。

多年来,Python一直是数据科学中事实上的标准语言。如果你正在做一个自然语言处理项目,很可能在某个地方会有一些Python代码。
Python是一种非常具有表现力和简单的高级语言,这使得它完全适合机器学习应用。但更重要的是,Python得益于一个全面的库和框架的生态系统,使数据科学家的生活更容易。
无论你是在做研究项目还是生产项目,无论你是在训练新的模型还是用它们进行推理,你都很可能要使用Python。 如果你绝对需要使用另一种语言,你可能也会在其他语言中找到不错的库,但只适用于基本用例(对于更高级的用例,解决方案将是采用微服务策略并使用REST API)。

Hugging Face Hub是一个中央资料库,储存了大多数开源的自然语言处理模型。
在Hugging Face上,你可以很容易地发现新的人工智能模型,也可以上传和分享你的模型。它也是一个为你的下一个项目浏览和寻找数据集的好地方。模型和数据集可以很容易地下载并通过他们的变形金刚框架使用(见下文)。
Hugging Face的愿景是使自然语言处理 "民主化",成为 "机器学习的Github"。

OpenAI是GPT-3背后的公司,这是有史以来最先进的语言AI模型。
这个模型的前两个版本(GPT和GPT-2)是开源的,但OpenAI决定GPT-3不再是开源的。如果你想使用GPT-3,你需要订阅OpenAI的API。只有微软可以接触到GPT-3的源代码,因为他们购买了独家授权。
GPT模型是文本生成的人工智能模型,非常善于像人类一样书写文本。实际上,人类很难检测出一段文本是由真人还是由GPT-3写的。
为了设计和训练这种新的人工智能,OpenAI花费了数百万美元。如果你想使用它,你将不得不经历一个苛刻的验证过程,因为OpenAI不允许所有类型的应用程序使用其模型。
为了追赶OpenAI,新的开源模型现在正在发布,如GPT-J和GPT-NeoX。

这就是我们!
NLP云是一个API,让你在生产中轻松使用最先进的自然语言处理AI模型。
例如,你可以用GPT-J和GPT-NeoX生成文本,用Facebook的Bart Large CNN总结内容,用Roberta对一段文本进行分类,用spaCy提取实体,用Opus MT翻译内容...等等。
在NLP云上,也可以训练和微调你自己的人工智能,或部署你自己的内部模型。例如,如果你想在GPT-J的基础上创建你自己的医疗聊天机器人,你只需要上传你的数据集,由你的行业的例子组成,然后开始训练过程,并通过API在生产中使用你的最终模型。

Deepspeed是微软的一个开源框架,专注于模型并行化。
它到底是什么意思?
AI模型越来越大(见GPT-3、GPT-J、GPT-NeoX 20B、T0、Fairseq 13B...)。这些巨大的模型为大量的新应用打开了大门,但它们也很难运行。
训练这些模型,并在生产中可靠地运行它们进行推理,可以通过垂直扩展(使用NVIDIA A100或谷歌TPU等巨大的GPU)或水平扩展(使用几个小型GPU并行)来完成。
第二种方法越来越流行,因为它更便宜,而且扩展性更好。然而,进行分布式训练和推理远非易事,这就是Deepspeed真正的帮助所在。
Deepspeed最初是针对训练任务的,但现在它越来越多地被用于推理,因为它易于使用并与Hugging Face Transformers(见下文)集成。

大科学是一个集体或从事大语言模型的研究人员和公司。
他们的第一次研讨会产生了一个名为T0的人工智能模型,在理解人类指令方面表现非常好。
他们现在正在研究更大的模型:他们的目标是创建比GPT-3更大、更先进的开源多语言人工智能模型。

SpaCy是一个Python自然语言处理框架,完全适用于生产:它既快又容易玩。
这是由一家名为Explosion AI的德国AI公司维护的框架。
SpaCy在命名实体识别(也称为实体提取)方面非常出色,并且可以使用大约50种不同的语言。他们提供预训练的模型,你也可以通过注释的例子轻松创建自己的模型。
几年前,Hugging Face发布了变形金刚框架。现在大多数先进的自然语言处理模型都是基于变形金刚的。
这是一个基于PyTorch、Tensorflow和Jax的Python模块,可用于训练或推理。
抱抱团变压器使下载和上传模型到抱抱团中心变得非常容易。
Hugging Face的标记器库是一套先进的自然语言处理标记器,由基于转化器的模型使用。
符号化是指将输入的文本分割成小字的子词,然后由人工智能模型进行编码和处理。
标记化可能听起来像一个细节,但它不是。它实际上是自然语言处理的一个关键部分,使用正确的标记器在结果的质量和性能方面有很大的不同。
NLTK是自然语言工具箱的缩写。它是一个已经存在多年的Python框架,对研究和教育都很有帮助。
NLTK不是一个面向生产的框架,但它非常适合试图加强自然语言处理的数据科学家。
自然语言处理领域在2021年有了相当大的发展。今天,越来越多的公司希望在生产中使用语言人工智能模型,这很有趣,在2022年,生态系统与5年前的情况几乎没有任何关系。
库和框架越来越先进,像GPT-3这样的大型语言模型的建立提出了新的有趣的挑战。
迫不及待地想看看2023年将会是什么样子!
Julien Salinas