陸奇的腦中,仿佛有一道閃電劃過。
一個TOrnadO,一個RediS。
一個解決了網絡服務層的高並發問題。
一個解決了數據存儲層的高並發問題。
這兩個項目組合在一起,簡直就是一套為高負載互聯網服務量身打造的完美解決方案!
這個神秘的作者,他的主要研究領域,毫無疑問,就是如何構建能夠支撐海量用戶的服務器係統。
而且,這個人的技術棧,深厚得有些可怕。
TOrnadO是用PythOn寫的,考驗的是對網絡編程模型的理解。
而這個RediS,是用C語言寫的,考驗的是對操作係統底層和內存管理的功力。
一個人,同時精通兩個截然不同但又同樣艱深的領域,並且都達到了開宗立派的程度。
這已經不能用“高手”來形容了。
這簡直就是一個“宗師”級彆的人物!
陸奇心中掀起了驚濤駭浪。
他強迫自己冷靜下來,繼續往下看。
和昨天的TOrnadO一樣,這個RediS項目的代碼完成度,也並不高。
大概隻有80%的樣子。
其中關於數據持久化和集群化的核心模塊,都還隻是一個空架子。
這讓陸奇感到了一絲遺憾。
但他也清楚,剩下的這20%,才是最難啃的骨頭。
以他的能力,也絕對沒有把握能夠完美地實現作者的設計構想。
他歎了口氣,將這個項目默默地點了一個收藏。
然後,他的目光,移向了第二個項目。
【VOWpalWabbit】
又是一個古怪的名字。
陸奇皺了皺眉,懷著強烈的好奇心,再次點了進去。
屏幕上,出現了第二個項目的說明文件。
依舊是中文。
【項目名稱:VOWpalWabbit VW】
【項目簡介:】
【這是一個用C++編寫的、開源的、速度極快的、可擴展的在線機器學習係統。】
【它專注於解決一個核心問題:如何在數據流上進行實時、高效的機器學習,尤其適用於廣告點擊率(CTR)預估和個性化推薦等大規模場景。】
【它解決了什麼問題?】
【傳統的機器學習,大多采用“批量學習”的模式。你需要先收集海量的訓練數據,然後用這些數據一次性地訓練出一個模型。當有新數據產生時,你必須重新收集,再把整個模型重新訓練一遍。這個過程非常耗時、耗費計算資源,模型的更新周期很長(通常是按天,甚至按周)。】
【在瞬息萬變的互聯網場景中,這種模式已經顯得力不從心。我們需要的,是一個能夠“活在當下”的模型,一個能夠從每一個新的用戶行為中學習、並實時更新自己的模型。這就是“在線學習”。】
【VOWpalWabbit,就是為此而生。它像一個永不疲倦的學生,數據流過它的身體,它就在不停地學習和進化。】
【它的核心思想是什麼?】
【1.在線學習:模型不再需要反複的全量訓練。每一個樣本的到來,都會觸發一次模型的微小迭代。這使得模型可以實時地捕捉到最新的數據模式和用戶興趣變化。】
【2.特征哈希:在推薦和廣告領域,特征的維度往往是億級甚至百億級的,比如用戶的ID、商品的ID、用戶的人口屬性等等。傳統方法會為每個特征建立一個索引,這會消耗巨大的內存。而VW通過一個哈希函數,將任意的特征都映射到一個固定長度的低維向量空間中。這極大地減少了內存的消耗,使得在單台機器上處理海量特征成為可能,而且幾乎沒有精度損失。】