当前位置: 首页 > news >正文

ChatGPT参数只有200亿?扩散代码模型,意外泄露

微软的研究部门发布了一篇关于预训练扩散代码模型CodeFusion的论文。在展示代码生成任务的基线数据对比时,发现了一个有趣的事情,ChatGPT(gpt-3.5-turbo)的参数只有200亿。

要知道,gpt-3.5-turbo是OpenAI中应用最多、最成熟的型号之一,而它的前任GPT-3.5已经公布是1750亿参数。如此小的参数,在性能、效率方面比大参数的模型更强,使用价格却更低。

这也从侧面验证了年初Meta首次开源Llama时的说法,小参数的模型在庞大、高质量的数据集训练下,性能并不一定就比高参数的差。

事实上,很多国内外知名的开源大模型项目如百川大模型、LLaMA-2、Falcon-40B等,在多个知名评测中击败了更高的参数模型,资源消耗却更低。

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

在这里插入图片描述

言归正传,继续为大家介绍微软发布的这个创新代码模型CodeFusion。

GitHub Copilot Chat等产品已经充分验证了大语言模型在编程领域的可行性和重要作用,通过文本描述就能快速生成各种类型代码,极大提升了开发效率。

但是生成的代码经常会出现错误、质量不佳等难题,为了解决这一痛点,微软提出了创新代码模型CodeFusion。

CodeFusion与传统代码模型不同的是,引入了“扩散过程”模式,通过逐步添加噪声,让代码从简单向复杂过渡,然后再逐步减少噪声回到纯净状态。

受Midjourney等扩散模型启发,研究人员设计了独特的“去噪”机制,使得模型可以自动学习代码语法,生成更精准的高质量代码。

在这里插入图片描述

为了评估CodeFusion的效果,研究团队在多种编程语言上进行了比较。包括Python、Bash和Excel公式。与T5、CodeT5、GPT-3、CodeGen等主流代码生成模型相比, CodeFusion取得了惊人的效果,无论是单次生成的成功率,还是多次生成后正确代码出现的概率,都有明显的优势。

在Python语言上, CodeFusion的单次生成精确度达80.7%,超过了GPT-3;考虑前5次生成, CodeFusion包含正确代码的概率高达90.3%,其它模型最高只达到85.8%。在Bash和Excel语言上, CodeFusion同样表现出了强劲的性能。

在代码多样性测试中, CodeFusion生成的前5个候选代码,新增代码行覆盖率达到81%,是其它模型的两倍之多。

值得一提的是, CodeFusion只有7500万参数,远小于测试模型中的数十亿、上百亿甚至上千亿参数模型。这也再次验证了上面所说的小参数模型,同样可以比高参数模型性能更强。
在这里插入图片描述

CodeFusion评测数据

从论文介绍来看,CodeFusion的架构主要包含编码器、去噪器和解码器三大模块。

编码器

编码器的作用是将自然文本提问的编码转换成向量表示。编码器会先将自然语言文本进行分词,然后输入到一个预训练的转换器编码器中,例如T5的编码器。每个词会被映射为一个稠密的词向量。

接着,转换器编码器会通过多层自注意力和前馈全连接网络,学习输入文本的上下文语义信息,输出文本的最终语义向量表示。主要技术关键点如下:

使用预训练模型:直接利用在大规模语料上预训练的编码器,可以有效学习语义信息,无需从零训练。

输出全局语义向量:通过自注意力捕获输入文本的全局上下文语义,不同位置的词语都互相影响,最后形成整体的语义向量。

高效编码:相比RNN等顺序模型,转换器编码器可以高效并行计算,对长文本也有很强的建模能力。

去噪器

去噪器的作用是进行扩散过程,向编码器输出添加高斯噪声。去噪器会首先随机初始化一个噪声向量,然后依据扩散步数,通过加权平均的方式,将编码器输出语义向量与噪声向量融合,得到噪声新增的隐状态向量。

随着迭代步数增加,融入的噪声占比会渐渐增大,所以状态向量会逐步偏离原始语义,加入更多随机性。这模拟了物理扩散过程。
在这里插入图片描述

去噪器的输出是一个噪声复杂程度逐步增强的状态序列。这为解码阶段提供了一个从简单到复杂的目标函数,使模型更容易优化。

解码器

解码器需要逐步从复杂的噪声状态中,还原出编码器对应的源文本提示语义,以生成准确、高质量代码。

解码器会使用类似的转换器结构,每一步接收上一步去噪器输出的状态向量,并结合源语义向量,通过自注意力学习状态内部的语义,并通过交叉注意力学习与源语义的匹配关系。

然后,解码器需要预测从当前状态中需要减去的噪声量,以获得上一步的干净状态。重复这一过程,直到还原出源语义向量。

最后,解码器完成从扩散隐状态到源语义再到代码符号的映射,实现了从自然语言提示到代码的转换。

本文素材来源微软CodeFusion论文,如有侵权请联系删除

相关文章:

ChatGPT参数只有200亿?扩散代码模型,意外泄露

微软的研究部门发布了一篇关于预训练扩散代码模型CodeFusion的论文。在展示代码生成任务的基线数据对比时,发现了一个有趣的事情,ChatGPT(gpt-3.5-turbo)的参数只有200亿。 要知道,gpt-3.5-turbo是OpenAI中应用最多、…...

VR虚拟仿真教学在建筑学课堂中的应用

1. 增强真实感:VR技术能创造出近乎真实的虚拟环境,使学生仿佛置身其中,增强他们的感官体验。 2. 打破空间限制:VR教学可以打破时间和空间的限制,学生可以在任何时间、任何地点进行学习,无需担心课堂位置的…...

竞赛 深度学习实现行人重识别 - python opencv yolo Reid

文章目录 0 前言1 课题背景2 效果展示3 行人检测4 行人重识别5 其他工具6 最后 0 前言 🔥 优质竞赛项目系列,今天要分享的是 🚩 **基于深度学习的行人重识别算法研究与实现 ** 该项目较为新颖,适合作为竞赛课题方向&#xff0c…...

当代都市的时尚先锋:气膜建筑的魅力

当代城市的崛起如一部快速奔腾的时光流。在这个光速发展的都市中,时间被看作珍贵的黄金,而效率被视为无价的生命。而在这个节奏日益加快的现代都市背后,一个独特的“神器”——气膜建筑,悄然崭露头角,成为城市发展的领…...

品牌加盟商做信息展示预约小程序的效果如何

很多行业都有中部或头部品牌,对实体品牌企业来说想要快速高效发展,除了多地直营店外还需要招募加盟商进而提升生意营收。 因此线上渠道变得尤为重要,除了网站外,小程序是连接多平台生态很好的工具,随时打开、直接触达…...

delphi 11.3 FastReport 多设备跨平台 打印之解决方法

以下能WINDOWS10 DELPHI 11.3 FastReport6.0上顺利通过 FastReport6.2对Multi-Device Application应用的支持不够友好,如下图;在palette FastReport6.0才出现几个制件。 非Multi-Device Application应用时是一大堆; 非Multi-Device Appl…...

配置vue 环境

一、安装Node.js及配置环境 环境变量配置 第一步:“此电脑”-右键-“属性”-“高级系统设置”-“高级”-“环境变量” 第二步(我的为:C:\Program Files\nodejs ),然后编辑path,新建,为&#xf…...

Visio文件编辑查看工具Visio Viewer for Mac

Visio Viewer mac版是一款Visio文件查看工具,可以使用本程序打开所有的visio文件数据,支持多种语言环境,可以对visio文件进行编辑、跳转参数等设置。 Visio Viewer for Mac可以打开和查看Visio文件(.vsd、.vdx和.vsdm文件&#x…...

现在软文发布平台都有哪些?如何在正规媒体发稿?

近年来,随着广告行业竞争愈加激烈,越来越多的企业开始注重软文宣传。软文推广平台是企业在网络上发布软文、传播信息和推广产品的重要工具。 媒介易软文平台介绍更好的品牌宣传和市场推广:软文推广发稿有哪些平台, 软文发稿好方法?软文不仅能…...

【卷积神经网络】YOLO 算法原理

在计算机视觉领域中,目标检测(Object Detection)是一个具有挑战性且重要的新兴研究方向。目标检测不仅要预测图片中是否包含待检测的目标,还需要在图片中指出它们的位置。2015 年,Joseph Redmon, Santosh Divvala 等人…...

云计算与ai人工智能对高防cdn的发展

高防CDN(Content Delivery Network)作为网络安全领域的一项关键技术,致力于保护在线内容免受各种网络攻击,包括分布式拒绝服务攻击(DDoS)等。然而,随着人工智能(AI)和大数…...

Web3时代:探索DAO的未来之路

Web3 的兴起不仅代表着技术进步,更是对人类协作、创新和价值塑造方式的一次重大思考。在 Web3 时代,社区不再仅仅是共同兴趣的聚集点,而变成了一个价值交流和创新的平台。 去中心化:超越技术的革命 去中心化不仅仅是 Web3 的技术…...

odbcinst文件

odbcinst文件是ODBC(Open Database Connectivity)驱动程序管理器的配置文件。ODBC是一种标准的数据库访问接口,允许应用程序通过统一的方式连接和访问不同类型的数据库。 odbcinst文件通常位于操作系统的特定目录中,并且用于定义…...

(CQUPT 的某数据结构homework)

CQUPT 的某数据结构homework 基于线性表的图书信息管理基于栈的算术表达式求值基于字符串模式匹配算法的病毒感染检测问题 基于哈夫曼树的数据压缩算法基于二叉树的表达式求值算法基于 Dijsktra 算法的最短路基于广度优先搜索的六度空间排序算法的实现与分析 基于线性表的图书信…...

Android页面周期、页面跳转

1.什么是Activity? Activity是Android的四大组件之一,它是一种可以包含用户界面的组件,主要用于和用户进行交互。Activity用于显示用户界面,用户通过Activity交互完成相关操作,一个APP允许有多个Activity。 2.Activi…...

腾讯云轻量应用镜像、系统镜像、Docker基础镜像、自定义镜像和共享镜像介绍

腾讯云轻量应用服务器镜像类型分为应用镜像、系统镜像、Docker基础镜像、自定义镜像和共享镜像,腾讯云百科txybk.com来详细说下不同镜像类型说明和详细介绍: 轻量应用服务器镜像类型说明 腾讯云轻量应用服务器 应用镜像:独有的应用镜像除了包…...

YOLOv8芒果独家首发 | 改进新主干:改进版目标检测新范式骨干PPHGNetv2,百度出品,提升YOLOv8检测能力

💡本篇内容:YOLOv8改进新主干:目标检测新范式骨干PPHGNetv2改进版,百度出品,提升YOLOv8检测能力 💡🚀🚀🚀本博客 改进源代码改进 适用于 YOLOv8 按步骤操作运行改进后的代码即可 💡本文提出改进 原创 方式:二次创新,YOLOv8专属,充分结合YOLOv8和 PPHGNetv…...

工作测试点

智能硬件的兼容性测试 通常涉及以下几个方面: 硬件兼容性测试:测试智能硬件是否与不同类型的设备(如电脑、手机、平板电脑等)硬件兼容。这包括测试设备的接口类型(如USB、HDMI、Bluetooth等)是否能够正确连…...

智慧医院—互联网医院系统带你体验数字化时代

智慧医疗作为当今医疗领域的新热点,也将在未来中得到充分展现。包括智慧医院、远程医疗、医疗大数据等多个方面,这些智慧医疗新产物和服务将改变传统的医疗模式,提供更加高效、便捷的医疗服务。 1、远程医疗服务:智慧医疗为患者提…...

eclipse Occurrence

eclipse Occurrence Occurrence of initUi2_setData_99 Window->Preferences->General->Editors->Text Editors->Annotations->Occurrences 个人感觉最好用的颜色; 边线,正文都可以看得清楚...

Linux应用开发之网络套接字编程(实例篇)

服务端与客户端单连接 服务端代码 #include <sys/socket.h> #include <sys/types.h> #include <netinet/in.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <arpa/inet.h> #include <pthread.h> …...

深度学习在微纳光子学中的应用

深度学习在微纳光子学中的主要应用方向 深度学习与微纳光子学的结合主要集中在以下几个方向&#xff1a; 逆向设计 通过神经网络快速预测微纳结构的光学响应&#xff0c;替代传统耗时的数值模拟方法。例如设计超表面、光子晶体等结构。 特征提取与优化 从复杂的光学数据中自…...

深入理解JavaScript设计模式之单例模式

目录 什么是单例模式为什么需要单例模式常见应用场景包括 单例模式实现透明单例模式实现不透明单例模式用代理实现单例模式javaScript中的单例模式使用命名空间使用闭包封装私有变量 惰性单例通用的惰性单例 结语 什么是单例模式 单例模式&#xff08;Singleton Pattern&#…...

渲染学进阶内容——模型

最近在写模组的时候发现渲染器里面离不开模型的定义,在渲染的第二篇文章中简单的讲解了一下关于模型部分的内容,其实不管是方块还是方块实体,都离不开模型的内容 🧱 一、CubeListBuilder 功能解析 CubeListBuilder 是 Minecraft Java 版模型系统的核心构建器,用于动态创…...

cf2117E

原题链接&#xff1a;https://codeforces.com/contest/2117/problem/E 题目背景&#xff1a; 给定两个数组a,b&#xff0c;可以执行多次以下操作&#xff1a;选择 i (1 < i < n - 1)&#xff0c;并设置 或&#xff0c;也可以在执行上述操作前执行一次删除任意 和 。求…...

《通信之道——从微积分到 5G》读书总结

第1章 绪 论 1.1 这是一本什么样的书 通信技术&#xff0c;说到底就是数学。 那些最基础、最本质的部分。 1.2 什么是通信 通信 发送方 接收方 承载信息的信号 解调出其中承载的信息 信息在发送方那里被加工成信号&#xff08;调制&#xff09; 把信息从信号中抽取出来&am…...

MySQL用户和授权

开放MySQL白名单 可以通过iptables-save命令确认对应客户端ip是否可以访问MySQL服务&#xff1a; test: # iptables-save | grep 3306 -A mp_srv_whitelist -s 172.16.14.102/32 -p tcp -m tcp --dport 3306 -j ACCEPT -A mp_srv_whitelist -s 172.16.4.16/32 -p tcp -m tcp -…...

Mac下Android Studio扫描根目录卡死问题记录

环境信息 操作系统: macOS 15.5 (Apple M2芯片)Android Studio版本: Meerkat Feature Drop | 2024.3.2 Patch 1 (Build #AI-243.26053.27.2432.13536105, 2025年5月22日构建) 问题现象 在项目开发过程中&#xff0c;提示一个依赖外部头文件的cpp源文件需要同步&#xff0c;点…...

JVM虚拟机:内存结构、垃圾回收、性能优化

1、JVM虚拟机的简介 Java 虚拟机(Java Virtual Machine 简称:JVM)是运行所有 Java 程序的抽象计算机,是 Java 语言的运行环境,实现了 Java 程序的跨平台特性。JVM 屏蔽了与具体操作系统平台相关的信息,使得 Java 程序只需生成在 JVM 上运行的目标代码(字节码),就可以…...

BLEU评分:机器翻译质量评估的黄金标准

BLEU评分&#xff1a;机器翻译质量评估的黄金标准 1. 引言 在自然语言处理(NLP)领域&#xff0c;衡量一个机器翻译模型的性能至关重要。BLEU (Bilingual Evaluation Understudy) 作为一种自动化评估指标&#xff0c;自2002年由IBM的Kishore Papineni等人提出以来&#xff0c;…...