SequeL: A Continual Learning Library in PyTorch and JAX

Nikolaos Dimitriadis,Francois Fleuret,Pascal Frossard
2023-04-21
Abstract:Continual Learning is an important and challenging problem in machine learning, where models must adapt to a continuous stream of new data without forgetting previously acquired knowledge. While existing frameworks are built on PyTorch, the rising popularity of JAX might lead to divergent codebases, ultimately hindering reproducibility and progress. To address this problem, we introduce SequeL, a flexible and extensible library for Continual Learning that supports both PyTorch and JAX frameworks. SequeL provides a unified interface for a wide range of Continual Learning algorithms, including regularization-based approaches, replay-based approaches, and hybrid approaches. The library is designed towards modularity and simplicity, making the API suitable for both researchers and practitioners. We release SequeL\footnote{\url{<a class="link-external link-https" href="https://github.com/nik-dim/sequel" rel="external noopener nofollow">this https URL</a>}} as an open-source library, enabling researchers and developers to easily experiment and extend the library for their own purposes.
Machine Learning
What problem does this paper attempt to address?
The problem that this paper attempts to solve is: **In the field of Continual Learning, due to the rise of different deep - learning frameworks (such as PyTorch and JAX), there are problems of scattered codebases, difficulty in reproducibility, and slow progress**. Specifically, continual - learning models need to adapt to the constantly incoming new data streams while not forgetting the previously learned knowledge. However, the existing continual - learning frameworks are mainly built based on PyTorch, and the popularity of JAX may lead to further divergence of the codebases, thus hindering the reproducibility and progress of research. To solve this problem, the author introduced SequeL, a flexible and extensible continual - learning library that supports PyTorch and JAX. ### Main problem summary: 1. **Scattered codebases**: With the popularity of new frameworks such as JAX, the codebases among different frameworks gradually diverge, making it difficult to uniformly manage and compare different continual - learning methods. 2. **Poor reproducibility**: Due to the scattering of codebases, it is difficult for researchers to reproduce experimental results, which hinders the rapid development of the field. 3. **High engineering complexity**: Researchers need to spend a great deal of time dealing with the differences between different frameworks instead of focusing on the research of the algorithms themselves. ### Main contributions of SequeL: - Provide a unified interface that supports multiple continual - learning algorithms (such as regularization - based, replay - based, and hybrid methods) and can seamlessly switch between PyTorch and JAX. - Design a modular and easy - to - use API, enabling researchers to quickly prototype and test new algorithms without having to deeply handle the underlying engineering code. - Support the transparency and reproducibility of experiments through Hydra configuration files, facilitating researchers to share and report experimental settings. Through these improvements, SequeL aims to promote the research progress in the field of continual learning and provide an easy - to - use and extensible platform to help researchers better compare and develop new continual - learning methods.