/ Модель

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

Контекст
4 096 токенов
Параметры
6,6 млрд
Размер весов
27,5 ГБ
Лицензия
CC BY-NC 4.0
Архитектура
llama_hydra · dense
Базовая модель
TowerInstruct-7B-v0.1
Опубликована
12 апр 2024

tweety-tatar-hydra-mt-7b-v24a

Генерация текстаТекст → текст3 профессии

Многоязычная модель Hydra на 6,6 млрд параметров для перевода текста с поддерживаемых языков, включая русский и английский, на татарский.

128скачиваний за 30 дней0лайковвеса обновлены9 авг 2024

Бенчмарки

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

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

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

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

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

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

Tweeties/tweety-tatar-hydra-mt-7b-v24a — многоязычная языковая модель Hydra для перевода на татарский язык, разработанная Франсуа Реми (UGent), Альфией Хабибуллиной (BeCode) и коллегами при поддержке IDLab / GPULab. Модель получена дообучением Unbabel/TowerInstruct-7B-v0.1 через Hydra-Base; архитектура в метаданных обозначена как LlamaHydraForCausalLM, число параметров — 6,6 млрд, формат весов — safetensors, контекст — 4096 токенов.

Модель принимает текст на поддерживаемых языках TowerInstruct и генерирует перевод на татарский. Она рассчитана на перевод предложений и небольших абзацев, в том числе при смешении языков во входе; авторы также указывают сценарии межъязыкового RAG. В качестве исходных языков названы десять языков TowerInstruct, включая английский и русский. Для перевода рекомендуется beam search.

Модель не предназначена для перевода больших документов и не рекомендуется для перевода с татарского на английский. Для работы требуется формировать запросы, смешивая токены исходного токенизатора TowerInstruct и нового татарского токенизатора. Лицензия — Creative Commons Attribution-NonCommercial 4.0, поэтому коммерческое использование не разрешено.

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

  • перевод предложений с русского на татарский
  • перевод небольших абзацев с английского на татарский
  • перевод текста с поддерживаемых языков TowerInstruct на татарский
  • перевод короткого смешанного русско-татарского или англо-татарского текста на татарский
  • подготовка переводной модели на татарский путём дополнительного дообучения

Ограничения

Лучше работает с предложениями и небольшими абзацами и не предназначена для перевода больших документов. Не рекомендуется использовать для перевода с татарского на английский; для построения запросов нужно смешивать токены двух токенизаторов.

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

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

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

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

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

Открыть на Hugging Face

Tweety Tatar / Hydra-MT 7b / 2024-v1

Model description

This model is our Hydra LLM for the Tatar language, converted from the TowerInstruct-7b-v0.1 model trained by Unbabel, via our Hydra-Base model. Hydra LLMs are trans-tokenized language models finetuned to produce output in a particular language, while accepting input encoded using either their own tokenizer, the one of their base model, or a mix of both. This enables them to receive code-switched input in both their native language and other languages, which is an ideal setup for translation tasks, or retrieval-augmented generation (RAG) in cross-lingual scenarios (see our Hydra-Base model).

  • Developed by: François Remy (UGent), Alfiya Khabibullina (BeCode), et al.
  • Funded by: IDLab / GPULab
  • Model type: Foundation model using the mistral architecture
  • Language(s) (NLP): Tatar
  • License: Creative Commons Attribution Non Commercial 4.0

In-scope usage

This model can be used as-is or finetuned into a machine translation system from one of the 10 languages supported by TowerInstruct into the Tatar language. This list of languages nobably includes English and Russian. The model performs best when translating sentences or small paragraphs, and is not suited for document translation tasks. This model should not be used in the reverse direction, to translate Tatar into English. While the system is finetuned for translation, enabling beam search provides better results. Take note of the non-commercial license imposed by Unbabel on the base model, which also applies to this model.

Usage instructions

Using this model usually requires building the prompts by mixing tokens from two tokenizers, the original TowerInstruct tokenizer for input in the source language, and the new Tatar tokenizer for the prompt and output, as described in the examples below:

import re
import torch
import torch.nn as nn
import transformers

MODEL_NAME = "Tweeties/tweety-tatar-hydra-mt-7b-2024-v1"
MAIN_TOKENIZER_NAME = "Tweeties/tweety-tatar-hydra-mt-7b-2024-v1"
UTIL_TOKENIZER_NAME = "Unbabel/TowerInstruct-7B-v0.1"

model = transformers.AutoModelForCausalLM.from_pretrained(MODEL_NAME, trust_remote_code=True)
main_tokenizer = transformers.LlamaTokenizerFast.from_pretrained(MAIN_TOKENIZER_NAME)
util_tokenizer = transformers.LlamaTokenizerFast.from_pretrained(UTIL_TOKENIZER_NAME)

main_tokenizer_len = len(main_tokenizer)

Machine Translation

def translate_english_text(english_text: str) -> str:
    
    # craft the input
    input_ids = torch.concat([
        main_tokenizer.encode(f"Түбәндәге текстны инглиз теленнән татар теленә тәрҗемә итегез:\n", return_tensors='pt'),
        util_tokenizer.encode(f"{english_text}", add_special_tokens=False, return_tensors='pt') + torch.tensor([main_tokenizer_len]),
        main_tokenizer.encode(f"\nТекстны татар теленә тәрҗемә итү:\n", add_special_tokens=False, return_tensors='pt')
    ], axis=1)

    # prevent the model from repeating the prompt
    prompt_starts = [
        main_tokenizer.encode("Түбәндәге"), 
        main_tokenizer.encode("\nТүбәндәге")[2:], 
        main_tokenizer.encode("Текстны"), 
        main_tokenizer.encode("\nТекстны")[2:]
    ]
   
    # genereate the output
    model_inputs = {'input_ids':input_ids.to(model.device)}
    model_outputs = model.generate(
        **model_inputs,
        max_new_tokens=128,
        num_beams=8,
        no_repeat_ngram_size=6,
        early_stopping=False,
        pad_token_id=main_tokenizer.eos_token_id,
        eos_token_id=main_tokenizer.convert_tokens_to_ids(['<0x0A>','</s>']),
        bad_words_ids=prompt_starts
    )

    # decode the output
    return (main_tokenizer.decode(model_outputs[0][input_ids.shape[1]:]))

translate_english_text("The city of Paris is very pretty.") # Париж шәһәре бик матур.

Citation

If you use this model, please cite our work as:

@article{tweeties2024,
    title = {Trans-Tokenization and Cross-lingual Vocabulary Transfers: Language Adaptation of LLMs for Low-Resource NLP},
    author = {François Remy and Pieter Delobelle and Hayastan Avetisyan and Alfiya Khabibullina and Miryam de Lhoneux and Thomas Demeester},
    url = {https://arxiv.org/abs/2408.04303},
    year = {2024},
    note = {Accepted at COLM 2024}
}

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

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

GPU в ailist

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

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

Модели нужен код из репозитория; автор пока не в списке доверенных организаций.

Класс архитектуры
LlamaHydraForCausalLM
Ревизия весов
a659259

0 моделей