/ Модель

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

Контекст
16 384 токена
Лицензия
Своя лицензия
Архитектура
d1_omni · dense
Базовая модель
LFM2.5-Encoder-350M
Библиотека
transformers
Опубликована
5 окт 2026

d1-omni-600M

Изображение и текст → текст

Мультимодальная модель Liquid AI для классификации, выбора вариантов и оценивания по тексту, изображениям и речи без генерации текста.

10 942скачиваний за 30 дней113лайковвеса обновлены7 окт 2026

Бенчмарки

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

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

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

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

    Вместе с другими моделями категории «Изображение → текст» — сравнение идёт внутри одной категории.

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

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

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

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

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

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

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

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

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

d1-omni-600M — мультимодальная модель принятия решений от Liquid AI, дообученная на базе LFM2.5-Encoder-350M. Она принимает текст или JSON, изображения и аудиоклипы и за один проход отвечает на заданные вопросы: выбирает вариант, выставляет оценку или определяет «да/нет». Ответы извлекаются из распределения вероятностей модели без генерации текста. Модель содержит 587 млн параметров, включая общий вычислительный блок, визуальный энкодер SigLIP2 и 17-слойный аудиоэнкодер FastConformer; общий контекст для текста, изображений и аудио — 16 384 позиции.

Модель предназначена для классификации намерений и тем, маршрутизации запросов и голосовых команд, модерации, извлечения данных, проверки условий, ранжирования и визуального контроля. Она поддерживает английский и ряд других языков, включая русский; аудиовозможности обучались на запросах на английском языке, а аудиоклипы ограничены 30 секундами. Это ранний исследовательский выпуск в активной разработке, не предназначенный для диалоговой генерации свободного текста. Лицензия указана как other; конкретные условия использования следует проверять в карточке модели.

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

  • Классификация намерения пользователя по сообщению
  • Маршрутизация голосовых команд по категориям
  • Модерация текста и оценка наличия нежелательного содержания
  • Извлечение структурированных ответов и проверка условий в документах
  • Выбор категории или выставление оценки по изображению
  • Ранжирование вариантов по заданным критериям

Ограничения

Это ранний выпуск, находящийся в активной разработке; модель не предназначена для чата и не генерирует свободный текст. Аудиообучение ориентировано на запросы на английском языке, а длительность аудиоклипа ограничена 30 секундами.

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

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

Открыть на Hugging Face

d1-omni-600M

d1-omni-600M is a 600M parameter decision model built on LFM2.5-Encoder-350M. You give it a state (text or JSON, with images or a voice clip) and a set of named questions. It returns typed answers with zero output tokens: every answer is read directly from the model's distribution over the options, with no generation and no parsing.

  • Vision-language: text and images (tiled for large frames, several images per state) in a single forward pass.
  • Audio-language: text and up to 30 s of speech in a single forward pass.
  • Edge-sized: 587M parameters: a 381M shared trunk and decision head, a 94M vision encoder and a 112M audio encoder. Every modality runs the same trunk weights.

Find more information about open d1 in our blog post.

image

🗒️ Model Details

ModelParametersDescription
LFM2.5-Encoder-350M350MGeneral-purpose encoder model (base)
d1-omni-600M587MPost-trained for single-pass decisions over text, images and speech
  • Total parameters: 587M
  • Vision encoder: SigLIP2 vision tower from LFM2.5-VL-450M
  • Audio encoder: 17-layer FastConformer
  • Context length: 16,384 tokens (text, image and audio positions together); with images, the state and question text is cut to 896 tokens, as trained
  • Vocabulary size: 65,536

We recommend d1-omni-600M wherever a pipeline needs a yes/no, a pick from named options, or a rating: routing and triage, moderation, intent and topic classification, voice-command routing, extraction checks, reranking, agent guardrails, and visual inspection. It is not a chat model and does not write text.

[!WARNING] ⚠️ Audio capabilities were trained on requests between an English speaker and an assistant. Training tasks include what kind of utterance it is, its topic, and what the speaker wants. Clips are also cut at 30 seconds.

🏃 How to use

Install the dependencies (requires transformers>=5.15):

pip install "transformers>=5.15" torch torchvision pillow soundfile

The model ships its own code, so load it with trust_remote_code=True:

import io
from urllib.request import urlopen

import soundfile as sf
import torch
from transformers import AutoModel
from transformers.image_utils import load_image

device = "cuda" if torch.cuda.is_available() else "mps" if torch.backends.mps.is_available() else "cpu"
dtype = torch.float32 if device == "cpu" else torch.float16
model = AutoModel.from_pretrained("LiquidAI/d1-omni-600M", trust_remote_code=True, dtype=dtype).to(device)

# Text: several named questions over one state, answered in one pass
questions = {
    "refund": {
        "type": "noul",
        "instructions": "Is the customer asking for a refund?",
    },
    "team": {
        "type": "choice",
        "instructions": "Which team should handle this?",
        "criteria": {
            "billing": "Charges, refunds, invoices",
            "technical": "App or site faults",
            "fraud": "Suspected unauthorised use",
        },
    },
    "urgency": {
        "type": "score",
        "instructions": "How urgent is this?",
        "criteria": ["Can wait", "Today", "Blocking the customer now"],
    },
}
print(model.system_one("I was charged twice this month, please refund one of them.", questions))

# Image: the photo is the whole state
image = load_image("http://images.cocodataset.org/val2017/000000039769.jpg")  # two cats on a sofa
cats = {
    "type": "choice",
    "instructions": "How many cats are there?",
    "criteria": {"one": "One", "two": "Two", "more": "Three or more"},
}
print(model.system_one(None, {"cats": cats}, images=[image]))

# Text + audio: one 16 kHz mono clip
url = "https://huggingface.co/datasets/Narsil/asr_dummy/resolve/main/1.flac"
audio, rate = sf.read(io.BytesIO(urlopen(url).read()), dtype="int16")
topic = {
    "type": "choice",
    "instructions": "What is the speaker talking about?",
    "criteria": {"food": "Food and meals", "travel": "Travel and transport", "weather": "The weather"},
}
print(model.system_one("Voice note from a user.", {"topic": topic}, audio=audio))

# Batch: many requests in one call
tickets = ["Where is my parcel? It was due Monday.", "The app crashes when I open settings."]
print(model.system_one_batch([(t, {"team": questions["team"]}) for t in tickets]))
call
system_one(state, questions, images=None, audio=None)Named questions over one state, and its images or its audio clip. The media are encoded once for all questions.
system_one_batch([(state, questions[, images[, audio]]), ...])Many requests, batched together.
probabilities(state, questions, images=None, audio=None)The raw distributions, in option order.

A state is a string, any JSON value, or None when the images or the audio are the whole state. images is a PIL image or a list of them; audio is one 16 kHz mono clip as int16 or float samples. A request carries images or audio, not both: passing both raises a ValueError.

The model was trained in float32. On GPUs, float16 is faster and keeps the float32 answers: on our checks it gave the same top answer on every text (243), image (214) and audio (416) row. Avoid bfloat16, which changed the top answer on 0.8% of text and 1.7% of audio rows.

Questions and answers

Questions follow the Decision Index schema: type, instructions, and criteria.

typecriteriaanswer fields
noul: yes or nooptional: {"true": "...", "false": "..."} to define each sidenoul: P(yes)
choice: one of named options{name: description}choice, confidence, probabilities
score: 2 to 10 ordered levelsa list of level descriptions, lowest firstscore (the expected level), confidence, probabilities, legend

With audio, questions are written the way the audio questions were trained: choice options by their description (option_000: ...), yes/no as plain yes or no. Answers still come back under your option names.

Each call returns {"answers": {name: answer}, "usage": {"input_tokens": n, "output_tokens": 0}}, where input_tokens counts every position the trunk read.

Text answers are calibrated with per-type temperatures stored in config.json; image and audio answers are the model's softmax as trained.

⚡ Speed

We don't report inference numbers for d1-omni-600M as it is an early research release and is under active development.

📊 Performance

Decision Index 0.2.1

We scored d1-omni-600M and d1-3B with the official scorer (not leaderboard submissions). All other rows come from the public leaderboard v0.2.1.

ModelSizeDecision IndexKnowledgeLanguageRetrievalToolsArts
Winnow-12B12B50.0233.856.054.071.030.0
d1-3B3B48.5723.856.452.874.536.3
Decider 35B-A3B36B47.1131.855.554.756.532.6
JPT-9B9.7B46.8931.756.744.667.028.6
Decision 1.0 Lux9.7B43.4930.948.050.057.226.4
JPT-4B4.7B43.0428.752.545.057.225.8
Jet v6.24.7B42.6028.743.948.262.927.0
Decider 4B4.7B40.7025.746.044.758.625.0
Winnow-E4B8.0B39.8922.345.143.862.522.8
Decider 2B2.3B28.9714.932.637.342.414.6
d1-omni-600M587M15.958.312.935.015.16.8

Benchmarks as decisions

Besides the Decision Index, we added a few other internal evaluations based on public benchmarks. HelpSteer2 is left out: it may overlap with d1-omni-600M's training data.

Benchmarkd1-omni-600Md1-3BDecider 4BDecider 2B
SQuAD 2.074.085.376.067.7
Civil Comments95.893.092.893.6
MASSIVE intent86.187.388.381.1
PubMedQA61.366.063.365.7
BoolQ77.786.789.087.3
XNLI74.785.088.685.0
PAWS-X79.576.969.859.5
Mean78.482.981.177.1

d1-omni-600M also scores 76.9 on Fast Decisions (dev split).

📬 Contact

Citation

@article{liquidAI2026opend1,
  author  = {Liquid AI},
  title   = {Open d1: Edge decision models for text, vision, and audio},
  journal = {Liquid AI Blog},
  year    = {2026},
  note    = {https://www.liquid.ai/blog/d1-open},
}
@article{liquidai2025lfm2,
  title   = {LFM2 Technical Report},
  author  = {Liquid AI},
  journal = {arXiv preprint arXiv:2511.23404},
  year    = {2025}
}

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

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

GPU в ailist

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

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

Подбираем GPU…

Класс архитектуры
D1OmniModel
Ревизия весов
02b55d7

0 моделей