Home

Awesome

REMEDI Infrastructure

The project contains setup and deployment code for setting up a REMEDI Machine Translation cluster. There are 2 separate parts of this project:

Packer

Contains Packer configuration for creating an AMI image containing a build of REMEDI, and a build of the Processor used for pre-/post- processing text. This should be run before deploying the Terraform code, using something along the lines of:

/opt/bin/packer build \
    -var-file=vars.json \
    -var "aws_vpc_id=$VPC" \
    -var "aws_subnet_id=$SUBNET" \
    -var "aws_region=$AWS_DEFAULT_REGION" \
    packer.json

Additional variables can be set, see packer/packer.json for full details.

Terraform

Contains Terraform configuration for deploying a cluster to AWS. The cluster will consist of:

There are numerous variables that need to be set prior to deploying the Terraform, see terraform/vars.tf for full details.

The cluster assumes that your models (per language, there should be a language model, reordering model, and translation model) are available on an S3 bucket, using the following naming convention respectively:

Currently, it is assumed that English will always be the target language.

If a REMEDI server configuration file (named {language}_en.cfg) is available in the S3 bucket (as produced by the output of the model tuning), then values from this configuration file will be used for the model for the following fields (i.e. the outputs of model tuning):

Secure Web Socket (TLS) support can be enabled by passing the Terraform module the required certificates and keys. Currently, TLS is supported only for the balancer and processor, as these are the public facing elements. Communication between the balancer and the translation servers is not encrypted, but is contained within your VPC. This is a restriction imposed by this Terraform configuration, and not by REMEDI.