专业书籍精读 · ML System Design Interview · 第 4 章

YouTube 视频搜索:一半的活儿根本不用模型

Machine Learning System Design Interview · Ch 4 · Ali Aminian & Alex Xu · 2023

EN →

这一章讲什么?

你在 YouTube 搜「猫跳上冰箱」,不到一秒,它从一个按十亿条计的视频库里挑出十几条给你。这一章讲的就是这件事怎么做出来:一行字,怎么变成一串按「像不像你要的」排好序的视频。

先说个怪事

你大概以为这套系统的本事在于「看懂视频」。其实它一多半的功劳在读字——标题、简介、上传者打的标签,还有机器自动生成的字幕。真正去看画面的那条路是用来补漏的:补那些谁也没写下来的东西。

旧世界为什么难

视频天然没有字可以搜。以前的办法是靠上传者自己填标题和标签,两个毛病立刻冒出来:一是填的人会瞎填,标题党、堆热门词;二是很多东西压根没人会写——你想找「红色跑车在雨里漂移」,拍的人写的可能只是「周末 vlog」。

那靠人一条条看过去打标签呢?光 YouTube 每分钟就有数百小时新视频涌进来,几百个人不吃不睡地盯着看,也只够追平当天的上传量——更别提「该打哪些标签」这件事本身就没有一份写得完的清单。

核心机制:它是怎么做到的

一句话:两条路一起找,最后合起来排队。

这两条路该怎么看

它们擅长的地方正好岔开。读字那条对专有名词、型号、人名特别准,但只找得到「被写下来的」;看画面那条能捞出没人写过的内容,可它也会犯「长得像就当成是」的错——把另一只橘猫跳沙发的视频端给你。所以正经系统从来不二选一,都是两条一起跑,让彼此补漏。

这套做法的代价

把全库每条视频都提前换算成坐标、存起来,是一笔实打实的账;哪天模型升级了,这十亿条全得重算一遍、索引重建一次,那是按周按月计的工程。

一句话记住

搜视频不靠「看懂视频」,靠的是两条各有各的瞎点的路一起找——一条查字面、一条比「近不近」——再用一道越收越窄的漏斗,把它们交上来的候选慢慢挑成最后那十几条。

想进到具体机制、记号和示意图? → 切到精读版