/ Модель

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

Контекст
1 536 токенов
Лицензия
Apache 2.0
Архитектура
gpt2 · dense
Базовая модель
Bormokrut
Библиотека
transformers
Опубликована
29 сен 2026

Bormolom

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

Русскоязычная GPT-2-модель для разбиения сложных запросов на подвопросы, декомпозиции и планирования структуры ответа.

420скачиваний за 30 дней0лайковвеса обновлены29 сен 2026

Бенчмарки

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Bormolom — малая русскоязычная языковая модель на архитектуре GPT-2, созданная автором Vladniag путём SFT-дообучения Vladniag/Bormokrut с помощью TRL. Она предназначена для предварительной обработки сложных запросов перед созданием основного ответа: разделяет запрос на подвопросы, выделяет сущности и аспекты, строит цепочки исследовательских подзадач с ролями экспертов и формирует пошаговый план ответа со структурой блоков.

Модель принимает текст и генерирует текст. Она обучена работать по шаблонам задач split, decompose и plan; контекст составляет 1536 токенов. Репозиторий содержит веса в формате safetensors, лицензия — Apache-2.0. Модель полезна как узкий компонент конвейера планирования и декомпозиции запросов, но не рассчитана на роль универсального чат-ассистента. Качество зависит от корректности заданных списков экспертов и типов блоков; модель обучалась на русском языке, поэтому генерация на других языках может быть нестабильной.

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

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

Ограничения

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

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

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

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

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

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

Открыть на Hugging Face

Bormolom

Bormolom — малая языковая модель на базе GPT-2, полученная путём SFT-дообучения модели Vladniag/Bormokrut с помощью библиотеки TRL. Модель обучена выполнять три взаимосвязанные задачи:

  1. split — разбиение сложного пользовательского запроса на отдельные подвопросы.
  2. decompose — декомпозиция вопроса на сущности, аспекты и цепочку исследовательских подзадач с указанием ролей экспертов.
  3. plan — построение пошагового плана ответа с типами блоков (definition, argument_pro, warning, conclusion и др.) и структурой.

Модель ориентирована на сценарии предварительной обработки сложных запросов: разбор, декомпозиция и планирование ответа перед генерацией основного текста.

Быстрый старт

import torch
from transformers import AutoModelForCausalLM, AutoTokenizer, TextIteratorStreamer, StoppingCriteria, StoppingCriteriaList
from threading import Thread

checkpoint_path = "Vladniag/Bormolom"  # укажите свой репозиторий

model = AutoModelForCausalLM.from_pretrained(
    checkpoint_path,
    device_map="auto",
    torch_dtype=torch.float16
)
tokenizer = AutoTokenizer.from_pretrained(checkpoint_path, use_fast=True)
if tokenizer.pad_token is None:
    tokenizer.pad_token = tokenizer.eos_token

class StopOnTokens(StoppingCriteria):
    def __init__(self, stop_token_ids_list):
        self.stop_token_ids_list = stop_token_ids_list
    def __call__(self, input_ids, scores, **kwargs):
        for stop_ids in self.stop_token_ids_list:
            if len(input_ids[0]) >= len(stop_ids):
                if input_ids[0][-len(stop_ids):].tolist() == stop_ids:
                    return True
        return False

stop_words = ["</result>"]
stop_ids_list = [tokenizer.encode(w, add_special_tokens=False) for w in stop_words]
stopping_criteria = StoppingCriteriaList([StopOnTokens(stop_ids_list)])

def generate_response(prompt: str, max_new_tokens: int = 512) -> str:
    processed = "▁" + prompt.lstrip().replace(" ", "▁").replace("\n", "<newline>")
    inputs = tokenizer(processed, return_tensors="pt", add_special_tokens=False).to(model.device)
    streamer = TextIteratorStreamer(tokenizer, skip_prompt=True, skip_special_tokens=False)
    kwargs = dict(
        inputs,
        streamer=streamer,
        max_new_tokens=max_new_tokens,
        do_sample=True,
        temperature=0.3,
        top_p=0.5,
        repetition_penalty=1.3,
        pad_token_id=tokenizer.pad_token_id,
        eos_token_id=tokenizer.eos_token_id,
        stopping_criteria=stopping_criteria,
    )
    thread = Thread(target=model.generate, kwargs=kwargs)
    thread.start()
    full = ""
    for chunk in streamer:
        decoded = chunk.replace("▁", " ").replace("<newline>", "\n").replace("\\n", "\n")
        if "</result>" in decoded:
            full += decoded.split("</result>")[0]
            break
        full += decoded
    return full

Форматы входных промптов

Модель обучена на строгих шаблонах. Промпт всегда начинается с тега задачи, затем следует fragment с входным текстом, и открывается тег result.

  1. Задача split Промпт:
<instruction>split</instruction>
<fragment>
Я разрабатываю курс для студентов педагогического вуза по цифровой дидактике и хочу построить модуль, посвящённый проектированию уроков на основе смешанного обучения. Помогите разобраться: каковы ключевые принципы blended learning, как выбрать подходящую модель (ротация станций, flipped classroom, гибкая модель и др.), какие цифровые инструменты эффективно интегрируются на каждом этапе урока, и как оценить результативность такого урока с помощью формирующего и суммативного оценивания.
</fragment>
<result>

Пример вывода:

 S1: Как выбрать подходящую модель — ротацию станций или flipped classroom?
 S2: Какие цифровые инструменты эффективно интегрировать на каждом этапе урока, чтобы оценить результативность урока?
  1. Задача decompose Промпт:
<instruction>decompose</instruction><fragment>
<subject><newline>experts: историк; философ; социолог; культуролог; этнограф; антрополог; востоковед; конфликтолог; религиовед; литературовед; гуманитарий_общий; физик; химик; биолог; географ; геолог; эколог; ученый_общий; астроном; математик; врач; психолог; нейробиолог; инженер; строитель; энергетик; технолог; архитектор; материаловед; программист; аналитик_данных; специалист_по_иб; системный_администратор; архитектор_по; экономист; менеджер; маркетолог; логист; бухгалтер; юрист; политолог; военный; педагог; методист; искусствовед; музыкант; художник; дизайнер; режиссер; филолог; журналист; спортсмен; тренер; турист; кулинар; агроном; ветеринар; смежник<newline></subject>
Каков социокультурный и гастрономический потенциал региона плато Лаго-Наки через призму его историко-архитектурного наследия и аутентичных кулинарных традиций?
</fragment>
<result>

Пример вывода:

 Reason: Для ответа на вопрос необходимо изучить историю возникновения и развития плато Лаго-Наки, включая его архитектуру, культурные особенности и традиции, а также оценить его вклад в развитие туризма и гастрономического образа региона. Важно учесть влияние этих факторов на формирование уникального культурного ландшафта плато Лаго-Наки.

 Entity: плато Лаго-Наки
 Aspects: социокультурное и гастрономическое потенциал; историко-архитектурное наследие; аутентичные кулинарные традиции

 Q1: история возникновения и развития плато Лаго-Наки
 R: историк
 D: none
 Q2: археологические находки и их значение для понимания истории плато
 R: историк
 D: Q1
 Q3: эстетические и культурные особенности местности
 R: искусствовед
 D: Q1
 Q4: влияние исторических событий на современную культуру и гастрономическую жизнь
 R: историк; искусствовед
 D: Q1, Q2
 Q5: как историко-архитектурная среда влияет на современные кухни и традиционные блюда
 R: историк; экономист
 D: Q1, Q2, Q3
 Q6: общий социокультурный и гастрономический потенциал плато Лаго-Наки
 R: историк; экономист
 D: Q1, Q2, Q3, Q4, Q5

 Merge: synthesis

3. Задача plan Промпт:

<instruction>plan</instruction><fragment>
<subject><newline>block_types: application, argument_con, argument_pro, clarification, comparison, conclusion, definition, example, history, mechanism, summary, warning<newline>structures: argumentative, causal, clarification, comparative, descriptive, explanatory, narrative, procedural<newline></subject>
Какова цель и в чем заключается суть инициативы «Открытая кремниевая фотоника для ИИ-систем», запущенной компанией Lightmatter совместно с партнерами?
</fragment>
<result>

Пример вывода:

Reason: Необходимо структурировать информацию о цели и сути инициативы, учитывая её взаимосвязь с другими компаниями.
Step1: Определить цель инициативы «Открытая кремниевая фотоника для ИИ-систем»
Type1: definition
Depends1: none
Step2: Аргументировать значимость проекта для развития ИИ-систем
Type2: argument_pro
Depends2: Step1
Step3: Указать на потенциальные риски и ограничения при реализации проекта
Type3: warning
Depends3: Step2
Step4: Сделать вывод о влиянии инициативы на развитие ИИ-систем
Type4: conclusion
Depends4: Step3
Structure: argumentative

Обучение

Модель дообучена методом Supervised Fine-Tuning (SFT) с использованием SFTTrainer из библиотеки TRL. Базовая модель — Vladniag/Bormokrut. Данные для обучения включали 578714 размеченных примера трёх задач с целевыми ответами в формате, показанном выше.

Ограничения

Модель малая и предназначена для узких задач предобработки; она не является универсальным чат-ассистентом.

Качество декомпозиции и планирования зависит от корректности списка экспертов и типов блоков, переданных в <subject>.

Модель обучена на русскоязычных данных; генерация на других языках может быть нестабильной.

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

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

GPU в ailist

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

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

Подбираем GPU…

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

0 моделей