跳转到主要内容

一个易于使用的自然语言处理库和框架,用于预测、训练、微调和提供最先进的NLP模型。

项目描述

欢迎使用AdaptNLP

一个高级框架和库,用于运行、训练和部署端到端任务的最先进的自然语言处理(NLP)模型。

CI PyPI

什么是AdaptNLP?

AdaptNLP 是一个 Python 包,它允许从初学者到经验丰富的机器学习工程师等不同层次的用户,通过一个易于使用的 Python 包来利用最先进的自然语言处理(NLP)模型和训练技术。

AdaptNLP 利用 fastai 与 HuggingFace 的 Transformers 库以及柏林洪堡大学的 Flair 库,为机器学习研究人员和科学家提供了一种模块化和 自适应 的方法来解决各种 NLP 任务,简化了训练、执行 推理 和部署基于 NLP 的模型和微服务的过程。

与仅使用 Transformers 相比,AdaptNLP 有什么优势?

尽管 transformers 中的 pipeline API 提供了快速推理功能,但它仍然不够灵活,速度也不够快。AdaptNLP 的 Easy* 推理模块通常比 pipeline 接口(至少速度相同)略快,同时为用户提供简单直观的返回值,以减轻可能返回的不必要垃圾数据。

此外,通过集成 fastai 库,训练或运行模型所需的代码通过 fastaiCallback 系统具有一个完全模块化的 API。无需编写整个 torch 循环,如果模型需要特殊处理,可以通过不超过 10 行代码的 Callback 实现特定的功能。

最后,fastai 是一个始终走在最前沿的库,它不断引入最佳实践,以实现最先进的训练,并在集成之前对新的研究方法进行大量测试。因此,AdaptNLP 完全支持使用 One-Cycle 策略进行训练,并使用如 Ranger 优化器与余弦退火训练等新的优化器组合,通过简单的单行拟合函数(fit_one_cyclefit_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:8888localhost: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 框架上运行。要运行所有测试,请执行以下操作

  1. pip install nbverbose
  2. git clone https://github.com/Novetta/adaptnlp
  3. cd adaptnlp
  4. pip install -e .
  5. nbdev_test_nbs

这将运行每个笔记本并确保所有测试都通过。有关更多信息,请参阅 nbdev 的文档

联系方式

如有关于 AdaptNLP 的问题或评论,请联系 Zachary Mueller,邮箱:zmueller@novetta.com

关注我们

许可证

在 Twitter 上关注 @TheZachMueller@AdaptNLP 获取最新动态和 NLP 对话。

许可证


2020 年 2 月 19 日

2020 年 2 月 7 日

2020 年 2 月 6 日

下载文件

请下载适用于您的平台的文件。如果您不确定要选择哪个,请了解有关 安装包 的更多信息。

源代码分发

adaptnlp-0.3.7.tar.gz (59.9 kB 查看哈希值)

上传时间 源代码

由以下支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面