Что такое концепция вычислительных графов
Что проверяют
Понимаете ли вы, что за автоматическим дифференцированием и за планировщиком распределённых вычислений стоит одна и та же структура. Для этой специальности вопрос двойной: граф операций в фреймворке обучения и граф задач в конвейере обработки данных разбираются по-разному.
Как отвечать
Вычислительный граф это направленный ациклический граф, где узлы это операции, а рёбра данные между ними. Такое описание даёт две возможности: выполнить вычисление не сразу, а после оптимизации плана, и обойти граф в обратную сторону.
В обучении моделей обратный обход и есть обратное распространение ошибки: прямой проход строит граф и запоминает промежуточные значения, обратный идёт в обратном топологическом порядке и по правилу дифференцирования сложной функции накапливает градиенты. Отсюда и расход памяти на активации, и приём с их пересчётом вместо хранения.
Разделите статический и динамический подходы. Статический граф описан заранее целиком, поэтому его можно оптимизировать: сливать операции, подбирать ядра, выносить исполнение за пределы интерпретатора. Динамический строится на лету, зато в нём работают обычные ветвления, циклы и отладчик. Современные фреймворки идут вторым путём, а к первому возвращаются трассировкой или компиляцией горячих участков.
В конвейерах данных та же механика: цепочка преобразований строит план, ленивый до вызова действия, и движок успевает подвинуть фильтры ближе к источнику и объединить шаги.
Где спотыкаются
Говорят, что вычислительный граф означает ленивые вычисления. В динамическом режиме операции исполняются сразу, а граф лишь записывается по ходу для обратного прохода.
Считают граф средством отладки. Всё наоборот: пока вычисление описано заранее, в ошибке видны узлы плана, а не ваши строки, поэтому несходящиеся размерности ищут в активном режиме и только потом компилируют.
Забывают про границы графа. Любая операция, вытаскивающая значение в обычный код (ветвление по результату, печать, перевод в массив), рвёт граф и заставляет дождаться вычислений. Внутри цикла обучения это съедает весь выигрыш.