Downloads · 30 days
9
6% of all-time downloads
RainbowPiBubbles/Nathanael-Embedding-50M
Nathanael-Embedding-50M is a feature extraction model from RainbowPiBubbles. Use it when you need embeddings to search or compare text. The card lists the license as mit.
This repository hosts an Encoder-Free Vision-Language Model (VLM) wrapped around the base language model SupraLabs/Supra-1.5-50M-Base-exp and distilled using embeddings generated by SigLIP-2.
Downloads · 30 days
9
6% of all-time downloads
All-time downloads
144
Public
Parameters
52.6M
528 MB on disk
Likes
1
Public
Click a slice to open those files.
.onnx318 MB · 60%
From the Hugging Face model README
This repository hosts an Encoder-Free Vision-Language Model (VLM) wrapped around the base language model SupraLabs/Supra-1.5-50M-Base-exp and distilled using embeddings generated by SigLIP-2.
By using robust mathematical hook patches instead of standard heavy vision encoders, it extracts and maps visual tokens directly into target hidden representation vectors in the browser or terminal.
vlm_model.onnx: Optimized FP32 ONNX model compatible with CPU/WASM onnxruntime-web execution providers.vlm_model_fp16.onnx: Optimized FP16 ONNX model for WebGPU/WebGL rendering acceleration.model.safetensors: Standard PyTorch model state dictionary (SafeTensors format).modeling_vlm.py: Custom Python wrapper code for the EncoderFreeVLM module and VLMPreprocessor.config.json: Hardware parameter settings.To load this model natively in Python, clone this repository and use the custom classes in modeling_vlm.py:
import torch
from modeling_vlm import EncoderFreeVLM, VLMPreprocessor
from transformers import AutoTokenizer, AutoModelForCausalLM
# 1. Load base components
tokenizer = AutoTokenizer.from_pretrained("SupraLabs/Supra-1.5-50M-Base-exp", trust_remote_code=True)
cma_model = AutoModelForCausalLM.from_pretrained("SupraLabs/Supra-1.5-50M-Base-exp", trust_remote_code=True)
# 2. Instantiate wrapper
preprocessor = VLMPreprocessor(tokenizer)
vlm = EncoderFreeVLM(cma_model, embedding_dim=768, proj_mode="linear")
# 3. Load model state dictionary and automatically reconstruct shared weights
from safetensors.torch import load_model
load_model(vlm, "model.safetensors")
vlm.eval()
# Example forward execution
# inputs = preprocessor(image=your_image_object)
# embeddings = vlm(**inputs)
When deploying inside JS/Web applications, query the model with the following inputs:
input_ids [int64, [batch_size, sequence_length]]attention_mask [int64, [batch_size, sequence_length]]images [float32, [batch_size, 3, 224, 224]]is_image [float32, [batch_size, 1]]