Conclusiones principales
Binance utiliza modelos de aprendizaje automático para monitorear actividades sospechosas en la plataforma.
Un problema conocido como características obsoletas 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 servicio de datos.
El procesamiento de datos se divide a su vez en tres categorías: computación en flujo, ingesta y hundimiento.
Descubra cómo utilizamos el aprendizaje automático para salvaguardar el ecosistema de Binance.
Nuestro equipo de IA de riesgo, 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 responder a amenazas potenciales, como estafas entre pares (P2P), robo de detalles de pago y ataques de apropiación de cuentas (ATO), por nombrar algunos.
En este artículo, explicaremos cómo nuestro equipo de IA de riesgos utiliza un canal de transmisión para garantizar respuestas en tiempo real, además de 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 básica de algunos de los términos que usaremos a lo largo de este artículo.
Lote y transmisión
Los ingenieros de aprendizaje automático suelen utilizar 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. Los ingenieros suelen utilizarlos para procesar grandes volúmenes de datos.
Por otro lado, los canales de transmisión procesan 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 pirata informático antes de que pueda retirar fondos de una cuenta robada.
Tenga en cuenta que ambos conductos son igualmente importantes. Los canales de transmisión son excelentes para proporcionar respuestas en tiempo real, mientras que los canales 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 que los modelos de aprendizaje automático se vuelven obsoletos o inexactos.
La importancia del estancamiento
Así como las personas pueden volverse menos efectivas en una tarea si no se mantienen 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 un modelo diseñado para evitar que el fraude quede obsoleto. Las consecuencias van desde que el modelo etiquete incorrectamente una transacción legítima como fraudulenta o no identifique 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.
Computación para un modelo de adquisición de cuentas (ATO)
Tomemos un ejemplo de nuestro modelo ATO, que entrenamos para identificar cuentas que los delincuentes han secuestrado con intenciones maliciosas. Una de las características que mide este modelo es la cantidad de transacciones que ha realizado un cliente específico en el último minuto.
Los piratas informáticos tienden a seguir un patrón secuencial y realizan una gran cantidad de operaciones, como retiros, durante un período corto. Nuestro sistema debe calcular esta característica lo antes posible en caso de posibles amenazas. Esto significa minimizar los retrasos entre el momento en que el usuario realiza una acción y el momento en que nuestros modelos procesan los datos de actividad de este 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 LinkedIn Engineering: Funciones casi en tiempo real para una personalización casi en tiempo real.
El papel de la computación por lotes
Tenga en cuenta que la importancia de la obsolescencia de las funciones puede depender del modelo o función que se utilice. Algunas características, por ejemplo, son relativamente estables. En el caso de ATO mencionado anteriormente, también necesitaríamos recuperar datos sobre los retiros del usuario en los últimos 30 días para calcular un índice basado en sus transacciones más recientes.
En este caso, la computación por lotes durante períodos de tiempo más largos, como intervalos diarios o de una hora, es aceptable a pesar del mayor estancamiento resultante de esperar a que los datos lleguen a los almacenes de datos y a que los trabajos por lotes se ejecuten periódicamente.
Equilibrando la frescura y la latencia
En última instancia, la elección entre canalizaciones por lotes y de streaming debe realizarse en función de los requisitos específicos del caso de uso y las características 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 frescura sobre la latencia para funciones urgentes. El diagrama anterior ilustra esta necesidad, ya que el recuento de operaciones para recuperar características debe ser tres en lugar de dos.
Es por eso que un proceso de aprendizaje automático en tiempo real es crucial para las operaciones diarias de nuestro equipo de riesgos.
Rompiendo el canal de streaming
El aprendizaje automático en tiempo real para el equipo de IA de riesgo de Binance consta principalmente de dos partes:
Procesamiento de datos (parte superior del diagrama)
Servicio de datos (parte inferior del diagrama)

Procesamiento 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:
Computación de flujo: ingeniería de características
Ingestión de secuencias: ingesta de funciones
Hundimiento de flujo: enriquecimiento de datos
Computación de flujo
El componente de computación 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.
Precalcula las características que nuestros modelos de aprendizaje automático utilizarán para la predicción en línea. Hay dos tipos de métodos informáticos para la canalización informática de transmisión: basados en tiempo y basados en eventos.
Basado en el tiempo. Calculando el número de transacciones cada 10 minutos. Esto introduce algo de estancamiento pero reduce la latencia.
Basado en eventos. Calcular características en función del evento que llega. Esto reduce el estancamiento pero aumenta ligeramente la latencia.
Nuestra preferencia es no utilizar la computación en tiempo real tanto como sea posible, y este es el motivo:
Existe un equilibrio entre latencia y estancamiento. Las funciones informáticas a medida que llegan las solicitudes en línea limitan la lógica informática a enfoques ligeros. Si bien este método reduce el estancamiento, el cálculo de características aumenta la latencia de predicción.
Escalar de forma independiente es un desafío, ya que los servicios de predicción y computación dependen unos de otros.
La informática bajo demanda basada en el tráfico de solicitudes crea una presión de escalamiento impredecible.
La computación en tiempo real no se adapta a nuestras soluciones de monitoreo de modelos (sesgo de servicio de capacitación) y monitoreo de características, ya que las características no se almacenan en una base de datos central, es decir, un almacén de características.
Ingestión de flujo
El componente de ingesta de flujo es responsable de la ingesta casi en tiempo real de funciones en nuestro almacén de funciones desde la plataforma de aprendizaje automático Kafka. Los almacenes de funciones son bases de datos centralizadas que albergan funciones de uso común. 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 más cercana a nuestra tienda de funciones de aprendizaje automático y Uso de MLOps para crear un canal de aprendizaje automático de un extremo a otro en tiempo real.
Fregadero de corriente
El componente receptor de flujo es el principal responsable de hundir eventos en tiempo real en 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 IA de riesgo, 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 que se encuentran en S3 para proyectos comerciales relacionados con P2P en trabajos de Flink. Los datos de referencia son estáticos y sólo requieren actualización 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 por registro garantiza una baja latencia y una alta precisión si cambian los datos de referencia.
Servicio de datos
El componente de servicio de datos del canal es responsable de la predicción en línea y la computación por lotes.
Predicción en línea. Esto ocurre cuando las solicitudes llegan a través del Centro de decisiones (el motor de reglas interno de nuestro equipo de riesgos). Luego, el servicio correspondiente llamará a la tienda de funciones para recuperar funciones y enviarlas al modelo de aprendizaje automático para su puntuación. Nuestro equipo de Risk AI cuenta con más de 20 modelos de aprendizaje automático diseñados para manejar diferentes requisitos comerciales.
Computación por lotes. Aunque puede introducir un retraso de hasta unos días, aquí juega un papel importante ya que complementa las funciones calculadas en tiempo real.
Pensamientos 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 una afluencia continua de nuevos datos (retiros, depósitos, operaciones, etc.) que nos obliga a estar atentos a los malos actores que intentan robar fondos o información personal de los usuarios.
Nuestro equipo de IA de riesgos ha trabajado incansablemente para desarrollar y mantener un sofisticado sistema de IA que pueda detectar eficazmente actividades sospechosas. Gracias a sus esfuerzos, podemos trabajar rápidamente para proteger las cuentas comprometidas de Binance 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 las ofertas de trabajo abiertas.
Otras lecturas
Una mirada más cercana a nuestra tienda de funciones 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



