/ Модель

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

Контекст
4 096 токенов
Параметры
12,9 млрд
Размер весов
26 ГБ
Лицензия
MIT
Архитектура
llama · dense
Базовая модель
ALMA-13B-Pretrain
Опубликована
27 июн 2024

X-ALMA-13B-Pretrain

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

Мультиязычная базовая модель X-ALMA на 13 млрд параметров для настройки систем машинного перевода на 50 языках.

183скачиваний за 30 дней12лайковвеса обновлены6 ноя 2024

Бенчмарки

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

Тесты пользователейпока нет

Никто ещё не опубликовал тест этой модели. Соберите бенчмарк из своих задач — результат появится здесь.

  1. Добавьте модель в бенчмарк

    Вместе с другими моделями категории «Текст» — сравнение идёт внутри одной категории.

  2. Опишите свои задачи

    Напишите запросы, при необходимости приложите файлы и эталонные ответы.

  3. Запустите и опубликуйте

    Модели ответят на каждую задачу, судья оценит ответы. Опубликованный результат появится на этой странице.

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

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

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

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

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

X-ALMA-13B-Pretrain — мультиязычная предварительно обученная базовая модель семейства X-ALMA, разработанная Haoran Xu и соавторами. Она расширяет языковую поддержку ALMA-R с 6 до 50 языков и входит в систему перевода X-ALMA с подключаемыми языковыми модулями. Архитектура — плотная LLaMA, модель содержит 12,9 млрд параметров и рассчитана на контекст до 4096 токенов.

Модель предназначена для дальнейшей настройки и использования в сценариях машинного перевода между поддерживаемыми языками; авторы также указывают возможность открытых многоязычных ответов на вопросы. Карточка описывает именно предварительно обученную базовую модель, поэтому конкретные результаты перевода зависят от используемых модулей и настройки. Модель распространяется под лицензией MIT.

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

  • настройка модели для перевода между 50 языками
  • перевод с китайского на английский
  • создание мультиязычного переводческого сервиса
  • многоязычные ответы на открытые вопросы

Ограничения

Это предварительно обученная базовая модель; для использования переводческих возможностей X-ALMA могут потребоваться соответствующие языковые модули или дальнейшая настройка. Контекст ограничен 4096 токенами.

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

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

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

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

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

Открыть на Hugging Face

X-ALMA builds upon ALMA-R by expanding support from 6 to 50 languages. It utilizes a plug-and-play architecture with language-specific modules, complemented by a carefully designed training recipe. This release includes the X-ALMA pre-trained base model.

@misc{xu2024xalmaplugplay,
      title={X-ALMA: Plug & Play Modules and Adaptive Rejection for Quality Translation at Scale}, 
      author={Haoran Xu and Kenton Murray and Philipp Koehn and Hieu Hoang and Akiko Eriguchi and Huda Khayrallah},
      year={2024},
      eprint={2410.03115},
      archivePrefix={arXiv},
      primaryClass={cs.CL},
      url={https://arxiv.org/abs/2410.03115}, 
}

X-ALMA-13B-Pretrain is pre-trained on 50 languages: en,da,nl,de,is,no,sv,af,ca,ro,gl,it,pt,es,bg,mk,sr,uk,ru,id,ms,th,vi,mg,fr,hu,el,cs,pl,lt,lv,ka,zh,ja,ko,fi,et,gu,hi,mr,ne,ur,az,kk,ky,tr,uz,ar,he,fa.

All X-ALMA checkpoints are released at huggingface:

ModelsModel LinkDescription
X-ALMAhaoranxu/X-ALMA)X-ALMA model with all its modules
X-ALMA-13B-Pretrainhaoranxu/X-ALMA-13B-PretrainX-ALMA 13B multilingual pre-trained base model
X-ALMA-Group1haoranxu/X-ALMA-13B-Group1X-ALMA group1 specific module and the merged model
X-ALMA-Group2haoranxu/X-ALMA-13B-Group2X-ALMA group2 specific module and the merged model
X-ALMA-Group3haoranxu/X-ALMA-13B-Group3X-ALMA group3 specific module and the merged model
X-ALMA-Group4haoranxu/X-ALMA-13B-Group4X-ALMA group4 specific module and the merged model
X-ALMA-Group5haoranxu/X-ALMA-13B-Group5X-ALMA group5 specific module and the merged model
X-ALMA-Group6haoranxu/X-ALMA-13B-Group6X-ALMA group6 specific module and the merged model
X-ALMA-Group7haoranxu/X-ALMA-13B-Group7X-ALMA group7 specific module and the merged model
X-ALMA-Group8haoranxu/X-ALMA-13B-Group8X-ALMA group8 specific module and the merged model

A quick start:

There are three ways to load X-ALMA for translation. An example of translating "我爱机器翻译。" into English (X-ALMA should also able to do multilingual open-ended QA).

The first way: loading the merged model where the language-specific module has been merged into the base model (Recommended):

import torch
from transformers import AutoModelForCausalLM
from transformers import AutoTokenizer
from peft import PeftModel

GROUP2LANG = {
1: ["da", "nl", "de", "is", "no", "sv", "af"],
2: ["ca", "ro", "gl", "it", "pt", "es"],
3: ["bg", "mk", "sr", "uk", "ru"],
4: ["id", "ms", "th", "vi", "mg", "fr"],
5: ["hu", "el", "cs", "pl", "lt", "lv"],
6: ["ka", "zh", "ja", "ko", "fi", "et"],
7: ["gu", "hi", "mr", "ne", "ur"],
8: ["az", "kk", "ky", "tr", "uz", "ar", "he", "fa"],
}
LANG2GROUP = {lang: str(group) for group, langs in GROUP2LANG.items() for lang in langs}
group_id = LANG2GROUP["zh"]

model = AutoModelForCausalLM.from_pretrained(f"haoranxu/X-ALMA-13B-Group{group_id}", torch_dtype=torch.float16, device_map="auto")
tokenizer = AutoTokenizer.from_pretrained(f"haoranxu/X-ALMA-13B-Group{group_id}", padding_side='left')

# Add the source sentence into the prompt template
prompt="Translate this from Chinese to English:\nChinese: 我爱机器翻译。\nEnglish:"

# X-ALMA needs chat template but ALMA and ALMA-R don't need it.
chat_style_prompt = [{"role": "user", "content": prompt}]
prompt = tokenizer.apply_chat_template(chat_style_prompt, tokenize=False, add_generation_prompt=True)

input_ids = tokenizer(prompt, return_tensors="pt", padding=True, max_length=40, truncation=True).input_ids.cuda()

# Translation
with torch.no_grad():
generated_ids = model.generate(input_ids=input_ids, num_beams=5, max_new_tokens=20, do_sample=True, temperature=0.6, top_p=0.9)
outputs = tokenizer.batch_decode(generated_ids, skip_special_tokens=True)
print(outputs)

The second way: loading the base model and language-specific module (Recommended):

model = AutoModelForCausalLM.from_pretrained("haoranxu/X-ALMA-13B-Pretrain", torch_dtype=torch.float16, device_map="auto")
model = PeftModel.from_pretrained(model, f"haoranxu/X-ALMA-13B-Group{group_id}")
tokenizer = AutoTokenizer.from_pretrained(f"haoranxu/X-ALMA-13B-Group{group_id}", padding_side='left')

The third way: loading the base model with all language-specific modules like MoE: (Require large GPU memory)

from modeling_xalma import XALMAForCausalLM
model = XALMAForCausalLM.from_pretrained("haoranxu/X-ALMA", torch_dtype=torch.float16, device_map="auto")
tokenizer = AutoTokenizer.from_pretrained("haoranxu/X-ALMA", padding_side='left')

# Add `lang="zh"`: specify the language to instruct the model on which group to use for the third loading method during generation.
generated_ids = model.generate(input_ids=input_ids, num_beams=5, max_new_tokens=20, do_sample=True, temperature=0.6, top_p=0.9, lang="zh")

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

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

GPU в ailist

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

Можно запустить

Подбираем GPU…

Класс архитектуры
LlamaForCausalLM
Ревизия весов
565c570

0 моделей