大连网络建站模板/营销qq官网

大连网络建站模板,营销qq官网,网站弹幕代码,受欢迎的大连网站建设本文主要介绍主流代码生成模型,总结了基于代码生成的大语言模型,按照时间顺序排列。 在了解代码大语言模型之前,需要了解代码相关子任务 代码生成 文本生成代码(Text to code):根据自然语言描述生成代码 重构代码(Refactoring …

本文主要介绍主流代码生成模型,总结了基于代码生成的大语言模型,按照时间顺序排列。

在了解代码大语言模型之前,需要了解代码相关子任务

  • 代码生成

  • 文本生成代码(Text to code):根据自然语言描述生成代码

  • 重构代码(Refactoring code):在不改变其功能的情况下更改源代码的结构,通常是为了使其更加高效、可读且易于维护。

  • 代码到代码的翻译(Code-to-code):将一种编程语言编写的代码转换为另一种同功能编程语言的过程。此过程也称为代码转换、转译、代码迁移或源到源翻译。

模型论文及代码

2020.09.18_CodeBERT

CodeBERT是在2020年提出的一个大型语言模型,旨在通过预训练和微调的方式,增强源代码理解和生成的能力。

数据集Dataset

  • Stackdataset:Github code repositories(Python, Java,JavaScript, PHP, Ruby, and Go)

模型框架Model Arc

Natural Language(NL),Programming Language(PL)

Objective 1:Masked Language Modeling(MLM)

Objective 2:Replaced Token Detection(RTD)

CodeSearchNet

Code to NL

CodeSearch

2021_CodeX [未开源]

CodeX是OpenAI 在2021年推出的大型语言模型,通过在多样的编程任务上进行预训练,旨在提升源代码理解和生成的能力。

Key features(model)

  • Code-davinci-002 -> Max tokens 4000

  • code-cushman-001->Max tokens 2048

Programming languages

  • Python ,Javascript,Bash,c#...

Search Code Net

2022.02_AlphaCodeTransformer(seq2seq)

论文题目:Competition-Level Code Generation with AlphaCode

论文地址:2203.07814.pdf (arxiv.org)

代码地址:

Demo:AlphaCode (deepmind.com)

2022_Polyglot

论文题目:Polyglot: Large Language Models of Well-balanced Competence in Multi-languages

代码地址:EleutherAI/polyglot: Polyglot: Large Language Models of Well-balanced Competence in Multi-languages (github.com)

2023.01.27_PAL

论文题目:PAL: Program-aided Language Models

论文地址:[2211.10435] PAL: Program-aided Language Models (arxiv.org)

论文主要内容: 让Code LLM生成代码来解决一些NLP问题!!

摘要

大型语言模型 (LLM) 最近在测试时提供了一些示例(“小样本提示”),展示了执行算术和符号推理任务的令人印象深刻的能力。这种成功很大程度上可以归因于诸如“思维链”之类的提示方法,这些方法使用LLM来理解问题描述,将其分解为步骤,以及解决问题的每个步骤。虽然 LLM 似乎擅长这种逐步分解,但 LLM 经常在解决方案部分犯逻辑和算术错误,即使问题被正确分解。在本文中,我们提出了程序辅助语言模型(PAL):一种新颖的方法,它使用LLM来读取自然语言问题并生成程序作为中间推理步骤,但将求解步骤卸载到运行时,例如Python解释器。在PAL中,将自然语言问题分解为可运行的步骤仍然是LLM的唯一学习任务,而求解则委托给解释器。我们在 BIG-Bench Hard 和其他基准测试的 13 个数学、符号和算法推理任务中展示了神经 LLM 和符号解释器之间的这种协同作用。在所有这些自然语言推理任务中,使用 LLM 生成代码并使用 Python 解释器进行推理会产生比大型模型更准确的结果。例如,使用 Codex 的 PAL 在数学单词问题的 GSM8K 基准测试中实现了最先进的少样本精度,超过了使用思维链的 PaLM-540B,绝对是 15% 的 top-1。我们的代码和数据在此 http URL 上公开提供。

与使用自由格式文本的 CoT 不同,PAL 将解决方案步骤卸载到编程运行时,例如 python 解释器。

2023_Codegen2

CodeGen2是Salesforce开发的,可以进行infilling,并且支持更多的编程语言。这里的infilling应该是在插入代码的含义。

2023_Codet5+

Salesforce的CodeT5 + 在指令调优上的效果,以更好地使模型与自然语言指令保持一致。

模型框架(Model Architecture)

方法(Method)

  • Span Denoising

  • Causal Language Modeling (CLM)

  • Text-Code Contrastive Learning

  • Text-Code Matching

  • Text-Code Causal LM

2023_SELF-DEBUGGING

Google→ SELF-DEBUGGING

2023_StarCoder

StarCoder是HuggingFace在BigCode基于GitHub数据训练的一个代码补全大模型。可以实现一个方法或者补全一行代码。

15.5B LLM for code with 8k context and trained only on permissive data in 80+ programming languages:

  • Decoder-only Transformer with Fillin-the Middle,Multi-Query-Attention,and leaned absolute position embeddings.

  • Pretrainmodel Size : 64GB → BigCode OpenRAIL-M v1

2023.7.18_LLAMA2

Meta→ 2023_LLAMA2

2023.7_CodeGeeX2

2023.8.8_StableCode

Announcing StableCode — Stability AI

stabilityai/stablecode-instruct-alpha-3b · Hugging Face

Based on Bigcode,Instruction and response

2023.8.24_Code Llama

论文题目:Code Llama: Open Foundation Models for Code

论文地址:[2308.12950] Code Llama: Open Foundation Models for Code (arxiv.org)

代码地址GitHub - facebookresearch/codellama: Inference code for CodeLlama models

官方博客:Code Llama: Llama 2 learns to code (huggingface.co)

 code llama就是在llama2模型的基础上,利用代码数据进行训练和微调,提高llama2在代码生成上的能力。

code llama提供了三种模型,每种模型包含7B,13B,34B三个尺寸,支持多种编程语言,如Python, C++, Java, PHP, Typescript (Javascript), C#, Bash等。

  • Code Llama,代码生成的基础模型;

  • Code Llama-Python,单独针对于python的模型;

  • Code Llama-Instruct,根据人工指令微调的模型。

主要讲解论文对应段落

2.3.代码补全(Infilling)

代码补全就是根据代码的上下文预测代码缺失的部分,比如在IDE中,对鼠标位置的代码自动完成,文档自动生成等。

将训练的文本序列一部分移动到结尾,然后自回归重新排序进行训练。

将文本分成<prefix>,<middle>和<suffix>三部分(前,中,后),然后按2种方式排列。

PSM:即prefix,suffix,middle的顺序,结构如下图:

编辑

 SPM:即suffix,prefix,middle的顺序,如下

<SUF>○Enc(suffix)○<PRE>○Enc(prefix)○<MID>○Enc(middle)

训练时样本一半按PSM格式,一半按SPM格式。

2.4.微调长上下文(long context fine-tuning (LCFT))

llama24096token输入改为16384token输入

为了将训练成本限制在微调,参考RoPE线性插值的思路,只不过这里没有采用插值,而是修改注意力的衰减周期。

2.5.策略微调(Instruction fine-tuning)

对于指令微调,最重要的还是构建更好的数据集。

  • 专有数据集(Proprietary dataset)

  • 指令数据集(self-instruct dataset)

2023.08.27_WizardCoder

Microsoft→WizardCoder 

代码地址:https://github.com/nlpxucan/WizardLM/tree/main/WizardCoder

Demo:WizardCoder-Python-34B-V1.0

  • WizardLM(WizardLM: An Instruction-following LLM Using Evol-Instruct)

    • Instruction Evolver :

    • Instruction Eliminator

    • Evol-Instruct(Focuses on open-domain instruction data)

  • Fine-tune Starcoder-15B based on WizardLM

2024.1.25_DeepSeekCoder

论文DeepSeek-Coder: When the Large Language Model Meets Programming -- The Rise of Code Intelligence

 DeepSeek-Coder是开源代码模型,大小从 1.3B 到 33B 不等,在 2 万亿个token上从头开始训练。这些模型在高质量的项目级代码语料库上进行了预训练,并采用具有 16K 窗口的填空任务来增强代码生成和填充。论文表明,DeepSeek-Coder 不仅在多个基准测试的开源代码模型中实现了最先进的性能,而且还超越了现有的闭源模型,如 Codex 和 GPT-3.5。

2024.11.12V3_Qwen2.5-Coder 

论文:Qwen2.5-Coder Technical Report

论文地址:https://arxiv.org/abs/2409.12186

论文代码:https://github.com/QwenLM/Qwen2.5-Coder

阿里巴巴的Qwen2.5-Coder 是特定于代码的 Qwen 大型语言模型(以前称为 CodeQwen)的最新系列。截至目前,Qwen2.5-Coder 已覆盖 0.5、1.5、3、7、14、320 亿个参数的六大主流模型大小,满足不同开发者的需求。Qwen2.5-Coder 在 CodeQwen1.5 的基础上带来了以下改进:

  • 在代码生成、代码推理和代码修复方面有显著改进。基于强大的 Qwen2.5,我们将训练代币扩展到 5.5 万亿,包括源代码、文本代码接地、合成数据等。Qwen2.5-Coder-32B 已成为当前最先进的开源 codeLLM,其编码能力与 GPT-4o 相匹配。

  • 为实际应用程序(如 Code Agent)提供更全面的基础。不仅提高了编码能力,而且保持了其在数学和一般能力方面的优势。

  • 长上下文支持高达 128K 个令牌。

2025.01.07V3_OpenCodeInterpreter

论文:OpenCodeInterpreter: Integrating Code Generation with Execution and Refinement将代码生成与执行和优化集成

论文地址:https://arxiv.org/pdf/2402.14658

论文代码:https://github.com/OpenCodeInterpreter/OpenCodeInterpreter

DEMO:https://opencodeinterpreter.github.io/


SOTA模型 


想要了解更多内容,可在小程序搜索🔍AI Pulse,获取更多最新内容。

参考文献

【1】Big Code Models Leaderboard - a Hugging Face Space by bigcode

【2】codefuse-ai/Awesome-Code-LLM: [TMLR] A curated list of language modeling researches for code (and other software engineering activities), plus related datasets.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/72256.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

3DS模拟器使用(pc+安卓)+金手指+存档互传

1、引言 3ds模拟器已经能够在手机端近乎完美模拟了&#xff0c;那么多的3ds游戏&#xff0c;比玩手机游戏舒服多了。 本人是精灵宝可梦的老玩家&#xff0c;从第一世代就一直在玩&#xff0c;刚耍完NDS的第五世代&#xff0c;黑白系列。现在到宝可梦XY了&#xff0c;需要在3d…

Java EE Web环境安装

Java EE Web环境安装 一、JDK安装与测试&#xff08;Windows环境&#xff09; 1. 安装JDK 官网下载&#xff1a;Oracle JDK&#xff08;选择Windows x64 Installer&#xff09;双击安装包&#xff0c;按向导完成安装 ​ 2. 环境变量配置 右键【此电脑】→【属性】→【高级…

探索CSS魔法:3D翻转与渐变光效的结合

随着前端技术的不断发展&#xff0c;CSS不再仅仅局限于样式设计&#xff0c;它也成为了实现富有互动性的动画和特效的强大工具。本篇文章将向大家展示如何利用CSS的3D变换和渐变光效&#xff0c;打造一张“神秘卡片”&#xff0c;通过简单的代码实现炫酷的视觉效果。 1. 初识神…

C++ STL 深度解析:vector 的全面指南与进阶技巧

一、底层架构深度剖析 1.1 内存管理机制 vector 通过三个指针实现动态内存管理&#xff1a; _start&#xff1a;指向分配内存的首元素&#xff08;begin()返回值&#xff09;_finish&#xff1a;指向最后一个元素的下一个位置&#xff08;end()返回值&#xff09;_end_of_st…

S7-1200 G2移植旧版本S7-1200程序的具体方法示例

S7-1200 G2移植旧版本S7-1200程序的具体方法示例 前期概要: S7-1200 G2必须基于TIA博途V20,之前的程序可通过移植的方式在新硬件上使用。 该移植工具可自动将TIA Portal 项目从 S7-1200 移植到更新的S7-1200 G2。 注意: 该插件支持在同一TIA Portal项目实例内将软件和/或硬…

CNN SSP, ASPP, PPM 分割任务经典尺度聚合模块

SSP&#xff1a;Spatial Pyramid Pooling 让任意大小图像最终输出的特征维度始终固定&#xff0c;便于接全链接层。 4x4, 2x2,1x1区域的maxpooling&#xff0c;让任意大小图像最终输出最终特征维度始终为 &#xff08;1641)*256 ASSP:Atrous Spatial Pyramid Pooling 不进行…

OpenHarmony-XTS测试

OpenHarmony-XTS测试 OpenHarmony-XTS测试环境搭建测试准备开始运行PS OpenHarmony-XTS测试 针对OpenHarmony版本进行XTS测试使用记录。 windows环境。 以acts套件为例。 环境搭建 获取测试套件&#xff0c;两种方法 1&#xff09;官网下载&#xff1a;https://www.openharm…

文件系统 linux ─── 第19课

前面博客讲解的是内存级文件管理,接下来介绍磁盘级文件管理 文件系统分为两部分 内存级文件系统 : OS加载进程 ,进程打开文件, OS为文件创建struct file 和文件描述符表 ,将进程与打开的文件相连, struct file 内还函数有指针表, 屏蔽了底层操作的差异,struct file中还有内核级…

【软考-架构】5.2、传输介质-通信方式-IP地址-子网划分

✨资料&文章更新✨ GitHub地址&#xff1a;https://github.com/tyronczt/system_architect 文章目录 传输介质网线光纤无线信道 通信方式和交换方式会考&#xff1a;交换方式 &#x1f4af;考试真题第一题第二题 IP地址表示子网划分&#x1f4af;考试真题第一题第二题 传输…

G2o顶点与边编程总结

G2o的顶点与边属于 HyperGraph 抽象类的继承OptimizableGraph 的继承。 BaseVertex<D,T> D是预测点的维度&#xff08;在流形空间的最小表示&#xff09;T是待估计vertex的数据类型&#xff0c;比如用四元数表达三维旋转的话&#xff0c;T就是Quaternion 类型 // 顶点的…

凸优化算法学习笔记:决策单调性与 wqs二分

文章目录 前言决策单调性单调矩阵&#xff0c;完全单调矩阵&#xff0c;蒙日阵决策单调性优化 d p dp dp线性 d p dp dp分治&#xff08;离线&#xff09;二分队列&#xff08;在线&#xff09;SMAWK 区间 d p dp dp 练习题LOJ6039 w q s wqs wqs 二分&#xff08;蒙日阵最短…

Aop实现简单基于日志记录

目录 一、基础知识&#xff1a; 二、测试记录接口的参数和结果 一、基础知识&#xff1a; Before&#xff1a;用于执行目标方法之前的逻辑。After&#xff1a;用于执行目标方法之后的逻辑。AfterReturning&#xff1a;用于获取目标方法返回值后的逻辑。AfterThrowing&#x…

【Nacos】服务发布之优雅预热上线方案

目录 一、背景二、注册时机2.1、注册机制2.2、分析源码找到注册时机 三、注册前心跳健康检测3.1、方案实施3.2、源码分析3.3、优化代码 四、流量权重配置五、总结5.1、整体完整流程&#xff1a;5.2、流程图&#xff1a;5.1、优化方案完整代码&#xff1a; 一、背景 有些面向广…

AI驱动的数字供应链安全情报预警服务:云脉XSBOM

先发制人&#xff0c;精准预警数字供应链中的安全风险 Pre-emptive Strategy, Accurate Warning of Security Risks in Digital Supply Chain 云脉XSBOM数字供应链安全情报预警依托悬镜安全团队强大的供应链管理监测能力和AI安全大数据云端分析能力&#xff0c;对全球数字供应…

算法系列之回溯算法求解数独及所有可能解

有没有对数独感兴趣的朋友呢&#xff1f;数独作为一款经典的逻辑游戏&#xff0c;其目标是在一个9x9的方格中填入数字1至9&#xff0c;确保每一行、每一列以及每一个3x3的子网格中都包含这些数字且不重复。尽管数独的规则看似简单&#xff0c;但编写一个能够自动求解数独的程序…

C++ primer plus 类和对象上

目录 前言 一 接口的设计 二 方法的设计和使用 三 构造函数 四 析构函数 五 析构函数和构造函数小结 总结 前言 前面已经描述了很多有关于类和对象的知识了&#xff0c;所以我们直接开始上手操作 一 接口的设计 首先我们要知道什么是接口 接口是一个共享框架&…

AdaLoRA 参数 配置:CAUSAL_LM“ 表示因果语言模型任务

AdaLoRA 参数 配置:CAUSAL_LM" 表示因果语言模型任务 config = AdaLoraConfig( init_r=16, # 增加 LoRA 矩阵的初始秩 lora_alpha=32, target_modules=[“q_proj”, “v_proj”], lora_dropout=0.1, bias=“none”, task_type=“CAUSAL_LM” ) 整体功能概述 AdaLoraCon…

C# 集合

集合 概述集合接口和类型列表(ArrayList, List)队列(Queue)栈(Statck)链表(LinkedList)有序表(SortedList)字典Lookup类其他字典类 HashSet(不重复项的无序列表)位数组BitArrayBitVector32 性能 概述 数组和Array类。数组的大小是固定的。如果元素个数是动态的&#xff0c;就应…

ELK(Elasticsearch、Logstash、Kbana)安装及Spring应用

Elasticsearch安装及Spring应用 一、引言二、基本概念1.索引&#xff08;Index&#xff09;2.类型&#xff08;Type&#xff09;3.文档&#xff08;Document&#xff09;4.分片&#xff08;Shard&#xff09;5.副本&#xff08;Replica&#xff09; 二、ELK搭建1.创建挂载的文件…

MacOS 15.3.1 安装 GPG 提示Error: unknown or unsupported macOS version: :dunno

目录 1. 问题锁定 2. 更新 Homebrew 3. 切换到新的 Homebrew 源 4. 安装 GPG 5. 检查 macOS 版本兼容性 6. 使用 MacPorts 或其他包管理器 7. 创建密钥&#xff08;生成 GPG 签名&#xff09; 往期推荐 1. 问题锁定 通常是因为你的 Homebrew 版本较旧&#xff0c;或者你…