发布时间:2026-03-17
浏览次数:0
正式开源上线的专用编程版Code Llamacodejock 162,是能够免费用于商业用途以及进行研究的。
Code Llama是经由Llama-2基础模型微调产生的,总共存在三个版本,一个是基础版,一个是版,还有一个是指令遵循。
存在着三种参数,即7B、13B、34B,可在每个版本当中找到。需要特别提及的一点就是,仅靠单个GPU就能够运行7B模型。
处于评测的基础情况之下,Code Llama所具备的性能,与GPT - 3.5达成了持平的状态,于此同时,拥有34B参数的模型,在基准方面,是接近于GPT - 4的。
不晓得呗,大伙有无察觉到那当中的一个模型啊,它叫做Code Llama。
科学家,乍一看,非常nice!
不过呢,对于这个有着神秘名字的Code Llama,其具备含糊的描述,处于秘而不宣的状态,还能碾压其他所有模型,这是多么地诱人呀!
LeCun在Code Llama公布后,也是对于自身的科研成采取疯狂操作去进行点赞以及再次转发。
英伟达的科学家Jim Fan宣称,Llama - 2几乎算是达到了GPT - 3.5的那种水准,然而在编程这个方面却是大大地落后了,这实在是非常令人失望啊,如今,Code Llama终于是把和GPT - 3.5之间的这一差距给弥补上了!
LLM任务里,编程无疑是最为重要的那个。它可是强大推理工具的基石,是像这般强大的AI智能体的根基。
Code Llama的突然出现,意味着AI在编程方面有了巨大的进步,每个人皆能够借助这个模型去开展复杂且精准的编程开发工作。
此外,有一点值得提及,关于聊天工具,此刻便能够运用Code Llama了。
快来一试:
Code Llama是如何练成的?
Meta声称,于代码任务里,Code Llama是当下公开能使用的LLM之中最为先进的模型,该模型可以让开发人员的工作流程变得更高效快速,还能使学习编程的门槛得以降低。
Code Llama能够当作生产力以及教育方面的工具,对程序员予以协助以去编写更为稳定的、更为契合编码规范的软件。
Meta觉得,开源策略可推动 AI 领域进行创新,它是开发安全且负责任的 AI 工具的最优办法。
因此,Code Llama所具备的社区许可协议,处于和的状态下,是全然同样相同的,在学术范畴以及商用领域,此协议都呈现为免费这一状况。
Code Llama是Llama 2强化了代码能力的版本。
论文的地址是,https://ai.meta.com///code-llama-open---for-code/。
Meta先是从用于训练Llama 2代码能力的数据集中提取出了更多的数据,接着训练了更长的一段时间,最终得到了Code Llama。
由它生成代码以及与代码有关的自然语言描述,是依据代码和自然语言提示来进行完成的,像是「编造一个予以出斐波那契数列的函数」这样的提示。
它能够被用以代码补全以及Debug,对当下最为流行的编程语言予以支持codejock 162,涵盖了C++,Java,PHP,(此处内容缺失),C#以及Bash。
Meta推出了三个参数规模各异的Code Llama,其中一个参数为7B,一个参数是13B,还有一个参数为34B。
运用了500B token的代码,以及和代码有关的数据,对每一个模型开展训练。
其中,7B的基础模型经过了一种训练,13B的基础模型也经过此训练,并且,模型还经过了另外称之为Fill-In-the-(FIM)能力的训练,这一训练能让它们把代码插入现有代码里,但这一训练也能让它们完成代码补全相关的任务。
这三个模型可以满足不同的服务场景和延迟的需求。
7B模型单个GPU就能跑。
生成结果最优的是34B模型,编码辅助所呈现的效果同样是最佳的。然而,规模相对较小的7B以及13B模型,其运行速度更为快捷,对于存在低延迟刚需的任务,像实时的代码补全这类任务而言,会更适宜一些。
具有能够稳定支持最多达10万token上下文能力的Code Llama模型,并且所有模型均是基于16k的token序列来开展训练的,在最高为10万token的输入里展现出了改进成效。
一方面,拥有更长的上下文能力,除产生更长的程序外,另一方面,给代码大语言模型带来好多新的用途。
它让用户能够给模型进行输入更长的代码库上下文这番操作,进而致使生成的结果跟原先的代码之间的相关性变得更高。
这同样致使模型于「调试大型代码库」这般的情景里能够展现出更为显著的功效。
在这般情形之下,要去追踪那「跟某一特定问题存在关联」的所有代码,这对开发人员来讲,是一项极让人头疼的任务。
当开发人员有对大量代码进行Debug的需求时,他们能够把整个代码片段直接给予模型。
同时,Meta又对Code Llama的两个子版本做了更细的调整:
Code Llama - 和Code Llama - 。
某产物,其是借助Code Llama于100B的代码token上再度进行微调之后所形成的。
它是代码生成任务里极为常用的语言,鉴于此,它同时在AI 社区里占据着相当重要的位置,专门去训练一个可为其提供更优支持的模型,那就能够极大地增强模型的实用性。
而Code Llama,它是经过指令微调的Code Llama,它也是经过对齐的Code Llama。
交给模型的是Meta的「自然语言指令」,而且给出了预期的输出,经过这样的过程,模型对于人类提示所期望达成的结果就更加善于去理解了。
因Code Llama - 在经过微调之后呢,能够生成更为有用且更为安全的自然语言回复,所以Meta建议在开展代码生成任务的时候使用Code Llama-。
Meta不建议径直运用Code Llama,或者Code Llama - 去开展普通的自然语言任务,鉴于这两个模型的设计本意都并非依照自然语言指令。
此外,Code Llama仅仅专门针对代码相关的任务来使用,不存在适合当作其他任务的基础模型的情况。
刷新SOTA,碾压开源专用代码模型
Code Llama表现如何?
Meta采用了,两个流行的编码基准测试,和Basic (MBPP)。
测试重点在于模型依据文档字符串去达成代码的能力,然而,MBPP旨在测试模型根据描述来编写代码的能力。
有结果显示,Code Llama在性能方面比开源代码专门的那种LLM要好,而且还超过了Llama 2。
Code Llama 34B其在上面对应的得分是53.7%,而在MBPP方面对应的得分是56.2%,二者之间几乎呈现出打平这样一种状况。
相同地, Code Llama身为大模型,同样存有不可知的风险。
要对于构建负责任的AI模型而言极其关键,Meta在发布Code Llama之前,采取了好些措施,其中涵盖红队测试。
从事研究工作的人员,针对Code Llama产生恶意代码的风险,展开了定量方面的评估。
透过创建试图引导生成具备明确意图的恶意代码的提示,把Code Llama针对这些提示的响应,跟,(GPT3.5 Turbo)的响应,展开了评分比较。
结果表明,Code Llama 给出了更安全的响应。
代码开源
今日,Meta同样公布了Code Llama源代码,进而在全部社区范围内均可对其能力予以评估,找出问题,并且修复漏洞。
模型下载
如果要去进行模型权重以及标记器的下载操作,那么就需要前往Meta AI网站,并且还要接受许可。
若是请求被予以批准,便会于电子邮件当中收到一个URL,接着运行.sh脚本。在此脚本下达提示开始下载指令之际,传递所提供的那个URL。务必要复制URL文本,切莫去运用右键单击URL时出现的「复制链接地址」选项。
如果复制的URL文本以:
若所复制的内容是以https://..net开头的情况,那么进行复制就是正确的行为。要是复制的URL文本呈现为以:https://l..com开头的状况,那么实施复制就是错误的做法。
前提条件是,要保证你已经安装了wget,并且,之后去运行脚本,运行的脚本是bash .sh。
要记好,链接会于24小时以及一定数量的下载之后过期。要是你开始见到诸如403: 这类的错误,你能够随时重新去请求链接。
设置
在具备/CUDA可加以利用的conda环境里头,进行repo的克隆操作,并且于顶级目录当中实施运行。
pip install -e .
推理
不同的模型需要不同的MP值:
没有一个模型不支持高达100,000个token 的序列长度,不过呢,Meta会按照和值提前去分配缓存。
因此,请根据你的硬件和用例进行设置。
预训练代码模型
代码骆驼和代码骆驼模型不存在微调指令遵循情况。于提示之际,需让预期答案变成提示的自然延续体。
要获取一些示例的相关内容,可去参阅.py。要进行说明的话,去参阅下面这样的命令,该命令是用来使用 -7b 模型运行其所指的那件事的(运行要求设置为 MP 值):
torchrun --nproc_per_node 1 example_code_completion.py \
--ckpt_dir CodeLlama-7b/ \
--tokenizer_path CodeLlama-7b/tokenizer.model \
--max_seq_len 128 --max_batch_size 4
预训练的代码模型有,Code Llama模型-7b,Code Llama模型-13b,Code Llama模型-34b,则还有Code Llama-模型-7b-,以及Code Llama-模型-13b-,另外还有Code Llama-模型-34b-。
代码填充
Code Llama,以及Code Llama - 和13B模型,具备按照四周环境去填充代码的能力。
一些示例相关的内容,可参照.py。-7b模型能够运行,运用以下命令来实施填充(这需要将其设置为MP值):
torchrun --nproc_per_node 1 example_text_infilling.py \
--ckpt_dir CodeLlama-7b/ \
--tokenizer_path CodeLlama-7b/tokenizer.model \
--max_seq_len 192 --max_batch_size 4
预训练的填充模型有,Code Llama模型当中的7b版本,Code Llama模型当中的13b版本,Code Llama-模型当中的7b-版本, Code Llama-模型当中的13b-版本。
指令微调模型
Code Llama-指令模型经过微调遵循指令。
为了能够得到预期的功能以及性能,就得去遵循其中所定义的特定格式,具体涵盖了INST和标记,还有BOS和EOS token,并且包括中间的空格以及换行符,建议在输入的时候调用strip()以此来避免双格。
你能够部署另外的分类器,用以过滤掉那些被判定为不安全的输入,还有输出。关于怎样把安全检查器添加到推理代码输入处以及输出处的示例,需参考llama - 存储库。
使用-7b-的示例:
torchrun --nproc_per_node 1 example_instructions.py \
--ckpt_dir CodeLlama-7b-Instruct/ \
--tokenizer_path CodeLlama-7b-Instruct/tokenizer.model \
--max_seq_len 512 --max_batch_size 4
用于微调指令所遵循的模型是,Code Llama,它有 - 7b - 这一版本,还有 - 13b - 这一版本,以及 - 34b - 这一版本。
负责任使用
来自Meta的研究论文,披露了更多关于Code Llama的开发细节,还有进行基准测试的具体方式方法。
论文涵盖了模型存在的现有局限的详细具体信息,涉及到所遭遇的已知挑战,还包含Meta所采取的应对举措以及未来所面临的挑战。
Meta也对负责任使用指南进行了更新,这儿含有关于怎样负责开发下游模型的指导,具体涵盖:
确定内容策略,准备用来减轻相关状况的举措,准备数据,针对这个数据来对模型开展微调,评估并改善性能,解决输入层面跟输出层面蕴藏的风险,于用户互动期间构建 以及报告机制。
从事开发的人员,应当运用专门针对代码的评估基准,以此对自身的模型展开评估,并且针对专门属于代码的那些用例,就生成恶意软件、计算机病毒或者恶意代码等情形,开展安全性方面的研究。
编码生成式AI的未来
Code Llama有着辅助作用,针对各行各业软件工程师平时工作,在研究范畴能发挥重要影响,于工业领域可产生关键效应,在开源项目里有显著意义,在非营利组织中具备重要价值,在企业范围也能起到重大作用。
但是,基础模型和模型能够发挥作用的领域还远不止这些。
Meta期望Code Llama能够挑动起大众针对Llama 2展开更深入的研发行动,进而变为用于进行研究以及打造商业产品的一款全新的具备创造性的工具。
网友操刀
Code Llama一发布后,已经有人迫不及待跑开了。
Code Llama - 34B在四张3090显卡之上运行,每一个token需要49毫秒。
这边是有着,运用最新的llama.cpp,于M2 Ultra之上,针对Code Llama不同参数大小模型,展开推理所得的一些数据。
除了代码补全和代码生成,它还能帮助你查找错误或程序配对。
参考资料:
这个不是一个可以进行改写的句子哦,它看起来像是一个链接呢,即https://ai.meta.com/blog/code-llama-large--model-/.。如果你有其他符合要求的语句,请继续向我提问。
如有侵权请联系删除!
Copyright © 2023 江苏优软数字科技有限公司 All Rights Reserved.正版sublime text、Codejock、IntelliJ IDEA、sketch、Mestrenova、DNAstar服务提供商
13262879759
微信二维码