/ Модель

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

Контекст
4 096 токенов
Параметры
7 млрд
Размер весов
15 ГБ
Лицензия
MIT
Архитектура
baichuan · dense
Опубликована
21 фев 2024

selfrag-zh_baichuan2_7b_chat

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

Китайская 7-миллиардная модель Self-RAG на базе Baichuan2-7B-Chat для генерации ответов с опорой на текстовые фрагменты и саморефлексией.

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

Бенчмарки

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

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

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

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

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

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

Aman/selfrag-zh_baichuan2_7b_chat — китайская версия Self-RAG, разработанная на базе Baichuan2-7B-Chat. Модель дообучена на примере данных Belle SFT с чередованием фрагментов из китайской Википедии. Она генерирует текст и предназначена для ответов с опорой на предоставленные отрывки, используя токены саморефлексии Self-RAG, согласованные с оригинальной англоязычной версией.

Модель имеет плотную архитектуру BaichuanForCausalLM и 7 млрд параметров, работает с текстом и поддерживает контекст до 4096 токенов. Основной язык версии — китайский. Лицензия — MIT. Автор отмечает, что качество критической модели ограничено из-за объёма и качества обучающих данных; при генерации через vLLM наблюдались ошибки, поэтому использовался стандартный метод генерации Transformers.

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

  • ответы на вопросы по предоставленным фрагментам китайской Википедии
  • генерация китайских ответов с использованием контекста из документов
  • эксперименты с подходом Self-RAG и токенами саморефлексии

Ограничения

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

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

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

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

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

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

Открыть на Hugging Face

This model is a 7B Chinese version of Self-RAG.

It is trained on Baichuan2-7B-Chat with a sample of belle sft data, acompanying with interleaving passages from zhwiki. The reflection tokens are aligned with the original verison (in English), so the usage is the same. Hope you enjoy.

Data

The data used to train the model is also available (FINAL_OUTPUT_4w.jsonl), which is constructed using Belle SFT data and Wikipedia Chinese docs.

Usage

The Critic Model

The critic model is released at the critic/ folder. However, due to the quantity and quality of the critic data, there is still a distance from a perfect performance.

The Generator

I found some output errors while adopting vllm to accelerate the generation process and not sure whether it is due to some precision issues. This may be owing to the implementation of vllm. Thus, I use the original generate method of transformers.

import os, torch
from transformers import AutoModelForCausalLM, AutoTokenizer

tokenizer = AutoTokenizer.from_pretrained(YOUR_TOKENIZER_PATH)
model = AutoModelForCausalLM.from_pretrained(
        YOUR_MODEL_PATH,
        torch_dtype=torch.bfloat16,
        device_map="cuda",
    )

### set your retriever if necessary
retriever = setup_retriever(YOUR_RETRIEVER_PATH)


def format_prompt(input, paragraph=None):
    prompt = "### Instruction:\n{0}\n\n### Response:".format(input)
    if paragraph is not None:
        prompt += "[Retrieval]<paragraph>{0}</paragraph>".format(paragraph)
    return prompt


while True:
    query = input("[Human]: ")
    prompt = format_prompt(query)
    sequences = model.generate(
        **tokenizer(prompt, return_tensors='pt').to(model.device),
        do_sample=False,
        num_beams=5,
        # top_k=10,
        # top_p=0.8,
        temperature=0.9,
        num_return_sequences=1,
        eos_token_id=tokenizer.eos_token_id,
        max_new_tokens=1024,
        min_new_tokens=1,
        repetition_penalty=1.5,
    )
    for seq in sequences:
        print(f"[Model]: {tokenizer.decode(seq, skip_special_tokens=False)}")
        print("-"*50)
    print("="*50)

# query_1 = "你好呀"
# Model prediction: [No Retrieval] 你好!有什么我可以帮你解答的问题吗? [Utility:5] </s>
# query_2 = "故宫三大殿是哪些?"
# Model prediction: [Retrieval] <paragraph> ... (this query requires factual grounding, call a retriever) </paragraph> [Relevant] 太和殿、中和殿、保和殿 [Utility:5] </s>

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

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

GPU в ailist

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

Нельзя запустить

Модели нужен код из репозитория; автор пока не в списке доверенных организаций.

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

0 моделей