Instructions to use HumanAIConvention/simsat-lfm25vl-450m-v1 with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- PEFT
How to use HumanAIConvention/simsat-lfm25vl-450m-v1 with PEFT:
from peft import PeftModel from transformers import AutoModelForCausalLM base_model = AutoModelForCausalLM.from_pretrained("LiquidAI/LFM2.5-VL-450M") model = PeftModel.from_pretrained(base_model, "HumanAIConvention/simsat-lfm25vl-450m-v1") - Notebooks
- Google Colab
- Kaggle
SimSat LFM2.5-VL-450M v1 β LoRA adapter (superseded by v3)
NOTE β superseded by
HumanAIConvention/simsat-lfm25vl-450m-v3. v1 stays published for reference; v3 is canonical. v3 holdout numbers (+18.8 pp action / -47 pp MAE over v1 Run 14) are documented on the v3 model card.
LoRA fine-tune of LiquidAI/LFM2.5-VL-450M
trained on operator-reviewed Sentinel-2 tiles for the
AI in Space Hackathon (DPhi Space x Liquid AI) β Liquid Track.
Holdout eval (matched-pair, 32 samples, 8 per action class)
| Metric | Base | Tuned (this adapter) | Tuned + repetition_penalty=1.05 (Run A) |
|---|---|---|---|
exact_action_agreement |
0.250 | 0.656 | 0.750 |
score_mae (lower is better) |
0.312 | 0.102 | 0.080 |
parse_rate |
1.000 | 0.906 | 1.000 |
The 9.4 pp parse-rate dip on tuned-without-rep_penalty came from a
numeric-field repetition loop on a single scene. Run A confirmed
repetition_penalty=1.05, no_repeat_ngram_size=20 at inference time
recovers parse rate to 1.000 and lifts action agreement +9.4 pp without
any retraining. v3 replicates this decode hardening AND adds 56 more
operator-reviewed train rows.
Recipe (preserved for v1 reproducibility)
- TRL
SFTTrainer+ PEFT LoRA,transformers(main). - 109 train / 32 holdout (8 per class) / 4 legacy eval.
- LoRA
r=16,alpha=32,dropout=0.05; assistant-only loss masking. - AdamW
lr=2e-4, 5 epochs, effective batch 8,bfloat16, T4 GPU. - 4,456,448 trainable / 453,175,296 total params (0.98%).
Public training kernel: benhaslam/simsat-lfm2-5-vl-v1-training on Kaggle.
Inference (recommended: use v3 instead)
# v3 adapter, applied to the same base model:
from transformers import AutoModelForImageTextToText, AutoProcessor
from peft import PeftModel
base = "LiquidAI/LFM2.5-VL-450M"
model = AutoModelForImageTextToText.from_pretrained(base, torch_dtype="bfloat16")
processor = AutoProcessor.from_pretrained(base)
model = PeftModel.from_pretrained(model, "HumanAIConvention/simsat-lfm25vl-450m-v3")
out = model.generate(
**inputs, max_new_tokens=256, do_sample=False,
repetition_penalty=1.05, no_repeat_ngram_size=20,
)
License
Apache-2.0, matching the LFM2.5-VL-450M base model. Sentinel-2 imagery (c) European Union, Copernicus Sentinel-2 data 2024-2026, redistributable under the Sentinel data legal notice.
- Downloads last month
- 3
Model tree for HumanAIConvention/simsat-lfm25vl-450m-v1
Base model
LiquidAI/LFM2.5-350M-Base