Hacker News Digest

Тег: #tensors

Постов: 3

A bug that taught me more about PyTorch than years of using it (elanapearl.github.io) 🔥 Горячее

Плато обучения в модели PyTorch оказалось не ошибкой гиперпараметров, а багом в бэкенде фреймворка. Автор провёл детективное расследование, которое научило его больше о PyTorch, чем годы использования. Проблема заключалась в ядре MPS для Apple Silicon, где операции addcmul_ и addcdiv_ при работе с ненепрерывными тензорами молча записывали результаты во временный буфер вместо самого тензора.

Из-за инициализации весов энкодера как транспонированных декодера они получали ненепрерывную память, которая наследовалась состояниями оптимизатора Adam. Это приводило к тому, что exp_avg_sq.addcmul_() не обновлялся, оставаясь нулевым, что полностью останавливало обновление параметров. Исправить проблему можно, сделав веса непрерывными при инициализации, обновив PyTorch до версии ≥2.4 или перейдя на macOS 15+.

by bblcla • 23 октября 2025 г. в 17:06 • 425 points

ОригиналHN

#pytorch#machine-learning#apple-mps#tensors#optimizers#adam-optimizer#apple-silicon#macos#mlx

Комментарии (78)

  • Найдена ошибка в градиентах для Apple MPS в PyTorch, вызванная неправильной обработкой не-непрерывных тензоров.
  • Сообщество обсуждает, что подобные ошибки встречаются и в других библиотеках и бэкендах, и что их трудно отследить.
  • Участники обсуждают, что Apple не поддерживает PyTorch и вместо этого развивает собственный фреймворк MLX, что ведет к фрагментации экосистемы.
  • Обсуждается, что отсутствие должной поддержки PyTorch на macOS приводит к тому, что исследователи сталкиваются с такими ошибками, которые могут быть неочевидны и влиять на результаты экспериментов.

Modular Manifolds (thinkingmachines.ai)

Нормализация тензоров в больших нейросетях — ключевой аспект их стабильного обучения. Она предотвращает проблемы численной нестабильности, такие как переполнение или исчезновение градиентов, и упрощает проектирование алгоритмов, обеспечивая предсказуемость размеров весов, активаций и обновлений. Хотя нормализация активаций (например, layer norm) и градиентов уже стала стандартом, нормализация весовых матриц применяется реже, несмотря на потенциальные преимущества.

Ограничение норм весов помогает контролировать относительный размер обновлений, избегать взрыва норм и улучшать condition number матриц, делая их поведение более предсказуемым. Это позволяет сосредоточить усилия по настройке гиперпараметров на наиболее значимых тензорах. Практические реализации, такие как в EDM2, показывают, что такие методы могут улучшать устойчивость и эффективность обучения больших моделей.

by babelfish • 26 сентября 2025 г. в 17:06 • 147 points

ОригиналHN

#machine-learning#deep-learning#neural-networks#tensors#normalization#optimization#pymanopt

Комментарии (53)

  • Обсуждение возможности ограничения весов нейронных сетей на многообразиях и переосмысления оптимизации с такими ограничениями.
  • Вопросы о новизне подхода, учитывая существующие работы и библиотеки (Pymanopt) по оптимизации на многообразиях.
  • Критика и сомнения в представленных эмпирических результатах (низкая точность на CIFAR-10, малый масштаб модели).
  • Обсуждение формата публикации (блогпост vs. научная статья) и мотивов авторов.
  • Замечания о дизайне и UX сайта с блогпостом (положительные и отрицательные).

The maths you need to start understanding LLMs (gilesthomas.com) 🔥 Горячее

  • Векторы и матрицы: LLM всё превращают в вектора; главное — скалярное произведение и умножение матриц.
  • Softmax: превращает логиты в вероятности; температура регулирует «уверенность».
  • Градиент и производная: показывают, как чуть изменить вес, чтобы ошибка уменьшилась.
  • Цепное правило: позволяет распространить ошибку через слои; сердце backprop.
  • Эмбеддинги: строки → векторы; чем ближе векторы, тем похожее значение.
  • Attention: Q·K^T выделяет релевантные токены; V несёт смысл; маска прячет будущее.
  • MLP в трансформере: два линейных слоя с ReLU; увеличивает выразительность.
  • LayerNorm: стабилизирует распределение после каждого подслоя.
  • Позиционное кодирование: добавляет «адрес» токену, иначе порядок теряется.
  • Лосс (cross-entropy): средняя «удивлённость»; оптимизатор (Adam) крутит веса.

Дальше — только масштаб: больше слоёв, голов, данных и видеокарт.

by gpjt • 02 сентября 2025 г. в 23:10 • 526 points

ОригиналHN

#machine-learning#deep-learning#transformers#tensors#linear-algebra#pytorch#backpropagation#attention-mechanism#natural-language-processing#llm

Комментарии (106)

  • Физики и математики вспомнили, что знание тензорного исчисления, линалгебры и энтропии пригодилось для понимания backprop и LLM.
  • Практика: «смотреть» Karpathy недостаточно — нужно кодить за ним; его курс даёт базы и уверенность копать дальше.
  • Книга «Build a Large Language Model (from Scratch)» идёт шаг-за-шагом, но объясняет только вычисления, а не «почему это вообще работает»; explainability всё ещё исследуется.
  • Путаница: эмбеддинги ≠ вся модель; они лишь вход для трансформера, внутри которого 1,8 трлн параметров и «чёрный ящик».
  • LLM — логит-генераторы с неизбежной неопределённостью; цепочки моделей накапливают ошибку и быстро «ломаются» без человека-оркестратора.
  • Для 99 % разработчиков хватает линалгебры, softmax, градиентов и PyTorch; остальное — инженерия данных, трюки и эксперименты.