finetune  by IndicoDataSolutions

NLP finetuning library with scikit-learn style API

Created 7 years ago
712 stars

Top 48.1% on SourcePulse

GitHubView on GitHub
Project Summary

This library provides a scikit-learn-like interface for fine-tuning state-of-the-art NLP models, targeting researchers and developers who need to adapt pre-trained models to specific downstream tasks. It simplifies the process of leveraging models like BERT, RoBERTa, and GPT for classification, regression, and sequence labeling.

How It Works

Finetune abstracts the complexity of transformer architectures and training loops behind a familiar Classifier.fit() API. Users select a base model (e.g., BERT, RoBERTa) and configure training parameters (learning rate, length, regularization) to fine-tune on custom datasets. It supports multi-stage fine-tuning, first on unlabeled data and then on labeled data, to maximize performance.

Quick Start & Requirements

  • Install via pip: pip3 install finetune
  • Requires TensorFlow-GPU >= 1.14.0 and up-to-date NVIDIA drivers.
  • spaCy English tokenizer: python3 -m spacy download en
  • Docker images are available for GPU and CPU-only usage.
  • Full documentation: finetune.indico.io

Highlighted Details

  • Supports BERT, RoBERTa, GPT, GPT2, TextCNN, TCN, and DistilBERT.
  • Offers diverse task-specific wrappers: Classifier, Regressor, SequenceLabeler, Comparison, etc.
  • Enables two-stage fine-tuning for improved performance with limited labeled data.
  • Includes a DeploymentModel for optimizing serialized models for production.

Maintenance & Community

The project is maintained by IndicoDataSolutions. Links to community channels or roadmaps are not explicitly provided in the README.

Licensing & Compatibility

The README does not specify a license. Compatibility for commercial use or closed-source linking is not detailed.

Limitations & Caveats

The library requires TensorFlow 1.x, which is deprecated. The README mentions tensorflow-gpu >= 1.14.0, indicating it is not compatible with TensorFlow 2.x.

Health Check
Last Commit

2 weeks ago

Responsiveness

1 day

Pull Requests (30d)
1
Issues (30d)
0
Star History
0 stars in the last 30 days

Explore Similar Projects

Starred by Stas Bekman Stas Bekman(Author of "Machine Learning Engineering Open Book"; Research Engineer at Snowflake), Lysandre Debut Lysandre Debut(Chief Open-Source Officer at Hugging Face), and
17 more.

pytext by facebookresearch

0%
6k
NLP framework (deprecated, migrate to torchtext)
Created 7 years ago
Updated 2 years ago
Feedback? Help us improve.