EmbeddingLookup#
- class penzai.nn.embeddings.EmbeddingLookup[source]#
Bases:
Layer
Looks up token IDs in an embedding table.
This layer can be used to look up token embeddings in an embedding table. It is usually the first layer in a language model.
This lookup layer does not include any rescaling of the embeddings. If you would like to scale the embeddings after retrieval, consider adding a
pz.nn.ConstantRescale
layer after theEmbeddingLookup
.- Variables:
table (EmbeddingTable) – The embedding table to look up embeddings in.
Methods
__init__
(table)__call__
(token_index, **_unused_side_inputs)Retrieves tokens from the embedding table.
Attributes
table
Inherited Methods
(expand to view inherited methods)
attributes_dict
()Constructs a dictionary with all of the fields in the class.
bind_variables
(variables[, allow_unused])Convenience function to bind variables to a layer.
from_attributes
(**field_values)Directly instantiates a struct given all of its fields.
key_for_field
(field_name)Generates a JAX PyTree key for a given field name.
select
()Wraps this struct in a selection, enabling functional-style mutations.
stateless_call
(variable_values, argument, /, ...)Calls a layer with temporary variables, without modifying its state.
tree_flatten
()Flattens this tree node.
tree_flatten_with_keys
()Flattens this tree node with keys.
tree_unflatten
(aux_data, children)Unflattens this tree node.
treescope_color
()Computes a CSS color to display for this object in treescope.
- __call__(token_index: named_axes.NamedArray, **_unused_side_inputs) named_axes.NamedArray [source]#
Retrieves tokens from the embedding table.
- Parameters:
token_index – A named array of token indices. Axis names of this array must be disjoint from the axis names in the embedding table.
**_unused_side_inputs – Side inputs (unused).
- Returns:
A named array of embeddings, which includes all named axes of the input along with the (non-vocabulary) named axes of the embedding table.