越来越觉得时间过得飞快。去年的总结里说已经形成了规律健身的习惯,今年就被上海两个月的封闭管理彻底打破,正在艰难复健中。

2022 年 1 月份,为了让自己入门 Rust,跟之前在才云的前同事以及交大的学弟们组了一个队伍参加了 TiDB Hackathon。我们的项目是用 Rust 为 engula 写一个 Kubernetes operator engula-operator。项目本身跟 TiDB 毫无关系,单纯是想找机会学习一个 Rust。但是毫无疑问我们选错了方向,Rust 的 Kubernetes 生态非常不完善,导致写的时候束手束脚。如果用 golang 来写,我一个人写半天就可以把 demo 写出来了。但是当时我肝了一天也没把 demo 做完,最后我们没有参与答辩,但是整个过程还是蛮好玩的。

到了 2 月份,主要的时间在公司的开源项目 elastic-jupyter-operator 上。那是在腾讯做的一个 MLOps 领域的开源工作,能够让用户在 Kubernetes 上弹性地使用 Jupyter 进行开发。计算使用的 Kernel 在空闲时可以被回收,能够很大程度上提高 GPU 的利用率。同时也能够很好地跟 spot instance 结合使用。但是它不能支持 vscode remote 的使用方式,另外维护成本也比较高。

3 月份就慢慢有些不对劲了,隔壁小区开始了封禁。月初我也正式在腾讯提出了离职,最后一天定在了 4 月 1 日。跟我的 leader 说明了我的一些想法,出去试试在 MLOps 领域创业。关于这次离职的想法,可以阅读我在离职后写的文章在疫情封闭的上海,告别腾讯,这里不再赘述啦。写那篇文章的时候,我们的项目 envd 还没有实现出来,现在文章中提到的很多想法都在 envd 的设计中得到了体现。

针对环境的构建和开发过程中的调度问题,我们希望通过开源的项目来解决这一问题。通过提供对算法工程师更加友好的构建语言(可以理解为是 Dockerfile 在 AI 场景下的竞品),在更好地处理依赖管理、缓存、Jupyter 与 VSCode remote 等算法工程师常用的 IDE 支持的同时,保证简洁的使用体验。除此之外还有很多,就等后面的文章来介绍了。

4 月 1 日是我在腾讯的最后一天,也是我被封闭管理的第一天。原以为封闭管理会像新闻通稿中写的那样,持续几天。尽管浦东已经在 3 月份验证了,封闭会不断续杯。但我还是认为上海不太可能封闭超过 1 个月。事实证明我低估了封闭管理的长度和强度。

4 到 5 月,一边在处理融资的事务,一边在设计 envd。最初项目的名字叫做 MIDI。就是音乐领域那个接口标准的名字。我们认为 AI 开发和音乐作曲是很类似的,都是将脑海里的灵感实现,并且需要反复修改提升。但是目前大家开发的还处于左图这个阶段,在自己的开发环境里随意乱画,改动无法追踪,同时分享也很困难。所以我们想像一个理想中的开发实践,应该是像右边 MIDI 设备一样,能够将这个过程标准化,编曲可以直接利用计算机复现出来。

Pitch deck

当时还是社区贡献者的 Keming 为它做了新的命名。这个过程里,我也邀请了几个好朋友帮忙设计和实现 envdTerry TangManjusakaxuanwo 还有别的不少朋友都帮忙提了不少的建议。尤其是 Terry,一度对项目的贡献超过了我。Manjusakaenvd 特别看好,堪称首席布道师,帮助 envd 社区安利了不少用户。xuanwo 每次都能在推特以比我更快的速度发布 envd 相关的 updates。

envd 名字的由来

这里给创业和待业的朋友们提一个建议,那就是在没有工作的时间里可以为自己办理灵活就业登记来自己交社保。当时的两个月因为被封在家里,没法去做,后来等解封由于事情太多就忘记了。这就导致社保和公积金的断缴,对个人还是有一定影响的。

今年的生活也非常单调,一部分因为疫情,另外一部分因为创业。6-7 月解封的时候也是我们的项目刚刚开源的时间。基本上每天都在处理社区的问题,或者做新的特性。一直到 7 月底,连续 4 个月的时间基本都没有怎么出门。每天从早肝到晚上,也把定期健身的习惯抛之脑后。

7 月底的时候,陪着小徐去华山医院做了一个小手术,住院了三天的时间。因为正值疫情,华山医院的管制政策特别严格。不允许带床,不鼓励陪护。就连陪同入院都办理了一上午的时间。而且陪护是没有可以休息的地方的,只有病人有一张病床。陪护只有一个硬座座位。在住院的三天里每天 5 点就有人开始打扫卫生,早饭只供应到 7 点。但也没关系了,那时由于简陋的条件,加上房间隔音特别差,也没法入睡,基本到 4 点就醒了。住院体验特别差,希望大家都保护好自己的身体,努力锻炼。

华山医院一览

8 月份的时候,Keming 已经加入了我们,一起为 envd 而努力。8 月的时候我们的项目有 500 个 stars,也获得了一些关注。在 7 月项目刚刚开源的时候就有几家公司跟我们交流,想试用 envd,并且在努力推动 envd 进入他们的生产环境。我一方面感受到了 MLOps 的紧迫性,另一方面也震惊于现在的公司和团队对于新技术的开放。

8 月初我去参加了大学同学兼研究生同学的婚礼。婚礼是在 8 月 7 日举办,但我记错了时间,8 月 6 日就去了。而且就在 8 月 6 日有另外一对新人结婚,我差点把红包给了出去。在最后一刻发现大屏幕上的新郎新娘没有一个是我认识的,站在原地思考了很久,发现是日期看错了。最后又千里迢迢从闵行回到家里。

去早了的 gaocegege

8 月底在小徐的坚持下,我们养了一只猫。目前为止体验还不错,就是偶尔会吵到我。猫的名字叫做 env,名字也来自我们的产品 envd。猫平时都是非常安静的动物,不过有时像是打开了什么开关,就会变得很疯狂。最疯的时候我一度想给它换个名字,免得因为它消磨我对产品名字的热情。

env

9 月我们发布了 envd 的第二个版本 v0.2.0,大大优化了使用体验。然后我们尝试着在 reddit hackernews 等渠道宣传了一下。在 reddit 上收获了不少关注和反馈,但是在 hackernews 上没有什么反应(笑)。8 月底 9 月初的时候,Stable Diffusion 横空出世,我也被它的效果惊艳了。同时我们也试着用 envd 来配置 Stable Diffusion 的开发环境,过程出奇顺利。在这个过程中,我们也发现了 envd 的一些不足之处,比如对环境变量的支持、mount host volume 等。也成为了我们后续项目的一些方向。关于此可以参考我们的博文使用 CPU 体验最顶尖的 AI 生成艺术模型

Stable Diffusion 生成的图片

9 月底的时候,我还回老家参加了我哥的婚礼。一直以来就是远程办公,所以倒也没有耽误工作。我哥和我从小玩到大,一眨眼也已经结婚了。

国庆期间我基本在工作居多,我和小徐抽时间去了东一美术馆参观了现代艺术100年——意大利国家现当代美术馆珍藏。大部分东西都看不明白,回来就记住了一个达达主义。纽约达达有个灵魂人物杜尚太顶了,现成品艺术直接把马桶什么的拿来展览。在东一美术馆展览的是一个椅子,这个因为比较朴素,被我记住了,现在再回想当时看到的画作,基本已经毫无印象了。

最近我一直在 code rush,为了 12 月的新版本做准备。这个版本会有很多新功能,最主要是能够支持将开发环境运行在 Kubernetes 中。回头我会写一篇博文来介绍这个新功能。最后可以分享的是关于创业的感受,这也是很多朋友问过的。TL;DR 就是累但是很快乐。

累主要源自于需要做很多不擅长的事情,比如要了解社保公积金怎么交,银行结汇怎么处理,对公支付要怎么进行等等。除此之外,还有更多困难。比如作为一家商业公司,不止要获得开源上的成功,还要思考怎样去进行商业化。在各个方面都有做不完的事情。怎么样确定真正值得投入的工作,在有限资源下实现全局最优,是困难的。

尽管如此,整个过程也是快乐的。因为这是少有的机会,让我们能够去做自己认为值得做的事情,为业界做出贡献的同时,也有可能成为一家商业化上也获得成功的公司。这个过程中,我们也会遇到很多有趣的人,这些人可能是投资人,也可能是同行,也可能是客户。这些人都会给我们带来不一样的思考,让我们能够更好的成长。

往年总结

License

  • This article is licensed under CC BY-NC-SA 3.0.
  • Please contact me for commercial use.

评论