Абстрактная алгебра
Тензорные произведения
PyTorch `torch.einsum` обрабатывает тензоры 1024x1024x512 - 536 миллионов чисел за один вызов. Attention в трансформерах, LoRA fine-tuning, квантовые вычисления - все это одна математика: тензорное произведение.
- LoRA (Low-Rank Adaptation): fine-tuning LLM через низкоранговые тензорные разложения - используется в Llama, Stable Diffusion, GPT
- Quantum computing: запутанность кубитов = элемент тензорного произведения, который не раскладывается в простой тензор
- Attention mechanism: QK^T в трансформерах - батчевая тензорная контракция через einsum
Предварительные знания
Тензорное произведение: почему оно нужно
PyTorch `torch.einsum` обрабатывает тензоры размером 1024x1024x512 - 536 миллионов чисел за один вызов. Каждая такая операция - это тензорная контракция. Математическая структура за ней - тензорное произведение.
Проблема: есть вектор-строка из физики и вектор-столбец из химии. Как получить объект, кодирующий оба вклада без потери информации? Прямая сумма V ⊕ W смешивает - тензорное произведение V ⊗ W перемножает.
Формально: M ⊗_R N - это R-модуль с R-билинейным отображением ⊗: M x N → M ⊗ N, обладающий **универсальным свойством**: для любого R-модуля P и любого билинейного φ: M x N → P существует единственное линейное f: M ⊗ N → P такое, что φ = f ∘ ⊗.
Аксиомы (следствия универсального свойства): (m₁ + m₂) ⊗ n = m₁ ⊗ n + m₂ ⊗ n; m ⊗ (n₁ + n₂) = m ⊗ n₁ + m ⊗ n₂; (rm) ⊗ n = r(m ⊗ n) = m ⊗ (rn). Элемент m ⊗ n называется простым тензором (ранг 1). Общий элемент - сумма простых.
Конкретно: ℝ² ⊗ ℝ³ ≅ Mat(2,3). Базис {e₁, e₂} ⊗ {f₁, f₂, f₃} = {eᵢ ⊗ fⱼ} - 6 элементов. Простой тензор v ⊗ w при v = (a,b), w = (x,y,z) - это матрица [[ax,ay,az],[bx,by,bz]].
Большинство элементов M ⊗ N - не простые тензоры, а суммы нескольких. Найти минимальное число слагаемых (тензорный ранг) - NP-hard задача. Для матриц тензорный ранг совпадает с обычным рангом.
Каков размер (размерность) ℝ^m ⊗ ℝ^n?
Кронекер, LoRA и ML-приложения
Тензорное произведение линейных отображений f ⊗ g: V ⊗ W → V' ⊗ W' задаётся формулой (f ⊗ g)(v ⊗ w) = f(v) ⊗ g(w). В матричном виде это **кронекерово произведение** A ⊗ B.
Если A - матрица m x n, а B - матрица p x q, то A ⊗ B имеет размер (mp) x (nq): каждый элемент A масштабирует полную копию B.
**LoRA (Low-Rank Adaptation)** в LLM - прямое применение тензорных идей. Вместо обновления полной матрицы весов W ∈ ℝ^{d_out x d_in} обучаются два тонких матрицы B ∈ ℝ^{d_out x r} и A ∈ ℝ^{r x d_in} с рангом r << min(d_in, d_out).
LoRA используется в Llama, Stable Diffusion, GPT - буквально во всех современных fine-tuning пайплайнах. Произведение B*A - это матрица ранга r, то есть элемент низкоранговой части тензорного пространства.
A - матрица 3x2, B - матрица 4x5. Каков размер A ⊗ B?
Квантовая запутанность и einsum
В квантовой механике два кубита |ψ₁⟩ ∈ ℂ² и |ψ₂⟩ ∈ ℂ² вместе описываются через тензорное произведение |ψ₁⟩ ⊗ |ψ₂⟩ ∈ ℂ⁴. Это прямое следствие универсального свойства - оно линеаризует билинейные наблюдаемые.
Запутанные состояния - те, которые не раскладываются в простой тензор |ψ₁⟩ ⊗ |ψ₂⟩. Например, |00⟩ + |11⟩ (пара Белла) - запутанная. Это математически то же самое, что матрица ранга > 1 не является внешним произведением двух векторов.
Нотация Эйнштейна (einsum) - способ записи тензорных контракций без явных циклов. Если индекс встречается дважды - суммирование подразумевается. `np.einsum('ij,jk->ik', A, B)` - умножение матриц. `np.einsum('i,j->ij', u, v)` - внешнее произведение.
Изоморфизм Hom(V, W) ≅ V* ⊗ W (для конечномерных пространств) - почему матрицы являются тензорами: каждая матрица A ∈ Mat(m,n) - это элемент (ℝⁿ)* ⊗ ℝᵐ.
Изображение формата (batch=8, height=224, width=224, channels=3) - тензор какого ранга?
Ключевые идеи
- M ⊗ N: билинейные отображения из M x N = линейные из M ⊗ N (универсальное свойство)
- dim(V ⊗ W) = dim(V) * dim(W); базис {eᵢ ⊗ fⱼ}
- Не каждый элемент - простой тензор; тензорный ранг >= обычного ранга матрицы
- Кронекерово произведение = матричное представление f ⊗ g: (mp)x(nq)
- LoRA: обновление весов W0 + B*A - это добавление элемента из низкоранговой части
- Hom(V, W) ≅ V* ⊗ W: матрицы - это тензоры типа (1,1)
Дальнейшие пути
Тензорные произведения - основа внешней алгебры (∧^k V) и симметрических алгебр. Тензорные сети (tensor networks) - современный инструмент квантовой симуляции и ML-сжатия.
- Внешняя алгебра — ∧^k V = тензорное произведение с антисимметризацией; основа дифференциальных форм
- Гомологическая алгебра — Tor_n(M, N) - производный функтор ⊗; измеряет нефлатность