Temas principales del post:
Binance utiliza modelos de aprendizaje automático para monitorear actividades sospechosas en la plataforma.
Un problema conocido como características obsoletas o inexactas puede afectar negativamente el rendimiento de dichos modelos, provocando que realicen predicciones o clasificaciones inexactas.
Nuestro proceso de transmisión, o el proceso de alimentar continuamente el modelo con datos en tiempo real, consta de dos partes: procesamiento de datos y entrega de datos.
El procesamiento de datos se divide en tres categorías: computación de flujo, captura de datos (ingesta) y drenaje de datos (hundimiento).
Nuestro equipo de riesgo de IA formado por ingenieros de aprendizaje automático y científicos de datos trabaja las 24 horas del día para combatir el fraude y proteger a los usuarios de Binance. Para lograr esto, utilizan soluciones impulsadas por inteligencia artificial que pueden identificar y reaccionar contra amenazas potenciales como estafas entre pares (P2P), robo de detalles de pagos y ataques de apropiación de cuentas (ATO), por nombrar algunos.
En este artículo, cubriremos cómo nuestro equipo de riesgo de IA utiliza un canal para garantizar respuestas en tiempo real, así como lo que sucede detrás de escena.
Si no está familiarizado con el aprendizaje automático, le recomendamos leer la siguiente sección para obtener una descripción general básica de algunos de los términos que usaremos a lo largo de este artículo.
Lote y flujo
Normalmente, los ingenieros de aprendizaje automático utilizan dos tipos de canalizaciones: por lotes y por streaming. Ambos tienen sus pros y sus contras, dependiendo de lo que requiera la situación.
Las canalizaciones por lotes, como su nombre indica, procesan datos en lotes. Generalmente, los ingenieros los utilizan para procesar grandes volúmenes de datos.
Por otro lado, los canales de streaming procesan los datos en tiempo real a medida que se recopilan. Esto los hace ideales para situaciones que requieren una respuesta casi instantánea; por ejemplo, detectar a un hacker antes de que pueda retirar fondos de una cuenta robada.
Ambos oleoductos son igualmente importantes. Las canalizaciones de flujo son excelentes para proporcionar respuestas en tiempo real, mientras que las canalizaciones por lotes son mejores para manejar grandes volúmenes de datos.
En el caso de la prevención del fraude, debemos priorizar los datos en tiempo real para evitar una situación llamada "modelo obsoleto", que se refiere a modelos de aprendizaje automático obsoletos o inexactos.
El significado de estancamiento (obsoleto)
Así como las personas pueden volverse menos efectivas en una tarea si no están actualizadas con la información o las técnicas más recientes, los modelos de aprendizaje automático también pueden volverse menos precisos si no se actualizan periódicamente según la situación.
Lo que no se desea es que un modelo diseñado para evitar el fraude quede obsoleto. Las consecuencias van desde que el modelo etiquete incorrectamente una transacción legítima como fraudulenta hasta no identificar una cuenta comprometida. Por lo tanto, utilizamos un canal de transmisión para garantizar que los modelos de prevención de fraude funcionen con datos en tiempo real.
Procesamiento para un modelo de ataques de adquisición de cuentas (ATO)
Tomemos un ejemplo de nuestro modelo ATO, que entrenamos para identificar cuentas que los delincuentes han tomado con intenciones maliciosas. Una de las características que mide este modelo es la cantidad de transacciones que un cliente específico realizó en el último minuto.
Los piratas informáticos tienden a seguir un patrón secuencial al realizar una gran cantidad de operaciones, como retiros, en un período corto. Nuestro sistema debe identificar esta particularidad lo más rápido posible en caso de posibles amenazas. Esto significa minimizar los retrasos entre el momento en que un usuario realiza una acción y el momento en que nuestros modelos procesan los datos de actividad del usuario. Sólo unos segundos pueden marcar la diferencia entre detener a un hacker y que un usuario pierda todo su dinero.
Para obtener más información sobre cómo las funciones retrasadas afectan el rendimiento del modelo, puede consultar este artículo de ingeniería de LinkedIn: Funciones casi en tiempo real para una personalización casi en tiempo real.
El papel del procesamiento por lotes
Tenga en cuenta que la importancia de la función desactualizada puede depender del modelo o función que se utilice. Por ejemplo, algunas funciones son relativamente estables. En el caso de la ATO mencionada anteriormente, también necesitaríamos recuperar los datos de retiro de los usuarios durante los últimos 30 días para calcular un índice basado en las transacciones más recientes.
En este caso, el procesamiento por lotes durante períodos más largos, como intervalos diarios o de una hora, es aceptable, a pesar de la mayor desactualización resultante de esperar a que los datos lleguen a los almacenes de datos y ejecutar trabajos por lotes periódicamente.
Equilibrando actualización y latencia
En última instancia, la elección entre canalizaciones por lotes y flujos debe realizarse en función de los requisitos y capacidades del caso de uso específico en cuestión. Considerar cuidadosamente estos factores nos permite construir sistemas efectivos de prevención de fraude que protejan a nuestros usuarios.

El uso de una canalización de transmisión nos permite priorizar la actualización sobre la latencia para recursos urgentes. El diagrama anterior ilustra esta necesidad, ya que el recuento de operaciones para recuperar los recursos debe ser tres en lugar de dos.
Es por eso que contar con un canal de aprendizaje automático en tiempo real es crucial para las operaciones diarias de nuestro equipo de riesgos.
Detalles del canal de transmisión
El aprendizaje automático en tiempo real del equipo de Binance AI Risk consta principalmente de dos partes:
Procesamiento de datos (parte superior del diagrama)
Entrega de datos (parte inferior del diagrama)

Proceso de datos
En cuanto al procesamiento de datos, podemos dividir nuestro canal de transmisión (Flink Job) en tres categorías según sus responsabilidades:
Procesamiento de flujo: ingeniería de funciones
Captura de datos: captura de funciones
Drenaje de datos: enriquecimiento de datos
Procesamiento de flujo
El componente de procesamiento de flujo de la canalización es responsable de la ingeniería de características casi en tiempo real, el proceso de extracción de características a partir de datos sin procesar.
Preprocesa características que nuestros modelos de aprendizaje automático utilizarán para la predicción en línea. Hay dos tipos de métodos de procesamiento para la canalización de flujo: basado en tiempo y basado en eventos.
Basado en el tiempo. Calcula el número de transacciones cada 10 minutos. Este proceso está algo desactualizado, pero reduce la latencia.
Basado en eventos. Calcula recursos en función del evento que está sucediendo. Este proceso reduce el estancamiento pero aumenta ligeramente la latencia.
Nuestra preferencia es no utilizar el procesamiento en tiempo real tanto como sea posible y este es el motivo:
Existe un equilibrio entre latencia y desactualización. A medida que llegan las solicitudes en línea, el procesamiento de recursos limita la lógica de procesamiento a enfoques livianos. Aunque este método reduce el estancamiento, el procesamiento de recursos aumenta la latencia de predicción.
El escalamiento independiente es un desafío porque los servicios de pronóstico y procesamiento dependen unos de otros.
El procesamiento bajo demanda basado en la cantidad solicitada crea una presión de escala impredecible.
El procesamiento en tiempo real no es adaptable a nuestro monitoreo de modelos (sesgo de servicio de capacitación, una discrepancia que puede ocurrir entre el desempeño de un modelo durante el entrenamiento y su efectividad cuando se implementa) y a las soluciones de monitoreo de recursos porque los recursos no se almacenan en una base de datos central, es decir. , un depósito de recursos.
captura de datos
El componente de captura de datos es responsable de capturar, casi en tiempo real, funciones en nuestro repositorio de funciones de la plataforma de aprendizaje automático Kafka. Los repositorios de funciones son bases de datos centralizadas que albergan funciones de uso común y desempeñan un papel esencial en los procesos de aprendizaje automático. Puede obtener más información sobre ellos en los siguientes artículos: Una mirada en profundidad a nuestra capacidad de aprendizaje automático y Uso de MLOps para crear un canal de aprendizaje automático de un extremo a otro en tiempo real.
Drenaje de datos
El componente de drenaje de datos es el principal responsable de recopilar eventos en tiempo real hacia un destino específico, como sistemas de archivos altamente distribuidos (HDFS) como S3 u otras bases de datos externas como ElasticSearch, según los requisitos del proyecto.
Para nuestro equipo de riesgo de IA, generalmente existen dos patrones de enriquecimiento de datos que se pueden aplicar a datos en tiempo real en Kafka según el caso de uso:
Datos estáticos. Por ejemplo, recuperar una lista de creadores populares en S3 para proyectos comerciales relacionados con P2P en trabajos de Flink. Los datos de referencia son estáticos y solo necesitan actualizarse menos de una vez al mes.
Datos dinámicos. Los tipos de cambio en tiempo real (BTC a USD, por ejemplo) se obtienen de bases de datos externas como Redis. La búsqueda de registros garantiza una baja latencia y una alta precisión si cambian los datos de referencia.
Entrega de datos
El componente de entrega de datos del proceso es responsable de la previsión en línea y el procesamiento por lotes.
Pronóstico en línea. Ocurre cuando las solicitudes llegan a través de Decision Hub (el motor de reglas internas de nuestro equipo de riesgos). El servicio correspondiente solicitará al repositorio de funciones que recupere las funciones y las envíe al modelo de aprendizaje automático para etiquetarlas. Nuestro equipo de riesgos de IA cuenta con más de 20 modelos de aprendizaje automático diseñados para abordar diferentes requisitos comerciales.
Procesamiento por lotes. Aunque puede introducir un retraso de hasta unos días, juega un papel importante ya que complementa los recursos procesados en tiempo real.
Consideraciones finales
Es importante tener en cuenta que el mercado de cifrado opera las 24 horas del día, los 7 días de la semana, a diferencia de los mercados financieros tradicionales que tienen horarios de apertura y cierre. Cada segundo, hay un flujo continuo de nuevos datos (retiros, depósitos, operaciones, etc.) que nos obliga a estar atentos a los delincuentes que intentan robar fondos o información personal de los usuarios.
Nuestro equipo de riesgos de IA ha estado trabajando incansablemente para desarrollar y mantener un sofisticado sistema de IA que pueda detectar eficazmente actividades sospechosas. Gracias a los esfuerzos de este equipo, podemos trabajar rápidamente para proteger las cuentas de Binance comprometidas de posibles pérdidas o mitigar el daño tanto como sea posible.
Manténgase atento para obtener más información sobre nuestros esfuerzos de aprendizaje automático o consulte algunos de nuestros artículos anteriores a continuación. ¿Interesado en una carrera de aprendizaje automático en Binance? Consulte Binance Engineering en nuestra página de carreras para conocer los puestos vacantes.
Lectura adicional
Una mirada en profundidad a nuestra capacidad de aprendizaje automático
Uso de MLOps para crear un canal de aprendizaje automático de un extremo a otro en tiempo real
Un estudio de caso de ingeniería de funciones sobre coherencia y detección de fraude
