Skip to main content

CompassionAI project Garland - neural machine translation from classical Tibetan

Machine translation from classical literary Tibetan. Current focus is on:

  • Custom neural machine translation models that build on Hugging Face Transformers.
  • Using short sentence translation models published by the big research labs, such as FAIR, as backbone models for translating long texts.

Eventually these techniques may generalize to other low resource languages.

Installation

There are two modes for this library - inference and research. We provide instructions for Linux.

  • Inference should work on MacOS and Windows mutatis mutandis.
  • We very strongly recommend doing research only on Linux. We will not provide any support to people trying to perform research tasks without installing Linux.

Virtual environment

We strongly recommend using a virtual environment for all your Python package installations, including anything from CompassionAI. To facilitate this, we provide a simple Conda environment YAML file in the CompassionAI/common repo. We recommend first installing miniconda, see https://docs.conda.io/en/main/miniconda.html. We then recommend installing Mamba, see https://github.com/mamba-org/mamba.

bash Miniconda3-latest-Linux-x86_64.sh
conda install mamba -c conda-forge
cd compassionai/common
mamba env create -f env-minimal.yml -n my-env
conda activate my-env

Inference

Just install with pip:

pip install compassionai-garland

Research

Begin by installing for inference. Then install the CompassionAI data registry repo and set two environment variables:

$CAI_TEMP_PATH
$CAI_DATA_BASE_PATH

We strongly recommend setting them with conda in your virtual environment:

conda activate my-env
conda env config vars set CAI_TEMP_PATH=#directory on a mountpoint with plenty of space, does not need to be fast
conda env config vars set CAI_DATA_BASE_PATH=#absolute path to the CompassionAI data registry

Our code uses these environment variables to load datasets from the registry, output processed datasets and store training results.

Usage

Inference

This is a supporting library for our main inference repos, such as Lotsawa. You shouldn't need to use it directly.

Research

This library implements neural machine translation models from classical Tibetan to English, with experiments for other target languages as well.

  • Dataset preparation code, especially see cai_garland/data/parallel_dataset_prep.py.
  • Implementation of modified tokenizers and neural model architectures that builds on Hugging Face Transformers.
  • Training drivers to fine-tune models on tasks relevant to translation, such as translation itself or text segmentation.
  • Utility code for the above, including simple libraries of preprocessors and segmenters, as well as a translation utility class that implements the core loops of our contextual translation algorithms.

Release files for compassionai-garland 0.2.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for compassionai-garland 0.2.1
File Size Uploaded
compassionai-garland-0.2.1.tar.gz 79.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for compassionai-garland 0.2.1
File Interpreter ABI Platform
compassionai_garland-0.2.1-py3-none-any.whl Python 3 none any Details

Total release size: 202.2 kB

Release files / compassionai-garland-0.2.1.tar.gz

Download URL compassionai-garland-0.2.1.tar.gz
Size 79.3 kB
Tags Source
SHA-256 checksum
How to use checksums
5bc0fff6fd088a3e812a96fc7ff49a537c9b6da44ebbb7ebe06aea0e7caff269
BLAKE2b-256 checksum
How to use checksums
f436bcb94b6677f01dc889fc9d1884f53ee41c50bb19486426924f89c068cf21
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.10.0

Release files / compassionai_garland-0.2.1-py3-none-any.whl

Download URL compassionai_garland-0.2.1-py3-none-any.whl
Size 122.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
3044a63ce9f9c443b843d8c86405905fe0119ac84d45a33778f86ab7df26b62e
BLAKE2b-256 checksum
How to use checksums
540b3421c27354d75c88bf45be34a156561b2eb1bff2ffc6ae3916481878a882
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.10.0

Release history Release notifications | RSS feed

This release

0.2.1 This release

2 release files

0.2.0

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page