大型语言模型和人工智能代码生成器的兴起
时间:2023-08-10 01:31 来源:网络整理 作者:墨客科技 点击:次
译者 | 李睿 本文作者Martin Heller是一名Web和Windows编程顾问,也是行业媒体InfoWorld的特约编辑和评论员。Heller表示,他在2021年11月撰写关于GitHub Copilot的文章时,Copilot是当时发布的为数不多的人工智能代码生成技术之一。他将GitHub Copilot作为Visual Studio代码扩展进行了测试。当时,Copilot并不总是能生成良好的、正确的、甚至是可运行的代码,但它仍然有一些用处。Copilot(以及其他使用机器学习的代码生成器)背后的巨大承诺是,它的设计是通过将用户反馈和将新代码样本摄取到其训练语料库中,并且随着时间的推移而改进。 截至2023年5月,仅Visual Studio code就有数百个“人工智能”或“代码生成”扩展可用。其中一些可能会在编码时为用户节省一些时间,但是用户不能在没有检查、测试和调试的情况下就相信它们生成的代码。
图1 市场上有数以百计的Visual Studio Code承诺“代码生成”或“人工智能”扩展可用,但实际上只有一小部分基于机器学习生成代码 在这一领域一个很有前途的发展是一些工具可以自动生成单元测试。生成单元测试是一个比生成通用代码更容易处理的问题——事实上,它可以使用简单的模式来完成,但是用户仍然需要检查和运行生成的测试,以确定它们是否有意义。 本文将简要介绍语言模型的历史,然后考察最先进的大型语言模型(LLM),例如OpenAI公司的GPT家族和谷歌公司的LaMDA和PaLM,它们目前用于文本生成和代码生成。最后,将简单介绍10个代码生成工具,其中包括Amazon CodeWhisperer、Google Bard和GitHub Copilot X等。 人工智能文本生成模型发展简史 语言模型可以追溯到安德烈·马尔科夫在1913年提出的马尔可夫链,这是马尔可夫模型的一个特例。马尔科夫指出,在俄语中,特别是在普希金的韵文小说《尤金·奥涅金》中,一个字母出现的概率取决于前一个字母,而且一般来说,辅音和元音往往交替出现。此后,马尔可夫方法被推广到词汇、其他语言和其他语言应用中。 1948年,克劳德·香农(Claude Shannon)在通信理论方面扩展了马尔可夫的理论,1985年,IBM公司的Fred Jelinek和Robert Mercer再次扩展了马尔科夫的理论,产生了一个基于交叉验证(他们称之为删除估计)的语言模型,并将其应用于实时、大词汇量的语音识别。从本质上讲,统计语言模型为单词序列分配概率。 要想快速查看语言模型的运行情况,可以在谷歌搜索或智能手机上的短信应用程序中输入几个单词,并允许它提供自动完成选项。 2000年,Yoshua Bengio等人发表了一篇关于神经概率语言模型的论文,其中神经网络取代了统计语言模型中的概率,绕过了维度的诅咒,并将单词预测(基于以前的单词)提高了20%~35%,而不是平滑的三元模型(当时是最新技术)。语言的前馈、自回归、神经网络模型的思想至今仍在使用,尽管这些模型现在有数十亿个参数,并且是在广泛的语料库上训练的,因此有了“大型语言模型”这个术语。 正如人们将看到的,随着时间的推移,语言模型的规模不断变得更大,以使它们表现得更好。然而,这样做是有代价的。2021年发表的论文《随机鹦鹉的危险:语言模型是否太大?》的作者Emily Bender、Timnit Gebru质疑人们是否在这一趋势上走得太远。他们建议,除了其他事项之外,人们应该首先权衡环境和财务成本,并将资源投入到整理和仔细记录数据集上,而不是从网络上摄取一切。 Gebru和Bender后来都因为指责谷歌公司在人工智能的道德应用问题而辞职。Bender现在入职华盛顿大学,而Gebru创立了分布式人工智能研究所。 用于文本生成的大型语言模型 最近大型语言模型的爆发是由Google Brain项目和Google Research项目的Ashish Vaswani等人在2017年发表的论文《注意力就是你所需要的一切》引发的。该论文介绍了“Transformer这种新的简单网络架构,它完全基于注意力机制,完全省去了递归和卷积。”Transformer模型比递归和卷积模型更简单,也更优越。它们训练所需的时间也显著减少。 ELMo ELMo是AllenNLP在2018年推出的深度语境化单词表示(参见ELMo论文),它既模拟了单词使用的复杂特征(例如语法和语义),也模拟了这些用法在不同的语言语境中是如何变化的(例如建模多义性)。其最初的模型有9360万个参数,并在十亿个单词基准上进行训练。 BERT (责任编辑:admin) |
- 上一篇:大运会开幕式倒计时从“12”开始,象征太阳神鸟
- 下一篇:全人类共同价值的胸怀与视域
