Podría decirse que los últimos dos años han sido turbulentos para Twitter (X). El año pasado, Elon Musk compró la plataforma por $ 44 mil millones y luego revisó el personal de la compañía, la revisión de contenido, el modelo comercial y la cultura del sitio web.Estos cambios pueden deberse más al poder blando de Elon Musk que a decisiones políticas específicas. Sin embargo, en medio de estos movimientos controvertidos, una nueva función en Twitter está ganando importancia rápidamente y aparentemente disfruta del favor de todo el espectro político: las Notas de la comunidad.
Community Notes es una herramienta de verificación de hechos que a veces adjunta anotaciones contextuales a los tweets, como el de Elon Musk arriba, como una herramienta de verificación de hechos y contra la desinformación. Originalmente se llamó Birdwatch y se lanzó por primera vez como programa piloto en enero de 2021. Desde entonces, se ha expandido gradualmente, y la fase de expansión más rápida coincidió con la adquisición de Twitter por parte de Elon Musk el año pasado. Hoy en día, las Notas de la comunidad son una característica habitual de los tuits que llaman mucho la atención en Twitter, incluidos los que abordan temas políticos controvertidos. En mi opinión, y de mis conversaciones con muchas personas de todo el espectro político, estas Notas son informativas y valiosas cuando aparecen.
Pero lo que más me interesa son las Notas de la comunidad, que, si bien no es un "proyecto criptográfico", es probablemente la instancia más cercana de "valores criptográficos" que hemos visto en el mundo convencional. Las Notas de la comunidad no están escritas ni seleccionadas por un experto seleccionado centralmente; en cambio, cualquiera puede escribir y votar, y qué Notas mostrar o no mostrar está completamente determinado por un algoritmo de código abierto. El sitio web de Twitter tiene una guía detallada y completa que describe cómo funciona el algoritmo, y puede descargar los datos que contienen notas y votos publicados, ejecutar el algoritmo localmente y verificar que el resultado coincida con lo que se ve en el sitio web de Twitter. Si bien no es perfecto, está sorprendentemente cerca del ideal de neutralidad creíble en situaciones bastante controvertidas y, al mismo tiempo, es muy útil.
¿Cómo funciona el algoritmo de Notas de la comunidad?
Cualquier persona con una cuenta de Twitter que cumpla con ciertos criterios (básicamente: activa durante más de 6 meses, sin historial de infracciones, número de teléfono móvil verificado) puede registrarse para participar en Community Notes. Actualmente, los participantes se aceptan de forma lenta y aleatoria, pero eventualmente el plan es permitir que cualquiera que sea elegible se una. Una vez aceptado, primero puede participar en la calificación de las Notas existentes y, una vez que su calificación sea lo suficientemente buena (medida al ver qué calificación coincide con el resultado final de esa Nota), también puede escribir sus propias Notas.
Cuando escribe notas, las notas obtendrán una puntuación basada en la revisión de otros miembros de Community Notes. Estas revisiones se pueden ver como votos a lo largo de los tres niveles de "útil", "algo útil" y "nada útil", pero las revisiones también pueden contener otras etiquetas que desempeñan funciones en el algoritmo. Según estas revisiones, Notes recibe una puntuación. Si la puntuación de las notas supera 0,40, se mostrarán estas notas; de lo contrario, no se mostrarán estas notas.
Lo que hace que el algoritmo sea único es cómo se calcula la puntuación. A diferencia de los algoritmos simplistas, que están diseñados para calcular simplemente algún tipo de suma o promedio de las calificaciones de los usuarios y usar eso como resultado final, el algoritmo de calificación de Community Notes trata explícitamente de priorizar aquellos que obtienen calificaciones positivas de personas con diferentes perspectivas de Notes. Es decir, si las personas que generalmente no están de acuerdo con las calificaciones finalmente están de acuerdo con una Nota en particular, entonces esa Nota tendrá una calificación alta.
Echemos un vistazo más profundo a cómo funciona. Tenemos un conjunto de usuarios y un conjunto de Notas; podemos crear una matriz M donde la celda Mij representa cómo el i-ésimo usuario calificó las j-ésimas Notas.
Para cualquier Nota dada, la mayoría de los usuarios no han calificado esa Nota, por lo que la mayoría de las entradas en la matriz serán cero, pero está bien. El objetivo del algoritmo es crear un modelo de cuatro columnas de usuarios y Notas, asignando a cada usuario dos estadísticas, que podemos llamar "Amabilidad" y "Polaridad", y asignando a cada Nota dos estadísticas, lo llamamos "utilidad" y "polaridad". El modelo trata de predecir la matriz en función de estos valores, utilizando la siguiente fórmula:
Tenga en cuenta que aquí introduzco la terminología utilizada en el artículo de Birdwatch, así como la mía propia para proporcionar una comprensión más intuitiva de lo que significan las variables sin entrar en conceptos matemáticos:
μ es un parámetro de "sentimiento público" que mide qué tan alto califican generalmente los usuarios las calificaciones.
iu es la "simpatía" del usuario, es decir, qué tan probable es que el usuario tienda a dar una calificación alta.
in es la "utilidad" de la nota, es decir, la probabilidad de que la nota tenga una calificación alta. Esta es la variable que nos importa.
fu o fn es la "polaridad" del usuario o Notas, es decir, su posición en el eje dominante de los extremos políticos. En la práctica, la polaridad negativa significa aproximadamente "inclinación a la izquierda" y la polaridad positiva "inclinación a la derecha", pero tenga en cuenta que los ejes extremos se derivan del análisis de los datos del usuario y de Notes, y los conceptos de izquierda y derecha no están codificados.
El algoritmo utiliza un modelo de aprendizaje automático bastante básico (descenso de gradiente estándar) para encontrar los mejores valores de variables para predecir los valores de la matriz. La utilidad asignada a una Nota en particular es la puntuación final de esa Nota. Se mostrará una Nota si su utilidad es de al menos + 0,4.
El ingenio central aquí es que la "polaridad" absorbe las características de Notes, lo que hace que a algunos usuarios les gusten y a otros no les gusten, mientras que la "utilidad" solo mide las características de Notes. Estas características hacen que les guste. por todos los usuarios. Al seleccionar la utilidad, se identifican las Notas que se aprueban en todas las tribus y se excluyen las Notas que son aclamadas en una tribu pero que no son del agrado de otra.
Lo anterior solo describe la parte central del algoritmo. De hecho, hay muchos mecanismos adicionales añadidos encima. Afortunadamente, se describen en la documentación pública. Estos mecanismos incluyen lo siguiente:
El algoritmo se ejecuta varias veces, cada vez que agrega algunos "pseudo-votos" extremos generados aleatoriamente a la votación. Esto significa que el verdadero resultado del algoritmo para cada Nota es un rango de valores, y el resultado final depende de un "nivel de confianza más bajo" tomado de ese rango y comparado con un umbral de 0,32.
Si muchos usuarios (especialmente aquellos con una polaridad similar a las Notas) calificaron una Nota como "inútil" y también le asignaron la misma "etiqueta" (p. ej., "lenguaje argumentativo o sesgado", "No se admiten las Notas originales") que la puntuación, entonces el umbral de utilidad requerido para que se publiquen las Notas aumenta de 0,4 a 0,5 (esto puede parecer pequeño, pero es muy importante en la práctica).
Si se acepta un Pagaré, su utilidad debe estar por debajo del umbral de 0,01 puntos requerido para aceptar el Pagaré.
Los algoritmos se ejecutan más veces con múltiples modelos, a veces mejorando Notes con puntajes de utilidad brutos entre 0.3 y 0.4.
Con todo, terminas con un código de Python bastante complejo con un total de 6282 líneas repartidas en 22 archivos. Pero todo está abierto, y puede descargar las notas y los datos de puntuación y ejecutarlos usted mismo para ver si el resultado coincide con lo que realmente está sucediendo en Twitter.
Entonces, ¿cómo se ve esto en la práctica?
Probablemente la mayor diferencia entre este algoritmo y el método de simplemente tomar el puntaje promedio de los votos de las personas es el concepto de lo que yo llamo valores de "polaridad". La documentación del algoritmo se refiere a ellos como fu y fn, usando f como factor porque los dos términos se multiplican entre sí; el término más general se debe en parte a que en última instancia es deseable hacer que fu y fn sean multidimensionales.
La polaridad se asigna a usuarios y notas. El vínculo entre el ID de usuario y la cuenta de Twitter subyacente se mantiene privado de manera intencional, pero Notes es público. De hecho, al menos para el conjunto de datos en inglés, la polaridad generada por el algoritmo se correlaciona muy de cerca con la izquierda y la derecha.
Aquí hay algunos ejemplos de notas con una polaridad alrededor de -0.8:
Tenga en cuenta que no estoy seleccionando aquí; estas son en realidad las primeras tres filas en la hoja de cálculo score_notes.tsv que genero cuando ejecuto el algoritmo localmente, y sus puntajes de polaridad (llamados coreNoteFactor 1 en la hoja de cálculo) menos de -0.8.
Ahora, aquí hay algunas Notas con una polaridad alrededor de +0.8. Resultó que muchos de ellos eran personas que hablaban sobre la política brasileña en portugués o fanáticos de Tesla que refutaban airadamente las críticas a Tesla, así que permítanme elegir un poco y encontrar algunas notas que no pertenecen a ninguna de las dos categorías:
Como recordatorio, la "división izquierda vs. derecha" no está codificada en el algoritmo de ninguna manera, sino que se descubre computacionalmente. Esto sugiere que si aplica este algoritmo a otros contextos culturales, puede detectar automáticamente sus principales divisiones políticas y construir puentes entre ellos.
Mientras tanto, las Notas que obtienen la mayor utilidad se ven así. Esta vez, dado que las Notas aparecen en Twitter, solo puedo capturar una captura de pantalla:
Y otro:
Para las segundas Notas, trata más directamente temas políticos altamente partidistas, pero es una Nota clara, informativa y de alta calidad que obtiene una puntuación alta. En general, el algoritmo parece funcionar y parece factible verificar la salida del algoritmo ejecutando el código.
¿Qué pienso sobre el algoritmo?
Lo que más me llamó la atención al analizar este algoritmo fue su complejidad. Hay una "versión académica en papel" que usa el gradiente descendente para encontrar el mejor ajuste a una ecuación vectorial y matricial de cinco términos, y luego está la versión real, una serie compleja de ejecuciones algorítmicas con muchas ejecuciones diferentes y muchos coeficientes arbitrarios. .
Incluso las versiones académicas en papel esconden complejidades subyacentes. La ecuación que optimiza es una cuártica negativa (porque hay un término cuadrático fu*fn en la fórmula de predicción y la función de costo mide el cuadrado del error). Mientras que la optimización de una ecuación cuadrática sobre cualquier cantidad de variables casi siempre tendrá una solución única, que puede averiguar con álgebra lineal bastante básica, la optimización de una ecuación cuadrática sobre muchas variables generalmente tendrá muchas soluciones, por lo que varias rondas del algoritmo de descenso de gradiente Se pueden obtener diferentes respuestas. Pequeños cambios de entrada pueden hacer que el descenso cambie de un mínimo local a otro, cambiando significativamente los resultados de salida.
La diferencia entre esto y los algoritmos que ayudé a desarrollar, como el financiamiento cuadrático, es para mí como la diferencia entre el algoritmo de un economista y el algoritmo de un ingeniero. Los algoritmos de los economistas, en el mejor de los casos, se enfocan en la simplicidad, son relativamente fáciles de analizar y tienen propiedades matemáticas claras que establecen que son óptimos (o menos malos) para la tarea en cuestión, e idealmente prueban que ¿Cuánto daño puede hacer alguien en tratando de aprovecharlo. El algoritmo de un ingeniero, por otro lado, se deriva a través de un proceso iterativo de prueba y error para ver qué funciona y qué no en el entorno operativo del ingeniero. El algoritmo de un ingeniero es pragmático y hace el trabajo; el algoritmo de un economista no pierde completamente el control ante lo inesperado.
O, como lo expresó el respetado filósofo de Internet Roon (también conocido como tszzl) en un hilo relacionado:
Por supuesto, diría que el aspecto de la "estética teórica" de las criptomonedas es necesario para poder distinguir con precisión entre aquellos protocolos que son verdaderamente confiables y aquellos que se ven bien y funcionan superficialmente bien, pero en realidad requieren confiar en algún actor centralizado, O peor aún, podría ser una estafa absoluta.
El aprendizaje profundo es efectivo en condiciones normales, pero tiene debilidades inevitables frente a varios ataques de aprendizaje automático adversarios. Si se hace bien, las trampas técnicas y las escaleras altamente abstractas pueden contrarrestar estos ataques. Entonces, tengo una pregunta: ¿Podemos convertir Community Notes en algo más parecido a un algoritmo económico?
Para ver en la práctica lo que esto significa, exploremos un algoritmo que ideé para un propósito similar hace unos años: Financiamiento cuadrático acotado por pares.
El objetivo del financiamiento cuadrático acotado por pares es llenar un vacío legal en el financiamiento cuadrático "convencional", donde incluso si dos jugadores se confabulan entre sí, pueden contribuir cantidades muy altas a un proyecto falso, se les devuelven los fondos y obtener grandes subsidios que agotan toda su reserva de dinero. En el financiamiento cuadrático acotado por pares, asignamos un presupuesto finito M a cada par de participantes. El algoritmo itera sobre todos los posibles pares de participantes, y si el algoritmo decide agregar un subsidio a algún proyecto P porque tanto el participante A como el B lo apoyan, entonces este subsidio se deduce del presupuesto asignado a ese par (A,B) . Por lo tanto, incluso si k participantes coluden, la cantidad que roban del mecanismo es como máximo k *(k-1)*M.
Esta forma del algoritmo no funciona bien en el contexto de las Notas de la comunidad, ya que cada usuario emite solo una pequeña cantidad de votos: en promedio, el voto común entre dos usuarios es cero, por lo que simplemente observando cada par de usuarios individualmente, el algoritmo no tiene forma de conocer la polaridad de los usuarios. El objetivo de un modelo de aprendizaje automático es precisamente intentar "poblar" una matriz a partir de datos de origen muy escasos que no se pueden analizar directamente de esta manera. Pero el desafío con este enfoque es que se requiere un esfuerzo adicional para evitar resultados altamente volátiles frente a una pequeña cantidad de malos votos.
¿Puede Community Notes realmente ser capaz de resistir a la izquierda y la derecha?
Podemos analizar si el algoritmo Community Notes es realmente resistente a los extremos, es decir, si funciona mejor que un algoritmo de votación ingenuo. Este algoritmo de votación ya es algo resistente a los extremos: una publicación con 200 Me gusta y 100 No me gusta funcionará peor que una publicación con solo 200 Me gusta. Pero, ¿Community Notes lo hace mejor?
Desde el punto de vista de un algoritmo abstracto, es difícil decirlo. ¿Por qué una publicación polarizante con una calificación promedio alta no puede obtener una polaridad fuerte y una gran utilidad? La idea es que si esos votos están en conflicto, la polaridad debería "absorber" la característica que hizo que la publicación obtuviera muchos votos, pero ¿realmente hace eso?
Para verificar esto, ejecuté mi implementación simplificada durante 100 rondas. El resultado promedio es el siguiente:
En esta prueba, los Notes "buenos" fueron calificados con +2 por usuarios de la misma afiliación política, +0 por usuarios de la afiliación política opuesta, y los Notes "buenos pero más extremos" fueron calificados por usuarios de la misma afiliación calificada como +4 en , y -2 en usuarios de la facción contraria. Aunque el puntaje promedio es el mismo, la polaridad es diferente. Y, de hecho, la utilidad promedio de las Notas "buenas" parece ser más alta que la de las Notas "buenas pero de tendencia más extrema".
Tener un algoritmo más cercano al "algoritmo del economista" tendría una historia más clara de cómo el algoritmo castiga los extremos.
¿Qué tan útil es todo esto en una situación de alto riesgo?
Podemos aprender acerca de algunos de estos al observar una situación específica. Hace aproximadamente un mes, Ian Bremmer se quejó de que un tweet agregó una nota de la comunidad muy crítica, pero las notas se eliminaron desde entonces.
Esta es una tarea abrumadora. El diseño del mecanismo es una cosa en un entorno comunitario de Ethereum donde la queja más grande podría ser solo $ 20,000 para un influencer extremo de Twitter. Es una historia diferente cuando se trata de cuestiones políticas y geopolíticas que afectan a millones de personas, y todo el mundo tiende a suponer razonablemente los peores motivos posibles. Pero interactuar con estos entornos de alto riesgo es esencial si los diseñadores mecánicos quieren tener un impacto significativo en el mundo.
Afortunadamente, el algoritmo es de código abierto y verificable, ¡así que podemos llegar al fondo! Hagámoslo. La URL del tweet original es el número 1676157337109946369 al final es la ID del tweet. Podemos buscar esa ID en los datos descargables e identificar la fila específica en la hoja de cálculo que tiene las Notas anteriores:
Aquí tenemos el ID de Notes, 1676391378815709184. Luego buscamos este ID en los archivos anotados_notes.tsv y note_status_history.tsv generados al ejecutar el algoritmo. Obtuvimos el siguiente resultado:
La segunda columna en el primer resultado es la calificación actual de las Notas. La segunda salida muestra el historial de las Notas: su estado actual está en la columna siete (NECESITA_MÁS_CALIFICACIONES), y el primer estado que recibió que no era NECESITA_MÁS_CALIFICACIONES está en la columna cinco (NECESITA_MÁS_CALIFICACIONES) ACTUALMENTE_VALORADO_ÚTIL). Entonces, podemos ver que el algoritmo en sí primero mostró las Notas y luego las eliminó después de que sus calificaciones cayeron ligeramente; no parece haber una intervención central involucrada.
También podemos ver esto de otra manera mirando el voto en sí. Podemos escanear el archivo ratings-00000.tsv para aislar todas las calificaciones de estas Notas y ver cuántas están calificadas como ÚTILES y NO ÚTILES:
Sin embargo, si los ordena por marca de tiempo y observa los 50 votos principales, verá que hay 40 votos ÚTILES y 9 votos NO ÚTILES. Así que llegamos a la misma conclusión: Notes fue calificado más positivamente por su audiencia inicial y menos por su audiencia posterior, por lo que su calificación comenzó alta y disminuyó con el tiempo.
Desafortunadamente, es difícil explicar exactamente cómo las notas cambian de estado: no es una simple cuestión de "anteriormente calificado por encima de 0.40, ahora calificado por debajo de 0.40, por lo que se elimina". En cambio, la gran cantidad de respuestas NOT_HELPFUL desencadena una de las condiciones de excepción, lo que aumenta la puntuación de utilidad que Notes necesita para mantenerse por encima del umbral.
Esta es otra gran oportunidad de aprendizaje que nos enseña una lección: hacer que un algoritmo neutral confiable sea verdaderamente confiable requiere mantenerlo simple. Si una Nota pasa de ser aceptada a no ser aceptada, debe haber una historia simple y clara de por qué este es el caso.
Por supuesto, hay otra forma completamente diferente de manipular este voto: brigada. Alguien que ve una Nota que no aprueba puede apelar a una comunidad altamente comprometida (o peor aún, a una legión de cuentas falsas) para calificarla como NO_ÚTIL, y probablemente no se necesiten muchos votos para obtener las Notas de " útil" a "extremo". Se requiere más análisis y trabajo para reducir adecuadamente la vulnerabilidad del algoritmo a tales ataques coordinados. Una posible mejora sería no permitir que ningún usuario vote sobre ninguna Nota, sino asignar Notas aleatoriamente a los calificadores utilizando la recomendación del algoritmo "para usted", y permitir que los calificadores califiquen solo las Notas a las que están asignados.
Notas de la comunidad ¿No eres lo suficientemente "valiente"?
La principal crítica que veo de Community Notes es básicamente que no hace lo suficiente. Vi dos artículos recientes que mencionan esto. Para citar uno de los artículos:
El proceso adolece de una seria limitación en el sentido de que para que las Notas de la comunidad se hagan públicas, deben ser generalmente aceptadas por un consenso de personas de todo el espectro político.
"Tiene que haber un consenso ideológico", dijo. "Eso significa que las personas de izquierda y de derecha deben estar de acuerdo en que la nota debe adjuntarse al tuit".
Esencialmente, dijo, requiere "un acuerdo entre ideologías sobre la verdad que es casi imposible en un entorno cada vez más partidista".
Es una pregunta complicada, pero en última instancia, me inclino a pensar que es mejor tener diez tweets de información errónea gratis que un tweet con anotaciones injustas. Hemos visto años de verificación de hechos que son valientes y desde una perspectiva de "realmente sabemos la verdad, sabemos que un lado miente con más frecuencia que el otro". ¿Lo que sucederá?
Para ser honesto, existe una desconfianza bastante generalizada en el concepto mismo de verificación de hechos. Aquí, una estrategia es decir: ignore a esos críticos, recuerde que los verificadores de hechos conocen los hechos mejor que cualquier sistema de votación y manténgalos firmes. Pero apostar todo por este enfoque parece arriesgado. Hay valor en la construcción de instituciones intertribales que sean al menos algo respetadas por todos. Al igual que la sentencia de William Blackstone y los tribunales, siento que mantener ese respeto requiere un sistema que yerra por omisión y no por error voluntario. Por lo tanto, me parece que vale la pena que al menos una organización importante esté tomando este camino diferente y vea su raro respeto intertribal como un recurso precioso.
Otra razón por la que creo que está bien que las Notas de la comunidad sean conservadoras es que no creo que todos los tweets mal informados, o incluso la mayoría de los tweets mal informados, deban recibir una nota correctiva. Incluso si menos del uno por ciento de los tweets mal informados se anotan para proporcionar contexto o corrección, las Notas de la comunidad aún brindan un servicio extremadamente valioso como herramienta educativa. El objetivo no es corregirlo todo; más bien, el objetivo es recordarle a la gente que hay múltiples puntos de vista, que algunas de las publicaciones que parecen convincentes y atractivas de forma aislada en realidad son bastante incorrectas, y que, sí, por lo general puedes hacer comentarios básicos. Búsqueda en Internet para verificar que está mal.
Community Notes no puede ser, ni pretende ser, una panacea para todos los problemas de la epistemología pública. Independientemente de los problemas que no resuelva, hay mucho espacio para que otros mecanismos los llenen, ya sean dispositivos novedosos como mercados de predicción u organizaciones establecidas que contratan personal a tiempo completo con experiencia en el dominio para tratar de llenar los vacíos.
en conclusión
Community Notes no es solo un experimento fascinante en las redes sociales, sino también un ejemplo fascinante de un tipo emergente de diseño de mecanismo: mecanismos que conscientemente intentan identificar extremos y tienden a fomentar el cruce en lugar de perpetuar la división.
Otros dos ejemplos en esta categoría que conozco son: (i) el mecanismo de financiamiento cuadrático emparejado que se usa en Gitcoin Grants, y (ii) Polis, una herramienta de discusión que usa algoritmos de agrupamiento para ayudar a la comunidad a identificar declaraciones populares comunes que abarcan personas que a menudo tienen opiniones diferentes. Este campo del diseño de mecanismos es valioso y espero que veamos más trabajos académicos en esta área.
La transparencia algorítmica que proporciona Community Notes no es exactamente una red social totalmente descentralizada: si no está de acuerdo con el funcionamiento de Community Notes, no hay forma de ver una perspectiva algorítmica diferente sobre el mismo contenido. Pero esto es lo más cerca que estarán las aplicaciones de hiperescala en los próximos años, y podemos ver que ya brinda mucho valor, tanto para evitar la manipulación centralizada como para garantizar que las plataformas que no se involucran en dicha manipulación obtengan el reconocimiento que merecen. .
Espero ver que Community Notes y muchos algoritmos con un espíritu similar se desarrollen y crezcan durante la próxima década.
V God: el experimento de las redes sociales Community Notes está muy encriptado
Autor: vitalik Compilador: Deep Tide TechFlow
Podría decirse que los últimos dos años han sido turbulentos para Twitter (X). El año pasado, Elon Musk compró la plataforma por $ 44 mil millones y luego revisó el personal de la compañía, la revisión de contenido, el modelo comercial y la cultura del sitio web.Estos cambios pueden deberse más al poder blando de Elon Musk que a decisiones políticas específicas. Sin embargo, en medio de estos movimientos controvertidos, una nueva función en Twitter está ganando importancia rápidamente y aparentemente disfruta del favor de todo el espectro político: las Notas de la comunidad.
Community Notes es una herramienta de verificación de hechos que a veces adjunta anotaciones contextuales a los tweets, como el de Elon Musk arriba, como una herramienta de verificación de hechos y contra la desinformación. Originalmente se llamó Birdwatch y se lanzó por primera vez como programa piloto en enero de 2021. Desde entonces, se ha expandido gradualmente, y la fase de expansión más rápida coincidió con la adquisición de Twitter por parte de Elon Musk el año pasado. Hoy en día, las Notas de la comunidad son una característica habitual de los tuits que llaman mucho la atención en Twitter, incluidos los que abordan temas políticos controvertidos. En mi opinión, y de mis conversaciones con muchas personas de todo el espectro político, estas Notas son informativas y valiosas cuando aparecen.
Pero lo que más me interesa son las Notas de la comunidad, que, si bien no es un "proyecto criptográfico", es probablemente la instancia más cercana de "valores criptográficos" que hemos visto en el mundo convencional. Las Notas de la comunidad no están escritas ni seleccionadas por un experto seleccionado centralmente; en cambio, cualquiera puede escribir y votar, y qué Notas mostrar o no mostrar está completamente determinado por un algoritmo de código abierto. El sitio web de Twitter tiene una guía detallada y completa que describe cómo funciona el algoritmo, y puede descargar los datos que contienen notas y votos publicados, ejecutar el algoritmo localmente y verificar que el resultado coincida con lo que se ve en el sitio web de Twitter. Si bien no es perfecto, está sorprendentemente cerca del ideal de neutralidad creíble en situaciones bastante controvertidas y, al mismo tiempo, es muy útil.
¿Cómo funciona el algoritmo de Notas de la comunidad?
Cualquier persona con una cuenta de Twitter que cumpla con ciertos criterios (básicamente: activa durante más de 6 meses, sin historial de infracciones, número de teléfono móvil verificado) puede registrarse para participar en Community Notes. Actualmente, los participantes se aceptan de forma lenta y aleatoria, pero eventualmente el plan es permitir que cualquiera que sea elegible se una. Una vez aceptado, primero puede participar en la calificación de las Notas existentes y, una vez que su calificación sea lo suficientemente buena (medida al ver qué calificación coincide con el resultado final de esa Nota), también puede escribir sus propias Notas.
Cuando escribe notas, las notas obtendrán una puntuación basada en la revisión de otros miembros de Community Notes. Estas revisiones se pueden ver como votos a lo largo de los tres niveles de "útil", "algo útil" y "nada útil", pero las revisiones también pueden contener otras etiquetas que desempeñan funciones en el algoritmo. Según estas revisiones, Notes recibe una puntuación. Si la puntuación de las notas supera 0,40, se mostrarán estas notas; de lo contrario, no se mostrarán estas notas.
Lo que hace que el algoritmo sea único es cómo se calcula la puntuación. A diferencia de los algoritmos simplistas, que están diseñados para calcular simplemente algún tipo de suma o promedio de las calificaciones de los usuarios y usar eso como resultado final, el algoritmo de calificación de Community Notes trata explícitamente de priorizar aquellos que obtienen calificaciones positivas de personas con diferentes perspectivas de Notes. Es decir, si las personas que generalmente no están de acuerdo con las calificaciones finalmente están de acuerdo con una Nota en particular, entonces esa Nota tendrá una calificación alta.
Echemos un vistazo más profundo a cómo funciona. Tenemos un conjunto de usuarios y un conjunto de Notas; podemos crear una matriz M donde la celda Mij representa cómo el i-ésimo usuario calificó las j-ésimas Notas.
Para cualquier Nota dada, la mayoría de los usuarios no han calificado esa Nota, por lo que la mayoría de las entradas en la matriz serán cero, pero está bien. El objetivo del algoritmo es crear un modelo de cuatro columnas de usuarios y Notas, asignando a cada usuario dos estadísticas, que podemos llamar "Amabilidad" y "Polaridad", y asignando a cada Nota dos estadísticas, lo llamamos "utilidad" y "polaridad". El modelo trata de predecir la matriz en función de estos valores, utilizando la siguiente fórmula:
Tenga en cuenta que aquí introduzco la terminología utilizada en el artículo de Birdwatch, así como la mía propia para proporcionar una comprensión más intuitiva de lo que significan las variables sin entrar en conceptos matemáticos:
El algoritmo utiliza un modelo de aprendizaje automático bastante básico (descenso de gradiente estándar) para encontrar los mejores valores de variables para predecir los valores de la matriz. La utilidad asignada a una Nota en particular es la puntuación final de esa Nota. Se mostrará una Nota si su utilidad es de al menos + 0,4.
El ingenio central aquí es que la "polaridad" absorbe las características de Notes, lo que hace que a algunos usuarios les gusten y a otros no les gusten, mientras que la "utilidad" solo mide las características de Notes. Estas características hacen que les guste. por todos los usuarios. Al seleccionar la utilidad, se identifican las Notas que se aprueban en todas las tribus y se excluyen las Notas que son aclamadas en una tribu pero que no son del agrado de otra.
Lo anterior solo describe la parte central del algoritmo. De hecho, hay muchos mecanismos adicionales añadidos encima. Afortunadamente, se describen en la documentación pública. Estos mecanismos incluyen lo siguiente:
Con todo, terminas con un código de Python bastante complejo con un total de 6282 líneas repartidas en 22 archivos. Pero todo está abierto, y puede descargar las notas y los datos de puntuación y ejecutarlos usted mismo para ver si el resultado coincide con lo que realmente está sucediendo en Twitter.
Entonces, ¿cómo se ve esto en la práctica?
Probablemente la mayor diferencia entre este algoritmo y el método de simplemente tomar el puntaje promedio de los votos de las personas es el concepto de lo que yo llamo valores de "polaridad". La documentación del algoritmo se refiere a ellos como fu y fn, usando f como factor porque los dos términos se multiplican entre sí; el término más general se debe en parte a que en última instancia es deseable hacer que fu y fn sean multidimensionales.
La polaridad se asigna a usuarios y notas. El vínculo entre el ID de usuario y la cuenta de Twitter subyacente se mantiene privado de manera intencional, pero Notes es público. De hecho, al menos para el conjunto de datos en inglés, la polaridad generada por el algoritmo se correlaciona muy de cerca con la izquierda y la derecha.
Aquí hay algunos ejemplos de notas con una polaridad alrededor de -0.8:
Tenga en cuenta que no estoy seleccionando aquí; estas son en realidad las primeras tres filas en la hoja de cálculo score_notes.tsv que genero cuando ejecuto el algoritmo localmente, y sus puntajes de polaridad (llamados coreNoteFactor 1 en la hoja de cálculo) menos de -0.8.
Ahora, aquí hay algunas Notas con una polaridad alrededor de +0.8. Resultó que muchos de ellos eran personas que hablaban sobre la política brasileña en portugués o fanáticos de Tesla que refutaban airadamente las críticas a Tesla, así que permítanme elegir un poco y encontrar algunas notas que no pertenecen a ninguna de las dos categorías:
Como recordatorio, la "división izquierda vs. derecha" no está codificada en el algoritmo de ninguna manera, sino que se descubre computacionalmente. Esto sugiere que si aplica este algoritmo a otros contextos culturales, puede detectar automáticamente sus principales divisiones políticas y construir puentes entre ellos.
Mientras tanto, las Notas que obtienen la mayor utilidad se ven así. Esta vez, dado que las Notas aparecen en Twitter, solo puedo capturar una captura de pantalla:
Y otro:
Para las segundas Notas, trata más directamente temas políticos altamente partidistas, pero es una Nota clara, informativa y de alta calidad que obtiene una puntuación alta. En general, el algoritmo parece funcionar y parece factible verificar la salida del algoritmo ejecutando el código.
¿Qué pienso sobre el algoritmo?
Lo que más me llamó la atención al analizar este algoritmo fue su complejidad. Hay una "versión académica en papel" que usa el gradiente descendente para encontrar el mejor ajuste a una ecuación vectorial y matricial de cinco términos, y luego está la versión real, una serie compleja de ejecuciones algorítmicas con muchas ejecuciones diferentes y muchos coeficientes arbitrarios. .
Incluso las versiones académicas en papel esconden complejidades subyacentes. La ecuación que optimiza es una cuártica negativa (porque hay un término cuadrático fu*fn en la fórmula de predicción y la función de costo mide el cuadrado del error). Mientras que la optimización de una ecuación cuadrática sobre cualquier cantidad de variables casi siempre tendrá una solución única, que puede averiguar con álgebra lineal bastante básica, la optimización de una ecuación cuadrática sobre muchas variables generalmente tendrá muchas soluciones, por lo que varias rondas del algoritmo de descenso de gradiente Se pueden obtener diferentes respuestas. Pequeños cambios de entrada pueden hacer que el descenso cambie de un mínimo local a otro, cambiando significativamente los resultados de salida.
La diferencia entre esto y los algoritmos que ayudé a desarrollar, como el financiamiento cuadrático, es para mí como la diferencia entre el algoritmo de un economista y el algoritmo de un ingeniero. Los algoritmos de los economistas, en el mejor de los casos, se enfocan en la simplicidad, son relativamente fáciles de analizar y tienen propiedades matemáticas claras que establecen que son óptimos (o menos malos) para la tarea en cuestión, e idealmente prueban que ¿Cuánto daño puede hacer alguien en tratando de aprovecharlo. El algoritmo de un ingeniero, por otro lado, se deriva a través de un proceso iterativo de prueba y error para ver qué funciona y qué no en el entorno operativo del ingeniero. El algoritmo de un ingeniero es pragmático y hace el trabajo; el algoritmo de un economista no pierde completamente el control ante lo inesperado.
O, como lo expresó el respetado filósofo de Internet Roon (también conocido como tszzl) en un hilo relacionado:
Por supuesto, diría que el aspecto de la "estética teórica" de las criptomonedas es necesario para poder distinguir con precisión entre aquellos protocolos que son verdaderamente confiables y aquellos que se ven bien y funcionan superficialmente bien, pero en realidad requieren confiar en algún actor centralizado, O peor aún, podría ser una estafa absoluta.
El aprendizaje profundo es efectivo en condiciones normales, pero tiene debilidades inevitables frente a varios ataques de aprendizaje automático adversarios. Si se hace bien, las trampas técnicas y las escaleras altamente abstractas pueden contrarrestar estos ataques. Entonces, tengo una pregunta: ¿Podemos convertir Community Notes en algo más parecido a un algoritmo económico?
Para ver en la práctica lo que esto significa, exploremos un algoritmo que ideé para un propósito similar hace unos años: Financiamiento cuadrático acotado por pares.
El objetivo del financiamiento cuadrático acotado por pares es llenar un vacío legal en el financiamiento cuadrático "convencional", donde incluso si dos jugadores se confabulan entre sí, pueden contribuir cantidades muy altas a un proyecto falso, se les devuelven los fondos y obtener grandes subsidios que agotan toda su reserva de dinero. En el financiamiento cuadrático acotado por pares, asignamos un presupuesto finito M a cada par de participantes. El algoritmo itera sobre todos los posibles pares de participantes, y si el algoritmo decide agregar un subsidio a algún proyecto P porque tanto el participante A como el B lo apoyan, entonces este subsidio se deduce del presupuesto asignado a ese par (A,B) . Por lo tanto, incluso si k participantes coluden, la cantidad que roban del mecanismo es como máximo k *(k-1)*M.
Esta forma del algoritmo no funciona bien en el contexto de las Notas de la comunidad, ya que cada usuario emite solo una pequeña cantidad de votos: en promedio, el voto común entre dos usuarios es cero, por lo que simplemente observando cada par de usuarios individualmente, el algoritmo no tiene forma de conocer la polaridad de los usuarios. El objetivo de un modelo de aprendizaje automático es precisamente intentar "poblar" una matriz a partir de datos de origen muy escasos que no se pueden analizar directamente de esta manera. Pero el desafío con este enfoque es que se requiere un esfuerzo adicional para evitar resultados altamente volátiles frente a una pequeña cantidad de malos votos.
¿Puede Community Notes realmente ser capaz de resistir a la izquierda y la derecha?
Podemos analizar si el algoritmo Community Notes es realmente resistente a los extremos, es decir, si funciona mejor que un algoritmo de votación ingenuo. Este algoritmo de votación ya es algo resistente a los extremos: una publicación con 200 Me gusta y 100 No me gusta funcionará peor que una publicación con solo 200 Me gusta. Pero, ¿Community Notes lo hace mejor?
Desde el punto de vista de un algoritmo abstracto, es difícil decirlo. ¿Por qué una publicación polarizante con una calificación promedio alta no puede obtener una polaridad fuerte y una gran utilidad? La idea es que si esos votos están en conflicto, la polaridad debería "absorber" la característica que hizo que la publicación obtuviera muchos votos, pero ¿realmente hace eso?
Para verificar esto, ejecuté mi implementación simplificada durante 100 rondas. El resultado promedio es el siguiente:
En esta prueba, los Notes "buenos" fueron calificados con +2 por usuarios de la misma afiliación política, +0 por usuarios de la afiliación política opuesta, y los Notes "buenos pero más extremos" fueron calificados por usuarios de la misma afiliación calificada como +4 en , y -2 en usuarios de la facción contraria. Aunque el puntaje promedio es el mismo, la polaridad es diferente. Y, de hecho, la utilidad promedio de las Notas "buenas" parece ser más alta que la de las Notas "buenas pero de tendencia más extrema".
Tener un algoritmo más cercano al "algoritmo del economista" tendría una historia más clara de cómo el algoritmo castiga los extremos.
¿Qué tan útil es todo esto en una situación de alto riesgo?
Podemos aprender acerca de algunos de estos al observar una situación específica. Hace aproximadamente un mes, Ian Bremmer se quejó de que un tweet agregó una nota de la comunidad muy crítica, pero las notas se eliminaron desde entonces.
Esta es una tarea abrumadora. El diseño del mecanismo es una cosa en un entorno comunitario de Ethereum donde la queja más grande podría ser solo $ 20,000 para un influencer extremo de Twitter. Es una historia diferente cuando se trata de cuestiones políticas y geopolíticas que afectan a millones de personas, y todo el mundo tiende a suponer razonablemente los peores motivos posibles. Pero interactuar con estos entornos de alto riesgo es esencial si los diseñadores mecánicos quieren tener un impacto significativo en el mundo.
Afortunadamente, el algoritmo es de código abierto y verificable, ¡así que podemos llegar al fondo! Hagámoslo. La URL del tweet original es el número 1676157337109946369 al final es la ID del tweet. Podemos buscar esa ID en los datos descargables e identificar la fila específica en la hoja de cálculo que tiene las Notas anteriores:
Aquí tenemos el ID de Notes, 1676391378815709184. Luego buscamos este ID en los archivos anotados_notes.tsv y note_status_history.tsv generados al ejecutar el algoritmo. Obtuvimos el siguiente resultado:
La segunda columna en el primer resultado es la calificación actual de las Notas. La segunda salida muestra el historial de las Notas: su estado actual está en la columna siete (NECESITA_MÁS_CALIFICACIONES), y el primer estado que recibió que no era NECESITA_MÁS_CALIFICACIONES está en la columna cinco (NECESITA_MÁS_CALIFICACIONES) ACTUALMENTE_VALORADO_ÚTIL). Entonces, podemos ver que el algoritmo en sí primero mostró las Notas y luego las eliminó después de que sus calificaciones cayeron ligeramente; no parece haber una intervención central involucrada.
También podemos ver esto de otra manera mirando el voto en sí. Podemos escanear el archivo ratings-00000.tsv para aislar todas las calificaciones de estas Notas y ver cuántas están calificadas como ÚTILES y NO ÚTILES:
Sin embargo, si los ordena por marca de tiempo y observa los 50 votos principales, verá que hay 40 votos ÚTILES y 9 votos NO ÚTILES. Así que llegamos a la misma conclusión: Notes fue calificado más positivamente por su audiencia inicial y menos por su audiencia posterior, por lo que su calificación comenzó alta y disminuyó con el tiempo.
Desafortunadamente, es difícil explicar exactamente cómo las notas cambian de estado: no es una simple cuestión de "anteriormente calificado por encima de 0.40, ahora calificado por debajo de 0.40, por lo que se elimina". En cambio, la gran cantidad de respuestas NOT_HELPFUL desencadena una de las condiciones de excepción, lo que aumenta la puntuación de utilidad que Notes necesita para mantenerse por encima del umbral.
Esta es otra gran oportunidad de aprendizaje que nos enseña una lección: hacer que un algoritmo neutral confiable sea verdaderamente confiable requiere mantenerlo simple. Si una Nota pasa de ser aceptada a no ser aceptada, debe haber una historia simple y clara de por qué este es el caso.
Por supuesto, hay otra forma completamente diferente de manipular este voto: brigada. Alguien que ve una Nota que no aprueba puede apelar a una comunidad altamente comprometida (o peor aún, a una legión de cuentas falsas) para calificarla como NO_ÚTIL, y probablemente no se necesiten muchos votos para obtener las Notas de " útil" a "extremo". Se requiere más análisis y trabajo para reducir adecuadamente la vulnerabilidad del algoritmo a tales ataques coordinados. Una posible mejora sería no permitir que ningún usuario vote sobre ninguna Nota, sino asignar Notas aleatoriamente a los calificadores utilizando la recomendación del algoritmo "para usted", y permitir que los calificadores califiquen solo las Notas a las que están asignados.
Notas de la comunidad ¿No eres lo suficientemente "valiente"?
La principal crítica que veo de Community Notes es básicamente que no hace lo suficiente. Vi dos artículos recientes que mencionan esto. Para citar uno de los artículos:
El proceso adolece de una seria limitación en el sentido de que para que las Notas de la comunidad se hagan públicas, deben ser generalmente aceptadas por un consenso de personas de todo el espectro político.
"Tiene que haber un consenso ideológico", dijo. "Eso significa que las personas de izquierda y de derecha deben estar de acuerdo en que la nota debe adjuntarse al tuit".
Esencialmente, dijo, requiere "un acuerdo entre ideologías sobre la verdad que es casi imposible en un entorno cada vez más partidista".
Es una pregunta complicada, pero en última instancia, me inclino a pensar que es mejor tener diez tweets de información errónea gratis que un tweet con anotaciones injustas. Hemos visto años de verificación de hechos que son valientes y desde una perspectiva de "realmente sabemos la verdad, sabemos que un lado miente con más frecuencia que el otro". ¿Lo que sucederá?
Para ser honesto, existe una desconfianza bastante generalizada en el concepto mismo de verificación de hechos. Aquí, una estrategia es decir: ignore a esos críticos, recuerde que los verificadores de hechos conocen los hechos mejor que cualquier sistema de votación y manténgalos firmes. Pero apostar todo por este enfoque parece arriesgado. Hay valor en la construcción de instituciones intertribales que sean al menos algo respetadas por todos. Al igual que la sentencia de William Blackstone y los tribunales, siento que mantener ese respeto requiere un sistema que yerra por omisión y no por error voluntario. Por lo tanto, me parece que vale la pena que al menos una organización importante esté tomando este camino diferente y vea su raro respeto intertribal como un recurso precioso.
Otra razón por la que creo que está bien que las Notas de la comunidad sean conservadoras es que no creo que todos los tweets mal informados, o incluso la mayoría de los tweets mal informados, deban recibir una nota correctiva. Incluso si menos del uno por ciento de los tweets mal informados se anotan para proporcionar contexto o corrección, las Notas de la comunidad aún brindan un servicio extremadamente valioso como herramienta educativa. El objetivo no es corregirlo todo; más bien, el objetivo es recordarle a la gente que hay múltiples puntos de vista, que algunas de las publicaciones que parecen convincentes y atractivas de forma aislada en realidad son bastante incorrectas, y que, sí, por lo general puedes hacer comentarios básicos. Búsqueda en Internet para verificar que está mal.
Community Notes no puede ser, ni pretende ser, una panacea para todos los problemas de la epistemología pública. Independientemente de los problemas que no resuelva, hay mucho espacio para que otros mecanismos los llenen, ya sean dispositivos novedosos como mercados de predicción u organizaciones establecidas que contratan personal a tiempo completo con experiencia en el dominio para tratar de llenar los vacíos.
en conclusión
Community Notes no es solo un experimento fascinante en las redes sociales, sino también un ejemplo fascinante de un tipo emergente de diseño de mecanismo: mecanismos que conscientemente intentan identificar extremos y tienden a fomentar el cruce en lugar de perpetuar la división.
Otros dos ejemplos en esta categoría que conozco son: (i) el mecanismo de financiamiento cuadrático emparejado que se usa en Gitcoin Grants, y (ii) Polis, una herramienta de discusión que usa algoritmos de agrupamiento para ayudar a la comunidad a identificar declaraciones populares comunes que abarcan personas que a menudo tienen opiniones diferentes. Este campo del diseño de mecanismos es valioso y espero que veamos más trabajos académicos en esta área.
La transparencia algorítmica que proporciona Community Notes no es exactamente una red social totalmente descentralizada: si no está de acuerdo con el funcionamiento de Community Notes, no hay forma de ver una perspectiva algorítmica diferente sobre el mismo contenido. Pero esto es lo más cerca que estarán las aplicaciones de hiperescala en los próximos años, y podemos ver que ya brinda mucho valor, tanto para evitar la manipulación centralizada como para garantizar que las plataformas que no se involucran en dicha manipulación obtengan el reconocimiento que merecen. .
Espero ver que Community Notes y muchos algoritmos con un espíritu similar se desarrollen y crezcan durante la próxima década.