joeynmt  by joeynmt

Minimalist NMT toolkit for educational purposes

created 6 years ago
698 stars

Top 49.8% on sourcepulse

GitHubView on GitHub
Project Summary

Joey NMT is a minimalist, educational framework for implementing and understanding Neural Machine Translation (NMT) architectures like RNNs and Transformers in PyTorch. It targets novices and researchers seeking to grasp NMT building blocks and modification possibilities without the complexity of state-of-the-art systems.

How It Works

Joey NMT provides clean implementations of core NMT components, including RNN and Transformer encoders/decoders, various attention mechanisms (MLP, Dot, Multi-Head, Bilinear), and tokenization strategies (word, BPE, character). Its design prioritizes readability and educational value, allowing users to easily modify architectures and training procedures.

Quick Start & Requirements

  • Install via pip: python -m pip install joeynmt
  • Install from source: git clone https://github.com/joeynmt/joeynmt.git && cd joeynmt && python -m pip install -e .
  • Requires Python 3.11 and PyTorch 2.1.2. GPU usage requires manual PyTorch installation matching your CUDA version (e.g., python -m pip install --upgrade torch==2.1.2 --index-url https://download.pytorch.org/whl/cu121).
  • Documentation: https://joeynmt.readthedocs.io/en/latest/

Highlighted Details

  • Supports RNN (GRU/LSTM) and Transformer architectures.
  • Implements multiple attention types and tokenization methods.
  • Includes features like beam search, length penalty, attention visualization, and learning curve plotting.
  • Offers multilingual translation capabilities with language tags.
  • Provides pre-trained models for benchmarks like IWSLT14 and WMT14.

Maintenance & Community

  • Initially developed by Jasmijn Bastings and Julia Kreutzer, now maintained by Mayumi Ohta.
  • Active contributions are welcomed.
  • Projects extending Joey NMT are showcased, including Speech-to-Text (JoeyS2T) and Discord bots.
  • Community contact via GitHub issues or email (joeynmt@gmail.com).

Licensing & Compatibility

  • The repository does not explicitly state a license in the README.

Limitations & Caveats

  • The README does not specify a license, which may impact commercial use or closed-source integration.
  • Interactive translation mode does not support multi-GPU setups.
  • Models trained with v1.x are compatible with v2.0 for decoding, but exact score reproduction is not guaranteed.
Health Check
Last commit

1 year ago

Responsiveness

1 day

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

Explore Similar Projects

Starred by Chip Huyen Chip Huyen(Author of AI Engineering, Designing Machine Learning Systems), Omar Sanseviero Omar Sanseviero(DevRel at Google DeepMind), and
4 more.

open_flamingo by mlfoundations

0.1%
4k
Open-source framework for training large multimodal models
created 2 years ago
updated 11 months ago
Feedback? Help us improve.