nemo_automodel.components.models.kimi_k3.multimodal

View as Markdown

Native top-level Kimi K3 vision-language model.

Module Contents

Classes

NameDescription
KimiK3ForConditionalGenerationKimi K3 MoonViT3d tower, projector, and native KDA/MLA language model.

Functions

Data

ModelClass

API

class nemo_automodel.components.models.kimi_k3.multimodal.KimiK3ForConditionalGeneration(
config: nemo_automodel.components.models.kimi_k3.config.KimiK3Config,
moe_config: nemo_automodel.components.moe.config.MoEConfig | None = None,
backend: nemo_automodel.components.models.common.BackendConfig | None = None,
kwargs: typing.Any = {}
)

Bases: KimiK3ForCausalLM

Kimi K3 MoonViT3d tower, projector, and native KDA/MLA language model.

ModelCapabilities
= KimiK3ForCausalLM.ModelCapabilities
mm_projector
= projector_cls(projector_config)
state_dict_adapter
vision_tower
nemo_automodel.components.models.kimi_k3.multimodal.KimiK3ForConditionalGeneration._extract_image_features(
pixel_values: torch.Tensor,
grid_thws: torch.Tensor
) -> list[torch.Tensor]

Encode packed pixel_values using grid_thws image/video geometry.

nemo_automodel.components.models.kimi_k3.multimodal.KimiK3ForConditionalGeneration._merge_input_ids_with_image_features(
image_features: list[torch.Tensor],
inputs_embeds: torch.Tensor,
input_ids: torch.Tensor,
attention_mask: torch.Tensor,
labels: torch.Tensor | None = None
) -> tuple[torch.Tensor, torch.Tensor, torch.Tensor | None, torch.Tensor]

Expand image placeholders in [batch, sequence] text tensors.

nemo_automodel.components.models.kimi_k3.multimodal.KimiK3ForConditionalGeneration.forward(
input_ids: torch.Tensor | None = None,
block_residual: torch.Tensor | None = None,
pixel_values: torch.Tensor | None = None,
grid_thws: torch.Tensor | None = None,
attention_mask: torch.Tensor | None = None,
position_ids: torch.Tensor | None = None,
inputs_embeds: torch.Tensor | None = None,
labels: torch.Tensor | None = None,
logits_to_keep: int | torch.Tensor = 0,
output_hidden_states: bool | None = None,
kwargs: typing.Any = {}
) -> transformers.modeling_outputs.CausalLMOutputWithPast | torch.Tensor | tuple[torch.Tensor, torch.Tensor]

Run text-only or multimodal K3 inputs.

nemo_automodel.components.models.kimi_k3.multimodal.KimiK3ForConditionalGeneration.from_config(
config: nemo_automodel.components.models.kimi_k3.config.KimiK3Config,
moe_config: nemo_automodel.components.moe.config.MoEConfig | None = None,
backend: nemo_automodel.components.models.common.BackendConfig | None = None,
kwargs: typing.Any = {}
) -> 'KimiK3ForConditionalGeneration'
classmethod
nemo_automodel.components.models.kimi_k3.multimodal.KimiK3ForConditionalGeneration.from_pretrained(
pretrained_model_name_or_path: str,
model_args: typing.Any = (),
kwargs: typing.Any = {}
) -> 'KimiK3ForConditionalGeneration'
classmethod
nemo_automodel.components.models.kimi_k3.multimodal._projector_config(
config: nemo_automodel.components.models.kimi_k3.config.KimiK3Config
) -> types.SimpleNamespace
nemo_automodel.components.models.kimi_k3.multimodal._vision_tower_config(
config: nemo_automodel.components.models.kimi_k3.config.KimiK3Config
)
nemo_automodel.components.models.kimi_k3.multimodal.ModelClass = KimiK3ForConditionalGeneration