Встречается на собеседованиях • сегодня
Как устроена архитектура энкодера на примере BERT
BERT использует трансформерную архитектуру, основанную на механизме self-attention. Основные компоненты:
- Входные эмбеддинги — комбинация токенных, позиционных и сегментных эмбеддингов.
- Слои трансформера (обычно 12 или 24):
- Multi-Head Attention: несколько параллельных механизмов внимания.
- Layer Normalization и остаточные связи.
- Полносвязный слой с активацией GELU.
Пример минимальной реализации слоя:
python
class TransformerLayer(nn.Module):
def __init__(self, d_model, n_heads):
super().__init__()
self.attention = nn.MultiheadAttention(d_model, n_heads)
self.linear = nn.Sequential(
nn.Linear(d_model, 4*d_model),
nn.GELU(),
nn.Linear(4*d_model, d_model)
)
self.norm1 = nn.LayerNorm(d_model)
self.norm2 = nn.LayerNorm(d_model)
def forward(self, x):
attn_out, _ = self.attention(x, x, x)
x = self.norm1(x + attn_out)
ff_out = self.linear(x)
return self.norm2(x + ff_out)Ключевые особенности: двунаправленность (masked attention заменен на полный контекст), общие веса для энкодера и декодера отсутствуют.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы