/ Модель

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

Контекст
32 768 токенов
Параметры
7,1 млрд
Размер весов
15,4 ГБ
Лицензия
Apache 2.0
Архитектура
qwen2 · dense
Библиотека
transformers
Опубликована
29 фев 2024

firefly-qwen1.5-en-7b

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

Англоязычный чат-ассистент на базе Qwen1.5-7B для ответов на инструкции и ведения диалога.

74скачиваний за 30 дней2лайкавеса обновлены3 мар 2024

Бенчмарки

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Firefly-Qwen1.5-en-7b — англоязычный чат-ассистент, разработанный на базе Qwen1.5-7B и дообученный командой Firefly на инструкциях на английском языке. Это плотная авторегрессионная языковая модель семейства Qwen с 7,1 млрд параметров, предназначенная для диалога и генерации ответов. Модель принимает текст и выдаёт текст; для общения используется шаблон чата Qwen1.5-7B-Chat. Контекстная длина по метаданным — 32 768 токенов.

Карточка сообщает о результатах оценки на Open LLM Leaderboard и описывает обучение с QLoRA на одной V100, но приведённая таблица результатов относится преимущественно к варианту DPO и не подтверждает независимо заявленное сравнение именно этой модели. Китайский язык может работать благодаря возможностям базовой Qwen1.5, однако авторы его не оценивали; основной язык обучения и применения — английский. Модель распространяется по лицензии Apache-2.0.

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

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

Ограничения

Обучение проводилось на английских инструкционных данных; авторы не оценивали качество на китайском языке, а качество для других языков не заявлено. Результаты таблицы в карточке в основном относятся к DPO-варианту, поэтому их нельзя напрямую считать оценкой этой версии.

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

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

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

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

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

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

Открыть на Hugging Face

Model Card for Firefly-Qwen1.5

firefly-qwen1.5-en-7b and firefly-qwen1.5-en-7b-dpo-v0.1 are trained based on Qwen1.5-7B to act as a helpful and harmless AI assistant. We use Firefly to train our models on a single V100 GPU with QLoRA. firefly-qwen1.5-en-7b is fine-tuned based on Qwen1.5-7B with English instruction data, and firefly-qwen1.5-en-7b-dpo-v0.1 is trained with Direct Preference Optimization (DPO) based on firefly-qwen1.5-en-7b.

Our models outperform official Qwen1.5-7B-Chat, Gemma-7B-it, Zephyr-7B-Beta on Open LLM Leaderboard.

Although our models are trained with English data, you can also try to chat with models in Chinese because Qwen1.5 is also good at Chinese. But we have not evaluated the performance in Chinese yet.

We advise you to install transformers>=4.37.0.

Performance

We evaluate our models on Open LLM Leaderboard, they achieve good performance.

ModelAverageARCHellaSwagMMLUTruthfulQAWinograndeGSM8K
firefly-gemma-7b62.9362.1279.7761.5749.4175.4549.28
firefly-qwen1.5-en-7b-dpo-v0.162.3654.3576.0461.2156.472.0654.13
zephyr-7b-beta61.9562.0384.3661.0757.4577.7429.04
firefly-qwen1.5-en-7b61.4453.4175.5161.6751.9670.7255.34
vicuna-13b-v1.555.4157.0881.2456.6751.5174.6611.3
Xwin-LM-13B-V0.155.2962.5482.856.5345.9674.279.63
Qwen1.5-7B-Chat55.1555.8978.5661.6553.5467.7213.57
gemma-7b-it53.5651.4571.9653.5247.2967.9629.19

Usage

The chat templates of our chat models are the same as Official Qwen1.5-7B-Chat:

<|im_start|>system
You are a helpful assistant.<|im_end|>
<|im_start|>user
hello, who are you?<|im_end|>
<|im_start|>assistant
I am a AI program developed by Firefly<|im_end|>

You can use script to inference in Firefly.

You can also use the following code:

from transformers import AutoModelForCausalLM, AutoTokenizer
import torch

model_name_or_path = "YeungNLP/firefly-qwen1.5-en-7b"
model = AutoModelForCausalLM.from_pretrained(
    model_name_or_path,
    trust_remote_code=True,
    low_cpu_mem_usage=True,
    torch_dtype=torch.float16,
    device_map='auto',
)
tokenizer = AutoTokenizer.from_pretrained(model_name_or_path)

prompt = "Compose an engaging travel blog post about a recent trip to Hawaii, highlighting cultural experiences and must-see attractions. "
messages = [
    {"role": "system", "content": "You are a helpful assistant."},
    {"role": "user", "content": prompt}
]
text = tokenizer.apply_chat_template(
    messages,
    tokenize=False,
    add_generation_prompt=True
)
model_inputs = tokenizer([text], return_tensors="pt").to('cuda')

generated_ids = model.generate(
    model_inputs.input_ids,
    max_new_tokens=1500,
    top_p = 0.9,
    temperature = 0.35,
    repetition_penalty = 1.0,
    eos_token_id=tokenizer.encode('<|im_end|>', add_special_tokens=False)
)
generated_ids = [
    output_ids[len(input_ids):] for input_ids, output_ids in zip(model_inputs.input_ids, generated_ids)
]

response = tokenizer.batch_decode(generated_ids, skip_special_tokens=True)[0]
print(response)

Training Details

Both in SFT and DPO stages, We only use a single V100 GPU with QLoRA, and we use Firefly to train our models.

Training Setting

The following hyperparameters are used during SFT:

  • num_epochs: 1
  • learning_rate: 2e-4
  • total_train_batch_size: 32
  • max_seq_length: 2048
  • optimizer: paged_adamw_32bit
  • lr_scheduler_type: constant_with_warmup
  • warmup_steps: 700
  • lora_rank: 64
  • lora_alpha: 16
  • lora_dropout: 0.05
  • gradient_checkpointing: true
  • fp16: true

The following hyperparameters were used during DPO:

  • num_epochs: 1
  • learning_rate: 2e-4
  • total_train_batch_size: 32
  • max_seq_length: 1600
  • max_prompt_length: 500
  • optimizer: paged_adamw_32bit
  • lr_scheduler_type: constant_with_warmup
  • warmup_steps: 200
  • lora_rank: 64
  • lora_alpha: 16
  • lora_dropout: 0.05
  • gradient_checkpointing: true
  • fp16: true

Training metrics

Training Rewards/margins in DPO:

Training Rewards/accuracies in DPO:

Training loss in DPO:

The table below shows the full set of DPO training metrics:

EpochStepLossRewards/accuraciesRewards/marginsRewards/chosenRewards/rejectedLogits/chosenLogits/rejectedLogps/chosenLogps/rejected
0.051000.62310.65870.31790.0404-0.27741.16941.2377-284.5586-255.4863
0.12000.59450.68940.5988-0.1704-0.76931.0121.0283-284.3049-268.1887
0.163000.57540.69810.8314-0.282-1.11330.89120.8956-283.6926-270.3117
0.214000.57020.71940.9369-0.1944-1.13130.72550.7557-291.2833-273.9706
0.265000.59130.6950.8784-0.4524-1.33090.54910.5535-289.5705-271.754
0.316000.57430.69941.0192-0.4505-1.46980.64460.6399-296.5292-277.824
0.377000.58760.72191.0471-0.6998-1.7470.49550.4329-303.7684-289.0117
0.428000.58310.7151.0485-0.8185-1.86710.55890.4804-295.6313-288.0656
0.479000.56740.71191.1854-1.2085-2.39390.34670.2249-302.3643-286.2816
0.5210000.57940.71381.1458-0.8423-1.98810.51160.4248-299.3136-287.3934
0.5811000.57180.71941.2897-1.4944-2.78410.63920.5739-316.6829-294.1148
0.6312000.57180.72751.2459-1.7543-3.00020.49990.4065-316.7873-297.8514
0.6813000.57890.721.3379-1.8485-3.18640.42890.3172-314.8326-296.8319
0.7314000.54620.74251.4074-1.9865-3.39390.36450.2333-309.4503-294.3931
0.7915000.58290.71561.2582-2.1183-3.37660.41930.2796-307.5281-292.0817
0.8416000.55750.73751.471-2.1429-3.61390.65470.5152-310.9912-298.899
0.8917000.56380.7451.5433-2.991-4.53430.73360.6782-328.2657-307.5182
0.9418000.55590.71811.4484-2.8818-4.33020.79970.8327-316.2716-295.1836
0.9919000.56270.73871.5378-2.7941-4.3320.85730.858-324.9405-310.1192

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

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

GPU в ailist

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

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

Подбираем GPU…

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

0 моделей