Viv 如何根据某些用户的查询生成新代码?

人工智能 神经网络 机器学习 深度学习 人工智能设计 自然语言处理
2021-11-03 21:45:31

我一直在研究Viv,这是一种正在开发的人工智能代理。这是 Viv 的演示(由 Dag Kittlaus 提供)

据我了解,这个 AI 可以生成新代码并根据用户的查询执行它。

我很想知道这个 AI 如何学习基于某些查询生成代码。这个过程涉及到什么样的机器学习算法?

我考虑的一件事是逐步分解程序数据集。例如,这里是取平均 5 个术语的代码

  1. 将所有 5 个术语加在一起
  2. 除以 5

然后我会训练一个算法来将文本转换为代码。据我所知。但是,我没有尝试过任何事情,因为我不确定从哪里开始。

有人对 Viv 的实现方式有任何想法吗?

1个回答

自您未回答的问题以来,已经过去了 4 年零 6 个月。

就机器学习而言,这是永恒的,事情已经发展了很多。所以我会回答现在,而不是过去。

如今,有一些代码生成模型,例如GitHub CopilotOpenAi Codex,它们基于 NLG(自然语言生成)。原理很简单:

  1. 制作一个巨大的(数十亿参数)模型来预测文本序列中的下一个“单词”(标记)。
  2. 用你能找到的所有可用数据训练那个模型,它会理解我们的语言和各种概念,从哲学到医学(这是一个 GPT)。
  3. 然后你对其进行微调,使其在编程代码中表现良好,特别是在充满代码注释的数据库中。

现在,您有了一个功能强大的模型,可以根据评论(命令式自然语言查询)进行代码预测(生成)。


还有其他用于代码预测的 AI 策略,例如https://www.tabnine.com/