Reputation: 1793
What are the differences between fairseq and fairseq2?
Quotes from the github pages are not very clear
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.
and
fairseq2 is a sequence modeling toolkit that allows researchers and developers to train custom models for translation, summarization, language modeling, and other content generation tasks. It is also the successor of fairseq.
So far I realized there're API
changes (for example, model loading from checkpoint), and the addition of new multimodal such as Seamless communication
,
but why abandon a well-established framework and start from scratch?
Upvotes: 0
Views: 505
Reputation: 1334
Quoting from the Can Balioglu's comment (Research Engineer at FAIR) which is part of a discussion in the fairseq repository issue #4493
We wanted to let you know that FAIR will soon kick off the fairseq v2 project in order to modernize our code base and to address fairseq’s long standing structural and technical issues. Our high-level goals are for fairseq to:
- have a clean, maintainable, well-tested code base that leverages the latest features of PyTorch and its ecosystem.
- preserve the performance optimizations of the original fairseq that have accumulated throughout the years.
- enforce user code to be separate from library code via well-defined APIs so that it can be used both as a framework and as a library.
- offer a familiar interface for researchers used to the original fairseq.
- come with new fault-tolerant features and tools for large-scale training and inference.
Note that, although our aim is to keep them at a minimum, in order to realize some of our goals we will be making backwards-incompatible changes, mostly in our trainer and data loading APIs. Along with these changes we also plan to offer a large set of extensibility APIs that will mitigate the need to fork/branch fairseq in majority of use cases.
Note that releases of fairseq2 are available via the fairseq2 releases page. Changelogs are provided for some releases indicating (possibly) breaking changes, especially for earlier versions.
Upvotes: 0