Fast Deep Learning with Categories
summary
Builds a Haskell-to-GPU pipeline: plain Haskell neural nets get transformed by ConCat into categorical form, compiled to a reverse AD category using the Dual trick (no runtime tapes), then specialized back and lowered to Accelerate for CPU/GPU (and TF‑Lite for TPUs). Reports roughly 10x speedup moving from naive functional code to Accelerate on CPU, runs on edge devices, and handles autoencoders and convolutional nets. Main limits: a fragile GHC plugin, trouble with nested/higher‑order arrays, and pragmatic fixes in the ConCat + Accelerate pipeline.
AI-written summary · about
chapters (16)
- 0:00Introduction
- 1:25Zens and anomaly detection context
- 3:30Edge computing constraints
- 5:37Derivatives in deep learning
- 8:05Haskell neural networks
- 12:22Derivatives and category theory
- 16:16Chain rule in categories
- 18:27Haskell derivatives implementation
- 20:13GHC plugin for transformations
- 23:27Accelerate for GPU
- 27:00Nested vectors challenges
- 31:54Optimizing computations
- 32:41Compiler pipeline results
- 35:19Reusable architecture benefits
- 36:21Caveats and limitations
- 38:07Q&A
related talks
01h 27mCatBoost - The New Generation of Gradient Boosting
25mMore Clojure Less Complication
01h 28mMastering gradient boosting with CatBoost
01h 00mDeep Learning Revolution: Rethinking Machine Learning Pipelines
44mVulpes: A functional approach to deep machine learning on the GPU
48mEnhancing your Haskell with Dependently Typed Programming
37mMonadic Deep Learning
12mDemo: NVIDIA's use of Catapult HLS for Building ML Inference Accelerators
