Downloads · 30 days
14
7% of all-time downloads
Aquiles-ai/Kairos-Alig-30k
Kairos-Alig-30k is a image-text-to-text model from Aquiles-ai. Use it for the image-text-to-text task on the model card, and read the license before you ship it in a product. It is set up for transformers. The card lists the license as other.
⚠️ Experimental research artifact — NOT competent. This checkpoint comes from a series of experiments on how to build a small multimodal model from scratch. It is not a usable vision-language model. Do not use it in p…
Downloads · 30 days
14
7% of all-time downloads
All-time downloads
214
Public
Parameters
3.1B
6.4 GB on disk
Likes
1
Public
Click a slice to open those files.
.safetensors6.4 GB · 100%
How the weights are stored.
BF163.1B · 99%
From the Hugging Face model README
⚠️ Experimental research artifact — NOT competent. This checkpoint comes from a series of experiments on how to build a small multimodal model from scratch. It is not a usable vision-language model. Do not use it in production, for automated decisions, or in any safety-critical context.
Kairos-Alig-30k is the third checkpoint in the Kairos experiment progression: Kairos-Proj-80k (the stage-1 aligned projector) plus a single-phase training where the projector and the LLM are aligned together from the start, on 30,000 multimodal reasoning samples.
projector_output_scale = 0.89).Unlike the stage-1 recipe (projector alone against a frozen LLM, which was measured as behaviorally insufficient), this run trains the projector and the LLM together from the start, inspired by early-fusion approaches where both parts align jointly from pre-training. The LoRA adapters are merged into the base weights at the end, so the saved checkpoint is a plain KairosForConditionalGeneration with no PEFT runtime required.
Single-phase alignment via train_sft.py:
| Setting | Value |
|---|---|
| Base checkpoint | Aquiles-ai/Kairos-Proj-80k (projector warm start) |
| Dataset | Aquiles-ai/Kairos-Multimodal-Reasoning (30k samples) |
| Trainable | Projector (fp32) + LoRA on LFM2.5 attention q/k/v/out_proj (fp32) |
| Projector LR / LoRA LR | 1e-4 / 2e-4, cosine, 100 warmup steps |
| Effective batch size | 64 (2 × 16 grad-accum) |
| Epochs | 1 |
| Output cap | projector_output_scale = 0.89 |
| Supervision | Reasoning traces ( thinking... response...) + answers |
The training dataset is the result of a distillation pipeline: frontier models (e.g. GPT-5.6 Luna) were used as teachers to regenerate LLaVA-style image-caption pairs with explicit chain-of-thought reasoning traces, plus additional sources (WebSight-based image-to-code traces and the open Zebra-CoT multimodal reasoning set).
Under specific conditions the model produces reasoning-style answers over images (it emits a thinking block, then a response block with the final answer). For example, it can name objects and describe scenes when the prompt asks for a specific element.
The ablation studies (Aquiles-ai/Kairos → vlm_ablations) document these failure modes:
import torch
from transformers import AutoModelForCausalLM, AutoProcessor
from transformers.image_utils import load_image
model_id = "Aquiles-ai/Kairos-Alig-30k"
model = AutoModelForCausalLM.from_pretrained(model_id, trust_remote_code=True, dtype=torch.bfloat16)
processor = AutoProcessor.from_pretrained(model_id, trust_remote_code=True)
image = load_image("https://example.com/image.jpg")
messages = [{"role": "user", "content": [
{"type": "image", "image": image},
{"type": "text", "text": "What's in this image?"},
]}]
enc = processor.apply_chat_template(messages, tokenize=True, return_dict=True, return_tensors="pt", add_generation_prompt=True)
out = model.generate(**enc, max_new_tokens=1024)
print(processor.decode(out[0, enc["input_ids"].shape[1]:], skip_special_tokens=True))
Requires transformers >= 5.x (developed with 5.14.1) and trust_remote_code=True.
This model card describes a research artifact assembled from third-party components (MoonViT-3D from Kimi-K2.6, LFM2.5-2.6B) and trained on a distilled dataset whose teachers include proprietary frontier models. Check each component's license and the dataset terms before any use.