How would you explain the underlying math, memory management, and computational graphs that power modern ML frameworks?