La capa de embedding es simplemente una matriz E de forma (vocab_size, model_dim). Para el ID de token i, el embedding es E[i] — una simple búsqueda de fila, sin cálculo. Pero estos embeddings se aprenden durante el entrenamiento: tokens que aparecen en contextos similares obtienen embeddings similares. El ejemplo clásico: los embeddings para "rey" − "hombre" + "mujer" ≈ "reina", mostrando que el espacio de embedding captura relaciones semánticas.
Muchos modelos comparten (atan) la matriz de embedding con la capa de salida (el "unembedding" o "cabeza del modelo de lenguaje"). La capa de salida convierte los estados ocultos en probabilidades del vocabulario calculando un producto punto con el embedding de cada token. Atar estas capas significa que el mismo embedding tanto representa un token en la entrada como lo predice en la salida, ahorrando parámetros y a menudo mejorando la calidad. La mayoría de los LLMs modernos usan embeddings atados.
La representación completa de entrada es típicamente: embedding_token + codificación_posicional. El embedding de token captura qué significa el token. La codificación posicional captura dónde aparece en la secuencia. En modelos con embeddings posicionales aprendidos (BERT), esta es una segunda tabla de embedding indexada por posición. En modelos con RoPE (LLaMA), la información posicional se inyecta de manera diferente (rotando los vectores Q y K), y la capa de embedding solo maneja la identidad del token.