下面这个视频展示了大模型在云端 IDE 里面可以做的事:
-
根据提示生成代码
-
选中代码,解释这段代码的含义
-
改变选中代码的数据结构
-
描述网站的字体、字号和背景颜色,直接生成 CSS 代码

转换代码的编程语言(从 Lisp 转为 Javascript):

让斐波那契数列的算法实现速度更快:

IDE 还适配了移动端,在移动端写代码时,可以右划屏幕接受 AI 的建议:

以上用例来自于云 IDE replit.com 最新的 AI 模式,这也是 replit.com 自 2018 年更新多用户协同模式后的最大更新。
Replit 使用了开源的大模型(https://github.com/salesforce/CodeGen),由于有几十亿个参数,直接使用开源大模型方案的话,延迟会非常高。团队还介绍了他们如何优化延迟,使大模型的平均响应时间不到 400 毫秒:
1. FasterTransformer + Triton 服务器:
将 CodeGen checkpoint 转换为 FasterTransformer,以利用其高度优化的解码器块(有可能扩展到分布式、多 GPU 方式)。它们的计算和内存优化使推理比 PyTorch 或 Tensorflow 等流行框架快得多。最重要的是,团队还使用了 Nvidia 的推理服务器 Triton,它非常快速且可扩展。
2. 蒸馏:
为了进一步加快速度,团队将具有 2B 参数的 CodeGen 模型进行知识蒸馏,直至具有大约 1B 参数的轻量级快速学生模型。学生模型经过训练可以紧密地再现更大的模型,同时具有更少的参数并且计算成本更低。因此,在大规模运营时更实用。
3. Quantization
Replit 还在探索使用 Quantization 优化内核将权重和激活的训练后量化到 int8 精度,以降低延迟。使用优化的内核以如此低的精度执行计算通常会改善延迟,而不会导致模型准确性的显著损失。
Replit 还分享了大模型上面未来的改进计划,包括使用 CodeParrot 等开源数据集的进一步训练,使用增强学习(https://arxiv.org/pdf/2207.01780.pdf)训练大模型,以及学习人类程序员编码时的来回添加、删除和编辑代码甚至是移动光标等特征来完善大模型。
对于代码搜索,Replit 使用了基于 transformer 的 CodeBERT,而不是传统的关键词匹配:

对于“解释代码”的功能,Replit 接入了 OpenAI:

最后,Replit 计划会在近期将 AI 功能打包到付费的套餐里面,但长期愿景还是希望将其免费带给所有用户。
未来相当长的一段时间内,我们将看到大模型集成到更多的产品中。
在移动互联网的革命中,大部分价值都被已存在的产品抓住了。例如,虽然许多创业公司试图构建“移动端的 CRM”,但获胜者是那些开发了移动端软件的已有的 CRM 公司,而不是新公司。Salesforce 没有被移动取代,它自己开发了移动端。同样,Gmail、Microsoft Office 等也没有被移动取代。
在未来,Salesforce 很可能会变成拥有了 AI 能力 CRM 产品,而创业公司因为有了 AI 的能力就可以取代 Salesforce 的地位的概率应该不大。
或者,也许创业公司在各个垂类最终的规模是现任者的十分之一,作为一个公司和创始团队,这仍然是一个不错的结果(10% 的 Salesforce 仍然是 170 亿美元的市值)。
大模型领域的创业公司面临的挑战是确定什么是新产品和新市场,以及对应的商业模式,而不是在现任者上面“添加 AI”。