TensorChord: 2022 in Review
尽管 TensorChord 还很年轻,但自去年六月底推出了我们的第一个开源项目 envd
以来,短短的六个月内取得了令人惊喜的结果。为了庆祝我们迄今为止取得的进展,并展望 2023 年的前景,我们想分享今年的工作,并简单讨论我们看到的下一步方向。
开源社区
2022 年 6 月 18 日,我们开源了 envd
并发布了第一个正式版本 0.1.0。到目前为止,我们收获了来自社区的大量反馈,我们也在不断地改进我们的产品,保持着以一周为单位的迭代周期与版本发布节奏。在开源的一周后,我们合并了第 100 个 PR;在 10 月 21 日,我们获得了第 1024 个 GitHub star。我们的社区正在不断壮大,我们也在不断地学习如何与社区进行有效的沟通。
在今年结束之前,我们:
- 增加了接近 60 位贡献者,这是最令我们兴奋的事情之一。我们的贡献者来自世界各地,他们的背景各不相同,但对
envd
的帮助都是不可或缺的。 - 获得了 1400 个 GitHub stars,这是在没有做过充分宣传的情况下取得的,超出了我们的预期。
- 发布了 85 个版本,其中包括了 3 个重大更新版本,每个版本都包含了大量的新功能与改进。
- 2 万次 Docker Hub 镜像下载,这意味着超过 2 万次的开发环境构建。
这一切都要归功于我们的社区,我们非常感谢他们的支持与帮助。我们在持续更新 envd
的 roadmap 和贡献者指南,以便社区可以更好地了解我们的计划。
更进一步地,我们甚至开源了 TensorChord 公司内部的新人指南,以便更多的人可以了解我们的工作方式。我们希望这些指南能够帮助更多的人加入我们的社区,为我们的项目做出贡献。
这些工作对我们这个只有数位全职工程师的团队来说是非常困难的,但我们相信这些工作对于我们的社区来说是非常有价值的。我们希望能够与更多的人一起工作,一起成长。
envd
的进展
envd
(ɪnˈvdɪ
)是一个命令行工具,可以帮助你为 AI/ML 训练场景创建基于容器的开发环境。开发环境通常包括了 Python,系统依赖,CUDA,BASH 脚本,Dockerfiles,SSH 配置,Kubernetes YAMLs,以及许多其他冗长的设置。在长年累月的开发中,系统里的东西总会越来越多,改动无法追踪,最终导致错误。envd 就是要解决这样的问题。
相比于传统的做法,envd
不仅可以提供更好地隔离性,并且提供了更好的可复用性。只需要几行代码,运行 envd up
后,你就可以在一个隔离的开发环境中训练你的模型了。
python
def build():
base(os="ubuntu20.04", language="python3")
# Configure the pip index if needed.
# config.pip_index(url = "https://pypi.tuna.tsinghua.edu.cn/simple")
install.python_packages(name = [
"numpy",
])
shell("zsh")
而且在 12 月的新版本中,我们还支持了以 Kubernetes 作为运行时,使你的开发环境不仅可以在本地运行,还可以在保持相同的开发体验的前提下运行在集群上,使用集群资源进行开发。并且我们也提供了 UI,可以让你在浏览器中管理你的开发环境。
如果你想了解更多关于 envd 的信息,可以查看我们的官方文档。也欢迎加入我们的 discord 频道,与我们一起讨论。
技术分享
今年,我们进行了三次定期的技术分享会议,每次会议都有 10 位以上的参与者。我们把它称为 TensorChord Tea Hour,分享的主题包括机器学习、容器技术、集群调度或其他相关领域。我们的分享会议主要是为了让我们的社区成员了解我们的工作,以及 envd 背后的技术细节。我们把这些分享会议的录像都上传到了 YouTube,欢迎大家前往 @TensorChord on YouTube 观看。
未来的计划
尽管我们在 2022 年取得了很多进展,但我们还有很多工作要做。我们会在 2023 继续优化构建速度,尤其是针对 GPU 来说。另外我们会针对大模型的 fine-tuning 和 serving 场景进行测试和优化。
不仅如此,我们会发布 envd
on Kubernetes 的在线 demo server,使得你不需要自己构建一个 Kubernetes 集群就能直接体验 envd
的功能。我们也非常欢迎更多的用户可以与我们交流,可以通过 discord 频道或微信等方式向我们分享你在训练模型时遇到的环境问题,帮助 envd
支持更多的场景。
机器学习流程中仍有非常多未解决的基础设施问题,我们也在进行更多的探索。也许明年我们会发布一些全新的东西,给大家一些惊喜,请保持期待!