这里记录每周值得分享的科技内容,周五发布。
本杂志开源,欢迎投稿。另有《谁在招人》服务,发布程序员招聘信息。合作请邮件联系(yifeng.ruan@gmail.com)。
5月1日,宇宙飞船造型的深圳科技馆新馆开馆,上图是设计团队在新馆前合影。(via)
大家知道李飞飞吧,AI 的明星教授。
她在斯坦福大学任教,是美国国家工程院等三院院士,担任过斯坦福 AI 实验室主任,以及谷歌云 AI 首席科学家。
她1976年出生于北京,在成都长大,16岁全家移民美国。
我一直好奇,她怎么走上 AI 这条路,从移民变成学术明星?
这几天,我读完她的自传《我看见的世界》(中信出版集团,2024),才发现她的人生很有戏剧性,每当重要关头,都有幸运的事情发生。
她出生于一个普通家庭,中学阶段并无过人之处。
我们家位于成都当时的外环路旁边,小区由三栋一模一样的塔楼组成,我家住在四楼。这个环路是不断扩张的城市边缘,一侧是工厂,另一侧是农田。
我进入了一所吸引全市优秀学生的中学。在那几年里,对女孩的预设和偏见让我越来越不耐烦,这种情绪已经超出了课业的范围。在同龄人中,我已经有"假小子"的称号。
1992年,移民美国后,她家的生活顿时变得困难。一家三口挤在新泽西乡下一间一居室公寓,她睡客厅,床就放在餐桌旁边。
父亲在一家华人商店修理旧相机,后来被辞退,从此失业。母亲做杂货店营业员,后因风湿性心脏病,回家休养。李飞飞下课后,就要去打工,有时在中餐馆端盘子12个小时,每小时2美元。
最后,实在走投无路,她们家决定买下社区的一家干洗店,靠洗衣为生。买下干洗店需要10万美元,全家仅有2万美元储蓄,其余8万美元都是借的。
1997年,李飞飞中学毕业,要申请大学了。
一开始,我的目标大学主要是州立大学和社区大学,而不是常春藤学校。但我一直对一所顶级高校念念不忘,那就是普林斯顿大学。
我们是一个靠从车库市场淘来的旧货才能勉强度日的家庭,连我用的计算器都是坏的,我们怎么可能负担得起常春藤学校的学费呢?
尽管如此,我还是无法抑制内心的冲动,提交了申请。就算只是象征性地申请一下,我也感觉具有特殊意义。
她申请了普林斯顿大学,结果好梦成真,普林斯顿给了全额奖学金。
如果没有全奖,以她家的经济状况,负担不了学费。如果不去普林斯顿大学,她就不太可能走上学术道路了,更不要说后面的成就了。
大学毕业后,李飞飞原想去华尔街工作,解决家庭的经济问题。
母亲鼓励她,继续追求自己的梦想。于是,她选择去加州理工学院读研究生,方向是视觉识别机制。
2004年,李飞飞为了写博士论文,需要图片材料,来训练算法。她找了9000张图片,组成了一个图片集,手工对每张图片进行分类标注,一共分成101类。
这个图片集叫做 Caltech 101,算法经过训练,就能从新图片识别出这101类物品。她因此顺利拿到了博士学位。
博士毕业后,李飞飞先去伊利诺伊大学,后去普林斯顿大学,都是担任计算机科学的助教。
她继续探索视觉识别,想找到一种通用算法,能够识别所有种类的物品,而不是 Caltech 101 那样,只能识别出101类物品。
这意味着她需要一个超大的图片训练集,能够包含了世界上所有物品。这可太难了,所有人都反对这件事。
我们都是年轻的助理教授,所处的院系竞争激烈,在事业起步的那几年里,我们都面临着"要么发表论文,要么完蛋走人"的局面。压力之下,我们必须马不停蹄、保质保量地完成工作,因为我们知道,稍有懈怠就可能与终身教授的职位说再见,一同失去的还有获得稳定生计的最佳机会。
我听到的劝阻之声已经多得够我用一辈子了(可能下辈子也够了).
有上万个类别的数据集有什么用?大部分模型连一两个类别都识别不准!
你知道用这么多图像训练一个模型要花多长时间吗?这个时间可是用"年"来计算的。
别人要怎么下载呢?你这个图像总量比大多数硬盘的存储量还要大。
具体怎么做,你有计划了吗?几百万张图谁来做标注?要花多长时间?怎么验证所有内容的准确性呢?
李飞飞坚持要做,这个通用图片集起名为 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万多名全球贡献者进行了标注。
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)传统的脑电图,需要在头上布满电极(下图),有很多限制,也不舒适。
美国宾州大学的科学家,发明了一种头发电极,细得像头发一样,可以直接粘在皮肤上,淋浴和运动也不会掉下。
这种电极目前还是有线的,但是有计划开发无线版本。
(2)百度地图在导航路面植入广告。
(3)谷歌的 AI 笔记应用 NotebookLM,可能很快就会添加"视频概览"功能。
它已经支持生成音频和 AI 问答,如果再支持生成视频,简直难以想象,是否还需要真人老师。
直接上传课本,它就生成讲课视频了。
(4)安卓官方的桌面模式,泄露了运行照片。下图是它的多窗口模式。
但是 Android 16 可能来不及,发布要等到 Android 17。
手机当作桌面电脑,已经不远了。
(5)百度公布"动物语言转换方法、装置、电子设备及存储介质"专利,使用 AI 识别动物的情感状态,转换为人类能够理解的语言,从而实现动物与人类之间的情感交流和理解。
1、一段让 Chromium 机器人崩溃的代码(英文)
作者介绍了一段 JS 代码,让Chromium 无头浏览器(Puppeteer 和 Playwright)崩溃。它可以用来识别,访问者是不是机器人。
2、Git worktree 简介(英文)
Git 仓库同时只能有一个工作区,如果想同时建立多个工作区,可以使用 git worktree 命令。
3、用 Go 移植 TypeScript 的重要影响(中文)
微软官方要用 Go 语言重写 TypeScript 项目,本文分析这样做的目的和影响。(@imbant 投稿)
4、为什么大模型可以控制手机(中文)
开源项目 droidrun 可以通过大模型,以自然语言操作安卓手机的 APP。本文分析它是如何做到的。(@lezhi12 投稿)
5、创业公司可能无法承受微服务(英文)
本文提出,微服务需要很强的运维能力,并会增加代码复杂性,创业公司不要盲目采用,单体应用更简单。
6、从 Prettier 和 ESLint 迁移到 BiomeJS(英文)
BiomeJS 是用 Rust 语言写的工具,对 JS 代码进行格式化和语法检查,速度极快,可以取代 Prettier 和 ESLint。
7、如何自己托管 Obsidian(英文)
Obsidian 是一个优秀的笔记软件,作者给出详细步骤,自己托管 Obsidian 服务器,从而在任何地方都可以通过浏览器使用。
1、Void
开源的 AI 代码编辑器,Cursor 的替代品,基于 VS Code。
2、Hyvector
在线的矢量图(SVG 文件)编辑工具。
3、Karakeep
一个自搭建的书签 App,提供全文搜索和 AI 自动分类标签,参见介绍文章。
4、PairDrop
局域网传输文件的 Web 应用,代码开源,类似于 ShareDrop 和 LocalSend。
5、zVault
NAS 操作系统 TrueNAS 原本基于 FreeBSD,正在转向 Linux。zVault 是一个社区的分支,由社区推动继续在 FreeBSD 开发。
使用 YAML 格式创建简历,并通过 LaTeX 输出 PDF,方便进行版本管理。(@xiaohanyu 投稿)
7、AllinSSL
开源的 SSL 证书自动化管理平台,集证书申请、管理、部署和监控于一体。(@KincaidYang 投稿)
8、Basecoat
一套基于 Shadcn UI 的组件库,但是不使用 React。
9、Scraperr
网络爬虫的 Web 控制台。
开源的 AI 应用,自动完成数学建模,生成一份完整的论文。(@jihe520 投稿)
基于本地大模型的 Bilibili 弹幕过滤器,对弹幕分类过滤。(@ddddng 投稿)
3、AI 语音克隆
免费的语音克隆工具,3 秒录音克隆人声。(@xiaodaidai0701 投稿)
一个音乐搜索引擎,输入 Spotify、YouTube、Apple、SoundCloud 的音乐链接,它会提供该音乐在其他网站的链接。
地理位置数据库 IPinfo 推出的免费服务,IP 查询地理位置,无需信用卡,API 请求次数不受限制。
英文的 Web Component 入门教程。
1、数字键盘的样式
数字键盘来源于电话。
早期的电话都采用旋转的拨号盘。20世纪50年代,电话可以长途直拨了,拨打长途电话需要输入11个号码,拨号盘就太麻烦了,导致了数字键盘的诞生。
1955年,AT&T 公司的研究人员,做过一个研究,10个数字的小键盘应该怎样排列,效率最高?
他们一共列出了15种排列。
经过研究和比较,用户更喜欢从左到右、从上到下的布局。
具体来说,两排五列水平布局与现在普遍使用的 3x3+1 布局速度相当,差异很小。
AT&T 公司最终为电话选择了 3x3+1 布局,主要原因大概是它比较紧凑。
一位开发者大学毕业后,加入了一家创业公司。
他逐渐发现,公司内部有很多矛盾,产品决策也有失误。
最终,公司开始走下坡路,他就提交了辞呈,放弃了自己的期权。
离职后,他写了一篇文章,总结了自己得到的教训。
(1)即使创业公司的每个员工都很有动力,但如果创始人并非顶尖人才,那么取得巨大成功的机会很低(但你仍然可以从中学到很多东西)。
(2)创业公司只有两种工作:开发和销售。如果创始人既不做开发,也不做销售,不知道他在做什么,那就相信你的直觉吧。
(3)创业公司的产品还未得到市场验证的情况下,为多个平台构建原生应用,是一种极其低效的行为。如果同时为两个产品在每个平台开发两个原生应用,简直是疯了。
(4)创业公司的路演,大多是浪费时间。产品的验证来自于与用户交流和迭代,而不是打动评委。
(5)没有什么比并肩作战、共同实现梦想更神奇的了。如果你经常见不到创始人,所有的沟通都只能通过远程进行,那可不是好兆头。
(6)如果创业公司没有经过严格的面试,就录用了你,这是一个危险信号。他们到底是基于能力来录用你,还是因为你是第一个同意只收很少的报酬,就为他们工作的工程师?
1、
科学项目日益大型化和制度化,使得个人的好奇心和创新,对于科学的推动正在减弱。科学的进步越来越依靠有效的组织和大量的投入。
-- 《思想家和实干家》
2、
除非你参与过历史遗留项目,否则你不能自称高级工程师。
-- infobip.com
3、
是什么让硅谷的公司如此强大?
不仅仅是它们数十亿美元的资金或数十亿用户,也不仅仅是因为它们拥有惊人计算能力和数据储备,让学术实验室的资源相形见绌。它们之所以强大,是因为成千上万个才华横溢的人在同一个屋檐下共同努力。
-- 《李飞飞自传》
4、
以前的小团队是1名高级开发人员 + 5名初级开发人员,以后是1名高级开发人员 + AI 大模型。
5、
我打赌,以后的工程师必须深入底层,更接近硅片的层面。开发应用程序将不再需要精通技术的人,AI 让每个人都可以开发自己的应用程序。
OpenAI 的图书馆工位(#301)
国产单板机值得推荐(#251)
中国需要成立半导体部(#201)
NFT 是什么,听说能赚钱(#151)
(完)