TGViewer
Библиотека дата-сайентиста | Data Science, Machine learning, анализ данных, машинное обучение Библиотека дата-сайентиста | Data Science, Machine learning, анализ данных, машинное обучение @dsproglib · 18.3K subscribers
Post #7625 1.76K
🔥 Команда дня: einsum или как реализовать multi-head self-attention без единого цикла

Если вы работаете с нейросетями, особенно с трансформерами, то, скорее всего, сталкивались с реализациями self-attention, переполненными циклами. Однако благодаря np.einsum можно выразить всю механику multi-head attention в компактной и векторизованной форме.

Вот пример реализации:
def multi_head_attention(X, W_q, W_k, W_v, W_o):  
d_k = W_k.shape[-1]
Q = np.einsum('si,hij->hsj', X, W_q) # (n_heads, seq_len, d_k)
K = np.einsum('si,hik->hsk', X, W_k)
V = np.einsum('si,hiv->hsv', X, W_v)
scores = Q @ K.transpose(0, 2, 1) / np.sqrt(d_k)
weights = softmax(scores, axis=-1)
output = weights @ V
projected = np.einsum('hsv,hvd->hsd', output, W_o)
return projected.transpose(1, 0, 2).reshape(seq_len, -1)


💡 einsum — мощный инструмент для выражения сложных операций с многомерными массивами. Особенно полезен, когда нужно точно контролировать свёртки и трансформации осей. В задачах NLP и computer vision это буквально незаменимая вещь.

📌 Почему стоит обратить внимание:
— Полная векторизация — минимум циклов, максимум скорости;
— Код ближе к математике, а значит — легче проверять;
— Можно выразить довольно сложные операции с тензорами в одной строке.

📍 Навигация: ВакансииЗадачиСобесы

🐸 Библиотека дата-сайентиста

#буст
  • 🔥 5
  • ❤ 2
  • 👍 1
More from @dsproglib
  1. Sep 20, 2026Что выведет код? 👍 — {} 👾 — {«x»: 1} 🥰 — Error 🔥 — None 🐸 Библиотека задач по Data Sc…
  2. Sep 19, 2026🌞 3 open-source инструмента для AI-агентов 🔘 Agent-Reach — доступ к Twitter/X, YouTube,…
  3. Sep 18, 2026А вы уже забрали свой подарок ко Дню программиста? К вашему профессиональному празднику Tp…
  4. Sep 18, 2026📍 Навигация: Вакансии • Задачи • Собесы 🐸 Библиотека дата-сайентиста
  5. Sep 17, 2026🤗 Fine-tuning LLM в Google Colab — без собственной GPU Unsloth Studio позволяет попробова…
  6. Sep 15, 2026🔥 Sakana AI обучила нейросеть глубиной 1000 слоёв без backpropagation Sakana AI представи…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →