Model reference · open weights

keural-vision-encoder-mid

Embeddings mkd-ai Image embed 1 build Its own licence terms 2k dl/mo

keural-vision-encoder-mid is an open-weight embedding model from mkd-ai. keural-vision-encoder-mid (FP32) weighs 376 MB; the smallest configuration that runs it is RTX 3060 12 GB.

For self-hosting, compare this build's requirements below with the GPU you plan to rent.

  • Keural-vision-encoder-mid is an image feature extraction model developed by mkd-ai that uses adaptive tokenization and hierarchical concept tokens.
  • It has 184M parameters, supports English, and is released under an other licence.

Summary of the mkd-ai/keural-vision-encoder-mid model card, 2026-11-06

What it is

Released bymkd-ai
Released2026-10-28
Parameters184M
VRAM376 MB for the weights

What it runs on

Memory and cards for keural-vision-encoder-mid (FP32)

376 MBweights, file size
1.1 GBruntime overhead
CardRunsMemory
RTX 3060 12 GBfits11.6 GB
RTX 4060 Ti 16 GBfits15.4 GB
RTX 3090 24 GBfits23.4 GB
RTX 4090 24 GBfits23.4 GB
RTX 5090 32 GBfits31.0 GB
L40S 48 GBfits44.0 GB
A100 80 GBfits78.2 GB
H100 80 GBfits78.1 GB
RTX PRO 6000 Blackwell 96 GBfits93.8 GB
DGX Spark (GB10) 128 GB unifiedfits107 GB
H200 141 GBfits138 GB
B200 180 GBfits176 GB

From the model card

What mkd-ai says about keural-vision-encoder-mid

Read the model card

A 183.5M-parameter image encoder built from scratch — adaptive tokenization, hierarchical concept tokens, and continuous 2D positional encoding. Not a CLIP/ViT fine-tune.

Developed by MKD Co., Ltd. · Code: github.com/mkd-hika/Keural-Vision-Encoder-Mid-level


At a Glance

Parameters183,575,297 (183.6M)
InputRGB image, 384×384 (any multiple of 16 supported natively)
Output512 adaptive tokens (768-dim) + one pooled 768-dim image embedding
TrainedFrom random init on ~20M image–text pairs, 18,000 steps, 2× H200
Precisionbfloat16
BenchmarkResult
ImageNet zero-shot Top-1 / Top-537.2% / 66.8%
Flickr30K Image→Text R@1 / R@5 / R@1042.9% / 72.7% / 80.6%
Flickr30K Text→Image R@1 / R@5 / R@1042.2% / 70.0% / 79.4%
CIFAR-100 linear probe75.0%

Measured at 384×384 with token_budget=512, matching training. Accuracy trails same-size peers — see Limitations and Evaluation for why, and for the higher-k retrieval results where the gap closes.


Downstream Results — Vision-Language Model

The encoder is frozen and used as-is inside a bilingual (English + Korean) vision-language model: mkd-hika/keural-mid-vlm-bilingual. Only a projector (8.9M) and LoRA adapters (5.0M) are trained on top; the decoder is Qwen2.5-7B-Instruct.

A vision-language model can score respectably while barely using the image, because many questions are answerable from language priors alone. Each benchmark below is therefore run twice — once normally, once with the visual tokens removed and everything else held constant. The difference is what this encoder contributes, and it is the only figure the language model cannot produce on its own.

BenchmarkWith this encoderBlindEncoder contributes
POPE accuracy (n=2,000)70.50%44.55%+25.95
POPE F1 (n=2,000)70.59%23.46%+47.13
VQAv2 strict (n=5,000)53.04%39.83%+13.21
MME total, 14 categories (n=2,374)1258.9812.0+446.9
MMBench (n=4,377)60.20%——
Held-out perplexity (KO / EN)2.15 / 2.99——

The POPE yes-ratio is 0.492 against a gold ratio of 0.500, so the model genuinely discriminates on object-existence questions rather than defaulting to one answer — accuracy alone is not interpretable without that check. The blind VQAv2 score of 39.83% lands where language-prior performance is expected to, which is corroborating evidence that the measurement is sound.

Notably, the encoder reaches these numbers while scoring 37.2% zero-shot on ImageNet. Zero-shot accuracy measures image–text alignment; the 75.0% CIFAR-100 linear probe is the better indicator of representation quality for downstream use, because a trained projector relearns the alignment from scratch.


Model Description

Keural Mid is a mid-scale vision encoder that maps an image to a single 768-dim embedding aligned to a text embedding space, plus a variable-length sequence of semantically-typed tokens. It is trained from random initialization (no CLIP/ViT/DINO backbone) with a combination of sigmoid contrastive learning, hierarchical concept alignment, saliency regularization, and dual-teacher knowledge distillation.

It introduces three mechanisms not found together in existing encoders (CLIP, SigLIP, DINOv2):

InnovationWhat it does
ATB — Adaptive Token BudgetContent-aware token allocation. A learned saliency map drives a differentiable Gumbel-Top-K sampler, spending more tokens on complex regions and fewer on simple backgrounds.
HCT — Hierarchical Concept TokenizationEvery token carries a semantic level — global, region, or detail — via learned level embeddings and level-specific constructors.
Continuous 2D-RoPERotary position encoding from actual normalized (cx, cy) coordinates plus a log-area scale bias, so variable resolutions and token scales are handled natively.

Intended Uses & Limitations

Intended uses

  • Image feature extraction — a global pooled embedding for retrieval, clustering, or as a frozen backbone for downstream heads (e.g. linear probing, detection, captioning front-ends).
  • Research into adaptive tokenization, hierarchical token typing, and resolution-elastic position encoding.

Limitations

  • Accuracy trails same-size peers. Zero-shot ImageNet Top-1 is 37.2%, versus 68.6% for CLIP ViT-B/16 (~86M params) and 76.7% for SigLIP ViT-B/16 (~93M params) — both smaller than this model. This is attributed to a training-budget gap (18K steps on ~20M pairs, vs. peers trained on 12M-400M+ pairs over far more steps) rather than an architecture ceiling: training loss was still declining at the final step. See Evaluation.
  • Saliency mechanism is real but token placement is still settling. The learned saliency map produces stable, object-tracking contours on images with a clear dominant subject. However, the discrete tokens it samples continued shifting meaningfully until very late in training (only ~50% overlap with the final checkpoint's token positions as of step 13-14K, reaching ~73% by step 16K) — exact token placement had not fully converged even at the final checkpoint.
  • Domain/bias. Trained on web image–text pairs; it inherits the coverage and biases of that distribution and is English-text aligned.
  • Not a safety-filtered model. No content moderation or de-biasing has been applied.

How to Use

import torch
from PIL import Image
from torchvision import transforms
from transformers import AutoModel

model = AutoModel.from_pretrained(
    "mkd-hika/keural-vision-encoder-mid",
    trust_remote_code=True,
).eval()

transform = transforms.

Quoted from the model card on Hugging Face. The full card is behind the Hugging Face link above.

Benchmarks

Reported results

As published on the model card: the maker's own numbers, not measured by AxForge.

TaskDatasetMetricScore
Zero-Shot Image ClassificationImageNet-1k (validation)Top-1 accuracy37.200
Zero-Shot Image ClassificationImageNet-1k (validation)Top-5 accuracy66.800
Image-to-Text RetrievalFlickr30KImage-to-Text R@142.900
Image-to-Text RetrievalFlickr30KImage-to-Text R@1080.600
Image-to-Text RetrievalFlickr30KText-to-Image R@142.200
Image-to-Text RetrievalFlickr30KText-to-Image R@1079.400
Linear ProbeCIFAR-100Linear probe Top-175
© 2026 AxForge · EU-hosted AI infrastructure Pricing Docs Trust Privacy Terms