Computación en la nube y plataformas de datos
En lugar de comprar tarjetas GPU y configurar su propio hardware, puede obtener capacidades similares mediante un servicio de alojamiento en la nube como Amazon AWS, Microsoft Azure o Google Cloud.
Amazon Web Services y Microsoft Azure le permiten crear instancias de máquina virtual de GPU, que puede escalar de manera ascendente y descendente (eliminar recursos para hacer frente a la disminución de la demanda) según sea necesario. Una máquina virtual (VM) es un software que simula un computador físico completo. Debido a que varias VM se pueden ejecutar en un computador existente, son más eficaces que si se contara con un conjunto físico real de hardware para cada sistema. Es por eso que son esenciales para los servicios en la nube.
Al suscribirse a un servicio en la nube, puede crear recursos a medida que los necesite. El pago de los recursos está basado en el uso. Por ejemplo, cuando solo esté experimentando, puede crear una máquina virtual con solo una cantidad limitada de poder de procesamiento y asegurarse de que se apague cuando no la está utilizando. Más adelante, cuando necesite una potencia de procesamiento adicional para entrenar el modelo, puede escalarlo eligiendo una máquina virtual de tamaño diferente. Sin embargo, los costos al utilizar estos servicios pueden aumentar rápidamente, por lo que para experimentar, crear prototipos y avanzar con el aprendizaje, es posible que le resulte más rentable configurar algunas GPU más económicas en su propio hardware local y, a continuación, mover sus proyectos a servicios en la nube solo cuando necesite escalar de forma masiva.
Google Cloud ofrece un producto llamado Tensor Processing Unit (TPU)™ (unidad de procesamiento tensorial), que puede ser más rentable para algunos proyectos. TPU es esencialmente un conjunto de GPU especializadas que se han empaquetado juntas específicamente para admitir operaciones de matriz rápidas. Las TPU se diseñaron con una sofisticada infraestructura de paralelización. Una única TPU en la nube tiene importantes beneficios en cuanto a la velocidad sobre varias GPU y, potencialmente, un menor costo.
Sin embargo, debido a que las TPU son un producto más personalizado (o empaquetado) que las GPU sin procesar, es posible que no sean tan versátiles o flexibles. Para las tareas en las que se pueden utilizar las TPU, estas son una opción más eficaz y rentable. Cuando necesite mayor flexibilidad, utilice las GPU hospedadas en la nube. Mediante el uso de estos recursos de la nube, puede cambiar libremente entre ellos en función de sus necesidades. Por supuesto, se usan de manera un poco diferente, por lo que cambiar entre ellos significa aprender a usar ambos y tomarse el tiempo para configurar sus proyectos para trabajar con uno u otro. Además, desarrollar un flujo de trabajo sin problemas entre la GPU y las TPU puede ser un desafío; tenga en cuenta esto si está considerando una solución que implique ambos tipos de unidades de procesamiento.