Seamlessly translate East Asian texts with deep learning models.
Project description
asian_mtl
This repository contains the code and documentation for the machine translation models used for EasierMTL's API.
Improved version of the models in the original repository: EasierMTL/chinese-translation-app
Supported Translators
All translators support dynamic quantization! Our benchmarks indicate that they 2x inference speeds, while losing <1% BLEU.
ChineseToEnglishTranslator()
EnglishToChineseTranslator()
Getting Started
pip install asian-mtl
Here's a simple example:
from asian_mtl.models.base import ChineseToEnglishTranslator
translator = ChineseToEnglishTranslator()
# Quantize for better CPU production performance!
translator.quantize()
prediction = translator.predict("我爱ECSE484.")
print(prediction)
# prediction will be:
# "I love ECSE 484."
And you're good to go!
If you are contributing, run:
# https://stackoverflow.com/questions/59882884/vscode-doesnt-show-poetry-virtualenvs-in-select-interpreter-option
poetry config virtualenvs.in-project true
# shows the name of the current environment
poetry env list
poetry install
Usage
When you are using quantized models in this repository, make sure to set torch.set_num_threads(1)
. This is not set under-the-hood because it could interfere with user setups in an invasive way.
Not doing so will make the quantized models slower than their vanilla counterparts.
Evaluation
See scripts
for evaluation scripts.
To run the scripts, simply run:
# Running with CLI and config with BERT
python ./scripts/evaluation/eval.py -c ./scripts/evaluation/configs/helsinki.yaml
Change the config helsinki.yaml
to use quantized or your specific use case.
Benchmarks
Here are some basic benchmarks of models in this repository:
Model | Quantized? | N | BLEU | Runtime |
---|---|---|---|---|
Helsinki-NLP/opus-mt-zh-en | No | 100 | 0.319 | 27s |
Yes | 100 | 0.306 | 13.5s |
The benchmarks described in the docs are a little out-of-date.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file asian_mtl-0.1.2.tar.gz
.
File metadata
- Download URL: asian_mtl-0.1.2.tar.gz
- Upload date:
- Size: 8.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.1.11 CPython/3.8.5 Linux/5.15.0-53-generic
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2c9bb678d1e2eddf467311189a689cbd58b80edd450c1065fc3945715781f169 |
|
MD5 | 90e78d289466ba6eb37a4addca1ec1d0 |
|
BLAKE2b-256 | 6837ae97e331e7bd133b522e4f434d5f1c57d71f0457da3239d73054f1a0b5cc |
File details
Details for the file asian_mtl-0.1.2-py3-none-any.whl
.
File metadata
- Download URL: asian_mtl-0.1.2-py3-none-any.whl
- Upload date:
- Size: 8.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.1.11 CPython/3.8.5 Linux/5.15.0-53-generic
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2371e184cb00c0404afbe8dbce5874c3b1bfc0f4ffb056f0b8efdfd640db3e0a |
|
MD5 | aa5ed9f137f7bdeb9a31b1ccc48f6833 |
|
BLAKE2b-256 | 5c4b1b13c34c66a89bd7db77b1fa88b2bd462ae00019215d1bcd527575de7ee5 |