diff --git a/README.md b/README.md index 1139d62..d6d0f87 100644 --- a/README.md +++ b/README.md @@ -30,6 +30,7 @@ $ grep -nri css docs | cat --number **五月** +- 第 348 期:[李飞飞,从移民到 AI 明星](docs/issue-348.md) - 第 347 期:[冷启动的破解之道](docs/issue-347.md) **四月** diff --git a/docs/issue-348.md b/docs/issue-348.md new file mode 100644 index 0000000..504da56 --- /dev/null +++ b/docs/issue-348.md @@ -0,0 +1,408 @@ +# 科技爱好者周刊(第 348 期):李飞飞,从移民到 AI 明星 + +这里记录每周值得分享的科技内容,周五发布。 + +本杂志[开源](https://github.com/ruanyf/weekly),欢迎[投稿](https://github.com/ruanyf/weekly/issues)。另有[《谁在招人》](https://github.com/ruanyf/weekly/issues/6771)服务,发布程序员招聘信息。合作请[邮件联系](mailto:yifeng.ruan@gmail.com)(yifeng.ruan@gmail.com)。 + +## 封面图 + +![](https://cdn.beekka.com/blogimg/asset/202505/bg2025051203.webp) + +5月1日,宇宙飞船造型的深圳科技馆新馆开馆,上图是设计团队在新馆前合影。([via](https://www.szstm.org.cn/)) + +## 李飞飞,从移民到 AI 明星 + +大家知道[李飞飞](https://baike.baidu.com/item/%E6%9D%8E%E9%A3%9E%E9%A3%9E/7448630)吧,AI 的明星教授。 + +![](https://cdn.beekka.com/blogimg/asset/202505/bg2025051013.webp) + +她在斯坦福大学任教,是美国国家工程院等三院院士,担任过斯坦福 AI 实验室主任,以及谷歌云 AI 首席科学家。 + +她1976年出生于北京,在成都长大,16岁全家移民美国。 + +我一直好奇,她怎么走上 AI 这条路,从移民变成学术明星? + +![](https://cdn.beekka.com/blogimg/asset/202505/bg2025051014.webp) + +这几天,我读完她的自传[《我看见的世界》](https://book.douban.com/subject/36672955/)(中信出版集团,2024),才发现**她的人生很有戏剧性,每当重要关头,都有幸运的事情发生**。 + +### (1)高中阶段 + +她出生于一个普通家庭,中学阶段并无过人之处。 + +> 我们家位于成都当时的外环路旁边,小区由三栋一模一样的塔楼组成,我家住在四楼。这个环路是不断扩张的城市边缘,一侧是工厂,另一侧是农田。 +> +> 我进入了一所吸引全市优秀学生的中学。在那几年里,对女孩的预设和偏见让我越来越不耐烦,这种情绪已经超出了课业的范围。在同龄人中,我已经有“假小子”的称号。 + +1992年,移民美国后,她家的生活顿时变得困难。一家三口挤在新泽西乡下一间一居室公寓,她睡客厅,床就放在餐桌旁边。 + +父亲在一家华人商店修理旧相机,后来被辞退,从此失业。母亲做杂货店营业员,后因风湿性心脏病,回家休养。李飞飞下课后,就要去打工,有时在中餐馆端盘子12个小时,每小时2美元。 + +最后,实在走投无路,她们家决定买下社区的一家干洗店,靠洗衣为生。买下干洗店需要10万美元,全家仅有2万美元储蓄,其余8万美元都是借的。 + +### (2)大学阶段 + +1997年,李飞飞中学毕业,要申请大学了。 + +> 一开始,我的目标大学主要是州立大学和社区大学,而不是常春藤学校。但我一直对一所顶级高校念念不忘,那就是普林斯顿大学。 +> +> 我们是一个靠从车库市场淘来的旧货才能勉强度日的家庭,连我用的计算器都是坏的,我们怎么可能负担得起常春藤学校的学费呢? +> +> 尽管如此,我还是无法抑制内心的冲动,提交了申请。就算只是象征性地申请一下,我也感觉具有特殊意义。 + +她申请了普林斯顿大学,结果好梦成真,普林斯顿给了全额奖学金。 + +如果没有全奖,以她家的经济状况,负担不了学费。如果不去普林斯顿大学,她就不太可能走上学术道路了,更不要说后面的成就了。 + +### (3)博士阶段 + +大学毕业后,李飞飞原想去华尔街工作,解决家庭的经济问题。 + +母亲鼓励她,继续追求自己的梦想。于是,她选择去加州理工学院读研究生,方向是视觉识别机制。 + +2004年,李飞飞为了写博士论文,需要图片材料,来训练算法。她找了9000张图片,组成了一个图片集,手工对每张图片进行分类标注,一共分成101类。 + +这个图片集叫做 Caltech 101,算法经过训练,就能从新图片识别出这101类物品。她因此顺利拿到了博士学位。 + +### (4)助教阶段 + +博士毕业后,李飞飞先去伊利诺伊大学,后去普林斯顿大学,都是担任计算机科学的助教。 + +她继续探索视觉识别,想找到一种通用算法,能够识别所有种类的物品,而不是 Caltech 101 那样,只能识别出101类物品。 + +这意味着她需要一个超大的图片训练集,能够包含了世界上所有物品。这可太难了,所有人都反对这件事。 + +> 我们都是年轻的助理教授,所处的院系竞争激烈,在事业起步的那几年里,我们都面临着“要么发表论文,要么完蛋走人”的局面。压力之下,我们必须马不停蹄、保质保量地完成工作,因为我们知道,稍有懈怠就可能与终身教授的职位说再见,一同失去的还有获得稳定生计的最佳机会。 +> +> 我听到的劝阻之声已经多得够我用一辈子了(可能下辈子也够了). +> +> 有上万个类别的数据集有什么用?大部分模型连一两个类别都识别不准! +> +> 你知道用这么多图像训练一个模型要花多长时间吗?这个时间可是用“年”来计算的。 +> +> 别人要怎么下载呢?你这个图像总量比大多数硬盘的存储量还要大。 +> +> 具体怎么做,你有计划了吗?几百万张图谁来做标注?要花多长时间?怎么验证所有内容的准确性呢? + +### (5)ImageNet + +李飞飞坚持要做,这个通用图片集起名为 ImageNet。那时是2006年。 + +她想到一个思路,英语词典有一些基本名词,用来解释其他所有物品。只要统计一下,基本名词有多少个,每一个又有多少变体,那就得到了所有物品的基本类别。 + +统计结果是3万类。因此,李飞飞估计,ImageNet 将有3万个类别,总共包含2000万张图片,每张图片都要有分类和标注,需要从几亿张图片里面筛选出来。 + +> 我们发出了邮件,招募愿意帮忙从网上下载和标注图片的本科生,工作时间灵活,每小时10美元。我们招募到一些学生,但是按照这样的进度,完成整个项目需要19年。 + +这太慢了,项目方法做了改进,用脚本自动去谷歌搜索图片,然后抓取。但是这样也需要人工核对和筛选,只把19年的时间缩短到18年。 + +幸运的是,亚马逊刚刚发布了众包平台“土耳其机器人”(Amazon Mechanical Turk,AMT)。在这个平台上,你可以出钱,通过互联网,把任务分包给世界各地接活的人。 + +他们通过这个平台,将 ImageNet 分包出去,投入的人数一下子扩展到几千人,而人均费用只是原来的几十分之一。 + +> 2009年6月,ImageNet 的初始版本终于完成了。我们成功达成了目标:收集了1500万张图片,涵盖了2.2万个不同类别。这些图片筛选自近10亿张候选图片,并由来自167个国家的4.8万多名全球贡献者进行了标注。 + +### (6)ILSVRC 算法竞赛 + +ImageNet 虽然完成了,但在学术界毫无反响,没有太多人关注。 + +> 我们遇到了第一个也是最严重的挫折:在当年的“计算机视觉与模式识别大会”上,ImageNet 被降级为“海报展示”。 +> +> 所谓的“海报展示”是一个学术术语,意味着我们将不能在演讲厅内向听众展示我们的工作,只能在会场的指定区域里摆放一幅印有项目摘要的大幅海报,希望能引起路人的兴趣。 +> +> 我想过 ImageNet 可能被证明是对的,也可能被证明是错的,对于这两种可能性,我都做好了准备。无论是哪种结果,都会是一个学习的机会。然而,我万万没想到,它被忽视了。 + +由于 ImageNet 得不到承认,李飞飞想到一个办法,她要每年举行一次算法比赛,看看哪种算法识别 ImageNet 图片集的正确率最高。 + +这样一来,在计算机视觉领域,ImageNet 就会成为一个比较基准,各种算法都需要用它表示自己的识别能力,大家就不会忽视它了。这个比赛叫做 ILSVRC(ImageNet 大型视觉识别挑战赛,ImageNet Large Scale Visual Recognition Challenge)。 + +2010年,第一届比赛令人失望,11个团队提交了35个参赛算法。冠军算法是传统的图片向量比较,并无创新之处,正确率也不高。 + +2011年,第二届比赛更惨,获胜算法还是图片向量比较,正确率只提高了2个百分点。这意味着,没有任何创新和进展。 + +> 最糟糕的是,参赛人数也出现急剧下降,参赛算法从35个减少到15个,愿意为此付出努力的人似乎越来越少。 +> +> 说这种经历“让人羞愧”已经远远不足以描述我们的心情了。为了推动 ImageNet 的发展,我们倾注了多年的心血,搜集的图片数量远远超过以往的任何数据集,还精心策划了一场国际竞赛来探索它的能力,但结果却只是简单地重复了现状。如果说ImageNet 是一场赌注,是时候开始思考我们是不是已经输了。 + +眼看这个项目就要失败了,几年的心血付之东流。就在这个时候,李飞飞人生最大的惊喜和反转来临了。 + +2012年,第三届比赛,一个加拿大团队使用被学术界遗忘已久的卷积神经网络,一举将图片识别正确率提高了10%。 + +接下来的事情,就是被写进教科书的历史了。全世界被神经网络的效果轰动了,AI 研究出现突破,人类进入 AI 时代。 + +李飞飞彻底翻身,一举成名,从助教变成世界知名的 AI 研究领头人物,人生从此海阔天空。 + +她的故事令人感叹,如果神经网络算法没有在2012年出现,而是再晚几年,或者更早一点,亚马逊的土耳其机器人众包平台没有在2005年诞生,一切会怎样? + +这就是时运吧。科学家的人生和科学发现一样,都是由一些偶然事件推动的。个人奋斗固然重要,但是关键时刻还是离不开幸运。 + +## 科技动态 + +(1)传统的脑电图,需要在头上布满电极(下图),有很多限制,也不舒适。 + +![](https://cdn.beekka.com/blogimg/asset/202505/bg2025050802.webp) + +美国宾州大学的科学家,发明了一种[头发电极](https://newatlas.com/medical-devices/3d-printed-hairlike-eeg-electrode/),细得像头发一样,可以直接粘在皮肤上,淋浴和运动也不会掉下。 + +![](https://cdn.beekka.com/blogimg/asset/202505/bg2025050803.webp) + +这种电极目前还是有线的,但是有计划开发无线版本。 + +(2)[百度地图](https://finance.sina.cn/7x24/2025-05-09/detail-inevxzxx9213651.d.html)在导航路面植入广告。 + +![](https://cdn.beekka.com/blogimg/asset/202505/bg2025050904.webp) + +(3)谷歌的 AI 笔记应用 NotebookLM,可能很快就会添加“[视频概览](https://www.xda-developers.com/notebooklm-video-overviews/)”功能。 + +![](https://cdn.beekka.com/blogimg/asset/202505/bg2025051007.webp) + +它已经支持生成音频和 AI 问答,如果再支持生成视频,简直难以想象,是否还需要真人老师。 + +直接上传课本,它就生成讲课视频了。 + +(4)安卓官方的[桌面模式](https://www.androidauthority.com/android-desktop-mode-leak-3550321/),泄露了运行照片。下图是它的多窗口模式。 + +![](https://cdn.beekka.com/blogimg/asset/202505/bg2025051401.webp) + +但是 Android 16 可能来不及,发布要等到 Android 17。 + +![](https://cdn.beekka.com/blogimg/asset/202505/bg2025051402.webp) + +手机当作桌面电脑,已经不远了。 + +(5)百度公布“[动物语言转换方法、装置、电子设备及存储介质](https://www.sohu.com/a/892944913_120347736)”专利,使用 AI 识别动物的情感状态,转换为人类能够理解的语言,从而实现动物与人类之间的情感交流和理解。 + +![](https://cdn.beekka.com/blogimg/asset/202505/bg2025050806.webp) + +![](https://cdn.beekka.com/blogimg/asset/202505/bg2025050807.webp) + +## 文章 + +1、[一段让 Chromium 机器人崩溃的代码](https://blog.castle.io/detect-and-crash-chromium-bots-with-one-weird-trick-bots-hate-it/)(英文) + +![](https://cdn.beekka.com/blogimg/asset/202505/bg2025051012.webp) + +作者介绍了一段 JS 代码,让Chromium 无头浏览器(Puppeteer 和 Playwright)崩溃。它可以用来识别,访问者是不是机器人。 + +2、[Git worktree 简介](https://opensource.com/article/21/4/git-worktree)(英文) + +![](https://cdn.beekka.com/blogimg/asset/202505/bg2025051405.webp) + +Git 仓库同时只能有一个工作区,如果想同时建立多个工作区,可以使用 git worktree 命令。 + +3、[用 Go 移植 TypeScript 的重要影响](https://imbant.github.io/blog/2025/05/07/ts-go/)(中文) + +![](https://cdn.beekka.com/blogimg/asset/202505/bg2025051003.webp) + +微软官方要用 Go 语言重写 TypeScript 项目,本文分析这样做的目的和影响。([@imbant](https://github.com/ruanyf/weekly/issues/6817) 投稿) + +4、[为什么大模型可以控制手机](http://hanzilu.com/wordpress/?p=376)(中文) + +![](https://cdn.beekka.com/blogimg/asset/202505/bg2025051002.webp) + +开源项目 [droidrun](https://github.com/droidrun/droidrun) 可以通过大模型,以自然语言操作安卓手机的 APP。本文分析它是如何做到的。([@lezhi12](https://github.com/ruanyf/weekly/issues/6822) 投稿) + +5、[创业公司可能无法承受微服务](https://nexo.sh/posts/microservices-for-startups/)(英文) + +![](https://cdn.beekka.com/blogimg/asset/202505/bg2025050903.webp) + +本文提出,微服务需要很强的运维能力,并会增加代码复杂性,创业公司不要盲目采用,单体应用更简单。 + +6、[从 Prettier 和 ESLint 迁移到 BiomeJS](https://blog.appsignal.com/2025/05/07/migrating-a-javascript-project-from-prettier-and-eslint-to-biomejs.html)(英文) + +![](https://cdn.beekka.com/blogimg/asset/202505/bg2025050808.webp) + +BiomeJS 是用 Rust 语言写的工具,对 JS 代码进行格式化和语法检查,速度极快,可以取代 Prettier 和 ESLint。 + +7、[如何自己托管 Obsidian](https://www.xda-developers.com/i-self-hosted-obsidian-so-i-can-access-it-in-web-browser-anywhere/)(英文) + +![](https://cdn.beekka.com/blogimg/asset/202505/bg2025051301.webp) + +Obsidian 是一个优秀的笔记软件,作者给出详细步骤,自己托管 Obsidian 服务器,从而在任何地方都可以通过浏览器使用。 + +## 工具 + +1、[Void](https://github.com/voideditor/void) + +![](https://cdn.beekka.com/blogimg/asset/202505/bg2025050902.webp) + +开源的 AI 代码编辑器,Cursor 的替代品,基于 VS Code。 + +2、[Hyvector](https://www.hyvector.com/) + +![](https://cdn.beekka.com/blogimg/asset/202505/bg2025051001.webp) + +在线的矢量图(SVG 文件)编辑工具。 + +3、[Karakeep](https://github.com/karakeep-app/karakeep) + +![](https://cdn.beekka.com/blogimg/asset/202505/bg2025051005.webp) + +一个自搭建的书签 App,提供全文搜索和 AI 自动分类标签,参见[介绍文章](https://www.xda-developers.com/this-self-hosted-app-showed-me-been-using-bookmarks-wrong-all-life/)。 + +4、[PairDrop](https://pairdrop.net/) + +![](https://cdn.beekka.com/blogimg/asset/202505/bg2025051006.webp) + +局域网传输文件的 Web 应用,[代码开源](https://github.com/schlagmichdoch/PairDrop),类似于 [ShareDrop](https://github.com/szimek/sharedrop) 和 [LocalSend](https://localsend.org/zh-CN)。 + +5、[zVault](https://www.zvault.io/) + +![](https://cdn.beekka.com/blogimg/asset/202505/bg2025051505.webp) + +NAS 操作系统 TrueNAS 原本基于 FreeBSD,正在转向 Linux。zVault 是一个社区的分支,由社区推动继续在 FreeBSD 开发。 + +6、[YAMLResume](https://github.com/yamlresume/yamlresume) + +![](https://cdn.beekka.com/blogimg/asset/202505/bg2025051205.webp) + +使用 YAML 格式创建简历,并通过 LaTeX 输出 PDF,方便进行版本管理。([@xiaohanyu](https://github.com/ruanyf/weekly/issues/6837) 投稿) + +7、[AllinSSL](https://github.com/allinssl/allinssl) + +![](https://cdn.beekka.com/blogimg/asset/202505/bg2025051302.webp) + +开源的 SSL 证书自动化管理平台,集证书申请、管理、部署和监控于一体。([@KincaidYang](https://github.com/ruanyf/weekly/issues/6842) 投稿) + +8、[Basecoat](https://basecoatui.com/) + +![](https://cdn.beekka.com/blogimg/asset/202505/bg2025051404.webp) + +一套基于 Shadcn UI 的组件库,但是不使用 React。 + +9、[Scraperr](https://github.com/jaypyles/Scraperr) + +![](https://cdn.beekka.com/blogimg/asset/202505/bg2025051503.webp) + +网络爬虫的 Web 控制台。 + +## AI 相关 + +1、[MathModelAgent](https://github.com/jihe520/MathModelAgent) + +![](https://cdn.beekka.com/blogimg/asset/202505/bg2025051204.webp) + +开源的 AI 应用,自动完成数学建模,生成一份完整的论文。([@jihe520](https://github.com/ruanyf/weekly/issues/6825) 投稿) + +2、[BiliFilter](https://github.com/ddddng/BiliFilter/) + +基于本地大模型的 Bilibili 弹幕过滤器,对弹幕分类过滤。([@ddddng](https://github.com/ruanyf/weekly/issues/6833) 投稿) + +3、[AI 语音克隆](https://aivoicecloning.io) + +![](https://cdn.beekka.com/blogimg/asset/202505/bg2025051501.webp) + +免费的语音克隆工具,3 秒录音克隆人声。([@xiaodaidai0701](https://github.com/ruanyf/weekly/issues/6850) 投稿) + +## 资源 + +1、[I Don't Have Spotify](https://idonthavespotify.donado.co/) + +![](https://cdn.beekka.com/blogimg/asset/202505/bg2025051004.webp) + +一个音乐搜索引擎,输入 Spotify、YouTube、Apple、SoundCloud 的音乐链接,它会提供该音乐在其他网站的链接。 + +2、[IPinfo Lite](https://ipinfo.io/lite) + +![](https://cdn.beekka.com/blogimg/asset/202505/bg2025050901.webp) + +地理位置数据库 IPinfo 推出的免费服务,IP 查询地理位置,无需信用卡,API 请求次数不受限制。 + +1、[Web Component 教程](https://plainvanillaweb.com/index.html) + +![](https://cdn.beekka.com/blogimg/asset/202505/bg2025051504.webp) + +英文的 Web Component 入门教程。 + +## 图片 + +1、[数字键盘的样式](https://www.doc.cc/articles/a-brief-history-of-the-numeric-keypad) + +数字键盘来源于电话。 + +早期的电话都采用旋转的拨号盘。20世纪50年代,电话可以长途直拨了,拨打长途电话需要输入11个号码,拨号盘就太麻烦了,导致了数字键盘的诞生。 + +1955年,AT&T 公司的研究人员,做过一个研究,10个数字的小键盘应该怎样排列,效率最高? + +他们一共列出了15种排列。 + +![](https://cdn.beekka.com/blogimg/asset/202505/bg2025051202.webp) + +经过研究和比较,用户更喜欢从左到右、从上到下的布局。 + +具体来说,两排五列水平布局与现在普遍使用的 3x3+1 布局速度相当,差异很小。 + +AT&T 公司最终为电话选择了 3x3+1 布局,主要原因大概是它比较紧凑。 + +## 文摘 + +1、[我第一次加入创业公司的教训](https://blog.jacobstechtavern.com/p/the-side-hustle-from-hell) + +一位开发者大学毕业后,加入了一家创业公司。 + +他逐渐发现,公司内部有很多矛盾,产品决策也有失误。 + +最终,公司开始走下坡路,他就提交了辞呈,放弃了自己的期权。 + +离职后,他写了[一篇文章](https://blog.jacobstechtavern.com/p/the-side-hustle-from-hell),总结了自己得到的教训。 + +![](https://cdn.beekka.com/blogimg/asset/202504/bg2025042817.webp) + +(1)即使创业公司的每个员工都很有动力,但如果创始人并非顶尖人才,那么取得巨大成功的机会很低(但你仍然可以从中学到很多东西)。 + +(2)创业公司只有两种工作:开发和销售。如果创始人既不做开发,也不做销售,不知道他在做什么,那就相信你的直觉吧。 + +(3)创业公司的产品还未得到市场验证的情况下,为多个平台构建原生应用,是一种极其低效的行为。如果同时为两个产品在每个平台开发两个原生应用,简直是疯了。 + +(4)创业公司的路演,大多是浪费时间。产品的验证来自于与用户交流和迭代,而不是打动评委。 + +(5)没有什么比并肩作战、共同实现梦想更神奇的了。如果你经常见不到创始人,所有的沟通都只能通过远程进行,那可不是好兆头。 + +(6)如果创业公司没有经过严格的面试,就录用了你,这是一个危险信号。他们到底是基于能力来录用你,还是因为你是第一个同意只收很少的报酬,就为他们工作的工程师? + +## 言论 + +1、 + +科学项目日益大型化和制度化,使得个人的好奇心和创新,对于科学的推动正在减弱。科学的进步越来越依靠有效的组织和大量的投入。 + +-- [《思想家和实干家》](https://www.strangeloopcanon.com/p/on-thinkers-and-doers) + +2、 + +除非你参与过历史遗留项目,否则你不能自称高级工程师。 + +-- [infobip.com](https://www.infobip.com/developers/blog/seniors-working-on-a-legacy-project) + +3、 + +是什么让硅谷的公司如此强大? + +不仅仅是它们数十亿美元的资金或数十亿用户,也不仅仅是因为它们拥有惊人计算能力和数据储备,让学术实验室的资源相形见绌。它们之所以强大,是因为成千上万个才华横溢的人在同一个屋檐下共同努力。 + +-- 《李飞飞自传》 + +4、 + +以前的小团队是1名高级开发人员 + 5名初级开发人员,以后是1名高级开发人员 + AI 大模型。 + +-- [Hacker News 读者](https://news.ycombinator.com/item?id=43955519) + +5、 + +我打赌,以后的工程师必须深入底层,更接近硅片的层面。开发应用程序将不再需要精通技术的人,AI 让每个人都可以开发自己的应用程序。 + +-- [Hacker News 读者](https://news.ycombinator.com/item?id=43965599) + +## 往年回顾 + +[OpenAI 的图书馆工位](https://www.ruanyifeng.com/blog/2024/05/weekly-issue-301.html)(#301) + +[国产单板机值得推荐](https://www.ruanyifeng.com/blog/2023/04/weekly-issue-251.html)(#251) + +[中国需要成立半导体部](https://www.ruanyifeng.com/blog/2022/04/weekly-issue-201.html)(#201) + +[NFT 是什么,听说能赚钱](https://www.ruanyifeng.com/blog/2021/03/weekly-issue-151.html)(#151) + +(完) +