/ Модель

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

Контекст
4 096 токенов
Параметры
68,7 млрд
Размер весов
276 ГБ
Лицензия
Llama 2
Архитектура
llama · dense
Опубликована
2 фев 2024

LLaMAntino-2-70b-hf-UltraChat-ITA

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

Итальянская диалоговая модель на базе LLaMA 2 с 70 млрд параметров, дообученная на переводе UltraChat для генерации ответов и исследовательских задач NLP.

1 459скачиваний за 30 дней12лайковвеса обновлены10 мая 2024

Бенчмарки

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

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

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

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

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

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

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

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

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

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

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

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

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

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

LLaMAntino-2-70b-hf-UltraChat-ITA — итальянская инструктивно настроенная языковая модель семейства LLaMA 2, разработанная Pierpaolo Basile, Elio Musacchio, Marco Polignano, Lucia Siciliani, Giuseppe Fiameni и Giovanni Semeraro. Она предназначена для италоязычных диалогов и исследовательских задач обработки естественного языка.

Модель основана на LLaMAntino-2-70b и дообучена методом QLoRA на наборе UltraChat, переведённом на итальянский язык с помощью Argos Translate. Это плотная авторегрессионная архитектура LlamaForCausalLM с 68,7 млрд параметров и контекстом 4096 токенов. Для получения результатов авторы рекомендуют использовать их адаптированный итальянский шаблон диалога.

Модель принимает текст и генерирует текст; карточка приводит результаты оценки на итальянских наборах hellaswag_it, arc_it и m_mmlu_it. Она распространяется по лицензии Llama 2 Community License. Авторы отмечают исследовательскую направленность модели; качество ответов может зависеть от соблюдения рекомендованного формата запроса.

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

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

Ограничения

Для лучших результатов рекомендуется использовать итальянский шаблон диалога из карточки модели. Обучающий набор получен машинным переводом UltraChat, поэтому возможны ошибки и артефакты перевода.

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

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

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

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

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

Открыть на Hugging Face

LLaMAntino-2-70b-hf-UltraChat-ITA 🇮🇹 🌟

Last Update: 02/02/2024

Model description

LLaMAntino-2-70b-hf-UltraChat-ITA is a Large Language Model (LLM) that is an instruction-tuned version of LLaMAntino-2-70b (an italian-adapted LLaMA 2 - 70B). This model aims to provide Italian NLP researchers with an improved model for italian dialogue use cases.

The model was trained using QLora and using as training data UltraChat translated to the italian language using Argos Translate. If you are interested in more details regarding the training procedure, you can find the code we used at the following link:

NOTICE: the code has not been released yet, we apologize for the delay, it will be available asap!

  • Developed by: Pierpaolo Basile, Elio Musacchio, Marco Polignano, Lucia Siciliani, Giuseppe Fiameni, Giovanni Semeraro
  • Funded by: PNRR project FAIR - Future AI Research
  • Compute infrastructure: Leonardo supercomputer
  • Model type: LLaMA-2
  • Language(s) (NLP): Italian
  • License: Llama 2 Community License
  • Finetuned from model: swap-uniba/meta-llama/Llama-2-70b-hf

Prompt Format

This prompt format based on the LLaMA 2 prompt template adapted to the italian language was used:

" [INST] <<SYS>>\n" \
"Sei un assistente disponibile, rispettoso e onesto di nome Llamantino. " \
"Rispondi sempre nel modo più utile possibile, pur essendo sicuro. " \
"Le risposte non devono includere contenuti dannosi, non etici, razzisti, sessisti, tossici, pericolosi o illegali. " \
"Assicurati che le tue risposte siano socialmente imparziali e positive. " \
"Se una domanda non ha senso o non è coerente con i fatti, spiegane il motivo invece di rispondere in modo non corretto. " \
"Se non conosci la risposta a una domanda, non condividere informazioni false.\n" \
"<</SYS>>\n\n" \
f"{user_msg_1} [/INST] {model_answer_1} </s> <s> [INST] {user_msg_2} [/INST] {model_answer_2} </s> ... <s> [INST] {user_msg_N} [/INST] {model_answer_N} </s>"

We recommend using the same prompt in inference to obtain the best results!

How to Get Started with the Model

Below you can find an example of model usage:

from transformers import AutoTokenizer, AutoModelForCausalLM
import transformers
import torch
import os
os.environ["CUDA_VISIBLE_DEVICES"] = "0,1,2,3"

model = "swap-uniba/LLaMAntino-2-70b-hf-UltraChat-ITA"

tokenizer = AutoTokenizer.from_pretrained(model)
tokenizer.add_special_tokens({"pad_token":"<unk>"})
tokenizer.chat_template =   "{% set ns = namespace(i=0) %}" \
                            "{% for message in messages %}" \
                                "{% if message['role'] == 'user' and ns.i == 0 %}" \
                                       "{{ bos_token +' [INST] <<SYS>>\n' }}" \
                                       "{{ 'Sei un assistente disponibile, rispettoso e onesto di nome Llamantino. ' }}" \
                                       "{{ 'Rispondi sempre nel modo più utile possibile, pur essendo sicuro. ' }}" \
                                       "{{ 'Le risposte non devono includere contenuti dannosi, non etici, razzisti, sessisti, tossici, pericolosi o illegali. ' }}" \
                                       "{{ 'Assicurati che le tue risposte siano socialmente imparziali e positive. ' }}" \
                                       "{{ 'Se una domanda non ha senso o non è coerente con i fatti, spiegane il motivo invece di rispondere in modo non corretto. ' }}" \
                                       "{{ 'Se non conosci la risposta a una domanda, non condividere informazioni false.\n' }}" \
                                       "{{ '<</SYS>>\n\n' }}" \
                                       "{{ message['content'] + ' [/INST]' }}" \
                                "{% elif message['role'] == 'user' and ns.i != 0 %} " \
                                    "{{ bos_token + ' [INST] ' + message['content'] + ' [/INST]' }}" \
                                "{% elif message['role'] == 'assistant' %}" \
                                    "{{ ' '  + message['content'] + ' ' + eos_token + ' ' }}" \
                                "{% endif %}" \
                                "{% set ns.i = ns.i+1 %}" \
                            "{% endfor %}"

model = AutoModelForCausalLM.from_pretrained(
    model,
    torch_dtype=torch.float16,
    device_map='balanced',
    use_flash_attention_2=True
)

pipe = transformers.pipeline(model=model,
    device_map="balanced",
    tokenizer=tokenizer,
    return_full_text=False,  # langchain expects the full text
    task='text-generation',
    max_new_tokens=512,  # max number of tokens to generate in the output
    temperature=0.7 #temperature
)
messages = [{"role": "user", "content": "Cosa sono i word embeddings?"}]
text = tokenizer.apply_chat_template(messages, tokenize=False)

sequences = pipe(text)
for seq in sequences:
    print(f"{seq['generated_text']}")

If you are facing issues when loading the model, you can try to load it Quantized:

model = AutoModelForCausalLM.from_pretrained(model_id, load_in_8bit=True)

Note:

  1. The model loading strategy above requires the bitsandbytes and accelerate libraries
  2. The Tokenizer, by default, adds at the beginning of the prompt the '<BOS>' token. If that is not the case, add as a starting token the <s> string.

Evaluation

For a detailed comparison of model performance, check out the Leaderboard for Italian Language Models.

Here's a breakdown of the performance metrics:

Metrichellaswag_it acc_normarc_it acc_normm_mmlu_it 5-shot accAverage
Accuracy Normalized0.65660.50040.60840.588

Citation

If you use this model in your research, please cite the following:

@misc{basile2023llamantino,
      title={LLaMAntino: LLaMA 2 Models for Effective Text Generation in Italian Language}, 
      author={Pierpaolo Basile and Elio Musacchio and Marco Polignano and Lucia Siciliani and Giuseppe Fiameni and Giovanni Semeraro},
      year={2023},
      eprint={2312.09993},
      archivePrefix={arXiv},
      primaryClass={cs.CL}
}

Notice: Llama 2 is licensed under the LLAMA 2 Community License, Copyright © Meta Platforms, Inc. All Rights Reserved. License

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

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

GPU в ailist

vLLM

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

Подбираем GPU…

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

0 моделей