早些时候,我整理了自己历年编写的机器学习教程,取名为 《动手实践人工智能 AI By Doing》,并将其免费公开出来。希望在如今的 AI 热潮下,能够帮助更多的小白入门机器学习。非常开心,有大量的读者给予了积极的反馈。

这个系列的教程主要是基于 Python 编程语言,通过 Jupyter Notebook 进行交互式编程,让读者能够更加直观地理解人工智能的原理和实现方法。在系列教程中,我也提到了一些 Linux 的使用技巧,因为在人工智能领域,Linux 是一个非常重要的操作系统。但是,我发现很多读者对 Linux 的使用还不是很熟悉,有的读者甚至都没有使用过。

于是,我开始动手开发一个工具,帮助读者更加方便地学习 AI 编程,同时也能够便捷地使用 Linux。这个工具就是 GetVM

GetVM 是一个 Google Chrome 浏览器扩展,它可以帮助你在浏览器中快速创建一个 Linux 虚拟机,与本地环境完全隔离。你可以选择直接打开预设模板,例如 Jupyter Notebook,VS Code,Ubuntu Desktop 等。

你可能会问,支持云端运行 IDE 或 Jupyter Notebook 的服务很多,例如最知名的 Google Colab,CodeSandbox,GitHub Codespaces 等。GetVM 有什么优势呢?或者有什么特别之处呢?

实践出真知

编程学习是 GetVM 的一个重要应用场景。而在编程中,我们经常会说 “Talk is cheap, show me the code.”,也印证了实践的重要性。

GetVM 的优势之一是轻量便捷,你不需要在刚入门编程时就被复杂的环境配置困扰,也不需要担心污染本地环境把系统搞得乱糟糟,甚至崩溃。只需要在浏览器菜单栏点击一下,就可以获得一个 Linux 的虚拟机,可以在其中安装各种编程工具,进行实践。

我之前也长期使用 Google Colab 等其他的云端服务,或者在本地安装 Jupyter Notebook,但是这些方式都不那么便捷。尤其是在学习场景下,往往需要外接显示器的加持,打开多个窗口,或者分屏操作。

GetVM 使用了 Chrome 提供的 Side Panel 特性,可以在浏览器中直接打开一个侧边栏,无需切换窗口。如下图所示,你可以在设置中,选择默认的侧边栏位于左侧或右侧。

例如,当你在阅读我的 AI By Doing 教程时,可以直接在侧栏中打开 Jupyter Notebook,边学习边实践。又或者,你购买了少数派的《100 小时后请叫我程序员》专栏,同样可以非常方便地在 GetVM 中打开 VS Code 进行编程练习。

除了文字类教程,B 站或 YouTube 上的优质视频也很多,GetVM 也可以帮助你在学习视频的同时,直接实践。

我还特别收集整理了网络上的一些优质教程,大学公开课,视频教程等,你可以访问 GetVM Explore 页面查看。当然,目前主要收集了一些英文的教程,后续也会在推出 GetVM 中文版本时(正在走国内合规流程),会增加各类优质的中文教程。

云端开发

云端开发已经被谈论很多年了,甚至早在 2021 年,GitHub 就在 官方博客 中介绍过团队都使用 Codespaces 进行云端协作开发的情况。然而,云端开发的优势和劣势都很明显。优势是可以随时随地开发,不受本地设备和环境限制。劣势是需要整个团队的配合,稳定的网络,往往不如本地开发流畅。而另一部分云端开发的需求,主要在于本地的配置不够。例如训练 AI 模型时,因为需要大量的计算资源,经常需要使用云服务商提供的 GPU 或 TPU。

由于 GetVM 提供了一个完整的 Linux 虚拟机,所以你可以在其中安装各种软件,服务于一部分云端开发需求。以前端开发为例,你可以在 GetVM 中安装 Node.js,Vue CLI,React 等工具,进行前端项目的开发和编译。

当然,和入门学习不同,我们深知服务于专业的开发人士会面对更多的挑战。例如,如何保证服务的稳定性,虚拟机的配置足够,数据的安全性等。因此,GetVM 还有很长的路要走。后续也会针对专业人士的需求,增加开放端口,提供更高配置的虚拟机或者独立云主机等功能。也欢迎开发者们试用,并给出宝贵的建议。

当然,除了编程学习和开发的主要场景,你还可以使用 GetVM 来应对一些安全的需求。例如,你不确定一个网站是否安全,可以在 GetVM 中打开,避免泄露个人信息。

或者测试一些不那么放心的脚本,担心污染或影响到本地环境,这些之前需要在隔离环境中操作的需求,也可以在 GetVM 中完成。

存在的问题

GetVM 目前仍然属于早期阶段,还有很多功能和细节需要完善。例如,目前只支持 Ubuntu Desktop,VS Code,Jupyter Notebook,Terminal 等几种基础模板,后续会增加更多的模板,例如 PyCharm,IDEA 等开发工具,以及不同的 Linux 发行版等。或许,你可以在不久之后定制自己的模板。此外,GetVM 也规划了很多新的功能,例如文件上传下载,开放端口等,进一步提高 GetVM 的灵活性和可用性。

另外,上面提到 GetVM 使用了 Side Panel 侧边栏的特性,这个特性目前只支持 Google Chrome 浏览器上支持的最好。其他一些使用 Chromium 内核的浏览器,例如 Microsoft Edge,Brave,Arc 等,可能无法达到很好的体验。我们正在增加对其他浏览器的适配支持,以提供更好的用户体验。

付费计划

目前,GetVM 提供了免费计划,每天可以开启 5 次虚拟机,满足低频日常学习的需求。同时,为了避免被挖矿等滥用行为搞崩,不得已增加了网络限制。很遗憾免费计划无法访问外网,虽然我个人非常愿意开放。不过,但对于 Python,Linux 学习等场景,网络限制并不是很大的问题。

此外,GetVM 还提供了 Pro 付费计划,可以解锁网络和无限制的虚拟机开启次数。Pro 计划当前的早鸟价是 1.9 美金(约 15 元人民币)/月,由于较高的资源成本,这个价格只能算是真正的亏本早鸟价。😂 后续也会为 Pro 用户增加更多的专属功能和特性。付款时,可以使用 TRYFREE 的兑换码,获得首月免费权益。

欢迎有兴趣的读者前往 Google Chrome 商店 下载 GetVM 体验,或者访问 GetVM 官网 了解更多信息。