Control Room
A medida que nuestros modelos se vuelven más potentes y aumentan los riesgos asociados a su seguridad y protección, resulta cada vez más crucial poder detectar posibles problemas y detener los modelos rápidamente cuando sea necesario. Para resolverlo, hemos creado Control Room.
Control Room es un sistema central que permite supervisar las cargas de trabajo de los modelos en toda nuestra infraestructura de investigación y detenerlas rápidamente cuando surgen riesgos de seguridad o protección. Conecta todas las cargas de trabajo de inferencia de investigación, incluido el muestreo con agentes para el entrenamiento y la evaluación de modelos, el procesamiento de datos y otras tareas. Funciona junto con nuestros sistemas de supervisión de comportamientos no alineados y detiene la generación de contenido del modelo en un máximo de 35 segundos desde que se decide intervenir para detener o pausar una tarea. Está diseñado para seguir funcionando incluso cuando fallan otros sistemas y para detener la generación de contenido del modelo si el propio Control Room deja de funcionar.
Control Room ya está desplegado en toda nuestra infraestructura de investigación, donde más se necesita. La infraestructura con la que ofrecemos modelos a usuarios externos ya está mucho más centralizada por su propia naturaleza y cuenta con una capacidad operativa consolidada para desactivar rápidamente los despliegues de modelos si es necesario.
Control Room funciona integrando varios sistemas: la carga de trabajo, el motor de inferencia y el servicio de Control Room centralizado.
La carga de trabajo es la tarea que se ejecuta, como un experimento de aprendizaje por refuerzo, una evaluación o una tarea de muestreo a gran escala o de procesamiento de datos. Exigimos que toda carga de trabajo de investigación que realice inferencias con agentes esté asociada a una argumentación de seguridad aprobada.
El motor de inferencia, o simplemente motor, es el propio modelo. Puedes imaginar el motor como el cerebro del modelo, que se ejecuta directamente en las GPU. Una carga de trabajo suele utilizar uno o varios modelos, que pueden ejecutarse en uno o varios motores de inferencia distintos. Un mismo motor de inferencia puede ser utilizado por varias cargas de trabajo distintas.
El servicio de Control Room supervisa las tareas y controla si tienen permiso para seguir generando contenido con los modelos. Los motores consultan al servicio de Control Room antes de atender una solicitud. Si una tarea se ha detenido, el servicio deniega la solicitud e impide que se genere más contenido.
Control Room se integra de la siguiente manera:
Al iniciar una nueva tarea, el código de la carga de trabajo solicita un nuevo job_id a Control Room.
Cada vez que la carga de trabajo necesita muestrear tokens de un modelo, envía una solicitud a un motor de inferencia que ejecute ese modelo e incluye el job_id. El motor pide permiso a Control Room para atender esa solicitud y le envía el job_id.
Control Room comprueba si la tarea se ha detenido y, en ese caso, deniega la solicitud de inferencia. El motor rechaza la solicitud de inferencia de la carga de trabajo e impide que el modelo genere más contenido para esa tarea.
Cómo funciona Control Room
Tarea de investigación
Motor de inferencia
Ejecuta el modelo en las GPU
Control Room
- job_039, activa
- job_040, activa
- job_041, activa
Todas nuestras tareas de aprendizaje por refuerzo con modelos de vanguardia se ejecutan con un supervisor. Un supervisor es otro modelo que inspecciona todo lo que hace el modelo que se está entrenando y emite una alerta si detecta un problema. Por ejemplo, nuestro reciente incidente relacionado con DNS(se abre en una ventana nueva) fue detectado por un supervisor.
Control Room y nuestro sistema de supervisión se integran de la siguiente manera:
Si el sistema de supervisión detecta un posible problema, puede decidir detener la tarea en función de sus características y gravedad.
En ese caso, el sistema de supervisión envía un mensaje a Control Room para detener la tarea e incluye el job_id. Control Room registra que la tarea se ha detenido.
La próxima vez que la tarea con ese job_id envíe una solicitud de inferencia para muestrear más tokens de cualquier modelo que se ejecute en cualquier motor, la solicitud se denegará y se impedirá que el modelo genere más contenido.
El tiempo máximo entre el momento en que Control Room recibe una instrucción para detener una tarea y el momento en que esta ya no puede avanzar es de 35 segundos. Ese retraso de 35 segundos se debe a una capa de caché para la autorización de inferencias, necesaria para soportar el volumen de tráfico requerido. Estamos trabajando para reducir ese tiempo a cero y poder detener las tareas al instante.
Las cargas de trabajo, como los experimentos, las tareas de evaluación, etc., suelen estar a cargo de investigadores o equipos de investigación, que se ocupan de gestionarlas. Por eso, el código de las cargas de trabajo cambia con frecuencia y no es el lugar idóneo para implementar las protecciones esenciales de las que depende la seguridad. Por este motivo, nuestra implementación está diseñada para resistir los errores o fallos en el código de las cargas de trabajo.
Lo conseguimos implementando el mecanismo de detención en la capa de inferencia. El código de las cargas de trabajo es muy diverso y está descentralizado. En cambio, en toda la investigación de OpenAI solo se utiliza un número muy reducido de rutas de código para la inferencia, y sus despliegues son mucho más centralizados y uniformes. Esto permite que la capa de inferencia actúe como punto de paso obligatorio, donde podemos obtener garantías sólidas de que toda inferencia de modelos realizada en investigación está sujeta a las comprobaciones de autorización de Control Room en cada solicitud. Además, realizamos comprobaciones continuas mediante agentes y programas para verificar que los usuarios no pongan en marcha, por accidente o de forma malintencionada, implementaciones de motores no controladas en las que Control Room no esté implementado o esté desactivado.
Por último, nuestro sistema «bloquea el acceso en caso de fallo»: la integración de Control Room en los motores está configurada de modo que, si el servicio de Control Room deja de funcionar, ya sea por un error del sistema o porque se desactiva por cualquier otro motivo, incluida la manipulación por parte de un actor malintencionado, todas las solicitudes de inferencia se deniegan hasta que Control Room vuelve a funcionar con normalidad. El bloqueo en caso de fallo ya está implementado en todas las cargas de trabajo de investigación con modelos de vanguardia y terminará de desplegarse en el resto de las cargas de trabajo de investigación en los próximos días.
Control Room es solo una parte de nuestro enfoque integral para entrenar y desplegar modelos de vanguardia de forma segura. Seguiremos reforzando y ampliando el sistema en los próximos meses, además de invertir en la supervisión para detectar comportamientos no alineados y brechas de seguridad. Si quieres ayudar a crear sistemas para desarrollar y desplegar la IAG de forma segura y protegida, ¡estamos contratando!

