/ Модель

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

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

DreamOn-v0-7B

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

Плотная языковая модель Dream на 7,1 млрд параметров использует дискретную диффузию для гибкого дополнения пропусков в коде и генерации текста.

169скачиваний за 30 дней21лайквеса обновлены15 июл 2025

Бенчмарки

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

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

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

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

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

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

DreamOn-v0-7B — языковая модель Dream-org на архитектуре Dream, построенная как плотная модель на 7,1 млрд параметров. Она использует дискретную диффузию для генерации текста и предназначена прежде всего для дополнения пропусков в коде: во время вывода модель динамически расширяет или сокращает маскируемые области, позволяя управлять длиной результата без заранее заданного размера холста.

Модель принимает токены и генерирует текст; в карточке также заявлены диалоговый режим и интерфейс для вызова инструментов. README указывает ограничение контекста в 2048 токенов, включая вход и выход, и отмечает, что число новых токенов должно быть не меньше числа масок в запросе. Основные проверки проводились с одним переносимым токеном на шаг; другие настройки этого параметра проверены не полностью. Модель распространяется под лицензией Apache-2.0.

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

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

Ограничения

README указывает контекст в 2048 токенов, включая вход и выход; маски в запросе учитываются как новые токены, поэтому max_new_tokens не должен быть меньше их числа. Настройки, генерирующие более одного токена на шаг денойзинга, проверены не полностью; attention mask не поддерживается.

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

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

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

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

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

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

Открыть на Hugging Face

DreamOn-v0-7B

DreamOn is a novel discrete diffusion algorithm designed to address the variable-length generation challenge in code infilling. Unlike current discrete diffusion language models, our approach enables dynamic expansion and contraction of mask tokens during inference, providing flexible length control without requiring predetermined canvas sizes.

Blog: https://hkunlp.github.io/blog/2025/dreamon/

Github: https://github.com/DreamLM/DreamOn

Quick Start

import torch
import time
from transformers import AutoModel, AutoTokenizer

def process_infilling_prompt(prefix, suffix, tokenizer, number_of_mask):
    prefix = [tokenizer.bos_token_id] + tokenizer.encode(prefix, add_special_tokens=False)
    middle = [tokenizer.mask_token_id] * number_of_mask
    suffix = tokenizer.encode(suffix, add_special_tokens=False) + [tokenizer.eos_token_id]
    return prefix + middle + suffix

prefix = '''from typing import List
def has_close_elements(numbers: List[float], threshold: float) -> bool:
    """ Check if in given list of numbers, are any two numbers closer to each other than
    given threshold.
    >>> has_close_elements([1.0, 2.0, 3.0], 0.5)
    False
    >>> has_close_elements([1.0, 2.8, 3.0, 4.0, 5.0, 2.0], 0.3)
    True
    """
'''

suffix = '''        for idx2, elem2 in enumerate(numbers):
        if idx != idx2:
            distance = abs(elem - elem2)
            if distance < threshold:
                return True

return False
'''
model_path = 'Dream-org/DreamOn-v0-7B'
tokenizer = AutoTokenizer.from_pretrained(model_path, trust_remote_code=True)

## Set the initial mask token length when processing the prompt
input_ids = process_infilling_prompt(prefix, suffix, tokenizer, 4)
input_ids = torch.LongTensor([input_ids]).to("cuda")

model = AutoModel.from_pretrained(model_path, torch_dtype=torch.bfloat16, trust_remote_code=True)
model = model.to("cuda").eval()


output = model.diffusion_generate(
    input_ids,
    temperature=0.2,
    alg = 'entropy',
    alg_temp = 0,
    top_p = 0.9,
    max_new_tokens = 64, ## Set the maximum number of new tokens for infilling
    return_dict_in_generate = True,
    output_history = True,
    number_transfer_tokens = 1
)


history = output.history
for i, h in enumerate(history):
    print(f"########################")
    time.sleep(0.2)
    print(tokenizer.decode(h.tolist()), end="\n\n")

Parameters

  • input_ids: The input token ids.
  • max_new_tokens: The maximum tokens to generate. Note that the context length (input+output) of Dream currently is 2048. And the mask added to the prompt is counted as new tokens. Therefore, max_new_tokens can not be set to a value smaller than the number of mask tokens in the prompt. For example, if you set number_of_mask to 4, then max_new_tokens should be at least 4.
  • output_history: Whether to return the output at each intermediate step.
  • return_dict_in_generate: The output format, mostly set to True.
  • number_of_transfer_tokens: The number of tokens to predict at each denoising step. We mainly test our model with number_of_transfer_tokens set to 1. Other settings are not fully tested.
  • temperature: The value used to module the next token probabilities. By default 0.0. The smaller the value, the more accurate the results (e.g., in math or coding). The larger the value, the more diverse the results (e.g., in general conversation). If you notice repeated results, you might consider increasing the temperature.
  • top_p: If set to float < 1, only the smallest set of most probable tokens with probabilities that add up to top_p or higher are kept for generation. By default None. Control the diversity of generation.
  • top_k: The number of highest probability vocabulary tokens to keep for top-k-filtering. By default None. Control the diversity of generation.
  • alg: The remasking strategy in diffusion sampling, controlling the token generation order. Support one random strategy and three confidence-based strategies:
  • alg_temp: Add some randomness to alg when using confidence-based strategies. By default None.

Note: We currently do not support attention mask, as we recompute attention mask each denoising step to support variable-length generation.

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

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

GPU в ailist

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

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

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

Класс архитектуры
DreamModel
Ревизия весов
57e0e41

0 моделей