OpenNMT-py  by OpenNMT

PyTorch framework for neural machine translation and LLM experimentation

Created 9 years ago
6,984 stars

Top 7.3% on SourcePulse

GitHubView on GitHub
Project Summary

OpenNMT-py is an open-source framework for neural machine translation and large language models, built with PyTorch. It targets researchers and developers seeking to experiment with and deploy advanced NLP models, offering production-ready capabilities and extensive customization for tasks like translation, summarization, and language modeling.

How It Works

The framework leverages PyTorch for its neural network implementations, supporting various attention mechanisms like Multihead and Multiquery attention. It integrates advanced features such as 8-bit and 4-bit quantization (including AWQ), LoRA adapters, and tensor parallelism for efficient training and inference of large models on limited hardware.

Quick Start & Requirements

  • Install: pip install OpenNMT-py or pip install -e . from source.
  • Prerequisites: Python >= 3.8, PyTorch >= 2.0 <2.2. For optimal performance and advanced features, installation of Apex and Flash Attention 2 is recommended.
  • Docker: Pre-built images are available on GitHub Container Registry: ghcr.io/opennmt/opennmt-py.
  • Docs: Full HTML Documentation

Highlighted Details

  • Supports LLM fine-tuning (e.g., Llama, Mistral) on single GPUs with 4-bit quantization.
  • Offers efficient inference via CTranslate2.
  • Includes tutorials for replicating models like Vicuna and fine-tuning NLLB-200.
  • Features Multiquery attention for improved training and inference speed.

Maintenance & Community

  • Announcement: The project is no longer actively supported; a new project, Eole, has been initiated.
  • Community: Forum, Gitter.
  • Maintainers: François Hernandez, Vincent Nguyen (Seedfall).

Licensing & Compatibility

  • License: MIT.
  • Compatibility: Permissive license suitable for commercial use and integration into closed-source projects.

Limitations & Caveats

The project is no longer actively supported, with a recommendation to migrate to the new Eole project. While production-ready features exist, ongoing development and support have ceased for OpenNMT-py itself.

Health Check
Last Commit

2 months ago

Responsiveness

1 day

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

Explore Similar Projects

Starred by Eric Zhu Eric Zhu(Coauthor of AutoGen; Research Scientist at Microsoft Research), Eugene Yan Eugene Yan(AI Scientist at AWS), and
1 more.

ms-swift by modelscope

1.1%
12k
SDK for fine-tuning and deploying LLMs/MLLMs
Created 2 years ago
Updated 1 day ago
Feedback? Help us improve.