/ Модель

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

Контекст
2 048 токенов
Параметры
1,7 млрд
Размер весов
7 ГБ
Лицензия
Apache 2.0
Архитектура
llama · dense
Опубликована
19 фев 2024

cosmo-1b

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

Компактная языковая модель HuggingFaceTB для генерации текста, диалога и учебных задач, обученная преимущественно на синтетическом корпусе Cosmopedia.

847скачиваний за 30 дней135лайковвеса обновлены8 июл 2024

Бенчмарки

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Cosmo-1B — языковая модель HuggingFaceTB примерно на 1,7 млрд параметров, обученная на корпусе Cosmopedia и других текстовых данных. Это плотная авторегрессионная модель семейства Llama для генерации текста; в обучающую смесь также вошли данные UltraChat, материалы по математике и код на Python. Модель обучалась на 180 млрд токенов с длиной последовательности 2048 токенов и использует токенизатор Mistral-7B-v0.1.

Модель подходит для генерации и продолжения текста, простого диалога, ответов на вопросы и учебных примеров по математике и программированию. Она не проходила отдельную настройку на инструкции, поэтому качество следования произвольным запросам может быть ограниченным. По оценке авторов, она превосходит TinyLlama 1.1B на ряде тестов и сопоставима с Qwen-1.5-1B на отдельных наборах, но уступает Phi-1.5. Небольшой размер и значительная доля синтетических данных могут приводить к неполным или ошибочным ответам. Распространяется по лицензии Apache-2.0.

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

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

Ограничения

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

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

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

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

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

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

Открыть на Hugging Face

Model Summary

This is a 1.8B model trained on Cosmopedia synthetic dataset.

Training dataset

The training corpus consisted of 30B tokens, 25B of which are synthetic from Cosmopedia. Since we didn't explore the synthetic generation of code, we augmented the dataset with 5B tokens of non-synthetic sources like the code-python-0.60-to-1.00 and web-0.50-to-1.00 subsets of AutoMathText. We also added 1M files from The Stack's Jupyter Notebooks, converted to script. They tend to have educational code interleaved with text. We also included ultrachat formatted in the chat format of LlaMa models, so we don't have to instruction-tune the model after the pre-training. Additionally, we upsampled twice the data from these seed sources to help with commonsense and reasoning: stories, AutoMathText & KhanAcademy.

We trained for 6 epochs, resulting in a model trained on 180B tokens with a sequence length of 2k, a global batch size of 1.3M tokens and a learning rate of 3e-4 with a cosine schedule for 140k steps. We used the tokenizer from Mistral-7B-v0.1.

How to use

Although the model wasn't instruction-tuned after the pre-training. However, given that included UltraChat in the pre-training , you can use it in a Chat format using:

from transformers import AutoModelForCausalLM, AutoTokenizer

device = "cuda"  # for GPU usage or "cpu" for CPU usage

tokenizer = AutoTokenizer.from_pretrained("HuggingFaceTB/cosmo-1b")
model = AutoModelForCausalLM.from_pretrained("HuggingFaceTB/cosmo-1b").to(device)
prompt = "Generate a story involving a dog, an astronaut and a baker"
prompt= tokenizer.apply_chat_template([{"role": "user", "content": prompt}], tokenize=False)
inputs = tokenizer(prompt, return_tensors="pt").to(device)

output = model.generate(**inputs, max_length=300, do_sample=True, temperature=0.6, top_p=0.95, repetition_penalty=1.2)
print(tokenizer.decode(output[0]))

Output:

<s><s> [INST] Generate a story involving a dog, an astronaut and a baker [/INST] Once upon a time, there was a sweet little terrier named Max who lived in the bustling city of New York. He loved nothing more than chasing after his owner, Dr. Sarah Johnson, as she worked tirelessly on her latest invention - a spaceship that would take humans to distant galaxies!

One day, Dr. Johnson decided it was time for her to leave Earth's atmosphere behind and embark on this exciting adventure with her loyal companion, Max. She knew he had always been fascinated by space travel, so she hoped he would be just as excited about the journey ahead.

As they boarded their rocket ship and blasted off into outer space, Max felt both nervous and thrilled at the same time. His ears perked up every time they passed clouds or saw stars twinkling far out from earth. But as days turned into weeks, Max started feeling homesick. The vast emptiness around him made him feel lonely and isolated.

Meanwhile back on planet Earth, Mr. Baker was busy baking cookies when suddenly, an idea popped into his head. Why not send some treats along with Dr. Johnson's family? It might make them all feel better knowing that someone else was also having fun exploring the universe.

You can also use the model in text completion mode i.e without applying the chat template, but it might not follow isntructions.

from transformers import AutoModelForCausalLM, AutoTokenizer

device = "cuda"  # for GPU usage or "cpu" for CPU usage

tokenizer = AutoTokenizer.from_pretrained("HuggingFaceTB/cosmo-1b")
model = AutoModelForCausalLM.from_pretrained("HuggingFaceTB/cosmo-1b").to(device)
prompt = "Photosynthesis is"

inputs = tokenizer(prompt, return_tensors="pt").to(device)
output = model.generate(**inputs, max_length=300, do_sample=True, temperature=0.6, top_p=0.95, repetition_penalty=1.2)
print(tokenizer.decode(output[0]))

Output:

<s> Photosynthesis is the process by which green plants, algae and some bacteria convert light energy into chemical energy in order to fuel their metabolic processes. The reaction takes place within specialized cells called chloroplasts. This article focuses on the electron transport chain (ETC), a critical part of photosystem II where most of the solar-driven electrons are passed through before being reduced to water.

Evaluation

Below are the evaluation results of Cosmo-1B. The model is better than TinyLlama 1.1B on ARC-easy, ARC-challenge, OpenBookQA and MMLU, and has comparable performance to Qwen-1.5-1B on ARC-challenge and OpenBookQA. However, we notice some perfoamnce gaps compared to Phi-1.5 suggesting a better synthetic generation quality which can be related to the LLM used for generation, topic coverage or prompts.

image/png

Limitations

This is a small 1.8B model trained on synthetic data, so it might hallucinate, give incomplete or incorrect answers.

Training

Model

  • Architecture: Llama-2
  • Pretraining steps: 120k
  • Pretraining tokens: 180B
  • Precision: bfloat16

Hardware

  • GPUs: 160 H100
  • Training time: 15hours

The training loss:

image/png

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

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

GPU в ailist

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

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

Подбираем GPU…

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

0 моделей