Skip to content

olmo

olmo

OLMo 1 on vLLM, through its transformers backend (OlmoForCausalLM -> TransformersForCausalLM).

vLLM has no OLMo of its own: it runs transformers' modules, so the tree and the block are transformers' (see nnterp.components.vllm.transformers_backend), with Llama's names, the stream [1, tokens, hidden_size] and the engine's attention layer mounted as the attention's attn child. The block is Llama's, pre-norm with the residual added in the block, so the contributions are the modules' outputs. The norms are OLMo's non-parametric layer norms.

RENAME module-attribute

RENAME = {'model.embed_tokens': 'embed_tokens', 'model.layers': 'layers', 'model.norm': 'norm'}

ENVOYS module-attribute

ENVOYS = {OlmoDecoderLayer: Layer, OlmoAttention: Attention, OlmoMLP: Mlp}