大语言模型会不会取代程序员?

LLM给软件开发界的承诺是有望将码农变成架构师。然而,并非所有LLM都天生一样;值得探讨的是,为什么一开始就涌现出了较小巧的LLM。

640 (1).png

本文来自微信公众号“人工智能与物联网”,作者/chris han。

生成式人工智能(GenAI)会取代人类程序员吗?恐怕不会。不过,使用GenAI的人类可能会取代程序员。但是如今有这么多的大语言模型Large Language Model(LLM),实际效果不一而足。如果您在努力跟上所有LLM,并非只有您一个人,我们目睹一场激烈的LLM竞赛。“LLM会抢走我的工作吗?”,吓到了不少软件开发者。

但这种担心真的有道理吗?关于人类程序员已死的说法可能夸大其辞了。事实上,开发者应该询问的更适当的问题不是“LLM会抢走我的工作吗?”,而是“我该使用哪个LLM?”

太庞大了,编程没法成功

LLM给软件开发界的承诺是有望将码农变成架构师。然而,并非所有LLM都天生一样;值得探讨的是,为什么一开始就涌现出了较小巧的LLM。

更强大的主流模型(比如GPT-4和Claude 2)仍然只能勉强解决不到5%的实际GitHub问题。ChatGPT仍然存在严重的幻觉问题:假变量,或者甚至十多年前就已经被弃用的概念。此外,它让没用的内容看起来很有用。您可以尝试利用“提示工程”来摆脱这些没用的内容,但是有益的上下文数量存在一个最佳平衡点——太多会导致更混乱更随机的结果,白白耗费了更多的处理能力。

LLM编程方面更大的问题是信任。在过去,主流LLM不加区别地吸收网上的一切内容,就像一个大型数字吸尘器,至于它们从哪里获取数据缺乏透明度。哪怕一家公司交付的代码中仅仅1%含有另一家公司的受版权保护的代码,这也是个问题。您可以想象噩梦般的召回场景:交付的产品没有无线传输功能来挑出可疑代码。

不过,LLM格局正在迅速改变。

LLM对于编码够专业吗?

当Meta在今年早些时候宣布对其Code Llama 70B进行更新时,感觉这是大受欢迎的尝试,有望解决主流LLM对编码缺乏关注的问题。它有三种不同大小的版本:70亿个参数、130亿个参数和340亿个参数。它还使用代码的5000亿个token和与代码相关的数据进行训练,包含10万个token的庞大上下文窗口。

从理论上讲,其中最令人兴奋的是Code Llama Python,这是专门为Python设计的Code Llama版本——主要是由于它代表了LLM未来的发展方向。与Meta的大型科技同行开发的一些模型不同,这个模型完全致力于为一种特定的语言编程,使用Python代码的大约1000亿个额外的token进行训练。业界更加需要的正是针对特定用例的这种级别的定制建模。

不管LLM变得有多好,对于程序员来说,有一条原则应该始终不变:像对待自己编写的代码一样对待每一段代码。请同行评审,询问同事“这是好的代码吗?”。永远不要盲目相信代码。

THEEND

最新评论(评论仅代表用户观点)

更多
暂无评论