Programming ML Supercomputers: A Deep Dive on Cloud TPUs (Next Rewind ’18)