ICE: Intelligent Caching at the Edge