/ Модель

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

Контекст
32 768 токенов
Параметры
7,1 млрд
Размер весов
14,5 ГБ
Лицензия
Apache 2.0
Архитектура
mistral · dense
Базовая модель
Mistral-7B-Instruct-v0.3
Библиотека
transformers
Опубликована
30 авг 2024

Mistral-7B-Instruct-Uz

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

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

94скачиваний за 30 дней15лайковвеса обновлены27 ноя 2024

Бенчмарки

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Mistral-7B-Instruct-Uz — инструктивно дообученная языковая модель, разработанная Eldor Fozilov, Azimjon Urinov и Khurshid Juraev на основе Mistral-7B-Instruct-v0.3. Авторы продолжили предварительное обучение и настроили модель на сочетании открытых и синтетических данных на узбекском и английском языках, стремясь сохранить знания базовой модели и улучшить её работу с узбекским языком.

Модель предназначена для генерации текста и диалогов, перевода между узбекским и английским, суммаризации и ответов на вопросы. В карточке приведены результаты сравнительных оценок на задачах перевода, анализа тональности и классификации узбекских новостей, а также на англоязычном MMLU. Архитектура — плотная MistralForCausalLM на 7,1 млрд параметров; контекст — до 32 768 токенов. Доступны веса PyTorch и Safetensors для библиотеки Transformers.

Авторы характеризуют модель как раннюю версию и отмечают планы улучшить подбор данных и дообучение, поэтому качество может быть нестабильным в отдельных задачах. Модель распространяется по лицензии Apache-2.0.

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

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

Ограничения

Авторы называют модель ранней версией и планируют улучшать данные и метод дообучения; результаты на отдельных задачах могут быть нестабильными. Приведённые оценки получены на конкретных наборах данных и протоколах, описанных в карточке.

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

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

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

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

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

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

Открыть на Hugging Face

Model Description

The Mistral-7B-Instruct-Uz model has been continually pre-trained and instruction-tuned using a mix of publicly available and syntheticly constructed Uzbek and English data to preserve its original knowledge while enhancing its capabilities. This model is designed to support various natural language processing tasks in Uzbek, such as machine translation, summarization, and dialogue systems, ensuring robust performance across these applications. For details regarding the performance metrics compared to the base model, see this post.

📊 Performance Comparison:

Model NameBLEU Uz-En (One-shot)BLEU En-Uz (One-shot)COMET (Uz-En)COMET (Ez-Un)Uzbek Sentiment AnalysisUzbek News ClassificationMMLU (English) (5-shot)
Llama-3.1 8B Instruct23.746.7284.3082.7068.9655.4165.77
Llama-3.1 8B Instruct Uz27.4211.5885.6386.5382.4260.8462.78
Mistral 7B Instruct7.470.6768.1445.5862.0247.5261.07
Mistral 7B Instruct Uz29.3916.7786.9188.7579.1359.3855.72
Mistral Nemo Instruct25.689.7985.5685.0472.4749.2467.62
Mistral Nemo Instruct Uz30.4915.5287.0488.0182.0558.267.36
Google Translate41.1822.9889.1690.67———

The results show that Uzbek-optimized models consistently outperform their base counterparts in translation benchmarks (BLEU and COMET) on the FLORES+ Uz-En / En-Uz evaluation datasets, sentiment analysis and news classification in Uzbek language. Also, on the MMLU benchmark, which measures general language understanding across multiple tasks in English, the finetuned models did not show significant decline. (The base Llama model’s MMLU score differs from the official score due to our evaluation method. Refer to the links below to see evaluation details.)

Looking ahead, these models are just early versions. We are actively working on further improving our data curation and fine-tuning method to provide even better results in the near future. In addition, we will scale up the dataset size both for continual-pretraining and instruction-tuning, and also customize other strong open-source LLMs for Uzbek language. We’re eager to see how these models will be used by our Uzbek 🇺🇿 community and look forward to continuing this work. 🚀

Installation

It is recommended to use behbudiy/Mistral-7B-Instruct-Uz with mistral-inference. For HF transformers code snippets, please keep scrolling.

pip install mistral_inference

Download

from huggingface_hub import snapshot_download
from pathlib import Path

mistral_models_path = Path.home().joinpath('mistral_models', '7B-Instruct-Uz')
mistral_models_path.mkdir(parents=True, exist_ok=True)

snapshot_download(repo_id="behbudiy/Mistral-7B-Instruct-Uz", allow_patterns=["params.json", "consolidated.safetensors", "tokenizer.model.v3"], local_dir=mistral_models_path)

Chat

After installing mistral_inference, a mistral-chat CLI command should be available in your environment. You can chat with the model using

mistral-chat $HOME/mistral_models/7B-Instruct-Uz --instruct --max_tokens 256

Instructiong Following

from mistral_inference.transformer import Transformer
from mistral_inference.generate import generate

from mistral_common.tokens.tokenizers.mistral import MistralTokenizer
from mistral_common.protocol.instruct.messages import UserMessage
from mistral_common.protocol.instruct.request import ChatCompletionRequest


tokenizer = MistralTokenizer.from_file(f"{mistral_models_path}/tokenizer.model.v3")
model = Transformer.from_folder(mistral_models_path)

completion_request = ChatCompletionRequest(messages=[UserMessage(content="O'zbekiston haqida ma'lumot ber.")])

tokens = tokenizer.encode_chat_completion(completion_request).tokens

out_tokens, _ = generate([tokens], model, max_tokens=64, temperature=0.0, eos_id=tokenizer.instruct_tokenizer.tokenizer.eos_id)
result = tokenizer.instruct_tokenizer.tokenizer.decode(out_tokens[0])

print(result)

Generate with transformers

If you want to use Hugging Face transformers to generate text, you can do something like this.

from transformers import pipeline

messages = [
    {"role": "system", "content": "You are a pirate chatbot who always responds in pirate speak!"},
    {"role": "user", "content": "Who are you?"},
]
chatbot = pipeline("text-generation", model="behbudiy/Mistral-7B-Instruct-Uz", device='cuda')
chatbot(messages)

Information on Evaluation Method

To evaluate on the translation task, we used FLORES+ Uz-En / En-Uz datasets, where we merged the dev and test sets to create a bigger evaluation data for each Uz-En and En-Uz subsets. We used the following prompt to do one-shot Uz-En evaluation both for the base model and Uzbek-optimized model (for En-Uz eval, we changed the positions of the words "English" and "Uzbek").

  prompt = f'''You are a professional Uzbek-English translator. Your task is to accurately translate the given Uzbek text into English.

  Instructions:
  1. Translate the text from Uzbek to English.
  2. Maintain the original meaning and tone.
  3. Use appropriate English grammar and vocabulary.
  4. If you encounter an ambiguous or unfamiliar word, provide the most likely translation based on context.
  5. Output only the English translation, without any additional comments.

  Example:
  Uzbek: "Bugun ob-havo juda yaxshi, quyosh charaqlab turibdi."
  English: "The weather is very nice today, the sun is shining brightly."

  Now, please translate the following Uzbek text into English:
  "{sentence}"
    '''

To assess the model's ability in Uzbek sentiment analysis, we used the risqaliyevds/uzbek-sentiment-analysis dataset, for which we created binary labels (0: Negative, 1: Positive) using GPT-4o API (refer to behbudiy/uzbek-sentiment-analysis dataset). We used the following prompt for the evaluation:

prompt = f'''Given the following text, determine the sentiment as either 'Positive' or 'Negative.' Respond with only the word 'Positive' or 'Negative' without any additional text or explanation.

Text: {text}"
'''

For Uzbek News Classification, we used risqaliyevds/uzbek-zero-shot-classification dataset and asked the model to predict the category of the news using the following prompt:

prompt = f'''Classify the given Uzbek news article into one of the following categories. Provide only the category number as the answer.

Categories:
0 - Politics (Siyosat)
1 - Economy (Iqtisodiyot)
2 - Technology (Texnologiya)
3 - Sports (Sport)
4 - Culture (Madaniyat)
5 - Health (Salomatlik)
6 - Family and Society (Oila va Jamiyat)
7 - Education (Ta'lim)
8 - Ecology (Ekologiya)
9 - Foreign News (Xorijiy Yangiliklar)

Now classify this article:
"{text}"

Answer (number only):"
'''

MMLU

We used this script.

More

For more details and examples, refer to the base model below: https://huggingface.co/mistralai/Mistral-7B-Instruct-v0.3

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

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

GPU в ailist

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

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

Подбираем GPU…

Класс архитектуры
MistralForCausalLM
Ревизия весов
9db2edf

0 моделей