使用哪个LLM?来自DevAI领域的视角

DevAI领域(开发者借助大型语言模型(LLM)构建软件的社区的简称)发展如此之快,弄清楚使用哪种模型可能颇具挑战。
基于我们在Continue社区的经验,我们创建了这个仓库。欢迎提出改进建议并通过提交拉取请求来帮助我们保持更新!
有哪些LLMs?
LLMs有很多。我们决定重点介绍我们目前看到大家正在使用的模型

你可以在这里找到一个包含所有这些模型及其信息的CSV文件。
编码时使用哪些LLMs?
大家如何决定?
你通常做的第一个选择是使用开源模型还是商业模型
- 当你 عايز 将代码保留在你的环境内、有足够的可用内存、想保持低成本,或者想能够端到端地管理和优化一切时,你通常会选择开源LLM。
- 当你想要最好的模型、偏好简单可靠的设置、没有太多可用内存、不介意代码离开你的环境,或者不受成本顾虑阻碍时,你通常会选择商业LLM。
如果你决定使用开源LLM,你的下一个决定是是在本地机器上还是在托管模型提供商处设置模型
- 当你有足够的可用内存、想要免费使用,或者想在不需要互联网连接的情况下使用模型时,你通常会选择在你的本地机器上使用开源LLM。
- 当你想要最好的开源模型、你的本地机器上没有太多可用内存,或者想让模型服务多个人时,你通常会选择在托管提供商上使用开源LLM。
如果你决定使用商业LLM,你通常会获取API密钥并尝试多种模型进行比较。建议的质量和使用成本都可以是重要的衡量标准。
开源模型
这是截至2023年10月,开发者在编码时使用的开源LLM列表,大致按受欢迎程度从高到低排序。
1. Code Llama
Code Llama是由Meta训练的、用于生成和讨论代码的LLM。它构建在Llama 2之上。尽管在Big Code Models排行榜上排名低于WizardCoder和Phind-CodeLlama,但它是这两者的基础模型。它也提供多种尺寸:7B、13B和34B,这使其在本地机器和托管提供商中都很受欢迎。目前,它是最知名的开源代码基础模型,并引领着创建具备编码能力的LLM的开源工作。
2. WizardCoder
WizardCoder是由WizardLM团队构建在Code Llama之上的LLM。Evol-Instruct方法被改编用于编码任务,以创建用于微调Code Llama的训练数据集。它提供与Code Llama相同的尺寸:7B、13B和34B。因此,它是目前最受欢迎的开源指令微调LLM。
3. Phind-CodeLlama
Phind-CodeLlama是由Phind构建在Code Llama之上的LLM。Phind使用了一个包含约8万个高质量编程问题和解决方案的专有数据集来微调Code Llama。然后,该微调模型又在额外的15亿个token上进行了进一步微调。它目前在Big Code Models排行榜上领先。然而,它仅提供34B参数模型,因此需要更多可用内存才能使用。
4. Mistral
Mistral是由Mistral AI训练的7B参数LLM。它是此列表中最新发布的模型,于9月底发布。Mistral AI表示,它“在代码方面的性能接近CodeLlama 7B,同时在英语任务方面表现良好”。尽管只提供一个较小的尺寸,但在发布后的最初几周内,人们对其感到非常兴奋。基于Mistral的首批微调LLM现已开始出现,未来我们可能会看到更多此类模型。
5. StarCoder
StarCoder是由BigCode训练的15B参数LLM,于5月发布时领先于时代。它在The Stack (v1.2)中包含的80多种编程语言上进行训练,排除了选择退出请求。它不是一个指令模型,像“编写一个计算平方根的函数”这样的命令效果不佳。但是,通过使用技术助手提示,你可以使其更加有用。
6. Llama 2
Llama 2是由Meta在2万亿个token上训练的LLM。它是总体上最受欢迎的开源LLM,因此一些开发者也会使用它,尽管它在代码编辑方面的表现不如上面列出的许多模型。它也很重要,因为最受欢迎的编码LLM Code Llama就是构建在它之上,而Code Llama反过来又是WizardCoder和Phind-CodeLlama的基础。
商业模型
这是截至2023年10月,开发者在编码时使用的商业LLM列表,大致按受欢迎程度从高到低排序。
1. GPT-4
GPT-4来自OpenAI,通常被认为是编码时使用的最佳LLM。它在生成和讨论代码时非常有用。然而,它要求你通过其API将代码发送给OpenAI,而且可能相当昂贵。尽管如此,它仍然是总体上最受欢迎的编码LLM,目前大多数开发者在编码时都使用它。所有在2023年7月6日前成功支付1美元或以上的OpenAI API用户都已获得GPT-4的访问权限,OpenAI计划很快向所有开发者开放访问。
2. GPT-3.5 Turbo
GPT-3.5 Turbo来自OpenAI,比GPT-4更便宜、更快;但是,它的建议不如GPT-4有用。它也要求你通过其API将代码发送给OpenAI。它是目前总体上第二受欢迎的编码LLM。所有开发者在注册OpenAI账户后即可立即使用。
3. Claude 2
Claude 2是由Anthropic训练的LLM,与第一版Claude相比,其编码技能有了很大提升。尤其是在提供大量上下文时,它相对于其他LLM表现出色。它要求你通过其API将代码发送给Anthropic。目前,你必须申请才能获得Claude 2的访问权限。
4. PaLM 2
PaLM 2是由Google训练的LLM。要试用它,你必须在通过MakerSuite获取API密钥后,通过PaLM API将代码发送给Google,这两者目前都处于公开预览阶段。
贡献
如果你发现缺少某个模型或想分享意见,我们欢迎你提交PR或创建issue!我们希望维护一个社区驱动的、最新的最有助于编码的语言模型索引。
如果你喜欢这篇博文,并且未来想阅读更多关于DevAI——开发者借助LLMs构建软件的社区——的内容,请在此处订阅我们的月度新闻通讯。