tpu-gpu-cost



TPUs and GPUs can differ significantly in cost:

TPUs:

TPUs are typically available as a cloud service, like Google Cloud TPUs. This means you only pay for the time you use the TPUs, rather than having to buy the hardware upfront.

Google Cloud TPU pricing is based on TPU core hours. As of 2019, 1 TPU v2 core (about 180 teraflops) costs $6.50/hour, and 1 TPU v3 core (about 420 teraflops) costs $8.50/hour.

For large workloads, renting TPUs from a cloud provider like Google can be very cost effective since you get access to their latest hardware without the big upfront capital costs.

GPUs:

GPUs are often purchased upfront as physical hardware that you then own and operate yourself. High-end GPUs for machine learning, like the NVIDIA V100, can cost $50,000-$100,000 per GPU.

GPUs also available as cloud services from providers like AWS, Azure and GCP. However, GPU cloud pricing is often higher than TPU cloud pricing. For example, 1 NVIDIA V100 on AWS costs $3/hour, 50% more than a TPU v3 core.

Operating and maintaining your own on-prem GPU servers also incurs additional costs like power, cooling, IT overhead, etc. So all-in costs tend to be lower with cloud-based GPU/TPU options.

In summary, TPUs typically provide a more cost-effective option, especially if using Google Cloud TPUs. However, GPUs can be better if you get them at a large enough scale, want maximum performance per chip, or need flexibility/control that comes with managing your own servers. The cost difference also depends a lot on how much computing power you actually need for your machine learning workloads.

For small-to-medium sized ML projects, I would generally recommend starting with a cloud-based option like Google Cloud TPUs. Then you can scale to GPUs if needed for larger projects or more advanced models. Let me know if you have any other questions!