/ Модель

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

Параметры
9,1 млрд
Размер весов
28,3 ГБ
Лицензия
BigScience BLOOM RAIL 1.0
Архитектура
bloom · dense
Библиотека
transformers
Опубликована
11 сен 2023

bloomz-7b1-mt-sft-chat

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

Чат-ориентированная донастройка BLOOMZ на французском и английском языках для диалоговой генерации текста и дальнейшей адаптации.

145скачиваний за 30 дней16лайковвеса обновлены23 сен 2023

Бенчмарки

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

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

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

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

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

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

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

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

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

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

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

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

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

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

cmarkea разработала bloomz-7b1-mt-sft-chat как чат-ориентированную донастройку языковой модели bigscience/bloomz-7b1-mt. Модель построена на плотной архитектуре BLOOM с причинным языковым моделированием; в репозитории указано 9,1 млрд параметров. Веса представлены в форматах PyTorch и safetensors, тип данных преобразован с float16 на bfloat16.

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

В README заявлены эффективность токенизации для французского языка и целевая работа на стандартной промышленной инфраструктуре, но также отмечена скорость около 8 токенов в секунду на указанной конфигурации из четырёх A100 40 ГБ. Лицензия BigScience BLOOM RAIL 1.0 допускает промышленное использование на её условиях.

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

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

Ограничения

Авторы предупреждают, что качество на языках помимо французского и английского не гарантируется и мультиязычные возможности исходной модели могли снизиться после преобразования float16 в bfloat16. Указанная скорость генерации составляет около 8 токенов в секунду на конфигурации из четырёх A100 40 ГБ.

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

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

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

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

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

Открыть на Hugging Face

bloomz-7b1-mt-sft-chat

We introduce the bloomz-7b1-mt-sft-chat model, which is a fine-tuning of a Large Language Model (LLM) bigscience/bloomz-7b1-mt. This model is notable for being pre-trained for a chatbot context and undergoing a transposition from float16 to bfloat16. Therefore, this model serves as a solid starting point for fine-tuning towards other more specific tasks.

The model was trained equally on both French and English data, ensuring maximum efficiency for these two languages (and their interactions). Due to the transition from float16 to bfloat16, we do not guarantee the preservation of the original model's multilingual capabilities. However, fine-tuning can restore reasonable performance on other languages.

The objective is to pre-train all three models (Bloomz-{560m, 3b, 7b1-mt}-sft-chat) to ensure high-performing, energy-efficient, and fast "foundation" models for inference on "realistic" infrastructures suitable for a business with standard industrial capabilities.

Bloomz, through its license, enables free and flexible industrial use. Its tokenizer has been designed with true multi-lingual context in mind, with a significantly lower token generation per word compared to other LLM models. This capability not only leads to improved performance but also enhanced efficiency during inference by making fewer model calls when generating text with shorter contexts. Here is a table illustrating our points using French as an example, where we tokenized Marcel Proust's longest sentence (823 words):

Sans honneur que précaire, sans liberté que provisoire, [...], et de façon qu’à eux-mêmes il ne leur paraisse pas un vice. 
modelGPT 3.5BorisFlan-T5LLaMADollyMPTFalconBloomz
tokens per word2.32.321.91.91.91.81.4

For comparison, with a specialized French tokenizer like CamemBERT or DistilCamemBERT, we have 1.5 tokens per word. In addition to its positive impact on inference time and resource consumption, there has already been shown that there is a direct relationship between the number of tokens per word required for modeling and the predictive performance of the model.

Dataset

After analyzing a substantial set of modelings, we have observed that the most effective pre-training for zero-shot use cases is pre-training for chatbot contexts. This study was conducted internally, focusing specifically on the French context. As a result, we trained the model on a dataset comprising 0.9 billion tokens. This dataset consists of interactions between an individual and a third party. To balance the French and English data, we utilized the Google Translate API.

Training

Here is the table summarizing the architecture used for training, along with the training time and average inference speed per token on the target architecture in tokens per second:

modelArchitectureTraining time (h)Inference speed (tokens per second)
bloomz-560m-sft-chat1 x A100 40GB4129
bloomz-3b-sft-chat1 x A100 40GB14013
bloomz-7b1-mt-sft-chat4 x A100 40GB2688
HyperparameterValue
label smoothing0.05
optimizerAdamW
betas0.9, 0.999
learning rate5e-6
anneal strategycos
div factor100
final div factor0.1
batch size2
gradient accumulation200
max length2048

Experimentations

Since the model is trained only on English and French corpora, the performance of the model cannot be guaranteed in other languages. This degradation in performance in other languages is also due to the change in the model's data type from float16 to bfloat16. The conversation example below illustrates this point:

FrenchEnglishSpanish
human: C'est quoi la première guerre mondiale ?bot: La Première Guerre mondiale a eu lieu entre 1914 et 1918. C'était une guerre entre les puissances européennes, principalement la France, l'Allemagne et la Grande-Bretagne.human: Y a-t-il eu également d’autres pays impliqués ?bot: Oui, il y avait également des pays comme l'Italie, les États-Unis, la Russie et la Turquie.human: Comment cela s'est-il fini et quels ont été ses impacts ?bot: La Première Guerre mondiale s'est terminée par un accord de paix appelé le Traité de Versailles. Il a mis fin à la guerre et a établi un nouvel ordre mondial.human: Combien y a-t-il eu de mort ?bot: Il y a eu environ 10 millions de morts, principalement des soldats.human: Et combien de mort civile ?bot: Il y a eu environ 5 millions de morts civils, principalement des civils.human: Tu es certain de ce chiffre, ça me parait peu...bot: Je suis sûr de ce chiffre.human: What is the first world war?bot: The first world war was a war that took place between 1914 and 1918.human: Which countries participated in this war?bot: he countries that participated in the first world war were the United Kingdom, France, Belgium, the Netherlands, Italy, Austria-Hungary, Serbia, Montenegro, Bulgaria, Greece, Romania, Albania, and the Ottoman Empire.human: How did it end and what were its impacts?bot: The first world war ended with the Treaty of Versailles, which was signed on 28 June 1919. The Treaty of Versailles was a peace treaty that ended the war and established the international system that we know today.human: How many deaths?bot: The first world war resulted in approximately 50 million deaths, with approximately 30 million of those deaths occurring in the European Theater.human: That seems a bit much to me, are you sure of these numbers?bot: Yes, I am.human: ¿Qué es la Primera Guerra Mundial?bot: La Primera Guerra Mundial fue un conflicto bélico que ocurrió entre 1914 y 1918.human: ¿En qué países participamos?bot: La Primera Guerra Mundial involucró a muchos países, incluidos Alemania, Austria-Hungría, Bélgica, Bulgaria, Checoslovaquia, Francia, Gran Bretaña, Italia, Japón, Luxemburgo, Noruega, los Países Bajos, Portugal, Serbia, España, Turquía y Estados Unidos.human: ¿Cuántas muertes?bot: La Primera Guerra Mundial dejó más de 10 millones de muertes.human: ¿Y cuántas muertes de civiles?bot: La Primera Guerra Mundial dejó más de 5 millones de muertes de civiles.human: ¿Estás seguro? Eso no me parece mucho.bot: No, no estoy seguro.

Evaluating the performance of generative models can be challenging, and quantitative measures may not always provide the most relevant insights for this type of approach. In this regard, we conducted a qualitative performance study. It involves assessing the relevance of model responses to a pool of French questions using blind evaluation. The metric used for evaluation is the average of two criteria: response accuracy and completeness, similar to what the SSA metric aims to capture. Please note that this measure lacks rigorous scientific validity due to the limited number of questions in the test dataset and the fact that it involves only a few individuals with similar socio-demographic characteristics. The prompts take the same format for all models:

[Instruction]
Question : [Question]
Réponse : 

As a result, the prompts do not exploit the structures of chatbot models to ensure fairness, and the evaluation quantifies performance in a purely instruction-based approach. The figure below illustrates the results. The higher a model is positioned in the top-left corner with a small circle radius, the better the model; conversely, if a model is towards the bottom-right with a large circle, it performs less favorably. constellation We observe that across all models, the performance gain is logarithmic in relation to the increase in model parameters. However, for models that undergo multiple pre-trainings (vanilla, instruction, and chat), models pre-trained on instruction and chat perform significantly better in zero-shot contexts, with a notable improvement for chat-based approaches. The models we have trained demonstrate promising efficiency in this test compared to the number of parameters, indicating cost-effectiveness in a production context.

How to use bloomz-7b1-mt-sft-chat

There are no specific instructions for using these models in a normal causal inference context. However, to leverage the chatbot capability of the model, an individual's prompt should be preceded by the EOS token (</s>), and the generated part should be preceded by the BOS token (<s>). The structure takes the following form:

</s>[human prompt 1]<s>[bot answer 1]</s>[human prompt 2]<s>

For example, to load the model using the HuggingFace pipeline interface:

from transformers import pipeline

model = pipeline("text-generation", "cmarkea/bloomz-7b1-mt-sft-chat")
result = model("</s>C'est quoi le deep learning ?<s>", max_new_tokens=512)

result
[{'generated_text': "</s>C'est quoi le deep learning ?<s>Le deep learning
   est un type de machine learning qui utilise des réseaux de neurones
   artificiels pour apprendre à partir de données. Il est utilisé dans de
   nombreux domaines, notamment la reconnaissance d'images, la
   reconnaissance vocale, la traduction automatique et la reconnaissance
   de l'écriture."}]

Citation

@online{DeBloomzChat,
  AUTHOR = {Cyrile Delestre},
  URL = {https://huggingface.co/cmarkea/bloomz-7b1-mt-sft-chat},
  YEAR = {2023},
  KEYWORDS = {NLP ; Transformers ; LLM ; Bloomz},
}

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

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

GPU в ailist

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

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

Подбираем GPU…

Класс архитектуры
BloomForCausalLM
Ревизия весов
8c2dc30

0 моделей