Vitalik Buterin : 关于对推特新功能 Community Notes 的思考

Vitalik Buterin
2023年8月17日 11:39
收藏
尽管 Community Notes 不是一个“加密项目”,但它可能是我们在主流世界中看到的最接近“加密价值观”的实例。

原文标题:《What do I think about Community Notes?

作者:vitalikButerin

编译:深潮 TechFlow

 

过去两年,Twitter( X )可以说是动荡不安。去年,Elon Musk 以 440 亿美元的价格购买了这个平台,之后对公司的人员配置、内容审核、商业模式以及网站文化进行了全面改革,这些改变可能更多地是 Elon Musk 的软实力所致,而非特定的政策决策。然而,在这些备受争议的行动中,Twitter 上的一个新功能迅速变得重要起来,并且似乎受到了各个政治派别的喜爱:Community Notes。

Community Notes 是一种事实核查工具,有时会在推文中附加背景文注释,比如上面 Elon Musk 的推文,作为一种事实核查和反虚假信息的工具。它最初被称为 Birdwatch,并于 2021 年 1 月首次作为试点项目推出。此后,它逐步扩大,最快速的扩张阶段与去年 Elon Musk 接管 Twitter 的时间重合。如今,在 Twitter 上受到广大关注的推文中,包括那些涉及有争议的政治话题的推文,Community Notes 经常出现。在我看来,以及我与各个政治派别的许多人交谈后得出的结论是,这些 Notes 在出现时是有信息量且有价值的。

但是,最让我感兴趣的是 Community Notes,尽管它不是一个“加密项目”,但它可能是我们在主流世界中看到的最接近“加密价值观”的实例。Community Notes 并不是由一些中央选定的专家编写或策划的;相反,任何人都可以编写和投票,哪些 Notes 显示或不显示完全由开源算法决定。Twitter 网站有一个详细而全面的指南,描述了算法的工作原理,你可以下载包含已发布的 Notes 和投票的数据,本地运行算法,并验证输出是否与 Twitter 网站上可见的内容相匹配。虽然不完美,但它在相当具有争议的情况下令人惊讶地接近可信中立的理想,并且同时非常有用。

Community Notes 算法是如何工作的呢?

符合某些条件的 Twitter 账户(基本上是:活跃时间超过 6 个月,没有违规记录,已验证手机号码)的任何人都可以注册参与 Community Notes。目前,参与者正在缓慢而随机地被接受,但最终计划是允许符合条件的任何人加入。一旦被接受,你首先可以参与对现有 Notes 进行评分,一旦你的评分足够好(通过查看哪些评分与该 Notes 的最终结果相匹配来衡量),你还可以编写自己的 Notes。

当你编写一条 Notes 时,这条 Notes 会根据其他 Community Notes 成员的评审获得一个分数。这些评审可以被视为沿着“有帮助”、“有些帮助”和“无帮助”这三个级别的投票,但评审还可以包含在算法中扮演角色的其他标签。根据这些评审,Notes 会得到一个分数。如果 Notes 的分数超过 0.40,那么这条 Notes 就会显示出来;否则,这条 Notes 就不会显示。

算法独特之处在于分数的计算方式。与简单的算法不同,简单的算法旨在仅仅计算用户评分的某种总和或平均值,并将其作为最终结果使用,而 Community Notes 评分算法明确尝试优先考虑那些得到来自不同观点的人的积极评价的 Notes。也就是说,如果通常在评分上意见不合的人最终在某个特定 Notes 上达成一致,那么这条 Notes 将被高度评分。

让我们深入了解其工作原理。 我们有一组用户和一组 Notes; 我们可以创建一个矩阵 M,其中单元格 Mij 表示第 i 个用户如何评价第 j 个 Notes。

对于任何给定的 Notes,大多数用户都没有对该 Notes 进行评分,因此矩阵中的大多数条目将为零,但这没关系。算法的目标是创建一个用户和 Notes 的四列模型,为每个用户分配两个统计数据,我们可以称之为“友好度”和“极性”,为每个 Notes 分配两个统计数据,我们可以称之为“有用性”和“极性”。该模型试图将矩阵预测为这些值的函数,使用以下公式:

请注意,这里我介绍了 Birdwatch 论文中使用的术语,以及我自己提供的术语,以便更直观地理解变量的含义,而不涉及数学概念:

  • μ是一个“公众情绪”参数,用于衡量用户普遍给出的评分有多高。

  • iu 是用户的“友好度”,即该用户倾向于给出高评分的可能性有多大。

  • in 是 Notes 的“有用性”,即该 Notes 得到高评分的可能性有多大。这是我们关心的变量。

  • fu 或 fn 是用户或 Notes 的“极性”,即它们在政治极端的主导轴上的位置。实际上,负极性大致意味着“左倾”,正极性意味着“右倾”,但请注意,极端轴是通过分析用户和 Notes 的数据得出的,左派和右派的概念并没有硬编码进去。

该算法使用了一个相当基本的机器学习模型(标准梯度下降),以找到最佳的变量值来预测矩阵数值。特定 Notes 被分配的有用性就是该 Notes 的最终得分。如果一个 Notes 的有用性至少为 +0.4,那么该 Notes 将被显示出来。

这里的核心巧妙之处在于,“极性”吸收了一条 Notes 的特性,这些特性导致它被某些用户喜欢,而被其他用户不喜欢,而“有用性”只衡量了一条 Notes 具有的特性,这些特性导致它被所有用户喜欢。因此,选择有用性可以识别出得到跨部落认可的 Notes,并排除那些在一部落中受到欢呼,但引起另一部落反感的 Notes。

上述内容仅描述了算法的核心部分。实际上,还有许多额外的机制添加在其上。幸运的是,它们在公开文档中有所描述。这些机制包括以下内容:

  • 算法会多次运行,每次都会向投票中添加一些随机生成的极端“伪投票”。这意味着算法对于每个 Notes 的真实输出是一个值范围,并且最终结果取决于从该范围中取出的“下限置信度”,并与 0.32 的阈值进行比较。

  • 如果许多用户(尤其是与 Notes 极性相似的用户)将一条 Notes 评为“不有用”,并且他们还指定了相同的“标签”(例如,“争论性或有偏见的语言”,“来源不支持 Notes”)作为评分原因,那么 Notes 被发布所需的有用性阈值将从 0.4 增加到 0.5(这看起来很小,但在实践中非常重要)。

  • 如果一条 Notes 被接受,那么它的有用性必须降低到低于接受该 Notes 所需的阈值 0.01 分。

  • 算法会使用多个模型进行更多次数的运行,有时会提升那些原始有用性得分在 0.3 到 0.4 之间的 Notes。

总而言之,你会得到一些相当复杂的 Python 代码,共计 6282 行,分布在 22 个文件中。但是这一切都是开放的,你可以下载 Notes 和评分数据并自行运行,看看输出结果是否与 Twitter 上的实际情况相符。

那么在实践中,这是什么样子呢?

这个算法与简单地从人们的投票中取平均分数的方法最大的不同之处,可能是我称之为“极性”值的概念。算法文档将它们称为 fu 和 fn,使用 f 表示因子,因为这两个术语会相互相乘;更通用的术语部分是因为最终希望使 fu 和 fn 成为多维的。

极性被分配给用户和 Notes。用户 ID 与底层的 Twitter 账户之间的链接被有意地保密,但 Notes 是公开的。实际上,至少对于英语数据集,算法生成的极性与左右派非常密切相关。

以下是一些极性约为 -0.8 的 Notes 示例:

请注意,我在这里并没有精选;这些实际上是我在本地运行算法时生成的 scored_notes.tsv 电子表格中的前三行,它们的极性得分(在电子表格中称为 coreNoteFactor1)小于 -0.8。

现在,这里有一些极性约为 +0.8 的 Notes。事实证明,其中许多要么是用葡萄牙语谈论巴西政治的人,要么是特斯拉的粉丝愤怒地反驳对特斯拉的批评,所以让我稍微挑选一下,找到一些不属于这两类的 Notes:

再次提醒一下,"左派与右派的划分"并没有以任何方式硬编码到算法中;它是通过计算发现的。这表明,如果你将这个算法应用于其他文化背景中,它可以自动检测出它们的主要政治分歧,并在这些分歧之间建立桥梁。

与此同时,得到最高有用性的 Notes 看起来是这样的。这次,因为这些 Notes 实际上在 Twitter 上显示出来,我可以直接截屏一个:

还有另一个:

对于第二个 Notes,它更直接地涉及高度党派的政治主题,但它是一个明确、高质量且信息丰富的 Notes,因此得到了高评分。总的来说,这个算法似乎是有效的,并且通过运行代码来验证算法的输出似乎也是可行的。

我对该算法有什么看法?

当分析这个算法时,让我印象最深刻的是它的复杂性。有一个"学术论文版本",它使用梯度下降找到五项向量和矩阵方程的最佳拟合,然后是真实版本,一个复杂的算法执行的系列,其中包含许多不同的执行,并且沿途有很多任意的系数。

即使是学术论文版本也隐藏了底层的复杂性。它优化的方程是一个负四次程(因为预测公式中有一个二次方的 fu*fn 项,并且成本函数衡量的是误差的平方)。虽然在任意数量的变量上优化二次方程几乎总是有唯一解的,你可以用相当基本的线性代数计算出来,但是在许多变量上优化四次方程通常有许多解,因此多轮梯度下降算法可能会得出不同的答案。微小的输入变化可能会导致下降从一个局部最小值翻转到另一个局部最小值,从而显著改变输出结果。

这与我参与开发的算法(如二次融资)之间的区别,对我来说就像是经济学家的算法和工程师的算法之间的区别。经济学家的算法在最佳情况下,注重简单性,相对容易分析,并具有清晰的数学特性,说明它为所要解决的任务是最优(或最不差的),理想情况下还能证明在试图利用它时,某人能造成多大的损害。另一方面,工程师的算法是通过迭代的试错过程得出的,看看在工程师的操作环境中什么有效,什么无效。工程师的算法是务实的,能够完成任务;而经济学家的算法在面对意外情况时不会完全失控。

或者,正如受人尊敬的互联网哲学家 roon(又名 tszzl)在相关主题中所说的那样:

当然,我会说加密货币的“理论美学”方面是必要的,因为它能够准确区分那些真正无需信任的协议和那些看起来不错、表面上运行良好,但实际上需要信任一些中心化参与者,甚至更糟的是,可能是彻头彻尾的骗局。

深度学习在正常情况下是有效的,但它对各种对抗性机器学习攻击具有不可避免的弱点。如果能够做得好,技术陷阱和高度抽象的阶梯可以对抗这些攻击。因此,我有一个问题:我们能否将 Community Notes 本身转变成更像是一种经济学算法的东西?

为了实际了解这意味着什么,让我们探讨一种我几年前为类似目的设计的算法:Pairwise-bounded quadratic funding(新的二次融资设计)。

Pairwise-bounded quadratic funding 的目标是填补“常规”二次融资中的一个漏洞,即即使有两个参与者相互勾结,他们也可以为一个虚假项目贡献非常高的金额,将资金返还给他们,并获得耗尽整个资金池的大额补贴。在 Pairwise-bounded quadratic funding 中,我们为每对参与者分配一个有限的预算 M。算法遍历所有可能的参与者对,如果算法决定向某个项目 P 添加补贴,因为参与者 A 和参与者 B 都支持它,那么这个补贴就从分配给该对(A,B)的预算中扣除。因此,即使 k 个参与者勾结,他们从机制中窃取的金额最多为 k *(k-1)* M。

这种形式的算法对于 Community Notes 的背景并不适用,因为每个用户只投出很少的票数:平均而言,任何两个用户之间的共同票数都是零,因此仅仅通过单独查看每对用户,算法无法了解用户的极性。机器学习模型的目标正是尝试从非常稀疏的源数据中“填充”矩阵,这种数据不能直接以这种方式进行分析。但这种方法的挑战在于,为了避免在面对少数不良投票时结果高度不稳定,需要额外的努力。

Community Notes 是否真的能够抵制左派右派吗?

我们可以分析一下 Community Notes 算法是否实际上能够抵制极端,也就是说,它是否比一个天真的投票算法表现得更好。这种投票算法已经在一定程度上抵制了极端:一个帖子如果有 200 个赞和 100 个踩,比起只有 200 个赞的帖子,它的表现要差。但是 Community Notes 是否做得更好呢?

从抽象的算法来看,很难说。一个平均评分很高但具有两极分化的帖子为什么不能获得强烈的极性和高有用性呢?想法是,如果这些投票是相互冲突的,极性应该“吸收”导致该帖子获得大量投票的特性,但它是否真的做到了呢?

为了检查这一点,我运行了自己简化的实现 100 轮。平均结果如下:

在这个测试中,“好”Notes 在同一政治派别的用户中获得 +2 的评分,在相反政治派别的用户中获得 +0 的评分,“好但更具极端倾向”的 Notes 在同一派别的用户中获得 +4 的评分,在相反派别的用户中获得 -2 的评分。虽然平均分数相同,但极性不同。而且实际上,“好的”Notes 的平均有用性似乎比“好但更具极端倾向”的 Notes 更高。

拥有更接近“经济学家算法”的算法将有一个更清晰的故事,说明算法是如何惩罚极端化的。

在高风险情况下,这一切有多有用?

我们可以通过观察一个具体的情况来了解其中的一些情况。大约一个月前,Ian Bremmer 抱怨说,一条对中国政府官员的推文添加了一条高度批评的 Community Note,但该 Notes 已被删除。

这是一项艰巨的任务。在一个以太坊社区环境中进行机制设计是一回事,那里最大的抱怨可能只是 20000 美元流向一个极端的 Twitter 影响者。而在涉及影响数百万人的政治和地缘政治问题时,情况就完全不同了,每个人往往都会合理地假设最坏的动机。但是,如果机制设计师想要对世界产生重大影响,与这些高风险环境进行互动是必不可少的。

在 Twitter 的情况下,有一个明显的原因可以怀疑中心化操纵是导致 Notes 被删除的原因:Elon Musk 在中国有很多商业利益,因此有可能 Elon Musk 迫使 Community Notes 团队干预算法的输出,并删除了这个特定的 Notes。

幸运的是,该算法是开源且可验证的,所以我们实际上可以深入了解!让我们来做这件事。原始推文的 URL 是 https://twitter.com/MFA_China/status/1676157337109946369。末尾的数字 1676157337109946369 是推文的 ID。我们可以在可下载的数据中搜索该 ID,并确定电子表格中具有上述 Notes 的特定行:

在这里,我们得到了 Notes 本身的 ID,1676391378815709184。然后我们在运行算法生成的 scored_notes.tsv 和 note_status_history.tsv 文件中搜索该 ID。我们得到了以下结果:

 

第一个输出中的第二列是该 Notes 的当前评分。第二个输出显示了该 Notes 的历史记录:它的当前状态在第七列(NEEDS_MORE_RATINGS),而它之前收到的第一个不是 NEEDS_MORE_RATINGS 的状态在第五列(CURRENTLY_RATED_HELPFUL)。因此,我们可以看到算法本身首先显示了该 Notes,然后在其评分稍微下降后将其删除-似乎没有涉及中心化的干预。

我们还可以通过查看投票本身来以另一种方式来看待这个问题。我们可以扫描 ratings-00000.tsv 文件,以分离出所有针对该 Notes 的评分,并查看有多少评为 HELPFUL 和 NOT_HELPFUL:

但是,如果按时间戳对它们进行排序,并查看前 50 个投票,你会发现有 40 个 HELPFUL 投票和 9 个 NOT_HELPFUL 投票。因此,我们得出了相同的结论:Notes 的最初受众对 Notes 的评价更为积极,而 Notes 的后来的受众对其评价更低,因此其评分从一开始就较高,随着时间的推移下降得更低。

不幸的是,关于 Notes 如何改变状态的确切情况很难解释:它不是一个简单的问题,即“之前评分高于 0.40,现在评分低于 0.40,所以它被删除了”。相反,大量的 NOT_HELPFUL 回复触发了异常条件之一,增加了 Notes 需要保持在阈值以上的有用性分数。

这是另一个很好的学习机会,教会我们一个教训:使一个可信的中立算法真正可信需要保持简单。如果一个 Notes 从被接受到不被接受,应该有一个简单明了的故事来解释为什么会这样。

当然,还有另一种完全不同的方式可以操纵这个投票:Brigading。看到一个他们不赞同的 Notes 的人可以呼吁一个高度参与的社区(或更糟糕的是,一大批假账户)来给它评为 NOT_HELPFUL,而且可能不需要太多的投票就能将 Notes 从“有用”变为“极端”。要正确地减少该算法对这种协调攻击的脆弱性,需要进行更多的分析和工作。一个可能的改进是不允许任何用户对任何 Notes 进行投票,而是使用“为您”算法推荐的方式将 Notes 随机分配给评分者,并且只允许评分者对他们被分配到的那些 Notes 进行评分。

Community Notes 不够“勇敢”吗?

我看到对 Community Notes 的主要批评基本上是它做得不够。我看到了两篇最近的文章提到了这一点。引用其中一篇文章:

该程序受到了一个严重的限制,即要使 Community Notes 成为公开的,必须得到各个政治派别的人们的共识的普遍接受。

“它必须有意识形态共识,”他说。“这意味着左翼人士和右翼人士必须同意该注释必须附加到该推文中。”

他说,从本质上讲,它需要“就真相达成跨意识形态的一致意见,而在党派之争日益加剧的环境下,达成这种共识几乎是不可能的。”

这是一个棘手的问题,但最终我倾向于认为,宁愿让十条错误信息的推文自由传播,也不愿意让一条推文被不公正地附加注释。我们已经见证了多年的事实核查,这是勇敢的,并且从“实际上我们知道真相,我们知道一方比另一方更经常撒谎”的角度来看。结果会怎样呢?

老实说,对事实核查的概念存在相当普遍的不信任。在这里,有一种策略是说:忽略那些批评者,记住事实核查专家确实比任何投票系统更了解事实,并坚持下去。但是全力以赴采取这种方法似乎有风险。建立至少在某种程度上受到所有人尊重的跨部落机构是有价值的。就像 William Blackstone 的格言和法院一样,我觉得要保持这种尊重,需要一个系统,它犯的错误是遗漏而不是主动犯错。因此,对我来说,至少有一个主要组织采取这种不同的路径,并将其罕见的跨部落尊重视为一种珍贵的资源,这似乎是有价值的。

我认为 Community Notes 保守一点是可以的另一个原因是,我不认为每条错误信息的推文,甚至大多数错误信息的推文,都应该收到纠正性的注释。即使不到百分之一的错误信息推文得到提供背景或纠正的注释,Community Notes 仍然作为一种教育工具提供了极其有价值的服务。目标不是纠正一切;相反,目标是提醒人们存在多种观点,某些看起来在孤立状态下令人信服和引人入胜的帖子实际上是相当错误的,而你,是的,你通常可以进行基本的互联网搜索来验证它是错误的。

Community Notes 不能成为,也不是旨在成为,解决公共认识论中所有问题的灵丹妙药。无论它解决不了什么问题,都有足够的空间供其他机制填补,无论是像预测市场这样的新奇小工具,还是雇佣具有领域专业知识的全职员工的老牌组织,都可以尝试填补这些空白。

结论

Community Notes 不仅是一个引人入胜的社交媒体实验,也是一种引人入胜的新兴机制设计类型的实例:有意识地试图识别极端,并倾向于促进跨界而非延续分歧的机制。

我所了解的这个类别中的另外两个例子是:(i)Gitcoin Grants 中使用的成对二次融资机制,以及(ii)Polis,一种讨论工具,它使用聚类算法来帮助社区识别普遍受欢迎的声明跨越通常有不同观点的人。这个机制设计领域很有价值,我希望我们能在这个领域看到更多的学术工作。

Community Notes 提供的算法透明度并不完全是完全去中心化的社交媒体——如果你不同意 Community Notes 的工作方式,就没有办法通过不同的算法查看相同内容的观点。但这是未来几年内超大规模应用程序将达到的最接近的结果,我们可以看到它已经提供了很多价值,既可以防止集权操纵,也可以确保不参与此类操纵的平台能够得到应有的认可。

我期待着在未来十年里看到 Community Notes 以及许多类似精神的算法的发展和壮大。

链捕手ChainCatcher提醒,请广大读者理性看待区块链,切实提高风险意识,警惕各类虚拟代币发行与炒作, 站内所有内容仅系市场信息或相关方观点,不构成任何形式投资建议。如发现站内内容含敏感信息,可点击 “举报”,我们会及时处理。
ChainCatcher 与创新者共建Web3世界