陆奇的脑中,仿佛有一道闪电划过。
一个tornado,一个redis。
一个解决了网络服务层的高并发问题。
一个解决了数据存储层的高并发问题。
这两个项目组合在一起,简直就是一套为高负载互联网服务量身打造的完美解决方案!
这个神秘的作者,他的主要研究领域,毫无疑问,就是如何构建能够支撑海量用户的服务器系统。
而且,这个人的技术栈,深厚得有些可怕。
tornado是用python写的,考验的是对网络编程模型的理解。
而这个redis,是用c语言写的,考验的是对作业系统底层和内存管理的功力。
一个人,同时精通两个截然不同但又同样艰深的领域,并且都达到了开宗立派的程度。
这已经不能用“高手”来形容了。
这简直就是一个“宗师”级别的人物!
陆奇心中掀起了惊涛骇浪。
他强迫自己冷静下来,继续往下看。
和昨天的tornado一样,这个redis项目的代码完成度,也并不高。
其中关于数据持久化和集群化的内核模块,都还只是一个空架子。
这让陆奇感到了一丝遗撼。
以他的能力,也绝对没有把握能够完美地实现作者的设计构想。
他叹了口气,将这个项目默默地点了一个收藏。
然后,他的目光,移向了第二个项目。
【vowpal wabbit】
又是一个古怪的名字。
陆奇皱了皱眉,怀着强烈的好奇心,再次点了进去。
屏幕上,出现了第二个项目的说明文档。
依旧是中文。
【项目名称:vowpal wabbit (vw)】
【项目简介:】
【它专注于解决一个内核问题:如何在数据流上进行实时、高效的机器学习,尤其适用于gg点击率(ctr)预估和个性化推荐等大规模场景。】
【它解决了什么问题?】
【传统的机器学习,大多采用“批量学习”的模式。你需要先收集海量的训练数据,然后用这些数据一次性地训练出一个模型。当有新数据产生时,你必须重新收集,再把整个模型重新训练一遍。这个过程非常耗时、耗费计算资源,模型的更新周期很长(通常是按天,甚至按周)。】
【在瞬息万变的互联网场景中,这种模式已经显得力不从心。我们需要的,是一个能够“活在当下”的模型,一个能够从每一个新的用户行为中学习、并实时更新自己的模型。这就是“在线学习”。】
【vowpal wabbit,就是为此而生。它象一个永不疲倦的学生,数据流过它的身体,它就在不停地学习和进化。
【它的内核思想是什么?】
【1 在线学习:模型不再需要反复的全量训练。每一个样本的到来,都会触发一次模型的微小迭代。这使得模型可以实时地捕捉到最新的数据模式和用户兴趣变化。】
【2 特征哈希:在推荐和gg领域,特征的维度往往是亿级甚至百亿级的,比如用户的id、商品的id、用户的人口属性等等。传统方法会为每个特征创建一个索引,这会消耗巨大的内存。而vw通过一个哈希函数,将任意的特征都映射到一个固定长度的低维矢量空间中。这极大地减少了内存的消耗,使得在单台机器上处理海量特征成为可能,而且几乎没有精度损失。】
【3 高效的优化算法:项目内置了多种先进的梯度下降优化算法,保证了模型在学习过程中的速度和效果。】
【它可以填补什么样的空白?】