淺友們好~我是史中,我的日常生活是開撩五湖四海的科技大牛,我會嘗試用各種姿勢,把他們的無邊腦洞和溫情故事講給你聽。如果你想和我做朋友,不妨加微信(shizhongmax)。
支付寶有多狠?
當年為抓騙子搞出“圖計算”
現在竟用它預測未來
文 | 史中
(零)圣彼得堡兇殺案
19世紀,圣彼得堡的一座高檔公寓里,發生了一起兇案。
一位富商在浴室被刺死,而兇器就遺落在一旁,是一把精致的開信刀。
資深的警探史·伊萬懦夫·中奉命調查此事。他制定了天衣無縫的調查計劃:
1)先調查富商,把和他可能有過節的100人列成一張“表格A”; 2)再調查刀具工匠,這款刀是限量款,只做過100把,于是把買過刀的客戶也列成一張“表格B”; 3)然后對A、B兩個表格進行比對,看看有沒有重合的人。
結果,兩群人完全不重合。
“這。。。不科學啊,一定存在更隱蔽的聯系!”
警探不放棄,決定進一步調查。
他把“表格A”上的100人和“表格B”上的100人分別連線,成為10000組配對,然后挨個走訪調查。
他想發現這些“配對”之間有沒有“曾同處一室”或“認識同一位中間人”的情況,但組合眾多,其中的可能性也多如牛毛。史·伊萬懦夫·中咬咬牙,以堅毅的決心開始推進!
調查進行了幾個月,案件陷入一團亂麻,但警探遇到了不得的事兒:
表格B上有一位刀具經銷商格列布,格列布對他說,你這么有毅力有恒心,不妨跟我做生意,比當警探好賺多了!表格A上有另一位富豪安托尼,他的女兒居然對自己產生了愛慕之情。
于是,史·伊萬懦夫·中毅然決定出任格列布公司的總經理,然后娶了安托尼的女兒,走上人生巔峰。
今天的淺黑講故事就到這里。
等等。。。那邊血泊里還躺著一位呢,不管了嗎?!
不是不管,是真管不了。。。
我們回到警探身邊,不難發現,他面前發散出了無數個表格:
和死亡富商有關的人組成了“表格A”, 表格A上第1個人去過的地方組成了“表格A1”, 表格A1上的第一個地點又有好多人去過,他們組成了“表格A1-1”, 表格A1上的第二個地點又有好多人去過,他們組成了“表格A1-2”, 以此類推,無窮盡也。。。
每個人都和眾多地點和人存在關聯,如果事無巨細地順藤摸瓜,最終定能找到幾條被害人和刀之間的連線,再從中排查,大概率能找到兇手。
但問題是,這么干。。。懦夫警探到退休也不一定能查出真相啊。。。人生苦短為啥不出任總經理迎娶白富美?
殘酷的事實是:
哪怕明知道人命關天的真相就藏在一堆數據里,因為分析復雜,代價太大,實際上根本無法進行——而無法浮現出來的真相,就不是真相。
但我們不想一直迷迷糊糊地生活,我們渴望用技術接近真相。
直接向你宣布兩個好消息:
第一,21世紀的今天,我們掌握了一種“顯影術”,彈指一揮間,就能從浩渺的數據中查詢關聯、計算真相,這就是——圖計算。
第二,在圖計算領域,中國人的技術一直居于世界前列,相當于巴西在足球歷史中的地位——是少有的我們從沒被任何人“卡脖子”的尖端領域。
話說,啥是“圖計算”嘞?
我先用五句話簡單科普一下:
1、世上萬事萬物,都可以用數據來描述,我們會把數據存在數據庫中。 2、但一般數據庫里的表格都是“二維”的,只能展現事情的一個側面。為了記錄不同側面,我們就得做很多表格。(就像警探那樣) 3、由于這些表格是分散的,原本屬于實體之間的“關系”也被切了個稀碎。所以了解某個表格里的具體數據容易,但想了解不同表格里實體之間的關系,就需要把一堆表格放在一起研究,這很費勁。 4、那我們不如在一開始就別分那么多表格,直接把所有的數據存在同一個三維空間里!這個能存儲多個“實體”和他們之間“關系”的數據系統,就叫 “圖數據庫”。 5、在圖數據庫上做計算,像柯南一樣發現真相,就是 “圖計算”。
你可以這樣理解:普通的數據庫是圖數據庫在某個平面的“投影”,而圖數據庫是普通數據庫融合在一起形成的“全息影像”。
話說,要是史·伊萬懦夫·中警探穿越到今天,他就可以把警局的“戶籍數據”、“金融轉賬數據”甚至“交通數據”都導進圖數據庫中,再輸入自己調查到的獨家信息,按一下回車鍵,一條清晰的連線沒準就會奇跡般浮現在他眼前!
正所謂,踏破鐵鞋無覓處,得來全靠圖數據庫!能把人一生的艱苦卓絕都壓進幾十毫秒的計算里,這是一種專屬于科技的浪漫。
而我幸運地認識了一位制造這種頂級浪漫的大牛。他就是螞蟻集團圖數據庫的負責人,洪春濤。
你不一定聽過他的名字,但是,每當你用支付寶轉賬的時候,金額、設備、人物關系等,都是圖計算判斷你的賬戶是否有風險的依據。
從這個意義上說,在座各位都享受過他和小伙伴們的“貼身服務”。
洪春濤
(一)點燃技術進步“第一把火”的竟是騙子
我猜很多人心里有隱隱的疑問:
為啥“圖數據庫”這個技術螞蟻集團做得好?
答案并不那么顯而易見。
你想想,支付寶是個支付工具,它的數據庫只要把每筆轉賬的“金額”記清楚,不錯一分錢,就夠了,為啥非要費勁把人、設備的關系這些“額外信息”也存進去呢?增加存儲成本不說,還得額外保護這些數據不泄露,里外都是負擔!
答案是兩個字:騙子。
在支付寶剛成立的時候,數據庫里確實只存“用戶 ID”和“轉賬金額”等幾個有限的信息。
但是人的惡念像水,只要有縫隙,就會滲進去。
很快,有人開始“盜號”,偷來別人的密碼,或偽造身份證重置別人的密碼,在自己的電腦上(那時候還沒有手機版)登錄,把錢轉走。
只靠ID和金額,支付寶無從判斷一筆轉賬是不是被盜號之后做的。
于是,老師傅只好把登錄的設備、網絡環境等等信息存下來。這樣,如果發現異地登錄,就很可能是高風險的,你輸對了密碼也可以不給你轉。
就像下面醬,在風控那一層攔住↓↓↓
這條路走不通,壞人就會金盆洗手回去好好上班了嗎?不可能,他們會研究更惡毒的辦法——詐騙——我讓受害者拿自己的手機轉不就行了?
就像下面醬↓↓↓
這咋辦?支付寶的老師傅冥思苦想,終于一拍桌子,被騙轉賬和一般的轉賬并還是有區別!被騙最大的特征就是:會轉給一個完全沒有關系的賬戶。
你看,“關系”兩個字就這樣悄然出現了。
支付寶的老師傅必須找到一種數據庫,能夠記錄“人和人”、“人和設備”、“設備和設備”之間的關系。
于是,從2015年開始,就有一支小分隊,秘密研究圖數據庫 TuGraph(這個名字是后改的,為了便于理解我們就叫這個名字吧)。
圖數據庫看上去“剪不斷理還亂”,其實你只需要知道三樣東西:點、邊、數據。
所謂點,就是“實體”:一個人、一臺手機、一個地址,都是實體。
所謂邊,就是“關系”:如果一個人用了一臺手機,就把這兩個點用邊連上;如果一個人轉錢給另一個人,也用邊把他倆連上。
所謂數據就是:詳細記錄這個點或邊的內容。比如一個人,他的注冊身份證號、年齡之類的數據就掛在它的點上;兩人之間轉賬,轉賬金額就掛在邊上。
可用這玩意兒怎么抓壞蛋呢?
也很簡單:
1、現在 A 想要轉賬給 B,那就去查一下 A 和 B 之間有沒有關系。 2、假如 A 曾經給 C 轉過賬,C 又給 B 轉過賬,系統雖然不知道 A 和 B 具體是啥關系,但足以判斷他倆可能在生活中認識。詐騙風險比較低。 3、如果 A 和 B 在圖上隔著好遠,查了好幾跳,都連不上,那這里面就可能有問題。不說一定是詐騙,但必須得重視,繼續結合其他信息給風險綜合打分。
就像這張圖,左邊的“AB轉賬”風險比較低,右邊的風險比較高↓↓↓
有沒有感覺眼熟?這個找 A 和 B 關系的操作,不就是懦夫警探調查兇案的過程嘛?
看到這你估計已經恍然大悟:懂了!
不,你不懂。
僅僅能查出關系的圖數據庫等于廢物。。。因為我們沒考慮“速度”。
假如,現在你準備轉5000塊給房東,你輸入密碼,然后支付寶開始轉圈,彈出一行字:我們正在查你有沒有被騙,別急啊,明天告訴你結果!
你能等嗎?就算你能等,房東能等嗎?
“20毫秒,是我們每次查詢耗時的上限。一般10秒就能完成”洪春濤說。
人眨一下眼,大概要100毫秒,也就是眨眼的功夫,最少夠 TuGraph 幫你查5遍,堪稱“一眨五次郎”。
但。。。你有沒有發現一個 Bug?
查關系,不像在富士康流水線上組裝手機那樣每個動作都是“固定的”。
有時候 A 和 B 是好基友,一查很快就知道他們關系親密;有時 A 和 B 關系比較疏遠,經過兩三個中間人才能把他們聯系起來,得查半天。
也就是說,你沒法預知這次查詢是快是慢。。。
就像下圖↓↓↓
那怎么保證圖數據庫每次查詢都遵守這個 “時間紅線” 嘞?
洪春濤一股腦說了九九八十一招,我挑兩條比較有趣的講給你:
首先,得給數據庫裝個“小腦”。
影響查詢速度的情況成百上千,但要說最大的噩夢,就是一個詞:“大點”。
咱們普通人用支付寶,大概只會和十個人有轉賬往來,這算“小點”。
但有的社牛,資金往來有成千上萬人。一旦碰到了這樣的“大點”,那可要命了,數據庫引擎光查這一個點就超過20毫秒了。。。
這咋辦?搖人唄!老師傅的方法是,把大點上的查詢任務分成十個任務,并行查詢。
但是,淺友們上班兒時肯定深有體會,一個任務一旦拆開,就涉及到同事們的分工合作,要是策略安排得不妥當,最后反而混亂、甩鍋、死機。
這背后,就需要設計一套強大的并行調度系統,根據當時的實際情況排布各個線程,就像“小腦”里的運動中樞一樣,能調動全身肌肉群協調工作。
其次,還得給數據庫裝個“大腦”。
洪春濤突然問我:查 A 和 B 的關系,你要從 A 出發找 B?還是從 B 出發找 A?還是 AB 一起出發,在中間碰頭?
我正在蒙圈中,他公布了答案:不一定。
如果從 A 出發馬上會遇到一個大點,從B出發都是小點,那顯然從 B 開始查更快。如果從 A 出發走過一跳之后遇到大點,再從B開始走也可以。
但問題是,在開始查詢之前,你不可能確切知道哪里會遇到大點。
所以老師傅會做一個精巧設計:讓圖數據庫在最初存儲數據的時候,就做好粗略的估算,這個點比較大,那個點比較小,記在小本本上備用。
這樣,在執行查詢任務前,讓“大腦”照著小本本預先做個規劃,才不會費儍功夫,所謂“預則立,不預則廢”嘛。
話說,這兩個“腦”都是查詢層面的優化,如果把它們掀開,還會看到更底層的技術。
比如如何優化“存儲機制”和“索引機制”,相當于在腦區里怎么擺布這些信息才能最快回憶出來,那些知識太艱深,咱們暫且略過,把有限的篇幅留給更有趣的故事。
看了“懦夫警探追兇”和“支付寶抓騙子”的案例,估計你會有這樣的感覺:圖數據庫是用來抓壞人的。
但我要說,僅僅把圖數據庫當做抓壞人的武器,雖不能說大材小用,但屬實思路太保守了。
接下來我不妨給你提供一些“吹牛素材”——在跟別人吃飯聊天時,你應該怎樣把圖數據庫放在一個宏大的世界觀里講給他聽嘞?
(二)數據庫的“特斯拉時刻”
話說,人類發展有這么個奇怪的劇本:
發明家總是先發明一個東西的“高級形態”; 然后實干家為了降低成本,只能用“低級形態”把它量產; 然后等到技術進步到某個時刻,一個瘋子會沖出來說:咱們已經能量產它的“高級形態”啦!
車就是個典型的例子。
在轎車發明的很長時間里,它都是由電驅動的,設計簡單,故障率低。哪怕到了1900年,美國制造的汽車中,電車都有15萬輛,油車只有可憐的936輛。
但當時的電池技術實在太落后,開著開著就沒電了,實干家福特一看,還是落后的燃油車更適合當下,于是他引入流水線,生產“T型車”,這才開啟了油車時代。
后來的故事大家也知道,3C產業發展讓電池技術突飛猛進,瘋子馬斯克突然拍大腿,汽車本該用電驅動啊!!
于是有了特斯拉電動車的爆發。
貨幣也是一個例子。
太平洋上的雅浦島有很多石盤,人們用它當貨幣,但這東西太沉,花錢成了體力活兒,于是大家發明了“記賬”。
我給你四分之一個石盤,就讓村支書在賬本上記一筆,這疙瘩的所有權就轉移到你身上了。
可在世界其他地方,人太多,經濟規模太大,村支書記不過來,只好轉回低級形態——把實物金銀/貨幣作為交換的中間物。
后來的故事大家也知道,計算機系統發展起來,銀行借此恢復了貨幣的高階形態,重新用“賬戶記賬”這種方式管理每個人的財富。
雅浦島上的石頭貨幣
數據庫也是一個例子。
1970年左右,科學家發明數據庫的時候,就長成“圖”的樣子。
但是 IBM 和 Oracle 一看,您這玩意兒99%的計算機都跑不動啊,不如把數據庫拍扁了,起碼讓一部分人先用起來!這才有了二維“關系型數據庫”的崛起。
但今天,計算機的算力、軟件的代碼基礎都已經發生了飛躍,難道我們不該用回數據庫的“高級形態”——圖數據庫嗎?
這就是數據庫的“特斯拉時刻”。
可是看到這,我猜會有人撇嘴:我就是個打工人,遠在天邊的數據庫高級不高級,跟我有毛關系嘞?
這就要說到數據的本質目的。
沒有數據的日子,我們人類茹毛飲血天天打獵也活了幾萬年。可見數據不是我們生活的必需品。但那個時候人類面臨很多飛來橫禍,洪水干旱,隔壁野人來襲,根本沒有辦法抵御。
部落首領冥思苦想,要抵御災禍,咱得有點兒“預測未來”的能力。
數據的本質目的就是預測未來。
最早的數據是龜甲上的裂痕,最早的數據工程師是大祭司。但他們預測的準確率實在是一言難盡,純純的50%。因為他們的數據完全沒能擬合真實世界。
最早的數據庫
往事越千年,咱們有了數據庫,存進去的數據真能擬合世界:
我發了一條微博,數據庫里存下了這段話,(大概率)證明我就是有過這個想法; 我給小賣部老板轉了20塊,(大概率)證明我真買過一次東西。
于是,數據才開始有了預測未來的能力。當數據庫里的數據細密交織,組成了完整的體系,馬云所說的“DT 時代”也就到來了。
洪春濤告訴我,為了增加預測準確度,需要不斷向系統里注入新的維度的數據,并且對更多維度的數據進行聯合分析。這時就會發現,舊有的“關系型數據庫”的抽象成本會迅速升高。
這里提到了一個高級的生詞:抽象成本。
不妨給你舉個例子。
在日心說的世界觀里,星體圍繞太陽做簡單的圓周運動;在地心說的世界觀里,星球們做著復雜的翻花兒運動。他倆都可以預測星球軌道,但為啥今天我們不用地心說了呢?因為地心說的抽象成本高!
同樣預測50天后火星的位置,用地心說的計算量是日心說的成百上千倍。
敲黑板!!如果你不想預測復雜的事情,那兩種數據庫都一樣,甚至在很多基礎計算中傳統數據庫更快。一旦預測復雜的事情,那差距就大!了!去!了!
舉個例子:
現在很多公司的領導都喜歡用“BI 看板”——就是老板出道應用題,數據一通算,在看板上呈現答案。
比如,負責營銷的老板可能會問這樣的問題:
30-35歲的已婚男士中,最喜歡買“杜蕾斯001”的這群人里,他們的媳婦喜歡買什么商品呀?
你看,這問題里涉及復雜關系。如果用一般的數據庫,得把好多平面表格集合在一起才能算。
數據工程師熬夜三天掉一把頭發然后把結果發給老板,老板看了看說:誒,我突然有了新點子,你再重新給我算一遍喜歡給孩子買泡泡瑪特盲盒的爸爸,他們的媳婦更喜歡哪種口紅?
如果你是數據工程師,你肯定會說:35歲的禿頂程序員最想買的是訂書機,把老板的嘴釘上!
但之所以數據工程師覺得老板可憎,是因為在數據爆炸的時代,他們還在用地心說理論計算50天后的火星位置。。。
那要是用圖數據庫,這種復雜分析是怎么做嘞?
其實說白了就兩步:
1)把老板的話轉述成一組可以被計算機理解的 “命令”; 2) “大數據引擎”在一整張大圖上跑一遍命令,算出結果。
這里提到了“大數據”。
“大數據”當然不是什么新朋友,但我們知道的大數據引擎都是和普通數據庫配套的。
圖數據庫比普通數據庫多定義出了一層“關系”屬性,原有的大數據系統不能直接算這種關系。這就需要老師傅出手,做一個能和圖數據庫組CP的“圖大數據引擎”。
說到圖大數據引擎在螞蟻內部的誕生故事,還是和壞人有關系。
緬北的詐騙產業園
(三)壞蛋學會了“分身術”
2018年雙11開始,支付寶基于圖數據庫的風控系統上線,每次轉賬都會查一下“AB關系”。
大批的騙子馬上發現:騙錢難度進入了“地獄模式”,如果總用一個賬號收錢,行為異常太明顯,分分鐘會被系統標記為高危,然后封堵。
于是他們開始“進化”,養了一堆賬號,不僅每個賬號活動的頻率降低,金額也被打散了,單獨賬號的異常特征就弱化了。
這相當于騙子學會了“分身術”!
這個號“不小心”被封了,沒關系,用另一個頂上,反正號有的是。
如此,犯罪團伙就變成了軟粘的八爪魚,斷了這個爪,還有別的爪↓↓↓
這可咋辦?
誒,既然是影分身,就和真正的人不一樣。畢竟從關系上講,控制這堆賬戶的人還是一個團伙,這些賬戶總會在某些方面表現出一致的性質。支付寶老師傅要做的就是:找出這些隱秘的規律!
這時,我們就得隆重請上一個新角色: “安全數據分析師” 。
分析師干啥呢?
舉個栗子,警察蜀黍抓了一個詐騙團伙,然后繳獲了他們手上的所有支付寶賬號,然后這些賬號會給到支付寶的數據分析師,他們就像“神探狄仁杰”,仔細研究:這堆號之間,有怎樣的關系模式?然后把這些洞察寫成一組識別規則。
至于這些規則具體是啥,我就不舉例了,因為這玩意兒說出來你能看到,壞人也能看到。。。
總之,一組 規則 就像一個 “海捕文書” ,“衙役”們需要照著這個公文把所有的賬戶都篩查一遍。這個 衙役 ,就是 “大數據引擎” 了。
注意,“海捕”一次的工作量可比只查一次AB兩點之間的關系要大多了,因為要把所有用戶、設備攏共上萬億個點和邊都拉網式篩查一遍嘛!
20毫秒,那可是斷然干不完了,大概需要幾個小時的時間才能通盤算一遍。而這樣的計算一般每天凌晨執行一次。
每天一次其實夠了。犯罪團伙嘛,比較穩定,不太可能今天你們幾個還是團伙,明天就從良了——每天地毯式圍剿一遍,足以壓制。
左邊是分析師的規則,右邊是圖數據庫。兩個匯總在圖大數據引擎里,算出下面的答案。
這種 “狄仁杰+海捕文書+衙役” 的組合,就成為了一個經典的圖計算模式,也叫 “迭代計算” 。
迭代計算這玩意兒可太香了,隔壁銀行都饞哭了。
當時很多銀行來找螞蟻,想讓老師傅幫忙用迭代計算抓壞人。只不過,這些壞人的“壞法兒”不太一樣。
比如,某國有大行曾經被犯罪團伙盯上。團伙會在某個小區門口搭個桌子,假裝幫用戶辦信用卡,收集人家個人信息,卻把卡寄到了自己的地址,然后用這些卡套現,然后當然就不還了。
銀行剛發現幾起這樣的行為,就警覺了,想把騙子還沒來得及套現的信用卡統統找出來,停掉。
但是騙子用了“分身大法”,搞了幾十個手機號,十幾個地址,接收幾百張信用卡。
單純知道其中一張卡有問題,是沒辦法根據它預留的地址和電話把幾百張卡一鍋端出來的。
這時,銀行和 TuGraph 的老師傅把數據導入圖數據庫,然后兩邊的風控專家(狄仁杰)湊在一起想出了一整套識別規則(海捕文書),交給大數據系統(衙役)去跑,很快符合條件的高危賬戶就浮現出來,接下來,不僅那些卡都被停了,物理世界的真警察蜀黍也重拳出擊抓個痛快!
再比如,銀行還會面對一種叫做“連環擔保”的風險。
意思就是A公司想向銀行借錢,得有人給它擔保嘛!
結果B給A擔保,C給B擔保,D給C擔保,E給D擔保,F給E擔保,A給F擔保。繞了一圈結果是“左腳踩右腳”,等于沒擔保。。。
一般情況下,6度以下的擔保被認為是風險很高的,所以,他們的海捕文書就可以這樣寫:“茲有連環擔保風險,凡構成6度以內圓環者,悉數緝拿歸案!”
本來某些企業覺得多套幾層擔保就會天衣無縫,殊不知他們的小動作早就被捕快看得一清二楚。
圖里的紅圈就構成了連環擔保
說到這,你大概能領略圖計算的威力了吧?
可是,永遠不要低估壞人推陳出新的能力,畢竟他們是真正的“按勞分配”,最有動力去改革。
這不,從2020年開始,一種新的作案方式興起,我把它稱作:“迅雷不及掩耳盜鈴式花唄套現”。
套現大家都知道,本來花唄是借錢給他,結果他刷出去的錢又通過某種途徑回到他手里,然后這錢就被他花了,花唄很可能就不還了。。。
在圖上發現“套現”和發現“連環擔保”有點類似,都是找出“圓環”。過去幾年,花唄反套現系統也一直是這么干的。
但是!你還記得吧,迭代計算最快要幾個小時才能算一次,后來經過優化也得一小時跑一次。
也就是說,如果壞人能在一小時內完成套現的全部操作,他就已經把錢取走了,你再發現就晚了。
壞人們于是搞出了一整套自動化套現服務,先跑整個圓環的前面幾步,然后積攢很大的數量,突然完成最后的套現閉環:一個小時別說跑1次,跑100次都可以。
這可咋辦?
洪春濤告訴我,當時老師傅被逼無奈,開發出了一種比實時查詢(20毫秒)要慢,但比迭代計算(1小時)要快的計算引擎,這就是“流式圖計算引擎”(TuGraph-Analytics)。
它的思想也很簡單:
我不攢著一塊兒算。每一筆轉賬發生,我都算一步,這樣當你完成作惡的最后環節時,我也只需要完成最后一步計算。
這個速度就快多了:1分鐘內就能出結果,阻斷套現鏈條。
你看,為了懟壞人,把好人都逼成啥樣了?從圖數據庫本身,到迭代圖計算引擎,到流式圖計算引擎,不同系統如鱗次櫛比的宮殿,依次建立。
正應了那句話:成功需要朋友,巨大的成功需要敵人。。。
不過說到這,我得提醒一下:
人們之所以使用新技術,可不僅僅是饞新技術的效率高,更是因為新技術能做老技術做不了的事情!
我們還拿電動車和貨幣來解釋:
眼下,油車也能開,電車也能開,電車不過就是提速&制動更快。
但往未來看,汽車的終極形態是機器人,要想做出靈活的動作,必須靠電機。
而發動機體系再先進,受限于傳動結構的復雜,靈活度也是大幅受限的。
眼下,現金也能用,銀行轉賬也能用,轉賬不過就是更方便些。
但往未來看,交易會被切到極其細碎,可能一個人/公司會同時和大量的系統交易,每筆交易能低至幾分錢。
這種情況現金完全無法應對,必須用記賬系統,甚至還要用分布式記賬系統和智能合約(即區塊鏈)。
那么,以此類推,圖數據庫肯定也有些了不得的用法,是傳統數據庫想都不敢想的,那會是啥嘞?
洪春濤告訴我: “圖學習” 很可能是答案之一。
(四)圖學習:留給人工智能的花園
如今我們身邊的大多數任務都是“人機協作”完成的。
但有一個問題不言而喻:人機協作的流程中,“機”越發達,“人”就越成為瓶頸。
舉個栗子:餓了么外賣。
商家注冊餓了么的時候,會人工填寫一堆關鍵詞。比如肯德基,它的關鍵詞可能是:快餐、西餐、薯條、漢堡、可樂。
這樣一來,我作為一個用戶去搜索這些關鍵詞的時候,對應的商家就會跳出來。比如我搜索薯條,就能搜索出“肯德基”。
可是,人是一種很不靠譜的存在,填關鍵詞的時候,經常想不了這么全面。
假設你在麥當勞打工,負責填寫關鍵詞,你寫了:快餐、西餐、漢堡、可樂等等,但漏掉了薯條。。。
于是我搜索“薯條”,麥當勞就不會出現,但顯然麥當勞有薯條嘛!
這樣一來,我少了一種選擇,麥當勞丟了一單生意,雙輸啊。。。
這時,人工智能就可以派上用場!
AI 對圖數據庫進行推理,發現麥當勞和肯德基連接了很多畫像相似的用戶,而他們分別都連接了“快餐”、“西餐”、“漢堡”、“可樂”,而肯德基又連接了薯條。
那是不是意味著,我可以大膽地在“麥當勞”和“薯條”之間加上一根連線,讓用戶可以通過薯條搜索到麥當勞?
再舉一個栗子:芝麻信用。
說個真事兒。過去,洪春濤的芝麻信用分很低。這不是因為他干了啥事,而是因為他“沒干啥事兒”。
他在家是個甩手掌柜,很少用支付寶,買啥東西都是太太去買,所以太太的芝麻分奇高,有800多。
在圖數據庫里,洪春濤這個點就是比較“白”的,沒有足夠數據,就很難評,不知道他是個好人還是壞人,只能先當個壞人打個低分吧。。。
但是,如果交給人工智能,AI 就能通過圖數據庫給他估算一個分。
大體原理是醬的:洪春濤和太太兩個人,在圖數據庫里的關系很近,他們的登錄環境一致,兩人又有密切的轉賬記錄。AI 一想,一個芝麻分奇高的人不太可能和一個壞蛋如此親密互動,所以,洪春濤就沾了太太的光,芝麻分被拉高到了一個體面的程度。
你還記得剛才我們說的,數據的本質目的是預測吧?
而“圖學習”,就是讓人工智能利用圖數據庫,對各個維度的空白點位做出“細粒度”的數據預測。
這種預測可以同時發生在上萬億點邊組成的信息海洋中,每一朵浪花的細節上。預測之密集,在人類歷史上并無先例。
這仿佛摩西劈開紅海,是一種神跡。
結論呼之欲出:藉由圖學習,人類預測世界的能力可能產生一個飛躍。這件事,靠傳統數據庫或人類專家手搓,都是決計不可能實現的。
不過,既然叫“圖學習”,它預測能力的天花板,就不僅取決于圖的水平,還取決于 AI 的水平。
說到這,我們就必須請上今年異軍突起的新技術—— “大模型” 。
小模型可以模擬人在圖上做“數據補全”之類的簡單腦力勞動;
大模型的兇狠之處在于,它可以在圖上模擬人腦的高級腦力勞動——邏輯洞察。
你還記得那個煩人的老板么?他讓數據工程師去反復計算不同人群和商品的關系,其實本質是為了找到其中隱藏的邏輯,從而制定商業策略,實現利潤目標。
就像那個經典的故事:
超市把啤酒和尿布放在一起,因為知道背后隱藏的邏輯是奶爸會被安排買尿布,他來到貨架上如果看到啤酒就會傾向于買,超市銷售額就會增加。
如果有一個“大模型助手”,它就可以用這種邏輯思維審視全圖,直接建議去調查“特定人群和類目之間的多跳關系”,然后生成精細的促銷策略,以達成老板設定的商業目標。
比如他的策略可能是這樣的:
我建議,在32歲-35歲在北京海淀區的媽媽中,挑出每個月買了1次盲盒以上的人群; 再從中挑選出瀏覽過汽車用品的人群; 再從這群人的一度關系人中挑出過去3個月內買過200元以上啤酒的這群, 為他們推薦位于北京昌平區的某個新開的度假樂園的優惠券。
要是能精確至此,想必這個推薦不會對用戶造成打擾,更可能是雪中送炭!
普通的 AI 可以補全圖,但不一定理解圖。要想達到深層的理解,還得靠更大的模型。
但說起來簡單,要做出此等聰明的大模型談何容易。
這種大模型不同于 ChatGPT 這樣的通用語言模型,它不僅要掌握邏輯推理能力,還要對圖數據庫的本質有深刻理解。所以螞蟻的老師傅們嘗試把“自然語言樣本”和“圖數據庫樣本”融合在一起訓練,這就叫“大圖模型”(Large Graph Model)。
雖說大圖模型才剛上路,但洪春濤寄予厚望。他的判斷來自兩個先例:
谷歌,之所以會在世紀之交爆火,是因為當時 MapReduce 讓 大規模并行計算的 成本突然降低,這使得“搜索”這種古老的想象作為一種商業模式首次得以成立。
字節跳動的今日頭條和抖音,之所以能在幾年前爆火,是因為那時 大數據分析的 成本突然降低。由此,通過數據對一個人的行為進行動態分析,然后找到他此時最可能喜歡的內容懟在眼前,這種商業模式得以首次成立。
歷史可能押韻。
如果圖學習(大模型+圖計算+圖數據庫)的成本繼續下降,會發生什么呢?
我猜,根據圖類型的不同,可能在各個領域出現不同的應用:
大模型加上濃縮了世界知識的超大圖(知識圖譜),就會產生類似孔子那樣“有教無類”的個人老師。 大模型加上螞蟻擅長的那種金融關系圖,那就是能對各種風險精確定價甚至能預測經濟危機的精算師。 大模型加上工業設備拓撲圖,那就是能自己優化效率、降低工業成本和商品售價的產業鏈神經中樞。
這樣的例子不勝枚舉,但背后的基本邏輯很清晰:
一個有能力解釋并改造世界的模型,必須和一個有能力體現世界多維細節的數據庫相配合,才能發揮出它本來的價值。
當然,為了讓歷史發生,洪春濤和螞蟻的老師傅此時必須做一件事,那就是—— 玩兒命降低圖數據庫的成本!
(五)圖數據庫的星火燎原
洪春濤告訴我,目前圖數據庫主要有三個成本:
1、計算成本。也就是計算所需的硬件和軟件。 2、人員成本。也就是懂得圖數據庫技術棧的老師傅的工錢。 3、使用成本。也就是圖數據庫和傳統數據、AI、大數據等上下游系統對接時的投入。
實話說,目前這仨成本都很高,全有繼續下降的空間,但要說空間最大的,最迫切的,其實是“第3條”。
我們不妨把視角拉開, 目前在中國,除了螞蟻集團在圖數據庫一馬當先,還有百度、華為、騰訊、阿里等大廠也宣布了圖數據庫,此外還有悅數科技、海致星圖、創鄰科技、楓清科技等創業公司在做圖數據庫。
百花齊放當然是好事,但各家圖數據庫的接口標準和查詢語句都不盡相同,相當于戰國七雄,大家都說不同的方言,用不同的文字。
這會造成啥問題呢?
剛才說過,各行各業用圖計算的姿勢都不同,圖數據庫廠商很難自己服務所有行業,需要靠第三方生態伙伴在中間幫忙。
如果各家圖數據庫的標準不同,生態伙伴今天學會了螞蟻,明天還得學百度、華為;對客戶來說,今天用了你家的圖數據庫,明天想換成他家的,整個接口都得重來一遍。
折騰的成本巨大,讓很多企業望而卻步,這是阻礙圖數據庫飛入尋常百姓家的一座大山。
既然有山,就得有愚公。
TuGraph,作為中國圖數據庫里最能打的那個,準備參與一下“愚公移山”的歷史進程。
2022年,螞蟻老師傅聯合國際標準組織 ISO 幫助制定圖數據庫的“普通話”——通用查詢語言 GQL;
2023年,他們還聯合圖數據庫的國際組織 LDBC,制定了 FinBench 金融圖數據庫測試標準,其中就定義了標準的數據接口。
FinBench 的標準流程
光靠降低“協作成本”,老師傅還覺得不過癮,一個更大膽的想法冒出來。。。
2022年,他們直接把 TuGraph 的單機版給開源了!
這不僅可以讓有需要的企業直接“零元購”這套頂級的圖數據庫,還能讓更多對圖數據庫感興趣的老師傅毫無鴨梨地研究它。
話說,雖然不要錢,企業們也不可能一上來就讓圖數據庫承擔重任,這些老師傅也不可能一上來就適應圖數據庫的思維邏輯,但不可否認,他們都是星星之火。
TuGraph 宣布開源
有趣的是:因為誰都能下載,洪春濤也不知道究竟誰在用。
但在一些偶然的場合,他遇到了一些小伙伴,他們來自小米和米哈游這樣有技術激情的公司。
對方告訴洪春濤,自己的公司已經開始用 TuGraph 了。沒啥主動安利的情況下,卻能在這些優秀企業里生根發芽,這讓洪春濤對 TuGraph 的生命力信心大增!
洪春濤給我畫了一張圖:隨著圖數據庫的成本降低,它能進入的 領域 會越來越多。
事情的發展,也在逐漸印證這張圖。
就在不久前,TuGraph 團隊幫螞蟻內部做了一個和金融本身沒那么大關系的事兒—— “數據血緣工程” 。
故事是醬的:
在螞蟻業務中使用的傳統數據庫里,有一些包含了我國的“行政區劃”信息。
這些數據來自最初的那張原始表格,但由于各個業務需求不同,后來有的從中提取了一部分使用,有的把別人的表格拿來再引用。
最后的情況變成了,大大小小一萬多張表里都含有最初那張表的“基因”。
這本來沒什么問題,但是隨著國家的發展,行政區劃是會變化的。2021年,螞蟻集團內部決定更新一下最初的那張行政區劃表。
麻煩來了,這個動作究竟會對這一萬多張表產生啥影響?這一萬多張表都重新修改的話,會對系統造成哪些沖擊?應該用怎樣的順序替換?
TuGraph 團隊幫忙把這些表格的元信息都導入圖數據庫,用圖算法一跑,其中關系,也就是“數據血緣”立刻浮現出來。
血緣顯示,其中有兩個表格極其重要。后續很多表格都是它的“后代”,于是這兩個表格的負責人被邀請進入了項目組,大家在所有表格上引用數據的點位都做好了關聯,這邊切換,那邊與之相關的點位也同步切換。
這樣,不僅避免了這次變更潛在的數據沖突,還盤活了數據庫之間的血脈,以后再想變更,直接操作就行!
利用類似的思想,TuGraph 團隊還幫某檔案館做了一個“檔案血緣”方案,源頭檔案的內容一變,所有相關的引用就瞬間更改。
他們還幫某海關把報關單的內容都放進圖數據庫里,可以從中發現全球商品的流動特征,還能探測到虛假報關的行為。
他們還幫一家能源集團把電網中的設備拓撲都歸納在圖數據庫中,模擬其中某些節點出現故障之后對系統整體造成的影響,從而制定更精確的維護策略。
這些應用 五花八門,在洪春濤介紹前,我完全無法想象。
“那圖數據庫到底能用在哪些行業呢?”我刨根問底。
“所有行業,只要圖數據庫的成本足夠低!”洪春濤說,“現在看來,各個行業都在單獨的點上嘗試,但你站在遠處看,這些點逐漸增多,就會連成片。這就是星火燎原的真實過程。”
這是評價一項新技術的 Hyper Cycle,洪春濤認為圖數據庫所在的位置已經走出了“幻滅之谷”。
他的話讓我突然想起了130年前,1893年的芝加哥世界博覽會。
那屆博覽會為了慶祝哥倫布發現新大陸400年,決定使用當時方興未艾的新技術,電。
主會場中,12萬個燈泡同時閃亮,如同白晝。那是人類第一次創造出一個純電照明的建筑環境,宛如神跡。
而那之后,人類開啟了“電”飛入尋常百姓家的洶涌進程,自此歷史再不回頭。
而電的應用也從“電燈”開始,逐漸進入了取暖、烹調、工業煉化、機械車床,最終它驅動了電子計算機,成為了承載下一代科技浪潮的基石。
如此看來,新一代科技浪潮,不正在我們腳下涌動嗎?
(六)怕風險,更怕“從前慢”
2021年,人民日報發表了一篇文章,名叫《高性能圖計算:尖端科技下一個前沿》。
其中低調地說了一句:在我國發展高性能圖計算,具備良好的技術基礎和現實條件。
親身經歷這段歷史,洪春濤當然知道這些“基礎和條件”有多么來之不易。
毫不意外,圖數據庫最早的企業級生態誕生在美國,2007年創業團隊 Neo4j 開拓了圖數據庫的商業應用,但由于當時數據分析需求不夠旺盛,隨即進入了長達8年的低潮。
到了2015年,數據量開始暴漲,風口來臨,彼時中美兩國的老師傅們幾乎同時大舉殺入圖數據庫,那一波我們的投入絲毫不遜于美國。
之所以中國人這么有信心,源自我們巨大的人口基數,和建立于其上的全世界最大的移動互聯網生態。
這場決絕的投入,換回的結果就是:在圖數據庫和圖計算領域,中國一騎絕塵跑在世界前沿,沒有任何人卡我們的脖子。
不是不想,而是不能。
其中,清華大學在學術賽道保持領先,螞蟻在產業賽道沖在最前面。
而在2020年,洪春濤和他的老師陳文光所代表的來自清華的團隊加入了螞蟻集團,學術界和產業界最強的兩支隊伍會師,成為了中國圖數據庫的一個里程碑。
這次會師的結果就是:在最新的權威基準測試中,TuGraph 的成績提升到了之前美國最強的 TigerGraph 的 2.84 倍。
縱然美國的圖數據庫面對國際市場,能從全世界吸引最強的人才,綜合實力還是領先,但是中國圖數據庫的性能擺在這里,雖說沒必要驕傲,但也沒理由妄自菲薄。
而我們更該關心的是, 怎么找到一個“快進鍵”,把物理世界中復雜纏繞的數據盡快塞進圖數據庫這個基礎設施,編織出專屬于下一個時代的生產力?
這里,仍有一些值得警惕的事實:
在采用圖計算的意愿上,中國企業并沒有美國企業那么激進。
銀行業,就是一個突出的例子。
雖說我們的很多銀行都已使用圖計算,但卻把它作為解決特定風險的專用工具,沒有像螞蟻那樣放進每一筆交易的核心流程里。
但由于銀行的風控策略更為嚴格,對企業貸款的資質信用要求很高,許多中小企業相對缺乏幫助判斷的信息,在資金獲取方面遇到了困難。
這樣并非長久之計。
最近兩年,國家大力推進普惠金融,鼓勵銀行加大對小微企業的貸款支持力度,銀行業的風控需求也在進一步向深水區跋涉,新技術的應用可能就是一把鑰匙。
銀行業只是千行百業的代表。在政策的引導下,能源行業、先進制造業、醫藥、教育都在進行數字化改造,進一步嘗試數據分析和洞察。
這些先行者們是否會像核聚變一樣點燃中國圖計算新一輪爆炸?螞蟻這群老師傅站在時光的河流岸邊,像纖夫一樣用微薄之力拉動這一切發生。
遙想當年,就在美國芝加哥世博會開幕時,大洋對岸甲午戰爭正在醞釀,中國大地風雨如晦,有識之士仍在快步疾行,尋找德先生和賽先生。
而今,頭頂的天空碧藍,我們找不到 理由懷念“從前慢”。
畢竟,“車、馬、郵件都慢”和“冒著熱氣的豆漿店”無法載著我們的世界飛速前進,就讓它們留在詩句里吧!
Art work By
Yoshi Sedeoka
無法浮現的真相
并不是真相
再自我介紹一下吧。我叫史中,是一個傾心故事的科技記者。我的日常是和各路大神聊天。如果想和我做朋友,可以搜索微信:shizhongmax。
哦對了,如果喜歡文章,請別吝惜你的“在看”或“分享”。讓有趣的靈魂有機會相遇,會是一件很美好的事情。
Thx with in Beijing
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.