Vitalik Buterin : 關於對推特新功能 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。然後我們在運行算法生成的 scorednotes.tsv 和 notestatus_history.tsv 文件中搜索該 ID。我們得到了以下結果:
第一個輸出中的第二列是該 Notes 的當前評分。第二個輸出顯示了該 Notes 的歷史記錄:它的當前狀態在第七列(NEEDSMORERATINGS),而它之前收到的第一個不是 NEEDSMORERATINGS 的狀態在第五列(CURRENTLYRATEDHELPFUL)。因此,我們可以看到算法本身首先顯示了該 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 以及許多類似精神的算法的發展和壯大。