Ventaja de rendimiento al conectar GPUs con NVLink en IA

¿Qué ganancia real obtienes al conectar dos tarjetas gráficas para IA? Es un tema que suele generar muchas expectativas, pero la realidad del hardware es bastante matizada. Vamos a desglosar qué pasa cuando intentas unir una RTX 3060 con una RTX 3090 usando NVLink.

Vista detallada del conector NVLink de una GPU NVIDIA RTX 3090.
El conector físico NVLink en una tarjeta gráfica de alta gama.

Lo primero que hay que entender es el mito de la velocidad. A menudo se piensa que al conectar dos tarjetas, la potencia bruta y la velocidad de procesamiento se suman automáticamente. Sin embargo, los números aproximados muestran que esto no ocurre. Con una RTX 3060 sola tienes unos ~13 TFLOPS FP32, mientras que una RTX 3090 solitaria alcanza los ~36 TFLOPS.

Al unir ambas, la potencia de cálculo no se suma automáticamente; en muchos programas, la tarjeta más pequeña puede incluso convertirse en un cuello de botella. Lo que sí obtienes es VRAM total utilizable. Si una capa del modelo está en la 3060 y otra en la 3090, los datos deben viajar constantemente entre ambas, lo que a veces resulta en menor rendimiento que usar solo la 3090.

La ventaja real de este setup es la capacidad de memoria. Con una sola RTX 3090 puedes manejar modelos de 30B-40B cuantizados cómodamente, pero al añadir la 3060, algunos modelos de 70B podrían entrar parcialmente en VRAM.

¿Y qué pasa si cambiamos a dos tarjetas RTX 3090? Aquí la historia cambia bastante. Al tener dos GPUs iguales que sí pueden enlazarse entre sí, el escenario es diferente para tareas como el entrenamiento o fine-tuning. Con frameworks como PyTorch y DeepSpeed, puedes acercarte a un rendimiento de 1.7x, 1.8x o incluso 1.9x respecto a una sola GPU.

En la inferencia de modelos grandes, tener esos 48 GB disponibles es lo que realmente importa para cargar modelos masivos en local, aunque la velocidad de generación rara vez se duplica. En resumen, el salto mayor sigue siendo pasar a una tarjeta más potente como una RTX 3090; añadir una segunda GPU pequeña no da aceleración significativa, pero sí abre la puerta a ejecutar modelos que simplemente no cabrían en una sola.