ML Fundamentals
hidden state
Промежуточное представление токена в трансформере — вектор, обновляемый каждым слоем.
Что такое hidden state
Hidden state (скрытое состояние) — вектор размерности d_model, представляющий каждый токен на данном этапе обработки в трансформере. Начинается как эмбеддинг токена и обновляется каждым трансформерным блоком: сначала через attention (информация от других токенов), затем через FFN (нелинейное преобразование).
После последнего слоя hidden state используется для предсказания следующего токена через финальный линейный слой (LM head).
Путь hidden state через трансформер
token_id → embedding (4096-мерный вектор)
↓
Layer 1: RMSNorm → Attention → Add → RMSNorm → FFN → Add
↓
Layer 2: ...
↓
Layer 32 (последний): ...
↓
Final RMSNorm → LM Head (Linear 4096 → 32000)
↓
logits (32000-мерный вектор)
Hidden states как представления
Hidden states последнего слоя часто используются как representations — плотные векторы, кодирующие смысл. Это основа для:
- Sentence embeddings (взять hidden state токена
[CLS]или усреднить) - Probing — изучения, какие знания в каком слое хранятся
- Activation editing (steering vectors) — прямое изменение hidden states для управления поведением
# Извлечь hidden states
outputs = model(input_ids, output_hidden_states=True)
all_hidden_states = outputs.hidden_states # tuple из (n_layers + 1) тензоров
last_hidden = all_hidden_states[-1] # (batch, seq_len, d_model)
Связанные термины
- эмбеддинг — начальное значение hidden state
- attention — первое преобразование hidden state в каждом слое
- feedforward layer — второе преобразование
- трансформер — стек слоёв, преобразующих hidden states
Готовы запустить GPU-задачу?
Запустить GPU-сервер