Simple Science

Ciencia de vanguardia explicada de forma sencilla

# Informática# Computación distribuida, paralela y en clústeres

Mejorando el Cálculo de Métricas con BSI en WeChat

WeChat mejora la eficiencia en el cálculo de métricas usando tecnología BSI para tomar mejores decisiones.

― 9 minilectura


BSI Mejora la EficienciaBSI Mejora la Eficienciade Métricas de WeChatBSI.métricas usando técnicas innovadoras deWeChat hace más fácil el cálculo de
Tabla de contenidos

Los experimentos controlados en línea, a menudo llamados pruebas A/B, son super comunes entre las empresas tecnológicas como Microsoft, Google y Meta para tomar decisiones basadas en datos. Estos experimentos comparan diferentes versiones de un producto para ver cuál funciona mejor. En el centro de estos experimentos está el proceso de cálculo de métricas, donde se analiza la data para obtener ideas significativas.

A medida que el número de experimentos y métricas crece, calcular estas métricas de manera eficiente se vuelve cada vez más complicado. Este artículo habla de un enfoque específico usado en la plataforma de experimentos de WeChat, que es parte de Tencent, para manejar el cálculo de métricas de manera efectiva usando una técnica llamada aritmética de índice dividido por bits (BSI).

El Desafío del Cálculo de Métricas

En la plataforma de experimentos de WeChat, se calculan miles de métricas cada día, ya que muchos experimentos se ejecutan al mismo tiempo. Cada experimento afecta a millones de usuarios, lo que resulta en una cantidad enorme de data que necesita ser procesada. El cálculo de métricas requiere muchos recursos, demandando un tráfico de red significativo y potencia de CPU.

El objetivo principal es calcular varias métricas de manera eficiente y responder rápidamente a las consultas de los usuarios. Esto es crucial porque la cantidad de data involucrada puede ser abrumadora, provocando retrasos e ineficiencias si no se gestiona adecuadamente.

Características de los Datos de Experimento en WeChat

Los datos de los experimentos en WeChat pueden clasificarse según actividades y atributos de los usuarios. Esta data a menudo sigue el principio de Pareto, lo que significa que una pequeña parte de los datos (alrededor del 20%) representa una gran parte de los resultados (alrededor del 80%). Esta característica ayuda a optimizar el cálculo de métricas cuando se utiliza BSI.

Las consultas comunes sobre estos datos siguen patrones específicos, lo que permite soluciones especializadas que pueden manejar estas consultas de manera efectiva. El artículo detalla cómo se puede aplicar BSI para representar y calcular datos de experimentos.

Representando Datos de Experimentos con BSI

El primer paso para utilizar BSI es representar correctamente los datos de los experimentos. Esto incluye varios tipos de registros, como los registros de exposición, registros de métricas y registros de dimensiones.

Registro de Exposición

El registro de exposición anota qué estrategias se presentan a diferentes usuarios cuando comienza un experimento. Cada entrada incluye el ID de estrategia, el ID de unidad de análisis, el ID de unidad de aleatorización y la fecha en que comenzó. Este registro ayuda a rastrear qué usuarios reciben qué estrategia durante el experimento.

Registro de Métricas

El registro de métricas captura los valores de métricas reales para cada unidad de análisis a lo largo del tiempo. Por ejemplo, podría incluir datos sobre cuánto tiempo los usuarios permanecieron en una página o cuántas veces reenvían un mensaje. Este registro se conecta con el registro de exposición para analizar el impacto de las estrategias en el comportamiento del usuario.

Registro de Dimensiones

El registro de dimensiones contiene atributos de los usuarios, como edad o tipo de cliente, que pueden ayudar a segmentar y analizar los datos de los experimentos de manera más completa. Este registro es importante para filtrar usuarios específicos y realizar análisis detallados del experimento.

Cálculo Eficiente Usando BSI

Usar BSI para el cálculo de métricas ayuda a manejar las enormes cantidades de datos procesados cada día en WeChat. El enfoque de BSI se centra en representar y operar sobre los datos de una manera que maximiza la eficiencia, especialmente en relación con las siguientes características:

  1. Compresión: BSI comprime datos, reduciendo su tamaño y facilitando el procesamiento por parte del sistema.

  2. Operaciones Eficientes: Operaciones estándar como unir, filtrar y agregar se pueden realizar rápidamente usando BSI. Esto significa que el sistema puede manejar cálculos de métricas sin grandes retrasos.

  3. Manejo de Varianza: Además de calcular métricas simples, BSI también puede estimar varianza y covarianza, lo que es crítico para el análisis estadístico.

Cálculo de Métricas con Aritmética BSI

La lógica central del cálculo de métricas en WeChat se basa en las operaciones BSI. Esto incluye operaciones básicas de SQL como unir y agregar, que se realizan en las representaciones BSI.

Operaciones de Unir, Filtrar y Agregar

  • Unir: BSI permite unir rápidamente diferentes registros basados en el ID de unidad de análisis.
  • Filtrar: Se pueden filtrar entradas específicas usando columnas normales o condiciones BSI.
  • Agregar: Funciones para calcular sumas, promedios y otras métricas se ejecutan de manera eficiente en el formato BSI.

Estas capacidades hacen que BSI sea especialmente poderoso para procesar grandes conjuntos de datos típicos de experimentos controlados.

Cálculo de Scorecards

Un scorecard es un resultado común de un experimento, mostrando cómo diferentes estrategias se desempeñaron según varias métricas. En WeChat, un scorecard puede calcular cientos de métricas a través de millones de usuarios cada día.

El cálculo de scorecards se optimiza usando BSI, reduciendo los recursos de cálculo necesarios y acelerando el proceso de análisis. Los métodos utilizados para el cálculo de scorecards están diseñados para trabajar eficazmente con la estructura BSI, asegurando resultados precisos y a tiempo.

Cálculo Pre-Experimento

Además de los cálculos en tiempo real, se puede usar data pre-experimento para ayudar a reducir la varianza en las métricas durante los experimentos reales. Esto implica analizar la data antes de comenzar el experimento, permitiendo una mejor comprensión de los resultados esperados.

El método de pre-cálculo sigue una lógica similar a los cálculos de scorecards. Combina el registro de exposición con datos métricos pasados para proporcionar ideas que pueden mejorar el diseño del experimento.

Análisis Profundo

Mientras que el scorecard resume los resultados generales, los dueños de los experimentos a menudo necesitan ideas más detalladas. El análisis profundo permite explorar los datos según atributos de usuario o periodos de tiempo específicos.

Este análisis se realiza según sea necesario y sigue un proceso de cálculo similar, pero incluye filtrado para centrarse en grupos específicos de usuarios o marcos de tiempo. Ayuda a descubrir tendencias e ideas que pueden no ser obvias a partir de resúmenes de alto nivel.

Arquitectura del Sistema para el Cálculo de Métricas

La arquitectura diseñada para el cálculo de métricas en WeChat es un sistema sofisticado que procesa los datos de experimentos de manera eficiente. La arquitectura incluye los siguientes componentes:

  1. Procesamiento de Datos: Los registros iniciales se convierten en representación BSI, que luego se almacena en un sistema de datos distribuido.

  2. Cálculos de Rutina: Se envían trabajos de Spark para calcular scorecards y otras tareas rutinarias usando el formato BSI. Esto permite un procesamiento eficiente de grandes lotes de pares de estrategia-métrica.

  3. Consultas Ad-hoc: Para análisis específicos que no se realizan regularmente, se utiliza Clickhouse. Este sistema de bases de datos está optimizado para manejar consultas rápidamente, permitiendo a los dueños de experimentos obtener las ideas que necesitan sin demoras.

Evaluación del Rendimiento

Se ha evaluado el rendimiento del enfoque BSI en varios escenarios, incluyendo la eficiencia de representación, costos computacionales y tiempos de respuesta para consultas ad-hoc.

Eficiencia de Representación BSI

Los estudios muestran que la representación BSI puede reducir significativamente las necesidades de almacenamiento manteniendo la capacidad de realizar las operaciones necesarias directamente sobre los datos comprimidos. Esto resulta en un sistema más ágil que puede manejar más tareas con menos recursos.

Evaluaciones de Costo Computacional

Las pruebas de rendimiento usando tanto BSI como formatos tradicionales han demostrado que los cálculos BSI son más rápidos y eficientes. Por ejemplo, al usar BSI, las horas de CPU requeridas para ciertas tareas se redujeron significativamente en comparación con métodos anteriores.

Latencia de Consultas Ad-hoc

La latencia para consultas ad-hoc también ha mejorado con el enfoque BSI. Al ejecutar consultas complejas sobre grandes conjuntos de datos, el método BSI ha demostrado ser mucho más rápido que los métodos tradicionales, permitiendo análisis en tiempo real cuando sea necesario.

Conclusión

Implementar el enfoque BSI en el sistema de cálculo de métricas de WeChat ha llevado a mejoras significativas. La capacidad de manejar grandes volúmenes de datos de manera eficiente ha facilitado que los dueños de experimentos analicen resultados y tomen decisiones informadas.

Con este sistema, WeChat sigue mejorando la experiencia de usuario en su plataforma, mostrando cómo las herramientas efectivas basadas en datos pueden transformar los procesos de toma de decisiones en grandes organizaciones. La integración de BSI en las operaciones diarias demuestra la importancia de la innovación en el manejo de datos a gran escala.

En resumen, los avances realizados en el cálculo de métricas no solo contribuyen a la eficiencia operativa, sino que también permiten una comprensión más profunda de las interacciones de los usuarios, sentando las bases para mejoras continuas.

Más de autores

Artículos similares