I want to do cloud machine learning.
Let’s try this on Amazon Web Services and see what’s awful.
Amazon Machine Images
AWS has launched modern DL VMs at last:
The AWS Deep Learning AMI, now available on AWS Marketplace, lets you run deep learning in the Cloud, at any scale. Launch instances of pre-installed, open source deep learning frameworks, including Apache MXNet, to train sophisticated, custom AI models, experiment with new algorithms, and learn new deep learning skills and techniques. The AWS Deep Learning AMI lets you create managed, auto-scaling clusters of GPUs for large-scale training, or run inference on trained models using the latest versions of MXNet, TensorFlow, Caffe, Theano, Torch, and Keras. With the addition of an Ubuntu version, you have the choice to run on the operating system of your choice. There is no additional charge for the AWS Deep Learning AMI – you pay only for the AWS resources needed to store and run your applications.
- NVIDIA supprted Amazon Linux so GPU works but everything else is broken.
- Amazon Linux based, updated-ish, so GPU drivers are outdated.
- Ubuntu-based, elderly versions which claims to have GPU support, although of course the GPU versions are outdate
- Ubuntu, modern versions, no shits given about GPU support
Fine more unsatisfying compromise choices at the “marketplace”.
Docker deployment I could not be arsed working out how do with the GPU stuff.
- nvidia-docker seems to work as a partial replacement for the normal docker CLI but is clearly a monstrous hack. Tensorflow seems to think that’s OK.
- There are workaround to no use the nvidia docker magicifier too
- Which chipset in which thingy? See the accelerated computing machine guide
- AmazonLambda allows you to just run functions without managing machines, supporting node, java and python. This is what cloud computing was always supposed to do, to my mind.
- AmazonContainerService deploys Docker images in the same way as…
- AmazonEC2 deploys VMs. You will need a VM image - AMI in Amazon parlance - for which, see below.
- handy utils such as s3cmd for uploading your data to Amazon S3
- How to deploy to AWS
- data analysis using AWS and spark.
- fancy spot pricing to save money