软件开发人员对代码生成 AI 已经不陌生,它们已经成为提高生产力的利器。本文中,伊利诺伊大学香槟分校(UIUC)张令明老师团队带来了代码生成 AI 领域的又一力作 ——Magicoder,在短短一周之内狂揽1200多颗 GitHub Star,登上 GitHub Trending 日榜,并获推特大佬 AK(@_akhaliq)发推力荐。
代码生成(也称为程序合成)一直是计算机科学领域的挑战性课题。在过去几十年,大量的研究致力于符号方法的研究。最近,基于代码训练的大型语言模型(LLM)在生成准确满足用户意图的代码方面取得了显著突破,并已被广泛应用于帮助现实世界的软件开发。
最初,闭源模型如 GPT-3.5Turbo (即 ChatGPT) 和 GPT4在各种代码生成基准和排行榜中占据主导地位。为了进一步推动开源 LLM 在代码生成领域的发展,SELF-INSTRUCT 被提出来引导 LLM 的指令遵循能力。在代码领域,从业者通常使用更强大的教师模型(如 ChatGPT 和 GPT-4)设计合成编码指令,然后用生成的数据微调更弱的学生模型(如 CODELLAMA)以从教师那里提炼知识。
虽然这些数据生成方法能有效提高 LLM 的指令遵循能力,但它们在内部依赖于一系列狭义的预定义任务或启发式方法。比如采用 SELF-INSTRUCT 的 Code Alpaca 仅依赖于21个种子任务,使用相同的提示模板生成新的代码指令。而 Code Evol-Instruct 以 Code Alpaca 为种子,仅依赖于5个启发式方法来演化数据集。如 Yu et al.,2023和 Wang et al.,2023a 论文中所提到的,这样的方法可能会明显继承 LLM 中固有的系统偏见以及预定义任务。
在本文中,来自伊利诺伊大学香槟分校(UIUC)的张令明老师团队提出了 OSS-INSTRUCT,用以减少 LLM 的固有偏见并释放它们通过直接从开源学习创造高质量和创造性代码指令的潜力。
如下图1所示,OSS-INSTRUCT 利用强大的 LLM,通过从开源环境收集的任意随机代码片段中汲取灵感,自动生成新的编码问题。在这个例子中,LLM 受到来自不同函数的两个不完整代码片段的启发,成功地将它们关联起来并创造出了逼真的机器学习问题。
由于现实世界近乎无限的开源代码,OSS-INSTRUCT 可以通过提供不同的种子代码片段直接产生多样化、逼真且可控的代码指令。研究者最终生成了75,000条合成数据来微调 CODELLAMA-PYTHON-7B,得到 Magicoder-CL。OSS-INSTRUCT 虽然简单但有效,与现有的数据生成方法正交,并可以结合使用以进一步拓展模型编码能力的边界。因此,他们持续在一个包含110,000个条目的开源 Evol-Instruct 上微调 Magicoder-CL,产生了 MagicoderS-CL。
研究者在广泛的编程任务中对 Magicoder 和 MagicoderS 进行评估,包括 Python 文本到代码生成的 HumanEval 和 MBPP、多语言代码生成的 MultiPL-E,以及解决数据科学问题的 DS-1000。他们进一步采用了 EvalPlus,包括增强的 HumanEval+ 和 MBPP + 数据集,用于更严格的模型评估。据实验证实,在 EvalPlus 增强的测试下半岛彩票平台,ChatGPT 和 GPT-4等代码大模型的实际准确率比在之前在 HumanEval 和 MBPP 等广泛使用数据集上的评估平均下降将近15%。有趣的是,EvalPlus 同样也是张令明老师团队的近期工作,短短半年的时间已经被业界广泛采纳、并已经在 GitHub 上拥有500Star。更多模型在 EvalPlus 上的评估可以参考 EvalPlus 排行榜:。
从高层次来看,如上图1所示,OSS-INSTRUCT 的工作方式是通过为一个 LLM(比如 ChatGPT)输入提示,从而根据从开源环境中收集到的一些种子代码片段(例如来自 GitHub)生成编码问题及其解决方案。种子片段提供了生成的可控性,并鼓励 LLM 创建能够反映真实编程场景的多样化编码问题。
OSS-INSTRUCT 利用可以轻松从开源环境获取的种子代码片段。本文研究者直接采用 StarCoderData 作为种子语料库,这是用于 StarCoder 训练的 The Stack 数据集的过滤版本,包含以各种编程语言编写的许可证允许的源代码文档。选择 StarCoderData 的原因在于它被广泛采用,包含了大量高质量的代码片段,甚至经过了数据净化的后处理。
对于语料库中的每个代码文档,研究者随机提取1–15个连续行作为模型获得灵感并生成编码问题的种子片段。最终共从80,000个代码文档中收集80,000个初始种子片段,其中40,000个来自 Python,还有40,000个分别平均来自 C++、Java、TypeScript、Shell、C#、Rust、PHP 和 Swift。然后,每个收集到的种子代码片段都应用于下图2所示的提示模板,该模板由教师模型作为输入,并输出编码问题及其解决方案。
研究者在数据清理时,排除了共享相同种子代码片段的样本。虽然在生成的数据中存在其他类型的噪声(比如解决方案不完整),但受到了 Honovich et al. [2023] 的启发,这些噪声并未被移除,它们被认为仍然包含 LLM 可以学习的有价值信息。
最后,研究者采用与 StarCoder Li et al.,2023相同的逻辑,通过删除包含 HumanEval 和 MBPP 中的文档字符串或解决方案、APPS 中的文档字符串、DS-1000中的提示或 GSM8K 中问题的编码问题,对训练数据进行净化处理。事实上,净化过程仅过滤掉了额外的9个样本。由于种子语料库 StarCoderData 已经经过严格的数据净化,这一观察结果表明 OSS-INSTRUCT 不太可能引入除种子之外的额外数据泄漏。最终的 OSS-INSTRUCT 数据集包含约75,000个条目。
下图3的一些定性示例展示了:OSS-INSTRUCT 如何帮助 LLM 从种子代码片段获取灵感以创建新的编码问题和解决方案。例如,Shell 脚本示例显示了 LLM 如何利用一行 Shell 脚本创作一个 Python 编码问题。库导入示例演示了 LLM 如何使用几个导入语句创建一个现实的机器学习问题。
与此同时,类签名示例说明了 LLM 从具有 SpringBootApplication 等注释和 bank 等关键词的不完整类定义中获取灵感的能力。基于此,LLM 生成了一个要求基于 Spring Boot 实现完整银行系统的问题。
总体而言,OSS-INSTRUCT 可以激发 LLM 以不同的代码结构和语义来创建各种编码任务,包括算法挑战、现实问题、单函数代码生成、基于库的程序补全、整个程序开发,甚至整个应用程序构建。
为了研究 OSS-INSTRUCT 生成的数据的类别,研究者使用了 INSTRUCTOR,这是 SOTA embedding 模型之一,可以根据任务指令生成不同的文本 embedding。受到了 OctoPack 和 GitHub 上主题标签的启发,研究者手动设计了10个与编码相关的特定类别。如下图4所示,他们计算了 OSS-INSTRUCT 中每个样本的 embedding 与这10个类别的 embedding 之间的余弦相似度,以获取类别分布。总体而言,OSS-INSTRUCT 在不同类别之间表现出多样性和平衡。
下图5中展示了生成的问题和解决方案的长度分布。横轴表示每个问题 / 解决方案中的 token 数量,纵轴表示相应的样本数量。
为了研究数据生成过程是否产生更多的类 HumanEval 问题或解决方案,研究者将75,000个数据集中的每个样本与164个 HumanEval 样本中的每个样本配对,并使用 TF-IDF embedding 计算它们的余弦相似度,然后将每个 OSS-INSTRUCT 样本与具有最高相似度分数的 HumanEval 样本关联。
研究者还分别将数据集与 Code Alpaca 和 evol-codealpaca-v1进行比较 ,前者是一个在代码任务上应用 SELF-INSTRUCT 的20K 数据集,后者是 Evol-Instruct 的一个包含110K 编码指令的开源实现。由于官方的 Code Evol-Instruct 数据集尚未发布,研究者使用开源实现。他们还使用了与第2.2节中讨论的相同方式对所有数据集进行净化。
下图6结果显示,OSS-INSTRUCT 在所有研究的数据生成技术中表现出最低的平均相似性,而 SELF-INSTRUCT 显示出最高的平均相似性。这一发现表明,OSS-INSTRUCT 的改进并不仅仅是由于包含了来自相同分布的数据。
值得注意的是,Magicoder-CL 仅使用了非常有限的多语言数据,但仍然优于其他具有相似或更大规模的 LLM。此外,尽管评估框架以补全格式评估模型,但 Magicoders 仍然表现出明显的改进,尽管它们只进行了指令微调。这表明 LLM 可以从其格式之外的数据中学习知识。
DS-1000数据集包含来自 Python 中7个流行数据科学库的1,000个不同的数据科学编码问题,并为验证每个问题提供单元测试。DS-1000具有补全和插入两种模式,但在这里仅评估补全,因为基础 CODELLAMA-PYTHON 不支持插入。
这篇论文的作者均来自伊利诺伊大学香槟分校(UIUC)张令明老师团队,包括:魏宇翔,二年级博士生,研究方向是基于 AI 大模型的代码生成;王者,科研实习生,目前为清华大学大四学生,研究方向是机器学习和自然语言处理;刘佳伟,三年级博士生,研究方向是编程系统和机器学习;丁一峰,二年级博士生,研究方向是基于 AI 大模型的自动软件调试半岛彩票平台。张令明老师现任 UIUC 计算机系副教授,主要从事软件工程、机器学习、代码大模型的相关研究,更多详细信息请见张老师的个人主页:。
11.11云上盛惠!海量产品 · 轻松上云!云服务器首年1.8折起,买1年送3个月!超值优惠,性能稳定,让您的云端之旅更加畅享。快来腾讯云选购吧!
谷歌最近推出了一款名为Gemini的新型人工智能模型,并试图通过一份报告证明其优于OpenAI的GPT-4。根据谷歌首席执行官SundarPichai联合撰写的一篇博客文章,Gemini在32项学术基准测试中的30项中表现优于GPT-4,包括数学、阅读、编程和推理测试。对于这个问题,谷歌需要更加努力才能获得及格分数。
12月14日,谷歌在官网宣布,免费开放GeminiPro和GeminiProVision的API,支持中文。GeminiPro隶属于谷歌前几天最新发布的大语言模型Gemini家族,性能强、能耗低可自动生成文本/代码、总结内容、语义检索等。大家尽量还是在GoogleAIStudio平台中使用,开发完代码后再导入到本地或其他公有云中。
谷歌在当地时间周三发布了其最新、最先进的大型语言模型Gemini\最新、最先进的大型语言模型Gemini,并宣布从今天开始,用户将能够在GoogleBard中体验特别调整的GeminiPro英语版本。Gemini于今年五月在GoogleI/O上首次公布,共发布三种不同规模的版本:GeminiUltra、GeminiPro和GeminiNano。
大模型巅峰对决开启,Gemini和GPT-4展开大pk!代码和数学Gemini惨遭GPT-4碾压,但要论讲笑话和写作,它的答案却意外的好笑。被谷歌寄予厚望的复仇杀器Gemini,是否能够如愿单挑ChatGPT?最近几天,外媒记者和网友们纷纷放出实测,比较了GeminiPro加持的新Bard与GPT-3.5和GPT-4的各项性能。我们很期待看到,像GeminiUltra或者可能融合了OpenAI神秘的Q*技术的新模型,将如何在不久的将来应对这
Gemini是谷歌推出的新一代大模型,它与GPT-4相比具备更强的原生多模态能力。Gemini1.0是Gemini系列中的第一个模型,包括Ultra、Pro和Nano三个版本。Gemini的发布将推动大型语言模型的发展,并为未来的AI应用带来更多可能性。
Gemini不仅仅是一个人工智能模型,它代表了多模态模型的崭新时代。Gemini具有独特的能力,不仅能够理解文本能够无缝地处理图像、视频和音频。Gemini的发布将推动大型语言模型的发展,为未来的AI应用开辟更多可能性。
谷歌推出了Gemini,这是一款突破性的人工智能模型,旨在超越传统人工智能系统的局限性。该文章由MariaDiaz于2023年12月6日为ZDNET撰写,概述了Gemini的关键方面,为读者提供了对这一先进技术的全面理解。Gemini专注于集成到谷歌的生态系统中,为Bard和Pixel8设备提供动力,这使其与以服务为导向的模型有所区别。
【新智元导读】全新代码大模型Magicoder,不到7B参数,就能在代码生成领域与顶级代码模型不相上下。开源「代码大模型」来了!UIUC清华团队的研究人员发布了Magicoder,不到7B参数,就能在代码生成领域与顶级代码模型不相上下。
谷歌公司于12月6日发布了最新的人工智能模型Gemini,声称其性能在一系列智力测试中超越了OpenAI的GPT-4以及被标注为“专家级”的人类。Gemini包括三个版本,分别是Nano、Pro和Ultra,涵盖了不同的应用领域。谷歌的Gemini模型在性能测试中展现出强大的实力,成为当前人工智能模型中得分最高的,并在多个领域超越了GPT-4和人类专家。
PyTorch团队在其博客中分享了一篇关于如何加速大型生成式AI模型推理的文章。该团队以Llama7B为例,展示了如何通过一系列优化技术将推理速度提升10倍,达到了244.7tok/s。PyTorch团队通过一系列创新性的优化手段,不仅成功提升了大模型的推理速度以不到1000行的纯原生PyTorch代码展示了这一技术的实现过程。
Agenda Hero是一个Chrome插件,可以智能分析文本,抓取时间、地点等信息生成日历事件,支持一键发送到Google日历。它可以极大提高日程规划效率。
Try On Now是一款基于AI技术的虚拟试衣产品,通过使用数十亿张照片训练的AI模型,能够快速准确地识别用户的体态并提供愉悦的虚拟试衣体验。它可以让用户在线上尝试任何服装,从知名品牌到最新潮流,为线上购物带来智能便利和真实体验。对于商家来说,Try On Now还提供了多商店集成、个性化购买体验等功能,可帮助提升转化率和降低成本。
Digest AI是一款基于AI技术的视频转文本、博客生成工具。用户只需输入YouTube视频链接,Digest AI就会分析视频内容并生成结构化的文章或摘要,帮助用户节省时间和精力。Digest AI的优势在于其高效、准确、易用,适用于内容创作者、教育者和学习者。
imagepipeline提供REST API服务,用户可以通过API调用Stable Diffusion等模型来生成AI图像,无需维护GPU服务器。主要功能包括Stable Diffusion图像生成、自定义模型上传、Lora和Controlnets管道组合等。优势是易用、性价比高,无需自建服务端。定价分月付费和企业定制两种。定位是AI创业公司和个人开发者。
Mental Pro是一个通过思想训练帮助男性提高头脑韧性和自律性的在线分钟的思想训练技巧,冷水浴协议来帮助减压和提高清醒度,以及针对性的AI辅导服务。产品定位中高端人群。
Creatify 是一款基于人工智能的应用程序,可以从简单的产品链接或文本描述中生成高质量的营销视频。无需任何视频制作经验,只需点击几下即可定制无限的变体。
利用人工智能的力量,使用 LinkBoss 来改善你的 WordPress 网站的内部链接策略。无需费力,轻松建立强大的主题群,并利用智能上下文链接功能提高网站的排名。无论是批量内部链接、为上下文生成新内容,还是管理多个网站的内部链接策略,LinkBoss 都可以助你一臂之力。详细报告可帮助你全面了解网站的情况。
EarnBetter是一款智能AI简历定制平台,通过上传现有简历,AI系统将在几分钟内重新格式化和改写成专业版本的简历。同时,通过每天扫描数百万个职位,AI会根据用户的个人资料和偏好为其提供最佳匹配的工作。此外,EarnBetter还提供定制的求职信和简历,帮助用户在瞬间脱颖而出。定价灵活,免费试用。
TasteBuddy是一款个性化饮食计划软件,根据用户的口味、偏好和营养需求,为用户提供定制的健康饮食计划。该产品拥有以下优势:1.个性化定制,根据用户需要提供健康的饮食计划;2.方便易用,用户只需输入口味、偏好和营养需求,即可获得定制的饮食计划;3.健康营养,提供健康、均衡、营养丰富的饮食计划。该产品定价为每月$9.99,定位于帮助用户轻松健康地管理饮食。
Pixplain是一个AI驱动的浏览器插件,它可以让用户与图片和视频进行交互,就像实现了你一直以来的愿望。Pixplain使用最新的AI模型比如GPT-4视觉,可以更好地理解图像内容并给出解释。 主要功能: - 一键获取图像和页面内容的解释 - 支持GPT-4等顶级AI模型 轻松复制、更新或修改提示,获得更流畅的创作体验 - 可以移动Pixplain窗口,获得最佳的页面视图
Linkers是一款一站式商店解决方案,拥有无与伦比的定制化、先进的人工智能功能和以盈利为导向的货币化。无需设计技能,AI将您的想法转化为视觉盛宴。 AI还可以改善您的标题和描述,甚至翻译内容。Linkers让您成为无限创意的船长,带您穿越数字海洋的无尽可能性。它提供智能的写作辅助,以及通过AI驱动的视觉增强,保障内容的安全性,无缝设置在线商店,提供有价值的洞察,并提供定制品牌解决方案。
室内渲染AI是一个利用人工智能技术快速重塑和设计室内的平台。用户只需上传室内照片,选择渲染风格,AI即可在短短10秒内生成高质量渲染图。我们提供月度和年度订阅计划,用户还可在注册时获得5次免费渲染。平台支持多种风格和房间类型,同时提供重塑和想象模式,商业使用许可,并提供电子邮件支持。如果有任何疑问,请随时通过联系我们。
PONS.ai是一个基于AI的在线平台,用户可以通过描述信息让AI系统自动生成个性化的问候卡。用户只需输入收件人信息和场合,选择AI艺术家风格,描述卡片内容即可获得定制卡片。该产品具有操作简单、支持个性化定制、速度快等优势。其提供3张样卡免费试用,正式使用需支付月订费。定位为提供个性化设计服务的SaaS平台。
D&AViz是一个强大的数据可视化工具,可以将原始数据转化为易于理解的可视化图形。通过上传Excel/CSV文件,查询工具,您可以观察到图形的产生,将复杂数据解码为可操作的见解,从而做出明智的决策。D&AViz结合了实时分析、切换视图和自定义输出格式等功能,使数据分析更简化、更有洞察力。
Ask Command是一个基于AI的开发者助手,能够帮助开发者快速查找和记忆各种命令。通过输入问题,应用会使用Open AI的GPT-3模型返回最佳的命令,并提供简洁明了的使用示例。用户可以根据需要自定义查询和记录命令,提高开发效率。
PromptMakr是一个为Prompt工程师提供免费生成和共享无限AI艺术提示的平台。用户可以通过交互式用户界面轻松编写和创建高质量的提示半岛彩票平台,用于生成通过MidJourney等AI图像平台的高质量图像。该产品提供了丰富的功能和优势,具有定价策略和明确的市场定位。
timeMaster 是一款智能时间管理应用,提供隐私优先的追踪和深入的分析,帮助用户更高效地管理时间,实现更多成就。它具有全自动的时间追踪、项目检测、排除非工作活动、自动生成时间日志等功能。此外,timeMaster还提供了定时休息提醒、日记功能、工作休息比例追踪、隐私保护等特色功能。timeMaster帮助用户深入了解时间分配,提供有价值的洞察力,帮助优化工作效率。
Hebbia是第一个值得一试的AI工具。它使用LLM技术,为现代公司提供AI工作流程,帮助用户更自信、更快速地做出决策。Hebbia可以索引并快速搜索各种类型的文档,帮助用户在最短的时间内做出更好的决策。Hebbia已经成为全球最大的金融机构和公司的首选工具,让用户能够安全地协作、检索和管理他们的洞察力,从而以更高的信心完成交易。试用Hebbia,让你的文档工作流程更智能化吧。
Voicetapp是一个强大的基于云端的人工智能软件,通过最新的语音识别技术,帮助您将任何语音、音频和视频自动转换为文字。具备高达99%的准确度。支持170种语言和方言。具备演讲者识别、实时转录、多种音频输入格式等功能。提供不同的定价计划。
WeConnect.chat是一个聊天机器人平台,通过自定义AI(ChatGPT-Powered)聊天机器人,可以简化潜在客户生成、提升客户支持、革新内容/培训材料,并利用多渠道代理仪表板的潜力,实现无限可能。平台提供直播和视频聊天功能,并无缝集成基于规则的组件。半岛彩票平台半岛彩票平台半岛彩票平台