Monitor Más Monitor


Primeros detalles de Singularity

Primeros detalles de Singularity
26 expertos de Microsoft trabajan en su desarrollo

Publicación:22-02-2022
++--

El servicio de infraestructura de Inteligencia Artificial de Microsoft.

Microsoft está trabajando en el desarrollo de un nuevo servicio de infraestructura de Inteligencia Artificial. Se llama Singularity, y en su creación trabajan equipos de expertos de las áreas de Microsoft Azure y Microsoft Research. Llevan ya un tiempo colaborando en su desarrollo, pero no ha sido hasta ahora cuando los de Redmond han decidido hacer públicos algunos detalles de este servicio. Parte de ello se ha conocido a través de varias ofertas de trabajo para el grupo, en las que se piden profesionales para trabajar en «un servicio de plataforma de Inteligencia Artificial nuevo desarrollado desde cero y que se convertirá en un gran impulsor para la IA, tanto en el seno de Microsoft como fuera de la compañía«.

Además, un grupo de 26 expertos de Microsoft que trabajan en su desarrollo, entre los que está el CTO de Azure, Mark Russinovich, ha publicado un estudio titulado «Singularity: Planet-Scale, Preemptible and Elastic Scheduling of AI Workloads» (Singularity: programación preferente y elástica a escala mundial de cargas de trabajo de Inteligencia Artificial»), con algunos detalles técnicos sobre el proyecto. Asimismo, señala que el servicio que ofrecerá Singularity está pensado para dar acceso a científicos de datos, y a quienes trabajen con inteligencia Artificial, un sistema para desarrollar, escalar y experimentar con sus modelos. Esto podrán hacerlo con Singularity, que es un servicio de infraestructura distribuida desarrollado a medida para el trabajo con IA.

En este estudio se detalla que «en el núcleo de Singularity hay un programador nuevo que percibe las cargas de trabajo, y que puede escalar, de manera transparente, preventiva y elástica, las cargas de trabajo de deep learning para facilitar un uso alto que no tenga impacto en su corrección o en su rendimiento, a través de una flota de aceleradores. Entre ellos GPUs y FGPAs«. Además, también se habla de que con este servicio, y gracias al programador mencionado, la compañía podrá controlar costes.

Lo que más se detalla en el estudio es este programador, aunque ofrece algunos otros datos que dan pistas sobre la arquitectura del sistema. Así, un análisis del rendimiento de Singularity menciona una ejecución de prueba en servidores Nvidia DGX-2 con un Xeon Platinum 8168 con dos sockets de 20 núcleos cada uno, ocho GPUs V100 por servidor, 692 GB de RAM y una red basada en Infiniband. La flota de Singularity cuenta con miles de GPUs, así como FPGAs y es posible que otros aceleradores.

El software del sistema desacopla automáticamente las tareas de los recursos del acelerador, lo que implica que cuando las tareas se escalan en ascendente o descendente, basta con «cambiar el número de dispositivos a los que están conectados los empleados. Esto es completamente transparente para el usuario, mientras que el tamaño de la tarea sigue siendo la misma, sin importar cuántos dispositivos físicos están realizándola«. Esto es posible gracias a una nueva técnica llamada «unión de réplicas«, con la que «se puede dividir el tiempo de varios trabajadores en el mismo dispositivo con costes mínimos, permitiendo a cada trabajador utilizar toda la memoria del dispositivo«.

Para ello, los autores necesitan lo que los expertos que trabajan en Singularity han denominado «dispositivo proxy«, y que «se ejecuta en su propio espacio de dirección y tiene una correspondencia uno a uno con un dispositivo acelerador físico«. Así, cuanto un trabajador inicializa las APIs del dispositivo «se las intercepta y se las envía, a través de la memoria compartida, al proxy de proceso del dispositivo, que se ejecuta en un espacio de direcciones distinto, y cuyo tiempo de vida es independiente del que tiene el proceso del trabajador«. Todo esto hace posible programar más tareas y hacerlo de manera más eficiente, lo que permite poner en servicio miles de servidores, y hacerlo durante más tiempo. Además, también permite el escalado rápido, para crecer o decrecer, sin problemas.

No es la primera vez que en Microsoft han barajado planes para hacer que los FPGAs (arrays de puertas programables) estuvieran disponibles como servicio para sus clientes. En 2018 Microsoft lanzó el Proyecto Brainwave, diseñado para ofrecer un proceso rápido de la Inteligencia Artificial en Azure. Entonces, Microsoft desveló una versión precia de los Modelos acelerados de machine learning de Azure, impulsados por Brainwave en la nube.

Esto se consideró como un primer paso en hacer que los clientes pudiesen acceder al proceso de FPGA para cargas de trabajo de Inteligencia Artificial. Es posible que Singularity sea la siguiente fase en la conversión de Brainwave en un servicio disponible a clientes, pero por ahora no se sabe a ciencia cierta si es así. Tampoco cuándo estará disponible públicamente.



« Especial »