本文摘自杰夫·霍維茨(Jeff Horwitz)的新書《破碎的代碼:Facebook 的內幕和揭露其有害秘密的斗爭》。經企鵝蘭登書屋旗下的 Doubleday 出版社授權轉載。杰夫·霍維茨版權所有。
2006 年,美國專利局收到了一份申請,專利內容是“自動生成的展示頁面,其中包含用戶所在社交關系網絡中的另一用戶的信息”。該系統可以避免人們在“分散且無序”的內容中搜索感興趣的東西,而是會主動按“偏好順序(preferred order)”生成“與其相關的”信息列表。
專利申請上列出的提出者是“扎克伯格等人”,對應產品是新鮮事推送(新聞推送,News Feed)。
向用戶展示活動流的想法并不新鮮,照片共享網站 Flickr 和其他網站一直在嘗試這種展示方式,但當時在 Facebook 上帶來的變化是巨大的。在那以前,Facebook 用戶主要通過通知、戳一戳或查看朋友的個人資料來與網站互動。
隨著新鮮事推送功能的推出,用戶可以看到不斷更新的帖子和狀態變化。這一轉變令當時使用 Facebook 的 1000 萬用戶感到震驚,他們不喜歡自己的活動被監控,也不喜歡自己曾經“沉寂已久的”個人資料被重新挖掘出來以更新信息流上的內容。
面對廣泛的投訴,扎克伯格寫了一篇帖子,向用戶保證,“你們所做的一切不會被所有用戶看到,而是與關心你近況的人和朋友分享。”
聽見用戶的抱怨和傾聽他們的抱怨不是一回事。正如克瑞斯·考克斯(Chris Cox)后來在一次新聞發布會上指出的那樣,新鮮事推送在促進平臺活躍度和連接用戶方面取得了立竿見影的積極效果。
用戶參與度迅速翻了一番。在該功能推出后的兩周內,超過 100 萬用戶首次共同對一件事情表現出了興趣。什么事情能讓這么多人團結起來?答案是一份請愿書,要求移除這種“跟蹤狂”一樣的新鮮事推送功能。
事后看來,用戶反感的不透明系統非常簡單。內容大多按時間倒序出現,并進行手動調整,以確保人們看到更受歡迎的帖子和一系列其他內容。考克斯說:“一開始,新聞(新鮮事)推送的排名系統就出現了問題。”
在一段時間里,這種推送方式沒出現什么大問題。但每個人的朋友列表都在增加,Facebook 也推出了新功能,如廣告、頁面和興趣小組。隨著娛樂新聞、熱梗和商業內容開始與朋友的新鮮事發生競爭,Facebook 需要確保剛剛登錄的用戶能夠在看到營銷內容之前看到他們最好朋友的訂婚照片,因為后者才是他們更在意的內容。
最初的內容排序工作,最終被命名為“EdgeRank”排序法,是一個簡單的公式,根據三個主要因素對內容進行優先排序:帖子的發帖時間、參與度以及用戶和發帖者之間的相互聯系。作為一種算法,它考慮的東西并不多,只是將“帖子是新的?流行的?還是來自你關心的人的?”這三個問題轉化為數學的一次粗淺嘗試。
這背后沒什么“黑科技”或者“陰謀論”,但用戶再次對 Facebook 試圖控制他們所看到的東西的舉動表示反感。與此同時,Facebook 的活躍度等指標再次全面躍升。
Facebook 當時的推薦系統仍處于初級階段,但用戶一面強烈反對,一面又狂熱使用,兩者之間出現了巨大且不和諧的反差,這讓公司內部出現了一種不可避免的結論:普通人對 Facebook 機制的看法可以被忽視。用戶不停地要求“移除”這些功能,但 Facebook 不為所動,一切都在順利推進。
到 2010 年,該公司希望改善 EdgeRank 背后粗糙的數學公式,轉而使用基于機器學習的技術推薦內容,機器學習是人工智能技術的一個分支,專注于訓練計算機設計自己的決策(推薦算法)。工程師們不會讓 Facebook 的系統根據簡單的數學對內容進行排名,而是對其進行編程,分析用戶行為并由其自己設計出排名公式。
人們所看到的將是不斷實驗的結果,該平臺提供它預測的最有可能從用戶那里獲得贊的東西,并實時評估自己預測的結果。
盡管 Facebook 的產品越來越復雜,用戶數據的收集規模之大前所未有,但 Facebook 對用戶的了解仍然不夠,無法向他們展示個性化廣告。品牌喜歡在 Facebook 上創作內容所帶來的關注和轟動,但他們覺得在該公司的平臺和產品上付費沒有吸引力。
2012 年 5 月,通用汽車取消了其在 Facebook 上的全部廣告預算。一位著名的數字廣告高管宣稱,Facebook 廣告“從根本上說是網絡上表現最差的廣告服務之一”。
(來源:COURTESY OF THE AUTHOR)
解決這個問題的重任落在了由華金·奎諾內羅·坎德拉(Joaquin Quiñonero Candela)管理的團隊身上。奎諾內羅是一名在摩洛哥長大的西班牙人。2011 年,他在英國微軟從事人工智能相關工作時,他的北非朋友們開始興奮地談論社交媒體上瘋狂傳播的抗議活動。
他用來優化必應搜索廣告的機器學習技術顯然可以用在社交網絡上??Z內羅說:“我加入 Facebook 是因為看到了阿拉伯之春。”
奎諾內羅發現,Facebook 構建產品的方式幾乎與他們的結果一樣具有革命性。應一位朋友的邀請,他參觀了 Facebook 的門洛帕克園區,當他看到一位工程師對 Facebook 的代碼進行了一次重要但無監督的更新時,他感到十分震驚。
一周后,奎諾內羅收到了 Facebook 的工作邀請,這說明該公司的流程推進速度比微軟快得多??Z內羅開始從事廣告推薦算法相關的工作,他的時機再好不過了。
機器學習和計算速度的進步使 Facebook 不僅可以將用戶分類到細致的人口統計領域,比如“舊金山 20 多歲的單身異性戀女性,對露營和薩爾薩舞感興趣”,還可以發現他們點擊的內容之間的相關性,然后利用這些信息猜測他們更適合看到哪些廣告。
最開始,這套系統對如何最大化廣告點擊率一無所知,它推送的廣告幾乎是隨機的猜測。該系統隨后會從點擊和未點擊的結果中吸取教訓,使用反饋來完善其預測哪些廣告最有可能成功的模型。它并非無所不知,推薦的廣告常常令人費解。
但數字廣告的成功門檻很低:哪怕只有 2% 的用戶點擊了一個廣告,就可以算是成功的。由于 Facebook 平臺每天提供數十億條廣告,即使是只能產生一般收益的算法調整也可能增加數千萬或數億美元的收入。
奎諾內羅的團隊發現,這種算法可以大量地修改和試錯。“我告訴我的團隊要行動迅速,每周更新。”他說。
快速行動很有效果。該團隊的人工智能模型不僅改善了收入,還改善了人們對該平臺的感受。
更有針對性的廣告意味著,Facebook 可以在不增加廣告量的情況下提高自己從每個用戶身上賺到的錢,而且不會帶來更多問題。就算 Facebook 向青少年錯誤地推銷假牙安固膏,也不會有人因此死掉。
廣告是 Facebook 應用機器學習技術的前沿陣地,很快每個人都想從中分一杯羹。對于需要增加用戶活躍度的產品高管來說,包括加入群組、添加朋友和發布帖子數量,該技術的吸引力顯而易見。
如果奎諾內羅的技術可以提高用戶點擊廣告的頻率,那么它們也可以提高用戶在平臺上參與其他一切活動的頻率。
每一個負責內容排名或推薦的團隊都爭先恐后地對其系統進行全面檢修,這引發了 Facebook 產品復雜性的爆炸性增長。員工們發現,最大的收獲往往不是來自深思熟慮的舉措,而是來自簡單的“試錯”。
工程師們沒有重新設計算法(因為這很慢),而是通過快速而骯臟的機器學習實驗獲得了好結果。這些實驗相當于將數百種現有算法的變體扔到現實世界里,看看哪些版本行不通,哪些版本的用戶表現最好。
他們不一定知道為什么一個變量很重要,也不一定知道一種算法在預測評論的可能性方面如何優于另一種算法。但他們可以繼續調試,直到機器學習模型產生了一種在統計學上優于現有算法的算法,這就足夠了。
很難想象一種構建系統的方法能更具體地體現“快速行動,打破一切”的口號。Facebook 還想要更多。扎克伯格向專注于深度學習的法國計算機科學家楊立昆(Yann LeCun)示好,希望構建能夠以受人類思維啟發的方式處理信息的計算機系統。
楊立昆因創造了使面部識別成為可能的基礎人工智能技術而聞名,他被扎克伯格任命負責一個部門,該部門旨在將 Facebook 置于人工智能基礎研究的前沿。
在廣告方面取得成功后,奎諾內羅被賦予了同樣艱巨的任務:盡快將機器學習融入公司的血液之中。
他最初領導了 20 多名員工,負責構建新的核心機器學習工具并將其提供給公司其他部門的團隊,這個團隊的規模在接下來的三年里不斷壯大。但它仍然遠遠不夠大,無法幫助每一個需要機器學習幫助的產品團隊。
從頭開始構建模型的技能太專業了,工程師們無法輕易掌握,而且你無法通過四處砸錢來增加機器學習博士的數量。
他們找到的解決方案是構建 FB Learner,這是一種機器學習的“臨摹”版本。它將復雜深奧的技術打包成一個模板,供那些完全不了解自己在做什么的工程師使用。
FBLearner 在 Facebook 內部推進機器學習的應用,就像 wordPress/ target=_blank class=infotextkey>WordPress 等服務曾經在網站構建領域所做的那樣,它讓網站構建不再需要使用 html 或配置服務器。
然而,這些良莠不齊的工程師正在擾亂這個迅速成為全球最大通信平臺的內核。
Facebook 的許多員工都意識到公司外的人對人工智能的擔憂與日俱增。
由于算法的拙劣設計,本來旨在獎勵好醫院的算法變成了懲罰治療重病患者的醫院,而旨在量化假釋者再次犯罪風險的模型被證明會偏向于將黑人關進監獄。但在社交網絡上,這些問題似乎很遙遠。
FBLearner 的一位重度用戶(員工)后來將機器學習在 Facebook 內部的大規模傳播描述為“將火箭發射器送給 25 歲的工程師”。但當時,奎諾內羅和該公司稱之為一場勝利。
Facebook 在 2016 年宣布:“工程師和團隊,即使幾乎沒有專業知識,也可以輕松地構建和運行實驗,并比以往更快地將人工智能驅動的產品部署到生產中。”Facebook 吹噓 FB Learner 每天攝入數萬億個用戶行為數據點,工程師每月在這些數據點上進行 50 萬次實驗。
Facebook 收集的大量數據,以及廣告定向投放結果如此之好,以至于用戶經常(錯誤地)懷疑該公司竊聽了他們的離線對話,甚至引發了“Facebook 了解你的一切”的說法。
這不太正確。機器學習的奇跡掩蓋了它的局限性。Facebook 的推薦系統是根據用戶行為之間的原始相關性來工作的,而不是通過識別用戶的口味和興趣,然后根據它們提供內容。
新鮮事推送無法分辨你是喜歡滑冰還是騎越野自行車,喜歡嘻哈還是 K-pop,也無法用人的語言解釋為什么一個帖子出現在你的推送中,而不是另一個帖子。
盡管這種不可解釋性是一個明顯的缺點,但基于機器學習的推薦系統表明了扎克伯格對數據、代碼和個性化的堅定信念。他相信,Facebook 的算法擺脫了人類的局限、錯誤和偏見,具有無與倫比的客觀性,也許更重要的是,它的高效率。
另一項機器學習工作致力于弄清楚 Facebook 推薦的帖子中到底有什么內容。這些被稱為分類器的人工智能系統被訓練用于對大量數據集進行模式(規律)識別。
在 Facebook 創立的幾年前,分類器就已經證明了自己在打擊垃圾郵件方面的重要作用。它使得電子郵件服務商不再依賴簡單的關鍵詞過濾器,手段也不僅限于單純的屏蔽。
通過收集和比較大量的電子郵件,有些被標記為垃圾郵件,有些不是垃圾郵件,機器學習系統可以開發自己的標準來區分它們。
一旦這個分類器被“訓練”完成,它就會被部署到現實世界中,分析用戶收到的每一封電子郵件,并預測每封郵件屬于收件箱、垃圾箱或者應該直接被屏蔽的可能性。
當機器學習專家開始進入 Facebook 時,其分類器要回答的問題列表已經遠遠超過了“這是垃圾郵件嗎?”,這在很大程度上要歸功于像楊立昆這樣的人。扎克伯格看好該技術未來的進展及其在 Facebook 產品中的應用。
早在 2016 年,扎克伯格就預測分類器將在未來五到十年內超越人類的感知、識別和理解能力,使公司能夠及時阻止不當行為,在連接世界方面取得巨大飛躍。事實證明,這一預測過于樂觀。
即使技術進步了,數據集增加了,處理速度加快了,機器學習的一個缺點仍然存在:該公司生產的算法一直無法解釋它做出的決策。
工程師可以通過測試分類器來評估它的成功,比如通過它的判斷結果來評估準確率(precision)和召回率(recall)。(注:這兩個是機器學習領域常用的模型評估指標。)
但由于該系統正在教會自己如何根據自己設計的邏輯來識別某些東西,所以當它出錯時,很難找到符合人類認知的原因。
有時錯誤看起來毫無意義。其他時候,它們可能是系統性的,反映出了人為錯誤。阿爾圖羅·貝加爾(Arturo Bejar)回憶道,在 Facebook 部署分類器來檢測色情內容的早期,該系統經常試圖選出床的圖像。
換句話說,模型沒有學會如何識別圖像中的色情內容,而是教會了自己如何識別人們最經常在哪些家具上進行色情活動。
這個問題很容易解決,工程師只需要用更多正常的床墊場景來訓練模型。這聽起來有點搞笑,但你仔細想想,這些工程師剛剛搞砸的機器學習形式是 Facebook 內部使用的最基本的形式之一。
類似的根本性錯誤不斷出現,盡管該公司開始依賴更先進的人工智能技術來做出比“判斷色情/非色情”更重要、更復雜的決定。該公司全力投入人工智能,既要確定人們應該看到什么,也要解決可能出現的任何問題。
毫無疑問,計算機科學散發著耀眼的光芒,其成果也是清晰可見的。但是 Facebook 采用機器學習的速度、廣度和規模是以可理解性為代價的。為什么 Facebook 的“猜你喜歡頁面”算法似乎如此專注于推薦某些主題?
一段關于種植牙的計算機動畫片段是如何突破一億次瀏覽的?為什么一些新聞媒體只是重寫了其他媒體報道過的故事,卻能經常保持病毒式的傳播量?
面對這些問題,Facebook 的溝通團隊會注意到,該公司的系統對人們的行為做出了回應,但沒有考慮“品味”。
這些都是難以反駁的觀點。他們還掩蓋了一個令人不安的事實:Facebook 正在以它不完全理解的方式實現其增長。
在宣布開始使用機器學習推薦內容和個性化廣告的五年內,Facebook 的系統將嚴重依賴那些自我訓練的人工智能。楊立昆曾自豪地宣稱,如果沒有機器學習這項技術,該公司的產品不過就是“一地塵土”而已。
支持:Ren