陸奇的腦中,仿佛有一道閃電劃過(guò)。
一個(gè)TOrnadO,一個(gè)RediS。
一個(gè)解決了網(wǎng)絡(luò)服務(wù)層的高并發(fā)問(wèn)題。
一個(gè)解決了數(shù)據(jù)存儲(chǔ)層的高并發(fā)問(wèn)題。
這兩個(gè)項(xiàng)目組合在一起,簡(jiǎn)直就是一套為高負(fù)載互聯(lián)網(wǎng)服務(wù)量身打造的完美解決方案!
這個(gè)神秘的作者,他的主要研究領(lǐng)域,毫無(wú)疑問(wèn),就是如何構(gòu)建能夠支撐海量用戶的服務(wù)器系統(tǒng)。
而且,這個(gè)人的技術(shù)棧,深厚得有些可怕。
TOrnadO是用PythOn寫(xiě)的,考驗(yàn)的是對(duì)網(wǎng)絡(luò)編程模型的理解。
而這個(gè)RediS,是用C語(yǔ)言寫(xiě)的,考驗(yàn)的是對(duì)操作系統(tǒng)底層和內(nèi)存管理的功力。
一個(gè)人,同時(shí)精通兩個(gè)截然不同但又同樣艱深的領(lǐng)域,并且都達(dá)到了開(kāi)宗立派的程度。
這已經(jīng)不能用“高手”來(lái)形容了。
這簡(jiǎn)直就是一個(gè)“宗師”級(jí)別的人物!
陸奇心中掀起了驚濤駭浪。
他強(qiáng)迫自己冷靜下來(lái),繼續(xù)往下看。
和昨天的TOrnadO一樣,這個(gè)RediS項(xiàng)目的代碼完成度,也并不高。
大概只有80%的樣子。
其中關(guān)于數(shù)據(jù)持久化和集群化的核心模塊,都還只是一個(gè)空架子。
這讓陸奇感到了一絲遺憾。
但他也清楚,剩下的這20%,才是最難啃的骨頭。
以他的能力,也絕對(duì)沒(méi)有把握能夠完美地實(shí)現(xiàn)作者的設(shè)計(jì)構(gòu)想。
他嘆了口氣,將這個(gè)項(xiàng)目默默地點(diǎn)了一個(gè)收藏。
然后,他的目光,移向了第二個(gè)項(xiàng)目。
【VOWpal Wabbit】
又是一個(gè)古怪的名字。
陸奇皺了皺眉,懷著強(qiáng)烈的好奇心,再次點(diǎn)了進(jìn)去。
屏幕上,出現(xiàn)了第二個(gè)項(xiàng)目的說(shuō)明文件。
依舊是中文。
【項(xiàng)目名稱:VOWpal Wabbit (VW)】
【項(xiàng)目簡(jiǎn)介:】
【這是一個(gè)用C 編寫(xiě)的、開(kāi)源的、速度極快的、可擴(kuò)展的在線機(jī)器學(xué)習(xí)系統(tǒng)。】
【它專注于解決一個(gè)核心問(wèn)題:如何在數(shù)據(jù)流上進(jìn)行實(shí)時(shí)、高效的機(jī)器學(xué)習(xí),尤其適用于廣告點(diǎn)擊率(CTR)預(yù)估和個(gè)性化推薦等大規(guī)模場(chǎng)景。】
【它解決了什么問(wèn)題?】
【傳統(tǒng)的機(jī)器學(xué)習(xí),大多采用“批量學(xué)習(xí)”的模式。你需要先收集海量的訓(xùn)練數(shù)據(jù),然后用這些數(shù)據(jù)一次性地訓(xùn)練出一個(gè)模型。當(dāng)有新數(shù)據(jù)產(chǎn)生時(shí),你必須重新收集,再把整個(gè)模型重新訓(xùn)練一遍。這個(gè)過(guò)程非常耗時(shí)、耗費(fèi)計(jì)算資源,模型的更新周期很長(zhǎng)(通常是按天,甚至按周)。】
【在瞬息萬(wàn)變的互聯(lián)網(wǎng)場(chǎng)景中,這種模式已經(jīng)顯得力不從心。我們需要的,是一個(gè)能夠“活在當(dāng)下”的模型,一個(gè)能夠從每一個(gè)新的用戶行為中學(xué)習(xí)、并實(shí)時(shí)更新自己的模型。這就是“在線學(xué)習(xí)”。】
【VOWpal Wabbit,就是為此而生。它像一個(gè)永不疲倦的學(xué)生,數(shù)據(jù)流過(guò)它的身體,它就在不停地學(xué)習(xí)和進(jìn)化。】
【它的核心思想是什么?】
【1. 在線學(xué)習(xí):模型不再需要反復(fù)的全量訓(xùn)練。每一個(gè)樣本的到來(lái),都會(huì)觸發(fā)一次模型的微小迭代。這使得模型可以實(shí)時(shí)地捕捉到最新的數(shù)據(jù)模式和用戶興趣變化。】
【2. 特征哈希:在推薦和廣告領(lǐng)域,特征的維度往往是億級(jí)甚至百億級(jí)的,比如用戶的ID、商品的ID、用戶的人口屬性等等。傳統(tǒng)方法會(huì)為每個(gè)特征建立一個(gè)索引,這會(huì)消耗巨大的內(nèi)存。而VW通過(guò)一個(gè)哈希函數(shù),將任意的特征都映射到一個(gè)固定長(zhǎng)度的低維向量空間中。這極大地減少了內(nèi)存的消耗,使得在單臺(tái)機(jī)器上處理海量特征成為可能,而且?guī)缀鯖](méi)有精度損失。】
【3. 高效的優(yōu)化算法:項(xiàng)目?jī)?nèi)置了多種先進(jìn)的梯度下降優(yōu)化算法,保證了模型在學(xué)習(xí)過(guò)程中的速度和效果。】
【它可以填補(bǔ)什么樣的空白?】
【在個(gè)性化推薦和計(jì)算廣告領(lǐng)域,我們正面臨著數(shù)據(jù)爆炸和實(shí)時(shí)性要求的雙重挑戰(zhàn)。現(xiàn)有的技術(shù)方案,要么太慢,要么太貴,要么效果太差。VOWpal Wabbit提供了一種全新的、輕量級(jí)的、低成本的、高性能的解決方案。它使得我們能夠構(gòu)建一個(gè)可以對(duì)用戶每一次點(diǎn)擊、每一次瀏覽都做出實(shí)時(shí)反饋的智能推薦系統(tǒng),真正實(shí)現(xiàn)“千人千面”的個(gè)性化體驗(yàn)。】
陸奇的目光,死死地釘在屏幕上。
他的瞳孔,在看到“在線學(xué)習(xí)”、“特征哈希”、“個(gè)性化推薦”這幾個(gè)詞的時(shí)候,猛然收縮到了極致。
他的大腦,在這一瞬間,仿佛停止了思考。
整個(gè)世界的聲音都消失了。
辦公室里那低沉的空調(diào)嗡鳴聲,窗外那隱約傳來(lái)的汽車?guó)Q笛聲,甚至是自己心臟的跳動(dòng)聲……
全都聽(tīng)不到了。
他的世界里,只剩下了屏幕上那一段段黑色的文字。
每一個(gè)字,都像一柄重錘,狠狠地砸在他的神經(jīng)上。
三個(gè)月。
整整三個(gè)月。
他帶領(lǐng)著雅虎最頂尖的工程師團(tuán)隊(duì),耗費(fèi)了無(wú)數(shù)的資源和精力,想要攻克的那個(gè)技術(shù)難關(guān)。
那個(gè)讓整個(gè)團(tuán)隊(duì)都束手無(wú)策,讓他都感到心力交瘁的瓶頸。
不就是這個(gè)嗎?
不就是這個(gè)所謂的“在線機(jī)器學(xué)習(xí)系統(tǒng)”嗎?!
他們提出的那些模糊不清的設(shè)想,他們爭(zhēng)論不休的技術(shù)路徑,他們畫(huà)在白板上又一次次擦掉的架構(gòu)圖……
所有的一切,所有的難題和答案。
現(xiàn)在。
就清清楚楚、明明白白地寫(xiě)在了這個(gè)項(xiàng)目的簡(jiǎn)介里。
甚至,這個(gè)神秘的作者,不光給出了思想,給出了理論。
他還直接……
上傳了源碼。
陸奇感覺(jué)自己的喉嚨一陣發(fā)干。
他下意識(shí)地伸出手,想去端桌上的咖啡杯,卻發(fā)現(xiàn)自己的手臂僵硬得不聽(tīng)使喚。
一種荒謬絕倫的感覺(jué),席卷了他的全身。
這就好像,你帶領(lǐng)著一支最精銳的探險(xiǎn)隊(duì),在深山老林里披荊斬棘,耗時(shí)數(shù)月,傷亡慘重,只為了尋找傳說(shuō)中的黃金城。
而就在你們彈盡糧絕,即將放棄的時(shí)候。
你偶然間,在一個(gè)不起眼的角落里,撿到了一張地圖。
那張地圖上,不僅清晰地標(biāo)示出了黃金城的位置。
甚至還附贈(zèng)了一句評(píng)語(yǔ):
“路有點(diǎn)難走,我已經(jīng)幫你修好了,直接開(kāi)車去就行。”
陸奇緩緩地、緩緩地靠回了椅背上。
他感覺(jué)自己渾身的力氣,都像是被抽空了。
他看著屏幕上那個(gè)項(xiàng)目的名字——VOWpal Wabbit。
整個(gè)人,如遭雷擊。