whatisgithub

What is vcsd?

joliang17/vcsd — explained in plain English

Analysis updated 2026-07-26

7PythonAudience · researcherComplexity · 5/5LicenseSetup · hard

In one sentence

A research codebase for training vision-language models to pay closer attention to images by comparing model predictions with and without the visual input.

Mindmap

mindmap
  root((repo))
    What it does
      Trains vision models
      Uses visual contrast
      Sharpens image focus
    How it works
      Compares with image
      Compares without image
      Plausibility guard
    Tech stack
      Python
      verl framework
      NVIDIA GPU
    Requirements
      Parquet data files
      No checkpoints included
      Apache 2.0 license
    Use cases
      AI research
      Model training
      Vision-language tasks

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Train a vision-language model to rely more heavily on its image input when generating text.

USE CASE 2

Experiment with different visual contrast settings like blacked-out or degraded images.

USE CASE 3

Research how self-distillation techniques can improve multimodal AI model performance.

What is it built with?

PythonverlNVIDIA GPU

How does it compare?

joliang17/vcsdalx-code/lingbot-video-1.3b-fp8andrevicencio/tmux-flash
Stars777
LanguagePythonPythonPython
Setup difficultyhardeasy
Complexity5/52/5
Audienceresearcherdeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · hard Time to first run · 1day+

Requires an NVIDIA GPU and user-supplied data in Parquet format, no pre-trained checkpoints or datasets are provided.

Use freely for any purpose, including commercial use, as long as you keep the copyright notice.

So what is it?

This repository contains code for a research paper called "Visual Contrast Self-Distillation for Vision-Language Models." The paper and code are both works in progress, meaning the authors are still actively developing and refining them. The project addresses a specific problem in AI: how to train models that understand both images and text to pay closer attention to the visual information they receive. The core idea is a training technique called self-distillation through visual contrast. Here is how it works in plain terms. The model processes an image and produces predictions about what text should follow. Then, the model processes the same input but with the image removed, blacked out, or degraded. By comparing these two passes, the system identifies which predictions actually depend on seeing the image. The training process then sharpens exactly those image-dependent predictions. A safety mechanism called a plausibility guard ensures the model only redistributes probability among tokens it already considered reasonable, so it never learns to produce something the teacher model would not have generated anyway. The implementation is built on top of an existing reinforcement learning framework called verl. The authors describe their additions as minimal: a few files that add the contrast target and a loss function to a standard training loop. The repository includes scripts for launching training runs, preparing data, and handling degraded images for the control passes. Training requires an NVIDIA GPU and specific dependencies pinned in a requirements file. Data must be provided as Parquet files containing prompts and images. No model checkpoints, datasets, or pre-generated outputs are included, users must supply their own data. Configuration options let users adjust the tilt strength (how aggressively to sharpen image-dependent tokens), the plausibility threshold, and the type of control input used (black image, degraded image, or no image). The project is derived from two prior efforts: Vision-OPD and the verl framework. It is released under the Apache 2.0 license.

Copy-paste prompts

Prompt 1
Using the VCSD repository structure, how do I format my Parquet data files so they contain the correct prompts and images for training?
Prompt 2
How do I adjust the tilt strength and plausibility threshold in the configuration file to control how aggressively the model sharpens image-dependent tokens?
Prompt 3
What is the exact command to launch a training run using the VCSD scripts on a single NVIDIA GPU?
Prompt 4
Explain how to generate the degraded or blacked-out control images required for the visual contrast training loop.

Frequently asked questions

What is vcsd?

A research codebase for training vision-language models to pay closer attention to images by comparing model predictions with and without the visual input.

What language is vcsd written in?

Mainly Python. The stack also includes Python, verl, NVIDIA GPU.

What license does vcsd use?

Use freely for any purpose, including commercial use, as long as you keep the copyright notice.

How hard is vcsd to set up?

Setup difficulty is rated hard, with roughly 1day+ to a first successful run.

Who is vcsd for?

Mainly researcher.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.