2024 总结
工作
在吃完饭回公司的车上,有同事问我,你来字节做的第一个需求是什么? 我想了一会,是给一个数据标注任务加进度条。 大家爆笑,说原来我也是一路打怪升级过来的,还记得这么清楚。
我其实没有经历过大部分应届学生找工作时的,典型的秋招流程。 大学快要毕业时还一心想着后面要留学,只是在国内随便找个实习度过 gap year 罢了。 不过造化弄人,后来稀里糊涂的在字节转了正,也没有再去找其它全职工作比较,就这么干了四年多。
在字节第一年的主要工作是维护一个文本分类平台,方便公司内部的审核算法迭代,上面讲的进度条就是这段故事的开始。 平台的业务很简单,上传数据,标注,训练模型,测试看效果,调整参数和数据比例,迭代训练。 那时大家还都是基于只有几百 MB 大小的 Bert 模型来做文本分类的,一切都不温不火。 后来我们想搞点新东西,觉得 AutoML 是未来,所以要引入这一能力。 主要瞄准了两个方向,一个是数据标注,可以结合模型自动标注以及标记标注优先级来节省人力(Active Learning);另一个是网络架构搜索(NAS),自动找出训练效果最好的网络结构。 在接下来的一年我也成功把这些能力集成到了平台里,拿到了不错的结果。 但这个业务注定了不会有很多用户,没多久便传来了要调整组织架构,有几个内部平台要合并的消息。
第二年,字节要搞火山引擎,本着跟其它公有云对标的目的,还缺一个通用机器学习平台的能力,而我也厌倦了内部平台的一亩三分地,就跟着新的领导出来做公有云了。 在公有云的第一个项目还是 AutoML ,不过这里做得更加极致,用户只要上传数据集,我们就能自动搜参训练出一个效果不错的模型,并支持一键部署和调用。 这个系统的复杂度是我做过最高的,涉及到三四个独立组件,并且依赖了当时平台上几乎所有的能力(数据集、训练、推理等等),还有文本、表格、图片等多个模态的算法。 但很快国内 ToB 的逻辑打破了我们对标准化的幻想。 公有云的散客生意不挣钱,计收全靠大客户。 但是大客户的需求又很难靠标品满足,最后就掺杂了很多的手动和定制化,大家都比较痛苦。
第三年,我们开始重点发展泛互联网和汽车行业的客户,也意识到了机器学习平台的生意的本质:卖卡(GPU)。 这让我们不再只想着跟其它公有云的标品对齐,而是开始从客户的视角解决问题。 顺便一提,如果平台做的烂,那么客户大概率会直接从 IaaS 层面购买 GPU 裸机,而不是通过 PaaS 层的机器学习平台使用。 好在我们做得足够好,绝大部分客户都认可平台存在的必要性。 这时我也结束了全栈工程师的生涯,开始专注于机器学习系统和性能优化。 这一年做了各种训练和推理的性能优化,包括文生图模型 Stable Diffusion ,蛋白质折叠模型 Openfold ,自驾感知模型 Swin Transformer 。 这段时间我们发展得很快,很多销售和产解的工作都要我辅助,因此也没少跟着销售去各种新客户那里讲解 PPT ,或是去老客户现场做性能优化的交流和落地。 这些工作都需要大量的知识储备,我个人的技术和沟通能力也在这段时间快速提升,早期去客户那里还比较忐忑,后面也都气定神闲了。
没多久,大语言模型受到越来越多的关注,我们也新建了一个名叫方舟的平台来支撑这部分业务。 这时的团队规模也从刚开始做公有云时的几个人扩大到了几十人。 方舟的业务逻辑其实和前面胎死腹中的 AutoML 很像,都是用户上传数据,我们微调模型,然后一键部署。 当然除了微调,方舟还提供字节内部各类基础模型的对外 API 。 也是在这时做了我在公有云的最后一个大项目,推理系统的动态调度改造。 我们结合高速分发和加载模型权重的能力,设计了类似函数计算的流量现场调度和资源分配的机制,可以大量减少 GPU 资源空置损耗。 可惜在我把项目推到快上线时就离开了,不知道近况如何。
第四年,也就是今年,在机缘巧合之下,我被推荐到 Code 组做一些工程支持,这个组的主要研究方向是代码大模型。 之前的工作都是在 AI Infra 的范围,这里则是彻底转向 Research 了。 在这里的一年,主要做了一些模型代码能力的评估工作,并且开发了代码沙盒这个使用场景很广泛(强化学习、数据清洗、评估等)的基础设施。 在把沙盒用于大规模强化学习训练上我们在国内应该是相对领先的。 这边比较舒服的一点是很多工作可以公开,这段时间发布了一个全领域的评估集 FullStack Bench ,并且开源了代码沙盒 SandboxFusion 。 比较尴尬的是尽管开源了,但平时其实没有很多精力来维护这些项目,因为工作中有很多更有意思也更重要的事情要做。 所以对着开源仓库的 issue 和偶尔发到邮箱的邮件,只能作为重要不紧急的事情,留待有一天空闲的时候集中处理了。
回顾一下,这两次转组都给我带来了不小的提升,第一次让我深入了解了公有云并拓宽了眼界,工程能力有大幅提升,技术栈也转向机器学习系统。 第二次让我深度参与到内部的模型研究之中,开始从研究员的角度思考问题。 也非常感激过去几任领导对我的信任和支持。 初到 AML 时,搜广推还是最主流的业务,每个入职的新人都要学习内部的推荐系统流程并在组内串讲。 而现在,大语言模型已经是绝对的主流了。 从我的视角看,它有撑起第四次技术革命的潜力。 能够身处这一次技术浪潮之中,亲历一些重要节点,就算不在浪潮之巅,也心满意足了。
生活
加上今年已经坚持记账四年多了。 随着大模型能力提升,记账的成本越来越低。 我一开始的流程是每月导出账单,写程序从各类帐单格式解析并导出 beancount 条目(这里有基于规则的支出分类),最后手动修订分类。 因为每个月的账单通常都很大有上万 Token ,大部分模型就算支持这么长的上下文,指令遵循的效果也一般。 今年年初,我开始用 Claude 200K 模型来替代最后手动分类修订的步骤,但也免不了一部分人力校正。 到了年底最新版的 GPT4o ,已经能完美遵循我的指令,并且一次生成不怎么需要校正的账单了。 如果模型能力进一步提升,应该可以做到端到端,直接输入文本和图片等形式的账单、以及我的分类规则,由模型来输出 beancount 。 现在应该也能通过 agent 来完成,不过有程序解析也暂时懒得折腾了。
四月份的时候开始学车,用差不多最快的速度拿到了驾照,到现在也断断续续开过几百公里了。 现在感觉最好还是在大学期间就把驾照搞定,工作之后再考还是有些不方便。 很多玩法都是强依赖开车这个技能的,以前没怎么关注,现在分配给日常玩乐的精力多了一些,不能开车/不能上高速的限制就显得越发不方便。
今年还买了大疆的无人机 DJI Mini 4 Pro 。 出去旅游的时候玩过几次,但是次数有限。 主要是因为北京全市禁飞,国内国外的大部分地区也需要提前申报。 我又比较少做很具体的行程规划,所以很多时候嫌麻烦就不带了。 留着做玩具也不错,以后能不能用得上就随缘吧。
没有了一些业余项目和学业的压力,这段时间也去了很多不同的地方游玩。 夏初去了库布齐沙漠徒步,晚上露营,也拍了肉眼并不能看的很清楚的银河。 去了云岗石窟。 六月份请年假去了海南和日本,海南更多的是各种体验项目,浆板、冲浪之类;日本则是看了很多景点,东西很多,值得多去几次。 淡季请假旅游,各种地方人都比较少,还是很爽的。 之后就是十一假期,去了新加坡和普吉岛,在新加坡逛了几个著名景点,参观了本地同事的组屋,体验了食阁;普吉岛就是在各种地方玩水了。 最后元旦是在哈尔滨过的,冰雪大世界和公园里的冰雕都不错,不过时间所限没有去雪更多的地方游玩。 今年也滑了几次雪,最后还去了崇礼,这边的雪道比北京市内的长了很多,舒服多了。 不过我比较惜命,所以进步也比较缓慢。
投资按理说需要单开一节,但是今年确实没在这里投入多少精力,所以就放在这里了。 我个人的整体策略还是大部分资产的保值加少部分资产高风险增值。 这一年跟着同事也了解了很多币圈的项目,各种挖矿和金融衍生品。 纯交易领域美股和加密也都有一些操作,以短线为主,体验一下。 还是在早期了解的阶段,要认真搞需要投入比现在多很多的精力,慢慢来吧。
摄影
摄影应该是今年业余时间研究最多的一件事了。 大约 2022 年的时候买了我的第一台相机 富士 XS10 和 16-80mm 镜头。 用了一年多,慢慢的感觉到机身性能,以及 APSC 画幅的局限性。 这颗镜头也不是很强的镜头,整体拍出来的画面并没有比手机好很多。 于是今年决定一步到位,直接换了旗舰性能的 尼康 Z8 和三支镜头: 日常旅游用的 28-400mm F4-8 ,广角/星空用的 17-28mm F2.8 ,和人像用的 50mm F1.8 。 到现在用了一年左右,这套配置也足够满足我的需求。

平时用相机拍什么东西呢? 除了记录生活,今年还试过拍人像,在八卦台拍飞机,在公园拍水鸟。
先说说人像。 拍人,业余摄影师最容易接触到的是约拍,或者是去各个漫展拍模特。 有一种最稳妥的出片方式,就是买一组闪光灯,找个暗光或者室内环境,用固定的机位拍。 明亮的闪光和大光圈带来的浅景深把所有观众的注意力集中在模特身上。 至于环境?有个轮廓提供点氛围感就够了,图的就是稳定,高质量,工业化。 好的模特会自动摆pose,没经验的就全靠摄影师引导,有时候除了姿势还需要引导模特情绪才能拍出好照片。 但说实话拍多了就觉得无聊。 大多数人的皮肤经不起高解析力镜头的审视,各种瑕疵纤毫毕现,只能靠像素蛋糕缝缝补补,补完还要添一句这是在还原你本来的美。 体验过一段时间之后,我觉得如果不是在乎的人,就算给我钱,我也不想再走一遍这样的流程了。
拍飞机是我以前没想过的话题。 八卦台聚集了很多爱好者,跟同行的朋友和路人聊了不少,大概了解了他们的逻辑。 满足感来自于收集各类稀有飞机的照片,他们对飞机型号、各个航司的涂装及其稀有度如数家珍。 我也学会了用 Flightradar24 查看航迹,判断接下来会有什么飞机降落,他们的稀有程度如何。 这里甚至有很多小学生爱好者,带着接收飞机通讯的手台,开着 iPad 看什么飞机要来了,举着长焦开拍。 也有条件差一些的直接拿着手机拍,热爱是一样的。 我虽然理解,但是很难融入,以后应该也不会再来了。
拍鸟的乐趣和飞机类似,甚至更好玩一点。 各种鸟类也有稀有程度的分级,同时因为大部分鸟不会长时间静止不动,难度更高。 拍到鸟儿做不同的行为也是很有意思的事情。 但手里的尼康对焦在鸟儿的一瞬间会让我觉得自己老了三十岁,遂放弃。
前面的一些探索也让我找到了自己的初心,这不是我的主业,我拍照其实只是为了记录「我见过」,是以我为主体的。 而上面的三个场景,主体都是被摄者,纵使这些照片都是摄影师的徽章,也需要你真心喜欢拍摄主体才能坚持下去。 借用许嵩的一句词: 摁下了快门,晓得「心动不长存」。 我举起相机的目的,大概也是为了去追寻和记录下属于自己的心动,拍照的和被拍的都在改变,而快门把一切定格在那一瞬间。
熟悉摄影之后看外物也会有一些新的视角。
首先是比以前更珍惜光了,摄影是光与影的艺术,正午的太阳让海水更有质感,日落时的光线透过大气染红积云,蓝调时刻让很多景色更有氛围。 尤其是旅游的时候,日落之后,如果没有大光圈,基本就可以收工了,相机和人都没有多少景色可以看。 所以现在出行已经养成了关注日落时间的习惯,大部分活动都要规划在这之前。
其次是对修图的一些思考。 很多讲后期的视频下面会有评论争辩修图的必要性,但这完全取决于创作的目的。 对于创意摄影,大家的目的就是拍出美美的照片以便传播,至于把冬天的晚空改成夏季银河这种行为,都不是什么大事情。 对于风景、纪实、参加比赛,那又是另一回事,这种场景的底线通常是「不要移动像素」。 我对自己的习惯则是和后者类似,除了修复瑕疵基本不会去移动像素,只是调色和裁剪——因为我的目的就是记录我所见。 不过有件事情很有趣,那就是人的视觉系统本身是不规范的,感知不同颜色的视锥细胞传递的神经信号强度不均匀,大脑在合成时还会受到大量心理因素影响,因此规范的机器是没有办法完全复刻某时刻人所感知到的景色的。 话说回来,大部分网络传播的图片都是经过后期修图,比原景更抓人眼球的,看多了各类广泛传播的美图,免不了感慨现实世界如此苍白。
年底在 VRChat 遇到一张景色很好看的地图,在调出内置相机想拍照的时候,突然感到这里的相机交互如此不便。 现实中的相机单手靠各类按键和滚轮就能完成光圈快门感光度对焦等一系列操作,在 VRChat 中,竟然都需要用光标点点点,效率低到我难以忍受。 退出 VR 后我才意识到,原来各厂商相机这几十年不变的设计,已经相当符合人体工学,操作很极致高效了。
游戏
今年深度体验了三款游戏。
第一款是《兴唐传·瓦岗山异闻录》,这是经典战旗游戏《三国志曹操传》的一个民间改版。 瓦岗山异闻录在 06 年发布初版,直到 24 年才完结,向坚持了十八年的制作组致敬。 故事的主角是 大唐军神李靖(游戏中名为管毅) ,游戏参考了很多隋唐演义和相关评书的内容。 时间过去太久,当时没有写下一些感悟,现在已经没有能力复现当时的想法和细节了。 整体的玩法难度偏高,但是战场设计还可以。 最难受的是剧情里的单挑设定,跟猜拳没啥区别,还不方便即时存档刷结果,给我玩红温了,基本都是摆烂没有刷需要单挑才能触发的装备和剧情。 游戏的剧情很不错,依稀记得红拂女的故事,通关之后也不禁感慨「宁学桃园三结义,不学瓦岗一炉香」。 喜欢战旗和剧情的人值得一玩。
第二款是《艾尔登法环:黄金树幽影》,延续了前作的高水准,在世界地图设计上还有进步。 不过小地图还是画得让人很难看懂。 这个 DLC 补全了本体的一些剧情,不过我也不太爱研究这些,更多的是享受美景、战斗以及跟宫崎英高斗智斗勇。 战斗方面新增了不少武器、战技(居然还有熔炉百相之羽,可惜威力被削了好多)和魔法。 景色也没得说,初到青蓝海岸直接给我看呆了。 在这些我最关注的地方都很让人满意。 顺便一提,魂系游戏给我一种很独特的感觉,似乎是专门培养人的逆商,尤其是一个接一个的 boss ,每次死亡也不会因为自己菜而感到难受,只会想要吸取经验从头再来。
第三款是《黑神话:悟空》,刚发布的时候是冲着国产法环或者魂游去玩的,看预告片美术很不错,技术力也在线。 实际体验也确实如此。 而且因为整个世界观都是中国神话的那一套,从地图设计到故事情节都让人有种亲切感,非常加分。 不过也有一些体验上的小瑕疵,平A的第三下手感比较怪,引导比较弱、空气墙多还没有小地图(后来DLC更新了小地图)。 总体瑕不掩瑜。 现在距离通关几个月过去了,让我印象最深刻的,反而是戏份不多的大力牛魔王。 他原本战力与悟空和二郎神相当,年轻时也有过赫赫威名,后来却在天庭的各种压迫下妻离子散无力反抗。 在火焰山顶见到他时,空有一副属于顶级妖王的巨大身躯,却是一副被挫败的中年男人模样,肌肉萎缩,秃顶,小肚子,颓丧。 初看只觉得有趣,时间一长,这巨大的反差让我越来越心惊。 在其它作品中,我见过被击败的神,被杀死的神,却是在这里第一次见到沮丧的神。 牛魔王的一生完美呼应了章节主题,身「不由己」。

最后是一些游玩时间不长的。 今年新发售了《微软飞行模拟2024》,原本想着体验一下 VR 开飞机的感觉,后来发现这个游戏的操作过于复杂,只能等正常用手柄熟练之后再切换。 但是这个过程仍然比较漫长,现在才刚在游戏里取得私用飞机驾照。 然后是 Switch 上的《火焰之纹章:风花雪月》和《异度神剑2》,游戏本身都还可以,但可能是 Switch 机能太差导致画面糟糕,也可能是我电子阳痿了,没有玩下去。
杂谈
前段时间付鹏的演讲很火,我也感觉到世界局势在发生比较重大的转变。 国内经济状况堪忧,民营经济不振,人口老龄化加剧,一些冲突也在变多。 世界上仍然有不小规模的战争,国际局势也逐渐走向保守,中美之间的竞争与冲突也在不断加剧。 今年也发生了很多事情,嫦娥六号登月、六代机、 TikTok 封禁、人工智能的一系列突破,等等。 世纪初,一项新技术国内赶上美国,压缩美国公司的利润空间,还需要几年的时间,而现在在大模型领域这个时间连一年都不到了(当然芯片领域我们还有很长的一段路要走)。 我们确实身处大变局之中。
过去一年经历了很多,不是一两句话可以概括的,所以也没有什么要评价。 新的一年继续在摸索之中前行吧。