How to use from
SGLang
Install from pip and serve model
# Install SGLang from pip:
pip install sglang
# Start the SGLang server:
python3 -m sglang.launch_server \
    --model-path "SearchingBinary/FastVLM-1.5B-Stage3-meeting-tiles-v5" \
    --host 0.0.0.0 \
    --port 30000
# Call the server using curl (OpenAI-compatible API):
curl -X POST "http://localhost:30000/v1/chat/completions" \
	-H "Content-Type: application/json" \
	--data '{
		"model": "SearchingBinary/FastVLM-1.5B-Stage3-meeting-tiles-v5",
		"messages": [
			{
				"role": "user",
				"content": [
					{
						"type": "text",
						"text": "Describe this image in one sentence."
					},
					{
						"type": "image_url",
						"image_url": {
							"url": "https://cdn.britannica.com/61/93061-050-99147DCE/Statue-of-Liberty-Island-New-York-Bay.jpg"
						}
					}
				]
			}
		]
	}'
Use Docker images
docker run --gpus all \
    --shm-size 32g \
    -p 30000:30000 \
    -v ~/.cache/huggingface:/root/.cache/huggingface \
    --env "HF_TOKEN=<secret>" \
    --ipc=host \
    lmsysorg/sglang:latest \
    python3 -m sglang.launch_server \
        --model-path "SearchingBinary/FastVLM-1.5B-Stage3-meeting-tiles-v5" \
        --host 0.0.0.0 \
        --port 30000
# Call the server using curl (OpenAI-compatible API):
curl -X POST "http://localhost:30000/v1/chat/completions" \
	-H "Content-Type: application/json" \
	--data '{
		"model": "SearchingBinary/FastVLM-1.5B-Stage3-meeting-tiles-v5",
		"messages": [
			{
				"role": "user",
				"content": [
					{
						"type": "text",
						"text": "Describe this image in one sentence."
					},
					{
						"type": "image_url",
						"image_url": {
							"url": "https://cdn.britannica.com/61/93061-050-99147DCE/Statue-of-Liberty-Island-New-York-Bay.jpg"
						}
					}
				]
			}
		]
	}'
Quick Links

FastVLM 1.5B - Meeting Tile v5 LoRA Adapter

LoRA adapter fine-tuned on FastVLM-1.5B-Stage3 for meeting screenshot analysis using a tile-crop strategy.

Tasks

  • Platform detection: Identify meeting platform (Zoom, Teams, Google Meet, Webex) from full screenshots
  • Tile name: Read participant name from an isolated tile crop
  • Tile speaker: Detect active speaker (highlighted border) + read name from a tile crop

Training Details

  • Base model: zhaode/FastVLM-1.5B-Stage3
  • Method: LoRA (rank=8, alpha=16) on language model q/k/v/o projections
  • Dataset: 103K synthetic examples (87.5K train / 15.5K val)
    • 34K full screenshots (platform detection)
    • 34K speaker tile crops (tile_speaker)
    • 34K non-speaker tile crops (tile_name)
    • 1K slide OCR examples
  • Training: 2 epochs, batch_size=8, grad_accum=2, lr=2e-5, cosine schedule
  • Hardware: NVIDIA A40 (46GB), ~4.5 hours
  • Final loss: ~0.10-0.12
  • Trainable params: 2.18M / 1.91B (0.11%)

Tile-Crop Strategy

Instead of asking the model to identify speakers from a full meeting screenshot (where name labels are ~13px after resize), we crop individual participant tiles and render them at full viewport (1280x720). This gives the model ~130px name labels -- a 10x improvement in readability.

Framework versions

  • PEFT 0.18.1
  • Transformers
  • PyTorch
Downloads last month
-
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for SearchingBinary/FastVLM-1.5B-Stage3-meeting-tiles-v5

Adapter
(3)
this model