kempnerforge.config.vision¶
Vision-encoder configuration.
VisionEncoderConfig selects and parameterizes the vision encoder
that the VLMWrapper composes alongside the text backbone and
adapter. It is a top-level section in TOML ([vision_encoder]),
sibling to [model], [adapter], and [vlm].
Field summary:
typeselects the encoder by registry key (seeregistry.register_vision_encoder). Defaults to"random"for tests; production configs set"siglip2"/"clip"etc.pathis the HF Hub id or local path passed to the encoder builder. Empty string is accepted for stub encoders ("random").feature_dimis the output feature dim of the encoder.0means “infer from the encoder at build time”.num_tokensis the number of image tokens the encoder produces per image.0means “infer at build time”. When> 0it is cross- checked againstmodel.max_seq_lenat config time insideJobConfig.__post_init__.mixed_precisionis the dtype the encoder computes in ("bf16"or"fp32"), independent oftrain.mixed_precision, for image and video runs alike, also under thetorch.autocastthattrain.fp32_master_weightsruns without an FSDP2 wrap. Its parameters, gradients and optimizer state keep the dtype the encoder was loaded in, on any number of GPUs. Its floating-point buffers are cast to the set dtype, so a checkpoint holds them in it. Unset, the encoder keeps the default: an FSDP2-wrapped encoder computes in the language model’s dtype, and an unwrapped one in its loaded dtype, with that autocast reaching its matmuls where it runs. It applies to the training build (build_parallel_model);build_vlm_wrapperleaves every dtype to its caller.
Classes
Configuration for the vision encoder component of a VLM. |