fairseq README

The project's README from github.com/facebookresearch/fairseq. As one markdown file: README.md.



Support Ukraine MIT License Latest Release Build Status Documentation Status CicleCI Status


Fairseq(-py) is a sequence modeling toolkit that allows researchers and developers to train custom models for translation, summarization, language modeling and other text generation tasks.

We provide reference implementations of various sequence modeling papers:

List of implemented papers

What's New:

Previous updates

Features:

We also provide pre-trained models for translation and language modeling with a convenient torch.hub interface:

en2de = torch.hub.load('pytorch/fairseq', 'transformer.wmt19.en-de.single_model')
en2de.translate('Hello world', beam=5)
# 'Hallo Welt'

See the PyTorch Hub tutorials for translation and RoBERTa for more examples.

Requirements and Installation

git clone https://github.com/pytorch/fairseq
cd fairseq
pip install --editable ./

# on MacOS:
# CFLAGS="-stdlib=libc++" pip install --editable ./

# to install the latest stable release (0.10.x)
# pip install fairseq
git clone https://github.com/NVIDIA/apex
cd apex
pip install -v --no-cache-dir --global-option="--cpp_ext" --global-option="--cuda_ext" \
  --global-option="--deprecated_fused_adam" --global-option="--xentropy" \
  --global-option="--fast_multihead_attn" ./

Getting Started

The full documentation contains instructions for getting started, training new models and extending fairseq with new model types and tasks.

Pre-trained models and examples

We provide pre-trained models and pre-processed, binarized test sets for several tasks listed below, as well as example training and evaluation commands.

We also have more detailed READMEs to reproduce results from specific papers:

Join the fairseq community

License

fairseq(-py) is MIT-licensed. The license applies to the pre-trained models as well.

Citation

Please cite as:

@inproceedings{ott2019fairseq,
  title = {fairseq: A Fast, Extensible Toolkit for Sequence Modeling},
  author = {Myle Ott and Sergey Edunov and Alexei Baevski and Angela Fan and Sam Gross and Nathan Ng and David Grangier and Michael Auli},
  booktitle = {Proceedings of NAACL-HLT 2019: Demonstrations},
  year = {2019},
}

fairseq (facebookresearch/fairseq)

Searching Database…

32.2K ·GitHub
archived
What is this?Fairseq is Facebook AI Research's sequence modeling toolkit for training custom models for translation, summarization, language modeling and other text generation tasks, built on PyTorch.
Is this a ready-made app or a toolkit I build on?It is a Python research toolkit/library on top of PyTorch, used through command-line training/generation tools or by registering your own models, criterions, tasks and optimizers.
How do I install it and get a model running?Clone the repo and install it locally with pip (editable install), then use the provided torch.hub interface or pre-trained models listed for translation and language modeling.
What do I need before training a model?You need PyTorch 1.10.0+ and Python 3.8+; for training new models you'll also need an NVIDIA GPU with NCCL, and optionally NVIDIA's apex library or PyArrow for large datasets.
Is this still actively maintained?No, the repository is archived, meaning it is read-only and no longer receives updates even though the code, papers and pretrained models remain available for use.
Do I need an NVIDIA GPU to use it?Yes for training new models (requires NVIDIA GPU + NCCL), though generation can run on CPU as well, and mixed precision training on NVIDIA tensor cores speeds things up further.
What tasks can fairseq models handle?Translation, language modeling, summarization, speech recognition (via wav2vec), and other text/speech generation tasks, with reference implementations for each.
Which well-known models were first released through fairseq?RoBERTa, BART, mBART, wav2vec/wav2vec 2.0, XLM-R, and Transformer-based WMT translation models all shipped as fairseq reference implementations.
Can I use pretrained models without training my own?Yes, fairseq provides pre-trained translation and language modeling checkpoints accessible through a convenient torch.hub interface.
What search/decoding strategies does generation support?Beam search, Diverse Beam Search, unconstrained/top-k/top-p sampling, and lexically constrained decoding are all built in for fast CPU or GPU generation.
Size
25.5 MB
Stars
32.2K
Age
9y
Commits · 90 Days