Hacker News Digest

Тег: #automatic-differentiation

Постов: 2

Show HN: Luminal – Open-source, search-based GPU compiler (github.com)

luminal — библиотека для глубокого обучения, работающая «со скоростью света».

Основное

  • Язык: Rust
  • Цель: максимально быстрое вычисление градиентов и обучение нейросетей.
  • Подход: компиляция вычислительного графа в высокооптимизированный нативный код (LLVM).

Возможности

  • Автоматическое дифференцирование.
  • JIT-компиляция графов.
  • Поддержка CPU и GPU (CUDA).
  • Минимальные накладные расходы: нет Python-интерпретатора и лишних библиотек.

Примеры

let x = Cpu::tensor([1.0, 2.0, 3.0]);
let y = x.relu().sum();
let g = y.backward(); // градиент за наносекунды

Установка

cargo add luminal

Статус

Проект в активной разработке; API может меняться.

by jafioti • 20 августа 2025 г. в 16:01 • 119 points

ОригиналHN

#rust#llvm#cuda#jit#deep-learning#automatic-differentiation#machine-learning-frameworks#gpu-computing#github

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

  • Luminal — это ML-фреймворк, который вместо ручных правил формулирует оптимизацию как поиск по огромному пространству возможных ядер (tiling, потоки, инструкции и т.д.) с помощью e-graphs.
  • Сейчас на M-серии MacBook Llama-3 8B Q8 выдаёт 15-25 ток/с; это ниже llama.cpp, но команда строит трекер производительности и продолжает улучшать поиск.
  • Поиск ограничен 12 базовыми линейно-алгебраическими операциями, что делает задачу похожей на «superoptimisation» и позволяет добавлять аппаратно-специфичные инструкции (tensor cores, PTX/ASM) без роста frontend.
  • Для оценки качества ядра используется реальное время выполнения на целевом железе; масштабировать планируют распараллеленным профилированием на кластерах GPU.
  • Отличие от TVM/tinygrad — единое пространство поиска, включающее как параметры тайлинга, так и алгебраические преобразования (например, softmax → flash-attention).

Who Invented Backpropagation? (people.idsia.ch)

Кто изобрел обратное распространение ошибки (backpropagation)

Современный backpropagation (BP) впервые опубликовал в 1970 г. финский магистрант Сеппо Линнайнмаа [BP1][R7]; 2020 г. отмечали 50-летие метода. Предшественник — работа Келли 1960 г. [BPA].

BP — это обратный режим автоматического дифференцирования: стоимость вычисления градиента примерно равна стоимости прямого прохода. Линнайнмаа дал алгоритм для произвольных разреженных сетей и привёл код на FORTRAN; все современные фреймворки (TensorFlow и др.) опираются на его метод.

В 1960-е уже применяли цепное правило Лейбница для градиентного спуска в многослойных системах (Келли, Брайсон, Дрейфус и др.), но без учёта эффективности для разреженных сетей.

Первое применение BP к обучению весов нейросетей — Дрейфус 1973 г.; первое NN-специфическое описание — Вербос 1982 г. [BP2] (в диссертации 1974 г. его ещё нет).

Уже в 1967 г. Амари с учеником Сайто обучал пятислойный перцептрон SGD, получая внутренние представления; это было глубокое обучение задолго до 1980-х. Параллельно Ивахненко строил глубокие сети GMDH (с 1965 г.).

К 1985 г. вычисления подешевели в 1000 раз; Румелхарт и др. показали, что BP формирует полезные скрытые представления.

by nothrowaways • 18 августа 2025 г. в 15:50 • 161 points

ОригиналHN

#backpropagation#fortran#tensorflow#neural-networks#automatic-differentiation#gradient-descent#deep-learning#machine-learning

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

  • Суть спора: кто «изобрёл» backpropagation — Хинтон/Румелхарт (1980-е) или она была раньше в теории управления и автоматическом дифференцировании (1960-е, Kelley, Amari и др.).
  • Большинство участников считают, что это лишь эффективное применение цепного правила, которое переоткрывалось множество раз.
  • Юрген Шмидхубер подаётся как главный «скептик», обвиняющий академическое сообщество в игнорировании более ранних работ.
  • Некоторые подчеркивают, что решающим стало не само «изобретение», а переход к GPU и масштабируемым фреймворкам в 2010-х.