Apparate: Rethinking Early Exits to Tame Latency-Throughput Tensions in ML Serving