Tencent's 440 MB AI model translates 33 languages offline on your phone
Back to Tutorials
aiTutorialbeginner

Tencent's 440 MB AI model translates 33 languages offline on your phone

April 30, 20264 views4 min read

Learn how to use Tencent's 440 MB AI translation model to perform offline translations in 33 languages using Python.

Introduction

In this tutorial, you'll learn how to use Tencent's compact AI translation model to perform language translations offline on your phone. This model, weighing only 440 MB, supports 33 languages and runs completely without an internet connection. We'll guide you through setting up a simple Python application that uses this model to translate text between languages.

This tutorial is designed for beginners with no prior experience in AI or machine learning. By the end, you'll have a working translation tool that you can run on your computer or mobile device.

Prerequisites

Before starting this tutorial, ensure you have the following:

  • A computer or mobile device with internet access
  • Python 3.7 or higher installed (you can download it from python.org)
  • Basic understanding of how to open a terminal or command prompt
  • Access to a Python package manager (pip)

Step-by-Step Instructions

1. Install Required Python Libraries

First, we need to install the necessary Python libraries for working with AI models and translations. Open your terminal or command prompt and run the following commands:

pip install transformers torch

Why? The transformers library from Hugging Face provides easy access to pre-trained models like the one from Tencent. torch is the deep learning framework used by these models.

2. Download the Model

Next, we need to download the model from the Hugging Face model hub. Since the model is open-source, you can access it directly. Run this Python script to download the model:

from transformers import AutoTokenizer, AutoModelForSeq2SeqLM

model_name = "tencent/Translation-Model"

# Load tokenizer and model
model = AutoModelForSeq2SeqLM.from_pretrained(model_name)
tokenizer = AutoTokenizer.from_pretrained(model_name)

Why? This code loads the tokenizer and model from Hugging Face. The tokenizer prepares text for the model, and the model performs the translation.

3. Prepare Input Text

Now, we need to create a simple function that will take input text and translate it. Add the following code:

def translate_text(text, target_language="en"):
    # Encode the input text
    inputs = tokenizer(text, return_tensors="pt")
    
    # Generate translation
    outputs = model.generate(**inputs, max_length=150)
    
    # Decode the output
    translated_text = tokenizer.decode(outputs[0], skip_special_tokens=True)
    
    return translated_text

Why? This function prepares the text for translation, generates the translation using the model, and decodes the result back into readable text.

4. Test the Translation Function

Now, let's test the translation function with some sample text:

# Example usage
input_text = "Hello, how are you?"
translated = translate_text(input_text, target_language="zh")
print(f"Original: {input_text}")
print(f"Translated: {translated}")

Why? This test ensures that your setup is working correctly and that the model is translating text as expected.

5. Create a Simple UI (Optional)

For a more user-friendly experience, you can create a basic command-line interface. Add this code:

while True:
    user_input = input("Enter text to translate (or 'quit' to exit): ")
    if user_input.lower() == 'quit':
        break
    
    translated = translate_text(user_input, target_language="zh")
    print(f"Translation: {translated}")

Why? This loop allows you to continuously input text and see translations without restarting the program.

6. Run the Translation Tool

Save your code in a file named translation_tool.py and run it:

python translation_tool.py

Why? Running the script executes your translation tool and allows you to interact with it.

7. Test with Different Languages

Try translating text to different languages by changing the target_language parameter in the translate_text function. For example:

translated = translate_text("Hello, how are you?", target_language="es")  # Spanish
translated = translate_text("Hello, how are you?", target_language="fr")  # French

Why? This demonstrates that the model supports multiple languages, as claimed in the news article.

Summary

In this tutorial, you've learned how to use Tencent's compact AI translation model to translate text offline. You installed the required libraries, downloaded the model, and created a simple translation tool. This tool can run completely offline and supports multiple languages. You can now extend this project by adding a graphical user interface or integrating it into a mobile application.

Remember, since the model is 440 MB, it may take some time to download the first time. However, once downloaded, it will work offline on your device.

Source: The Decoder

Related Articles