Project Name | Stars | Downloads | Repos Using This | Packages Using This | Most Recent Commit | Total Releases | Latest Release | Open Issues | License | Language |
---|---|---|---|---|---|---|---|---|---|---|
Transformers | 103,142 | 64 | 911 | 17 hours ago | 91 | June 21, 2022 | 743 | apache-2.0 | Python | |
🤗 Transformers: State-of-the-art Machine Learning for Pytorch, TensorFlow, and JAX. | ||||||||||
Unilm | 12,661 | a day ago | 348 | mit | Python | |||||
Large-scale Self-supervised Pre-training Across Tasks, Languages, and Modalities | ||||||||||
Haystack | 9,045 | 2 | 17 hours ago | 29 | July 06, 2022 | 347 | apache-2.0 | Python | ||
:mag: Haystack is an open source NLP framework to interact with your data using Transformer models and LLMs (GPT-4, ChatGPT and alike). Haystack offers production-ready tools to quickly build complex question answering, semantic search, text generation applications, and more. | ||||||||||
Nlp_chinese_corpus | 8,344 | 6 days ago | 20 | mit | ||||||
大规模中文自然语言处理语料 Large Scale Chinese Corpus for NLP | ||||||||||
Tokenizers | 7,090 | 131 | 19 hours ago | 72 | April 13, 2022 | 259 | apache-2.0 | Rust | ||
💥 Fast State-of-the-Art Tokenizers optimized for Research and Production | ||||||||||
Nemo | 6,907 | 2 | 5 | 19 hours ago | 58 | July 01, 2022 | 78 | apache-2.0 | Python | |
NeMo: a toolkit for conversational AI | ||||||||||
Bert Pytorch | 5,329 | 1 | 4 months ago | 5 | October 23, 2018 | 60 | apache-2.0 | Python | ||
Google AI 2018 BERT pytorch implementation | ||||||||||
Lingvo | 2,726 | 2 days ago | 118 | apache-2.0 | Python | |||||
Lingvo | ||||||||||
Argos Translate | 1,974 | 10 | a day ago | 20 | May 15, 2022 | 54 | mit | Python | ||
Open-source offline translation library written in Python | ||||||||||
Lazynlp | 1,867 | 3 years ago | 7 | Python | ||||||
Library to scrape and clean web pages to create massive datasets. |
A high level framework and library for running, training, and deploying state-of-the-art Natural Language Processing (NLP) models for end to end tasks.
AdaptNLP is a python package that allows users ranging from beginner python coders to experienced Machine Learning Engineers to leverage state-of-the-art Natural Language Processing (NLP) models and training techniques in one easy-to-use python package.
Utilizing fastai with HuggingFace's Transformers library and Humboldt University of Berlin's Flair library, AdaptNLP provides Machine Learning Researchers and Scientists a modular and adaptive approach to a variety of NLP tasks simplifying what it takes to train, perform inference, and deploy NLP-based models and microservices.
Despite quick inference functionalities such as the pipeline
API in transformers
, it still is not quite as flexible nor fast enough. With AdaptNLP's Easy*
inference modules, these tend to be slightly faster than the pipeline
interface (bare minimum the same speed), while also providing the user with simple intuitive returns to alleviate any unneeded junk that may be returned.
Along with this, with the integration of the fastai
library the code needed to train or run inference on your models has a completely modular API through the fastai
Callback system. Rather than needing to write your entire torch loop, if there is anything special needed for a model a Callback can be written in less than 10 lines of code to achieve your specific functionalities.
Finally, when training your model fastai is on the forefront of beign a library constantly bringing in the best practices for achiving state-of-the-art training with new research methodologies heavily tested before integration. As such, AdaptNLP fully supports training with the One-Cycle policy, and using new optimizer combinations such as the Ranger optimizer with Cosine Annealing training through simple one-line fitting functions (fit_one_cycle
and fit_flat_cos
).
To install with pypi, please use:
pip install adaptnlp
Or if you have pip3:
pip3 install adaptnlp
To install any developmental style builds, please follow the below directions to install directly from git:
Stable Master Branch The master branch generally is not updated much except for hotfixes and new releases. To install please use:
pip install git+https://github.com/Novetta/adaptnlp
Developmental Branch {% include note.html content='Generally this branch can become unstable, and it is only recommended for contributors or those that really want to test out new technology. Please make sure to see if the latest tests are passing (A green checkmark on the commit message) before trying this branch out' %} You can install the developmental builds with:
pip install git+https://github.com/Novetta/[email protected]
There are actively updated Docker images hosted on Novetta's DockerHub
The guide to each tag is as follows:
dev
branch and are generally stableTo pull and run any AdaptNLP image immediatly you can run:
docker run -itp 8888:8888 novetta/adaptnlp:TAG
Replacing TAG
with any of the afformentioned tags earlier.
Afterwards check localhost:8888
or localhost:888/lab
to access the notebook containers
The AdaptNLP library is built with nbdev, so any documentation page you find (including this one!) can be directly run as a Jupyter Notebook. Each page at the top includes an "Open in Colab" button as well that will open the notebook in Google Colaboratory to allow for immediate access to the code.
The documentation is split into six sections, each with a specific purpose:
This group contains quick access to the homepage, what are the AdaptNLP Cookbooks, and how to contribute
These contain any relevant documentation for the AdaptiveModel
class, the HuggingFace Hub model search integration, and the Result
class that various inference API's return
This section contains the module documentation for the inference framework, the tuning framework, as well as the utilities and foundations for the AdaptNLP library.
These two sections provide quick access to single use recipies for starting any AdaptNLP project for a particular task, with easy to use code designed for that specific use case. There are currently over 13 different tutorials available, with more coming soon.
This section provides directions on how to use the AdaptNLP REST API for deploying your models quickly with FastAPI
There is a contribution guide available here
AdaptNLP is run on the nbdev
framework. To run all tests please do the following:
pip install nbverbose
git clone https://github.com/Novetta/adaptnlp
cd adaptnlp
pip install -e .
nbdev_test_nbs
This will run every notebook and ensure that all tests have passed. Please see the nbdev documentation for more information about it.
Please contact Zachary Mueller at [email protected] with questions or comments regarding AdaptNLP.
Follow us on Twitter at @TheZachMueller and @AdaptNLP for updates and NLP dialogue.
This project is licensed under the terms of the Apache 2.0 license.