Hi there 👋

  • 🤖 PhD candidate in Robotics
  • 💼 Previously at Apple, Bosch, Tencent, and more
  • 🚴🏻 Enthusiast of cycling, swimming, and photography
  • 📫 Feel free to reach out!

2024 | 癸卯兔年

今年的年终总结来得格外格外晚一些,主要是申请、毕业一系列事项让我在农历过年期间也没有完全歇下来,缺少一个平静的心态来好好回顾。 不过事实证明,想拖就能一直拖,再加上完美主义作祟,借口是永远找不完的😇。 总之,虽然今年的博客一如既往写得很少,但是年终总结还是要来写的! 学习与工作 先对自己说一句“辛苦了”!感觉上半年真的很肝,某种意义上说结果还是令人满意的,项目出发点也契合我的 first principle;不过代价就是工作完全和生活搅和在一起,作息也同样混乱。 想来这样的工作节奏是不可持续的,总之,仍然在探索适合自己的节奏中。 下半年开始申请季,现在看来今年的申请季给我的一大收获就是变得自信了很多。 在前期,邮件个位数的回复率真的挺打击人的,但是渐渐地也有机会认识到一些真正意义上和自己频率一致的前辈,那些光是面试聊天就能让我兴奋的人。 此外,主动 reach out,获取一手信息,这个习惯也在这一阶段养成;很自然的,读英语的阈值也高了非常多。 视野打开之后,不仅是申请,对外国人、对名校、对大公司,都在这一年有“怯魅”。 不论是去掉滤镜,还是看清定位、正视差距,都是很关键的成长。 从结果上看,这一年里的各种机会则是一波三折,遗憾多于惊喜,半场开香槟就有好几次。不过被打击多了,强大的心脏也就锻炼出来了。变化总是耗费精力,希望自己能够顺利迎来一些扎实的工作时间。 感谢身边的朋友们在这一段时间里的支持! 生活与自由 疫情结束,生活回到正轨, 但还有好多好多坏习惯得改, 一个非常严重的毛病就是学生时代惯出来的完美主义。 不可否认有些时候这是个优点,但自己在这之上找到平衡真的非常关键。 习惯了考试/科研这种简单又结构化的问题,重新回到生活,这时候往往完美主义作祟,一味地追求完美,最大的冲突就是糟糕的时间规划,或者时常把自己搞得信息过载。 常常有一种“做不好那不如就不做”、“没准备充分就不想开始,这样就可以归咎于我懒而不是我能力不行”的心态。 如果有无限长的时间,那自然可以;然而现实远没有这么理想,也不必要无节制地压榨自己的精力。 未来需要锻炼的能力,包括做好工作量/时间估计,应该适时地放弃,接收一些不完美,学会把最好的精力投入到最值得的地方。 这一年的一个正面关键词可能是自由,继续有机会大胆地尝试了各种各样的新事物。 今年除了骑车,还认真开始学了自由泳,甚至有机会参加了一次超级迷你的校园“铁三”比赛。 统计上来说,这一年达成了一系列里程碑:开车 8000km,骑行 3000km,跑步 70km,游泳 30km。 享受风在耳边吹过的自由,享受穿梭在城市大街小巷、山崖海岸穿行的乐趣,享受对生活中这些简单的小事找回的掌控力。 当然,想要自由也是有代价的,总是会走上一些前面不太有人影的小路。 临近毕业,又是一个时间节点,即将要和身边的一批朋友说再见,非常不舍。 不过自己选的路,你得相信它不会白费。 心态与未来 或许多认识自己,就像是在辨识一个模型,有模型才能做更好的控制。 之前也经常用世界观这个词,不知道其他人怎么看,但我感觉今年才真正理解了世界观这一词所涵盖的深度(或者说至少比前一年更深)。听了很多播客,各种不同的故事,就像《非正常旅行》Ep.137 里说的“人能在冲突和对比中更好地学习”。 当你发现自己的人生和别人不一样的根源所在,发现“原来生活还可以这样”、“原来这么做也可以得到意义”,才真正发现自己随大流追随的路线并不一定是唯一的道路。 虽然现在还不敢断言自己已经有一套完全自洽的价值观,但今年确实是打破并重建最多的一年。 今年问了自己很多次“意义是什么?” 或许人大部分时间都在努力对抗生活的无意义感,而最纯粹最本质的快乐来自于满足自己的好奇心,去探索去享受。其他都是假的,在各种人为的规则里拼搏努力,或者是随大流迎合别人的期望。 很多的满足其实都只是自我感动,很多努力并不一定有结果;所谓选择大于努力,可能某个时刻的人生选择已经把人和人之间的差别拉大了又一个数量级。 当然也不必恐慌,只需尝试着把自己本质的追求和这些不可控的结果分离开。 现在的目标:保持好奇心,去完成自己的人生清单。对我来说,做选择的最重要标准就是自己未来是否会后悔,如果在此刻的视野下不后悔,未来也不会。 金榜题名 年度效率工具:GPT family 最爱的剧集:《Better Call Saul》 最爱的短篇:《带上她的眼睛》 - 刘慈欣 最爱的播客:《晚点聊 LateTalk》

March 10, 2024

Monthly Sharing @ 23.08

Share some valuable content every month. Talks 晚点聊 LateTalk 40: 通用机器人,AI 的下一个浪潮? Insights on the following questions are presented: Why do we need to create universal robots? Why do we need to create humanoid robots? What benefits can large language models bring to robots? How does ChatGPT subtly transform humans? It is recommended that all colleagues in the field of robotics listen to this. 晚点聊 LateTalk 41: 造梦都市:小红书塑造了什么?而又是谁在塑造小红书? The business logic, new professions, cultural attributes, and social reflections behind a commonly used software....

August 31, 2023

Apple Open Day

根据相关协议,下文信息有模糊处理,仅供参考。 本周有幸参加了 Apple 上海研发团队人才开放日活动,写一篇博客记录一下。 首先是在 Apple 任职了 13 年的 BC 为我们做 Opening Talk,简要介绍了一下 Apple 研发团队的情况。目前 Apple 在大中华区的研发中心主要布局在北上深+苏州+成都+香港,大约 2k 人。每个 base 侧重关注的产品各有不同,不过为了做好本地化,基本所有产品都有覆盖。 Apple 的文化决定了公司内部的一些组织架构:以功能而不是产品线来划分组织,即不存在类似于“iPhone 事业部”的说法。每个组内的目标是把负责的模块做到完美,而工程师们往往不用过于关心 cost 之类的。BC 开玩笑说他们自己也会称“工业设计”的同事为神,举例:各种产品拆解后裸露出来的 PCB 的美感始终是业内独一档的。Apple 为了做“不良分析”(或者说故障诊断),一度给第三方机构投了大量的钱,后来他们干脆自己在上海设立了一个非常高标准的神秘 lab 专做各种耐用性测试。 校友分享环节,邀请到了三位交旦校友,分别来自微电子、材料、会计专业。大家来 Apple 的经历都很有趣且神奇,而且也看得出来他们对目前的工作状态非常满意。 Quote: “在其他公司干了一年之后,觉得很多事情是只有在 Apple 能做。” “身边好多同事在自己家里搭实验室,有些是 B 站 up 主,有人跑马拉松,有人是木匠/皮具匠人。” “Why Apple:在德国工作的时候太安逸,再加上牵挂家里人,各方考虑就来了 Apple 中国。” 不过这毕竟是 selected data,可能是计划中的一次文化灌输(虽然很明显它对我成功了🤣)。 Mingling 所谓 Mingling,就是每个组的工程师站在海报前,和同学们自由交流。到场的组有 AAA,BBB,CCC 等大约七个。得益于自动化啥都学的背景,我直接上去和从软到硬各个部门都 chat 了一番。 根据某位工程师的说法,Apple 设立中国区研发中心很大程度上也是在利用“时区优势”,扩展工作时区——所谓“人可以停,机器不能停”。很多 feature 或者 test 往往是全球合作的,因此他们也经常和美国的同事开会,写详细文档保持沟通。 关于 PhD/master 的员工比例问题,某个组给我的数据是 2/30,他们表示招聘的时候并没有硬性要求。确实听起来他们的招聘会更看重技术栈是否 match,再加上人员的流动率不太高,至少不是那种“大规模面试-层层筛选-榨干你的生产力-淘汰”的感觉。...

July 16, 2023

Monthly Sharing @ 23.06

Share some valuable content every month. Formerly titled STAR Monthly @ 23.06. S for random Skill, T for video/audio Talk, A for Article, R for Review. Considering the randomness of the shared content, it was difficult to match with specific themes, so the title was modified now. Skill Both Apple and Google provide built-in ways to view 3D models in AR on a mobile device. And using these methods is much easier than I thought before....

June 29, 2023

自由泳学习笔记

在蛙泳基础上掌握一种新泳姿,总计十节课,十小时。 Hour 1 首先练自由泳的腿部动作,到后期自由泳的手臂和腿其实是独立两部分,频率可以互不影响。训练量:热身,憋气打腿(站起来换气的那种)大概两个来回(25m×4),再接着浮板打腿(抬头换气)大概三个来回(25m×6)。 感受所谓“鞭状打腿”:关注大腿发力;膝盖和脚踝关节都不用发力,是被动的摆动。 打腿这个动作为什么能提供前进动力,讲起来有点复杂。但从技巧上来说,感觉核心是打腿要出水面,这个非常明显;此外前期尽可能保证高频率的打腿。 单打腿过程中,注意一些细节: 注意头尽量低头朝下而不是朝前,这样腿很自然就能出水面(一方面整体姿态,另一方面排水体积也更大)。 另外注意手臂,要放松不要用力下压(特别是拿板的时候),打腿对横滚角的影响需要核心发力来对抗(比较抽象)。一旦养成手臂发力的习惯,之后换气划手的时候可能就没法保持前伸。 抬头换气的幅度不能太大,而且不要耸肩。幅度过大的话会影响下一个节拍人在水里的姿态,即沉下去了。 Hour 2 仍然是打腿练习。 注意一个点:自由泳很多动作的核心目的,都是保持一个周期内身体在水里的姿态稳定,从而提高整体前进速率。 打腿换气的时候,手臂不要有下压的动作,低头收腹控制稳定。(自己游起来还是起伏很明显) 新增加上了划手的打腿动作(单次憋气):手臂贴紧体侧,画一个整圈,手掌始终向后,手指手腕先放松;划到最后有一个转肩的动作,另一只手向前伸直但不要沉下去,核心尽量不转。注意加上手的动作之后,腿还是保持原来独立的高频率打腿。 Hour 3 新增动作转头换气(单侧操作,以右侧换气为例),左手抓浮板,右手贴大腿。换气的时候,左肩往前送,右肩向身体后侧转(即向上),但核心连带下半身不能转。几个注意点: 还是尽量低头,缓慢转头+吐气,等到出水面后吸气(窗口大概不到一秒),整个过程左耳是一直在水面以下的(所以自由泳耳朵必然会进水)。 感觉脸露不出水面时,不要抬头或者说仰脖子,而是应该继续转肩转头(主要目的还是保持身体姿态)。这里脖子和肩的配合需要练好久,最理想的状态应该是只有脸部是出水面的。 前伸的肩和手要放松,不能用力(和单打腿时类似),太紧的后果就是身体在水中姿态会上下起伏。我自己出现的问题则是换气时身体会有侧翻的倾向,前手会不自觉弯。 如果感觉下半身往下掉,没法保持在水面,尝试提高打腿频率。 扩展知识:室内静水的自由泳就这样游,在公开水域之类的则是另外的游法,会尽量把上半身抬高(不过公开水域更多还是蛙泳或者反蛙)。 Hour 4 单打腿:练习的时候频率一定要提起来,因为在分解其他动作的时候,下半身的姿态就依赖打腿来提供前进速度了。通过一些数字化训练(录了一下视频),发现自己左腿打得比右腿低xs。 划手+转头换气: 注意左右两半的动作都不能过中线,即前手不要左右摆,否则更容易侧倾。 注意转头的时机,在向下划水前开始转,不能等到手出水再转,否则换气窗口很小。(在短距离自由泳的时候会用到相关技巧) 转肩动作要到位,一是帮助换气,二是帮助手臂回臂。 自己出现的问题还是扭头幅度小了,头还不够低。 无浮板划手(憋气,前交叉,单手/双手): 感受手腕手臂不发力,靠肩膀把手甩起来——可以在岸上甩手大风车感受一下。理想的效果是肩膀交替连贯的感觉。 后手转肩的时候,前一只手尽力向前伸向前送,注意感受手肘手腕的放松。 手在空中的时候,掌心向内,这样做是为了方便后续练弯手肘。 先不用刻意去想提高划手的推力,先配合好打腿练动作。 Hour 5 打腿动作:下半身少量偏摆是 OK 的。 回臂动作:上半圈不要外翻,这个动作的目的是为之后练提肘准备,关键是在肘关节的朝向一开始不能朝外。手腕部分放松,过程也要靠肩关节带动,今天存在问题是有点耸肩。 划手抱水:注意在向下和向上的过程中不要用力,目的也是减小起伏,仅在向后的那一段发力(感受“抱”的动作)。 划手转头换气连贯之后,遇到的问题是起伏非常非常明显。一个问题是前手抬得太高了,以至于出了水面,导致核心掉下去了。 换气动作:转头幅度尽可能大,关注转头和划手的节拍配合。另一个可能的问题是转头到位后,身体会往下沉,导致不自觉地抬头。可能的原因是手在空中太久了(排水体积小了),可以加快回臂动作。 不换气的那一侧划手,也需要注意肩关节带动。低头还是保持正下方,即头部动作和肩关节动作分离开。 Hour 6 主要还是练“划手打腿换气”配合动作: 在抱水的时候,另一侧手不要翘起来,当然也不能掉下去。手在空中回臂的速度可以加快。 有那么几个瞬间感到肩部动作很流畅,是那种发力和放松很清晰的节奏。如果没找到,可以尝试憋气+高频率的划手,尝试在水里寻找在岸上甩手的感觉。 呼吸节奏的控制非常非常重要,需要花点时间找适合自己的节奏。控制好节奏之后能一次性 35m 左右了,也是第一次感到手臂肌肉酸。 在这节课前一直练的右侧换气,此时尝试左侧换气能感到非常显著的差距,说明练习的效果很明显。 Hour 7 改曲臂动作: 目的是加快频率(不用大幅度抡手臂)、减小起伏(手臂惯量小了)。 具体做法,把肘关节和腕关节放松,在上半圈用大臂来带动整个手前进(而不是手掌在前拽动),外在结果就是小臂垂下来;到接触水、抱水的时候,也保持曲臂;但是注意在划手整个周期的最前和最后两个点,整条手臂还是伸直的。 曲臂和直臂的肩关节动作其实一样的,比较强调肩关节柔韧性。(感觉有点难) 关注抱水动作: 感受阻力,需要先弯小臂,然后“抱住”往后推。 推的速度要提上来,这是主要动力来源的阶段 腕关节相对没那么重要,手掌向着推水方向就行,受力面积是从手掌到手臂的整块。 最近要强调抱水质量,相对不考虑打腿。即抱水而不是打腿提供前进推力。 换气时机很重要。以右侧换气为例,左手回臂的过程中已经准备转头了,右手抱水的时候已经转头出水了。如果转头时机晚了,很容易会依赖右手“向下划”的这一段动力来让上半身仰起来,造成后续起伏。 练习的时候在寻找适合自己的节拍(两次/三次/四次划手一次换气)。这回终于能完整游个 50 米了(大约 70s),虽然上半身起伏还是很大。 转头的时候脖子往后仰的问题还是比较明显,强迫自己低头能比较好地解决(换气/非换气的全程都如此)。 Hour 8 曲臂移臂的过程中,肘关节和手腕要注意放松,所谓“放松”状态,表现出来就是很自然的半握手掌。曲臂、贴紧身体的意义,在于高频率划手的时候,比直臂的惯量更小,很显然。 出现的问题还是身体起伏很大,换气的时候不自觉地会往前上方冲,结果就是之后起起伏伏的周期振荡。解决办法就是更多地转头而不是抬头,一开始可以尝试把上半身都转过去,后面再调整核心。 左右手不要超过半区,今天多出来的问题是在空中移臂的时候,手肘会太过头。 自由泳的动作看起来“舒展”的关键,就是讲究不必要发力的肌肉要放松。 Hour 9 打腿直接 50m×4,感觉不再靠蛮力了。 用“腿夹板”辅助练习: 夹在大腿中间,大腿小腿脚踝完全不能活动,所以要靠上半身来控制横滚的平衡,事实上这是非常难的一件事。把腿绑住之后感觉整个人在水里很容易就翻了,特别是换气。 这样训练的一个目的是降低打腿的频率,理想情况是只有换气的那一次划手,打几次腿,即其他阶段的腿都不会掉下去。 此外由于不用打腿了,耗氧量也降下来了,可以更专注练划手和换气。尝试的时候明显感到手臂的发力更明显了。 强调一下抱水的动作:从手掌到小臂、大臂前段都是有效的作用面积,手掌不用刻意并拢。感受好像是把身前的一个人抱过来,不刻意追求高速度,感受和水的相对速度。 蝶泳小知识:和自由泳不同,蝶泳的节奏是很重要的,两下腿一下手+换气。蝶泳左右两侧身体是完全同步的,在此基础上,蝶泳的手臂动作跟自由泳类似,在水下的抱水一样略微曲臂往后,在空中是伸直直接甩;腿部动作的区别,是蝶泳从腰部就开始鞭状。 Hour 10 出发动作:关键点是往水下的方向蹬,而不要让身体出水面,毕竟水下阻力小多了。 抓池边转向:双手抓池边,左手水下过,右手水上过;整个人的上半身出水面之后,转向侧边,再顺势往回倒下去;身体在水面下稳定之后双脚蹬池壁。 前滚翻转向:初速度不用很快,练习的时候可以两只手分别抓板,放在身体两侧放松伸直,往前冲+翻。(一直没练习成功) 长距离自由泳:把腿的频率降下来,提高抱水的质量。当腿感觉打不出水面,或者说更提前地,发现上一次呼吸抬头太高了,就补打两下腿。 自由泳各个部分的动作都可以分开练。举例来说可以单独练换气:单手拿板,然后另一只手贴身体,一直连上半身换气动作,而腿是侧着打的。 仰泳小知识:最关键的一点是嘴巴吸气、鼻子吐气。身体姿态上要躺平伸直,做法就是除了必要的脸部以外都留在水面下,然后伸直核心。先练打腿,不用出水面但是也要踢得高,脚尖踢出水花的程度;然后练手,不用像自由泳一样交叉,180°相位或者 90°相位差。呼吸保持稳定节奏,但完全不需要抬头,只是在溅起水花的时候吐气就行。

May 25, 2023

一点关于 ChatGPT 的思考

注:本文共更新了三节,分别写于 3 月 18 日、4 月 4 日、4 月 9 日,相关信息可能有时效性。 从去年 12 月初开放给大众免费试用至今,ChatGPT 接入大众生活已经三个月时间了。这段时间中文互联网上相关的推文铺天盖地,自己也有一点点零零碎碎的思考,写一篇博客整理一下。 成功现状 AI 作画爆火的时候,对我自己的生活没有产生什么影响;而这次 ChatGPT 的成功,某种意义上是因为它是一种处理语言类工作的工具,而语言是人类社会传输最广泛的数据形式。 ChatGPT 展示了大语言模型的一种商业可行性,它记忆广、速度快,虽然没有安全性/准确性的保障,但是只要在某种特定任务下超过现有工具/人,资源必然会涌入(人、算力、数据)。 正面影响 除了文字处理能力,我觉得大语言模型的另一特点是其参数量带来的记忆能力,最终影响的是知识的“传播”(让我联想到一些知识付费类的职业)。那么往大了说,它对社会的影响力可能会类似于互联网? LLM 大大提高了各种知识的学习效率,上手一个新技术栈的成本更低了,还可以直接给 LLM 提需求绕开正则表达式这种符号工具;另一方面“接需求-查手册-打补丁”这样的劳动密集型岗位可能就危险了。 对于教育界来说,如果通过 LLM 学习知识的效率,超过了传统模式的大学,那么…是否会有一些变革呢? 负面影响 一个需要担忧的点是数据安全,训练数据中有危害性言论(歧视、犯罪)或者是机密数据(商业),可能被有意无意地利用。如何做好 UGC 和 AIGC 的更新/监管/清洗?如果未来大公司为了安全都训一个自己的 LLM,那又丧失了规模效应? 另一个可能产生的问题是它会隐性地加剧社会不平等(就如历史上其他技术变革),如果新的模型只适用于某些特权群体/组织,那么现有的社会鸿沟和不平等自然会放大。 应对方法 有时候会觉得,社会生产效率提高了,那人类是不是就能享福了呢?长大了发现显然不是这样 hh 既然 ChatGPT 只是一种语言处理工具,那么自然不影响知识的“创造”,不能证明未解决的数学猜想,也不能提出没有人发现过的科学发现。同时作为一种工具,它自然也不会“取代人”,可能是善于利用工具的人来取代不会利用工具的人?maybe. 总之,发挥人类特长——利用工具!现阶段它已经是一种很完善的工具类型了(至少目前足够满足我的期待),积极用它优化自己的工作流吧! 更新在读论文 “Sparks of Artificial General Intelligence” 后(微软 154 页报告:与 AGI 的第一次接触) GPT-4 的能力 最近发布的 GPT-4 很强大,除了掌握语言外,它可以解决跨越数学、编码、视觉、医学、法律、心理等领域的任务,而无需任何特殊 prompt。但是它有些问题上又会犯离谱的小错误,例如在一些开放问题下会胡编乱造,让人怀疑它缺乏真正的“理解”。 为了尝试回答“GPT-4 是否达到真的智能”,作者们根据 94 年认知心理学上的定义设计了一系列测试,来评估 GPT-4 的水平。为了避免测试集出现在先前收集的训练集中,作者们设计了很多天马行空的问题(非常好奇他们出题时的精神状态)。一些有意思的题目和结果包括:...

March 18, 2023

2022 | 壬寅虎年

疫情与心态 今年算是疫情影响最大的一年,从三月封校开始,全年接近四分之一的日子都在静默中度过。这种或许有些荒诞的生活也让我意识到所谓“个人的命运也与历史的进程息息相关”。不过这两天窗外久违的爆竹声,也预示着疫情真的要变成过去时了。 静默的日子里,面对未来的不确定性和生活的窒息感,迷茫和自闭成为了主要情绪,生活中各种重要的元素仿佛都只存在于屏幕背后。一个人面对电脑缺少社交的这段时间,攒下不少坏毛病,注意力碎片化,依赖一些即时奖励(甚至是短视频)。现在回看那一段时间,我渐渐意识到各种社交带给我的情绪价值,割断一个人的所有线下活动真的是很残忍的一件事。 这一年的博客更得也很少,一方面是压抑的心态变化,不再像以前那样给自己留一些时间探索那些字面意义上“有趣”的技术;另一方面则是学得越多,越觉得自己懂得太少,有点像从愚昧山峰走向绝望之谷的感觉,平时积累的零零碎碎的笔记好像也称不上高质量的博客输出。总之,希望新的一年能尽快走出那些坏毛病,多花些时间主动“走点弯路”! 5 月 1 日,半封控期间的校园,我躺在植物园草坪上 科研与工作 今年三月我投出了人生第一篇科研论文,六月份得到了接收的消息,对于我这个科研新人来说运气真的很好。自己觉得这份工作还有很大的提升空间,十分感谢临截稿前还在帮忙修改论文的几位师兄和老师。而今年十月底又十分幸运地得到了导师的支持,在这个特殊时期亲身前往日本参会(当然也有一些不那么幸运的,比如我们办理完繁琐的商务签手续后不久,日本就开放办理更方便的旅游签了)。 这次参会的经历给我带来的感受是相当多元的。一方面,我得以近距离感受顶尖学术人的科研氛围、深刻理解学术交流的各种细节,从 更 high-level 的层面看待整个机器人领域的进展,结交一些志同道合的科研伙伴。另一方面也是一次体验日本社会与文化的机会。我在高考后的暑假也在日本待过一周,但当时自己对身边的社会都不怎么了解,一周时间仅限于走马观花的旅游。这次日本之行有幸得到一位初中同学、一位高中同学的接待,从不同的切面来感受日本这个国家。 10 月 26 日,日本京都 IROS2022 会场 一些机缘巧合,暑假的时候我在腾讯 Robotics X 实验室实习了三个月。公司里的科研真的和高校有很大的区别,资金更充足的同时会更有一种产品导向的意味。这也是我第一次从内部视角观察大公司的运作,观察大公司职员们的科研工作、薪资福利、社会关系、运动娱乐,也让我对未来的职业选择有了一些思考。 生活体验家 虽然疫情的影响无处不在,自己今年依然稳住了“生活体验家”的 title: 第一次亲眼看火箭发射。SpaceX 的火箭回收、SLS 重返月球计划,太空这一主题对我总是有一种魔力。今年夏天我如愿来到文昌发射基地现场,在沙滩帐篷里睡了一晚之后,亲眼见证了问天实验舱的发射。火箭在人群的欢呼中稳稳升起,几秒后轰鸣声震颤大地,箭体随着重力转向在头顶划出一道优雅的弧线——现在回看当时的视频还是会让我感到无比震撼。 7 月 24 日,海南文昌,属于全人类的终极浪漫 第一次开始独居,开始考虑小到垃圾分类、大到做饭养车各种生活琐事,生活技能++。独居除了自由,也给我一个机会好好认识自己,思考什么样的生活是自己真正想要的。 第一次作为车主接顺风车订单。起初是为了开车回家的时候赚点油钱,后来发现这也是一种很有意思的社交方式,有时候能听到如果不是打车根本不会有交集的人生故事,也让我感受了一下网约车司机与平台之间的关系。 6 月 3 日,西湖边的偶遇 金榜题名 Copilot,GitHub 和 OpenAI 合作开发的“高级代码补全工具”,或者说 AI 助手,这一年大大提高了我的 coding 效率。前段时间公开的 ChatGPT 好像更是潜力无穷。 公路车,骑行是下半年开始的爱好。我发现自己真的非常享受探索城市各个角落、在脑海中重新建图的过程(长大了才发现在大脑里维护一个小地图好像是我的特异功能!)。徒步太慢,限制了探索范围;开车太快,给我一种走马观花的感觉;而骑车刚刚好。再加上对这种简单优雅机械的热爱,很享受完全依靠自己的力量去任何地方的感觉。 《商业就是这样》,下半年开始最爱听的一档播客节目,大部分话题都是自己从未接触过的领域,但信息密度非常高,有效地扩展了知识边界。 《坎巴拉太空计划》,重新学习了引力弹弓、霍曼转移,打上 RSS mod 致敬历史上那些经典事件,可能是第一款让我热衷于边玩边推公式、写代码的游戏。 《Nintendo Switch Sports》,结合了健身环与马里奥派对的优势,网球/足球/羽毛球/高尔夫/保龄球,简单易上手,毫无悬念拿下今年过年期间我家的合家欢游戏大奖。 两部美剧:《This Is Us》,温暖感人,探讨家庭、友情与人生,“每一集都是一部浓缩到 40 分钟的五星电影”;《Breaking Bad》,讲述一个普通人的转变,成功地让观众开始同情一个所谓的毒贩与杀人凶手。 期待一下在交大的最后一年 以前总是期待生活会是线性的、永远积极向好,但事实上它恰恰是螺旋的、迂回曲折的。“人生没有白走的路,每一步都算数。”更何况,生活的评价也不能被完美压缩到一个维度的“好坏”上。过好每一个平凡的日子,学会享受其中的不确定性未尝不是一种优雅的态度。

January 21, 2023

基于 WSL2+Docker 的一种深度学习环境解决方案

目的与方案 进行深度学习相关的开发,使用基于 Linux 的环境是大多数人的首选。然而大多数同学往往没有独立的 Linux 服务器;公用 Linux 服务器常常受限于权限等问题,不适合做个性化的配置,适合做验证后的大模型训练(或许);如果用个人主机装双系统,还得再费精力去维护一个工作用的 Linux 环境(浏览器、文档、网络、笔记软件、通讯软件,想想都已经头大了),而且切换系统还需要重启;如果用虚拟机,性能损耗是没法避免的,想要在虚拟机中支持 CUDA 那更是复杂。 除此之外,深度学习的各种环境配置有多头疼就不必多说了,cuDNN、TF、PyTorch 版本匹配,每一次 install 之前还要检查“换源了吗”,如果想要多版本共存那苦恼又多了一分。 以下,介绍一种 WSL2+Docker 方案,不仅解决以上痛点,还具有以下特性: 用 Windows 平台下的 WSL2 子系统实现环境隔离:Linux 生产环境与 Windows 学习环境隔离 子系统与宿主机的通信可以通过网络端口映射、文件磁盘链接形式进行(所以 Jupyter Notebook、FTP、SSH 之类的都完美支持),不过默认不带图形界面(一些可视化结果考虑离线渲染查看吧) 注意 WSL2 的 CUDA 支持推出时间并不久,但好在目前用下来没有什么大 bug 用 Docker 实现深度学习环境一键配置(是真的一键),同时本次使用的 Deepo 包支持 LEGO 式的自定义模块 Docker 环境的备份、迁移非常方便,复制粘贴就能搭建一套完全一样的环境,适合 teamwork 整体架构(感觉是最近画得最漂亮的图了) 看起来很套娃,但实际配置起来发现相当顺滑,而且层层隔离让人心情舒畅。总之,核心思路就在这张图里了,如果还想看下配置过程中的踩坑记录还可以继续往下滑。 显卡驱动 非常简单,在 NVIDIA 官网 找到对应自己显卡的最新驱动即可。注意这是整个方案唯一需要安装的驱动程序,不要在 WSL 或者 Docker 中再配置驱动了。 NVIDIA 官网 WSL WSL 是一种 Windows 下的 Linux 子系统,新版本 WSL2 主要是提升了文件系统性能。具体安装步骤参考 微软官方文档。首先使用wsl --install安装 WSL 所需的所有组件,重启,然后在 Microsoft Store 中搜索需要的 Linux 发行版(如 Ubuntu 18....

April 11, 2022

FileZilla 外网访问配置指南——FTP Pasv Mode 解析

为了在校园内网下跨平台传输文件,找到了 FileZilla 这一款免费开源的 FTP 工具。 相比于一般的通讯软件或是 U 盘传文件,基于 FTP 等协议的这种分享方式有这么几个优点:接收方无需登录,甚至无需软件,彻底规避大号小号来回切换;可以支持一对多分享;多平台通用,Windows、macOS、Linux 都支持(Server 只有 Windows);速度快,理想情况下能跑满局域网物理上限。 软件本体可以在中文官网或是英文官网上下载,分为 Client 端和 Server 端。折腾的时候对于 Server 端其中一个 passive mode 设置感到非常疑惑,网上很多教程讲得并不明白,本文从 FTP 协议出发整理一下。 FileZilla Server FTP 数据连接 FTP (File Transfer Protocol) 已经有约四十年历史了,协议的制定并没有考虑到现如今的互联网规模,包括 NAT 路由、防火墙等。 FTP 协议的特殊之处在于其建立了两个连接:控制连接 control connection 用于传输命令及其回复,一般是 21 端口;数据连接 data connection 用于传输文件或目录,由特定的控制命令建立,每次端口不一定相同,建立之后可以上传或下载。 数据连接的方式有两种:主动模式 active mode、被动模式 passive mode。 在被动模式下: Client 通过控制连接发送 PASV 命令到 Server Server 回复地址和随机一个端口 Client 发送传输文件或者目录的命令,同时用 Server 的地址建立数据连接 在主动模式下: Client 通过控制连接发送 PORT 命令到 Server,同时附上了本机地址 Client 发送传输文件或者目录的命令 Server 使用 Client 的地址建立数据连接 A common network setup 注意 FTP 协议是建立在 TCP 协议的基础上,所以 Client 和 Server 的每次交互都有三次握手。...

March 11, 2022

2021 | 辛丑牛年

站在年这个尺度上回顾,又一次感受到时间流逝之快。照例,在农历新年到来之际,回顾记录一下这一年来的一些新想法。 去年说的“生活体验派”在今年有了新的解释,增加样本多样性,才能提高泛化能力。闲暇时间多出门走走,主动挑战一些从没做过的事,或大或小,或是单纯地进行一些社会观察实验,说不定刚好能为下一次抉择提供一些新思路。李沐老师发表的一篇文章《用随机梯度下降来优化人生》中也提到了这么一个观点。“做了很多错误的决定,放在全局视野下也不见得是一件坏事。” 四处看看。每一步走的方向是你对世界的认识。如果你探索的世界不怎么变化,那么要么你的目标太简单,要么你困在你的舒适区了。随机梯度下降的第一个词是随机,就是你需要四处走走,看过很多地方,做些错误的决定,这样你可以在前期迈过一些不是很好的舒适区。 学习 六月,是本科的毕业典礼。四年时间转瞬即逝,有很多内容值得眷恋、感激,感觉好些事情还未来得及发生便已结束。在这个校园里的大事小事、大人小人,让我完成了又一次身份的转变。感谢所有朝夕相处的同窗好友,志合者,不以山海为远;希望日后常有相聚时刻,祝彼此间友谊常青。 下半年的生活在一个崭新的环境中展开,有很多欣喜也有一些苦恼,更自由的氛围让我到现在还在适应的过程中,有更多东西需要学习、也对自己提出了更高的要求。 感情 今年的另一个挑战就是和轩开始异地,再加上时差好像把我们的距离拉得更远。更高的沟通成本一开始确实给我们摆出了一个大难题,一点点调整计划、善用各种工具,相信距离不是问题。疫情背景下国际旅行困难重重,不过后来我俩就把这个机会当做一次社会观察任务,提前为未来的生活选择做一些调研体验。 轩搬去德国之后,经常分享一些 culture shock,从街道、校园到工作、疫情。尊重多样性(不仅仅是文化),道理听起来很简单,但自己真正执行起来并不是很容易。很多时候会执着于让别人百分百认同自己的观点和思路,但事实上更应该保持开放心态、辩证思维、求同存异。 运动 运动方面,这一年在学校里抓住各种机会享受作为学生的福利——低价的体育场馆、专业的体育社团,感谢身边小潘几位运动达人拉着我迈出这一步。从去年的长跑、羽毛球、健身到后来游泳、龙舟、骑行、冰壶,渐渐地也把更多运动加入了自己的 TODO 清单——滑雪、水上运动等等。想到高中操场上写着的“文明其精神,野蛮其体魄”,身体健康永远是第一位的。 反思 这一年也有一些值得反思的地方。虽然十分厌恶短视频 APP,但自己仍然有很多时间消耗在这种低价值、碎片化的娱乐上,后果不限于效率低、晚睡。警惕“奶头乐”,和“保持科研品味”一样也要把目光放长远,合理规划。 此外,有时候会对自己说“干完手上这件事我就 blahblah”、“下周开始就要 blahblah”,但事实证明 TODO-list 上总有做不完的事,头号问题解决了又会有新的问题排到第一位。忙碌是常态,想要改变就应该从当下做起,拒绝拖延,就像真正高效的人在哪个阶段都能井井有条。(真正快乐的人在哪个阶段都能找到自己的快乐) 与其临渊羡鱼,不如退而结网。保持活力,也算是对新一年的展望了。 金榜题名 软件 Notion:目前从 OneNote 里把一部分更成体系的笔记归档整理到 Notion 中,同时协作方面的功能也更有优势 Logseq:代替了之前的 Workflowy,用来做每日的零散记录,整理总结真的很有帮助 足迹:iOS 端一个记录轨迹的 APP,数字化生活的又一小步 硬件 MacBook Air M1:向苹果生态又迈进一步,轻重量和长续航完全满足了我对一台“always online”设备的期待,不得不感叹一句太爽了。macOS 的学习成本不是大问题,不过还得忍受一些奇怪的快捷键逻辑、糟糕的键盘手感 DJI Mini 2:如果对身边的景色感到厌倦的话,不如换个上帝视角来寻找一些美 游戏 双人成行:电影般的画面、富有创意的关卡,可能是目前最爱的双人合作游戏 神力科莎:买了罗技 G29 之后开始尝试一些更拟真的模拟赛车游戏,逼真的引擎和丰富的 MOD,可玩性很足

January 31, 2022