/ Модель

Характеристики

Лицензия
MIT
Опубликована
12 сен 2023

indictrans2-indic-en-dist-200M

ПереводТекст → текст7 профессий

Компактная дистиллированная модель AI4Bharat для перевода между английским и языками Индии.

26 318скачиваний за 30 дней43лайкавеса обновлены8 окт 2026

Бенчмарки

Как модель справилась с задачами пользователей ailist и что о ней публикуют открытые лидерборды

Публичные оценки

Из открытых лидербордов. Сравнивайте результаты одного теста при одинаковых условиях — отсутствие оценки не значит, что модель хуже.

В подключённых источниках результатов для этой модели пока нет.

Что умеет модель

Описание составлено по карточке модели и метаданным Hugging Face

IndicTrans2 Indic-En Distilled 200M — компактная дистиллированная модель перевода от AI4Bharat. Она предназначена для перевода между английским и индийскими языками; в карточке модели среди языков указаны бенгальский, английский, хинди, тамильский и урду, а теги репозитория охватывают более широкий набор языков Индии.

Модель опубликована в формате PyTorch и Safetensors и использует архитектуру преобразования текста в текст. В README для этой версии не приведена длина контекста; упомянутые модели IndicTrans2 с контекстом до 2048 токенов относятся к отдельным вариантам RoPE. Модель распространяется по лицензии MIT.

Сценарии применения

  • перевод текстов с английского на языки Индии
  • перевод текстов с языков Индии на английский
  • многоязычный перевод для приложений и сервисов
  • перевод наборов данных для локализации

Ограничения

Эта версия предназначена для перевода между английским и индийскими языками; качество для конкретной языковой пары может различаться. Указанный для отдельных RoPE-вариантов контекст до 2048 токенов не следует считать характеристикой этой модели.

Для каких профессий подходит7

Разделы каталога профессий, в задачах которых используется эта модель

Все профессии

Также подходит для

Карточка модели

README от автора на Hugging Face, как он его опубликовал

Открыть на Hugging Face

IndicTrans2

This is the model card of IndicTrans2 Indic-En Distilled 200M variant.

Please refer to section 7.6: Distilled Models in the TMLR submission for further details on model training, data and metrics.

🚩NOTE 🚩Indic-Translate is now available. It supports 22 Indian languages as well as English and has better translation capabilities compared to IndicTrans2. We recommend using Indic-Translate.

Usage Instructions

Please refer to the github repository for a detail description on how to use HF compatible IndicTrans2 models for inference.

import torch
from transformers import AutoModelForSeq2SeqLM, AutoTokenizer
from IndicTransToolkit.processor import IndicProcessor
# recommended to run this on a gpu with flash_attn installed
# don't set attn_implemetation if you don't have flash_attn
DEVICE = "cuda" if torch.cuda.is_available() else "cpu"

src_lang, tgt_lang = "hin_Deva", "eng_Latn"
model_name = "ai4bharat/indictrans2-indic-en-dist-200M"
tokenizer = AutoTokenizer.from_pretrained(model_name, trust_remote_code=True)

model = AutoModelForSeq2SeqLM.from_pretrained(
    model_name, 
    trust_remote_code=True, 
    torch_dtype=torch.float16, # performance might slightly vary for bfloat16
    attn_implementation="flash_attention_2"
).to(DEVICE)

ip = IndicProcessor(inference=True)

input_sentences = [
    "जब मैं छोटा था, मैं हर रोज़ पार्क जाता था।",
    "हमने पिछले सप्ताह एक नई फिल्म देखी जो कि बहुत प्रेरणादायक थी।",
    "अगर तुम मुझे उस समय पास मिलते, तो हम बाहर खाना खाने चलते।",
    "मेरे मित्र ने मुझे उसके जन्मदिन की पार्टी में बुलाया है, और मैं उसे एक तोहफा दूंगा।",
]

batch = ip.preprocess_batch(
    input_sentences,
    src_lang=src_lang,
    tgt_lang=tgt_lang,
)

DEVICE = "cuda" if torch.cuda.is_available() else "cpu"

# Tokenize the sentences and generate input encodings
inputs = tokenizer(
    batch,
    truncation=True,
    padding="longest",
    return_tensors="pt",
    return_attention_mask=True,
).to(DEVICE)

# Generate translations using the model
with torch.no_grad():
    generated_tokens = model.generate(
        **inputs,
        use_cache=True,
        min_length=0,
        max_length=256,
        num_beams=5,
        num_return_sequences=1,
    )

# Decode the generated tokens into text
generated_tokens = tokenizer.batch_decode(
    generated_tokens,
    skip_special_tokens=True,
    clean_up_tokenization_spaces=True,
)

# Postprocess the translations, including entity replacement
translations = ip.postprocess_batch(generated_tokens, lang=tgt_lang)

for input_sentence, translation in zip(input_sentences, translations):
    print(f"{src_lang}: {input_sentence}")
    print(f"{tgt_lang}: {translation}")

📢 Long Context IT2 Models

  • New RoPE based IndicTrans2 models which are capable of handling sequence lengths upto 2048 tokens are available here
  • These models can be used by just changing the model_name parameter. Please read the model card of the RoPE-IT2 models for more information about the generation.
  • It is recommended to run these models with flash_attention_2 for efficient generation.

Citation

If you consider using our work then please cite using:

@article{gala2023indictrans,
title={IndicTrans2: Towards High-Quality and Accessible Machine Translation Models for all 22 Scheduled Indian Languages},
author={Jay Gala and Pranjal A Chitale and A K Raghavan and Varun Gumma and Sumanth Doddapaneni and Aswanth Kumar M and Janki Atul Nawale and Anupama Sujatha and Ratish Puduppully and Vivek Raghavan and Pratyush Kumar and Mitesh M Khapra and Raj Dabre and Anoop Kunchukuttan},
journal={Transactions on Machine Learning Research},
issn={2835-8856},
year={2023},
url={https://openreview.net/forum?id=vfT4YuzAYA},
note={}
}

Как запустить

На своей GPU в ailist. Цена — по текущим предложениям провайдеров

GPU в ailist

Универсальный рантайм

Нельзя запустить

Доступ к модели ограничен автором; у платформы нет доступа к весам.

Ревизия весов
d66a212

0 моделей