一个易于使用的自然语言处理库和框架,用于预测、训练、微调和提供最先进的NLP模型。
项目描述
欢迎使用AdaptNLP
一个高级框架和库,用于运行、训练和部署端到端任务的最先进的自然语言处理(NLP)模型。
什么是AdaptNLP?
AdaptNLP 是一个 Python 包,它允许从初学者到经验丰富的机器学习工程师等不同层次的用户,通过一个易于使用的 Python 包来利用最先进的自然语言处理(NLP)模型和训练技术。
AdaptNLP 利用 fastai 与 HuggingFace 的 Transformers 库以及柏林洪堡大学的 Flair 库,为机器学习研究人员和科学家提供了一种模块化和 自适应 的方法来解决各种 NLP 任务,简化了训练、执行 推理 和部署基于 NLP 的模型和微服务的过程。
与仅使用 Transformers 相比,AdaptNLP 有什么优势?
尽管 transformers
中的 pipeline
API 提供了快速推理功能,但它仍然不够灵活,速度也不够快。AdaptNLP 的 Easy*
推理模块通常比 pipeline
接口(至少速度相同)略快,同时为用户提供简单直观的返回值,以减轻可能返回的不必要垃圾数据。
此外,通过集成 fastai
库,训练或运行模型所需的代码通过 fastai
的 Callback 系统具有一个完全模块化的 API。无需编写整个 torch 循环,如果模型需要特殊处理,可以通过不超过 10 行代码的 Callback 实现特定的功能。
最后,fastai 是一个始终走在最前沿的库,它不断引入最佳实践,以实现最先进的训练,并在集成之前对新的研究方法进行大量测试。因此,AdaptNLP 完全支持使用 One-Cycle 策略进行训练,并使用如 Ranger 优化器与余弦退火训练等新的优化器组合,通过简单的单行拟合函数(fit_one_cycle
和 fit_flat_cos
)进行。
安装说明
PyPi
使用 pypi 安装,请使用以下命令:
pip install adaptnlp
或者如果您有 pip3:
pip3 install adaptnlp
Conda(即将推出)
开发版本构建
要安装任何开发版本构建,请按照以下说明直接从 git 安装:
稳定主分支 主分支通常只更新一些热修复和新版本,除非有特殊情况。要安装,请使用以下命令:
pip install git+https://github.com/Novetta/adaptnlp
开发分支 {% include note.html content='通常这个分支可能不稳定,仅推荐给贡献者或真正想测试新技术的人。请确保在尝试这个分支之前查看最新的测试是否通过(提交信息上的绿色勾选标记)' %} 您可以使用以下命令安装开发版本:
pip install git+https://github.com/Novetta/adaptnlp@dev
Docker 镜像
Novetta 在其 DockerHub 上托管了积极更新的 Docker 镜像。
每个标签的指南如下:
- latest: 这是最新 pypi 版本,安装了一个具备 CUDA 功能的完整包。
- dev: 这些是在某些阶段偶尔构建的开发版本。它们由
dev
分支构建,通常很稳定。 - *api: API 构建用于 REST-API。
要立即拉取并运行任何 AdaptNLP 镜像,可以运行以下命令:
docker run -itp 8888:8888 novetta/adaptnlp:TAG
将 TAG
替换为之前提到的任何标签。
之后,请检查 localhost:8888
或 localhost:888/lab
以访问笔记本容器。
导航文档
AdaptNLP 库是用 nbdev 构建的,因此您找到的任何文档页面(包括这个页面!)都可以直接作为 Jupyter Notebook 运行。每个页面顶部都包含一个“在 Colab 中打开”按钮,可以将笔记本打开在 Google Colaboratory 中,以便立即访问代码。
本文档分为六个部分,每个部分都有特定的目的
入门指南
本部分包含快速访问主页、AdaptNLP Cookbooks 是什么以及如何贡献的链接
模型和模型中心
这部分包含与 AdaptiveModel
类、HuggingFace Hub 模型搜索集成以及各种推理 API 返回的 Result
类相关的任何相关文档
类 API
本节包含推理框架、调整框架以及 AdaptNLP 库的实用工具和基础模块的文档
推理和训练 Cookbooks
这两个部分提供对任何特定任务的 AdaptNLP 项目的快速访问,包括针对特定用例设计的易于使用的代码。目前有超过 13 个不同的教程可用,更多即将推出。
使用 FastAPI 的 NLP 服务
本节提供了如何使用 AdaptNLP REST API 结合 FastAPI 快速部署模型的指南
贡献
贡献指南可在此处找到
测试
AdaptNLP 在 nbdev
框架上运行。要运行所有测试,请执行以下操作
pip install nbverbose
git clone https://github.com/Novetta/adaptnlp
cd adaptnlp
pip install -e .
nbdev_test_nbs
这将运行每个笔记本并确保所有测试都通过。有关更多信息,请参阅 nbdev 的文档。
联系方式
如有关于 AdaptNLP 的问题或评论,请联系 Zachary Mueller,邮箱:zmueller@novetta.com
关注我们
许可证
在 Twitter 上关注 @TheZachMueller 和 @AdaptNLP 获取最新动态和 NLP 对话。