从0到1:如何建立一个大规模多语言代码生成预训练模型

国产AI辅助编程工具 CodeGeeX 是一个使用AI大模型为基座的辅助编程工具,帮助开发人员更快的编写代码。可以自动完成整个函数的编写,只需要根据注释或Tab按键即可。它已经在Java、JavaScript和Python等二十多种语言上进行了训练,并基于大量公开的开源代码、官方文档和公共论坛上的代码来优化自己的算法。 CodeGeeX 作为一款中国原创的AI辅助编程工具,现在免费提供给所有开发者使用,同时完全开源,程序员使用普遍认为编写代码的效率提升2倍以上。

核心功能包括:代码生成与智能补全、自动为代码添加中英文注释、在不同编程语言的代码之间实现准确翻译,包括刚刚更新的“Ask CodeGeeX”功能,是将智能问答模式,融合到实际开发场景中,让开发者更专注和沉浸于编程,不用离开当前 IDE 的编程环境,就可以边写代码边和 AI 对话,实现针对编程问题的智能问答。无需waitlist,立刻就能尝鲜这些核心功能!

大家看看在 CodeGeeX 上的体验是怎样的:
file

file

这里推荐各位免费下载使用AI辅助编程工具**CodeGeeX**。

CodeGeeX的背后,是一个开源的大规模多语言代码生成模型。这个模型最大的特点就是全国产化实现。CodeGeeX 连接了自然语言到代码的一个交互过程,用户是通过写注释的形式让它生成特定的代码,也可以把一种语言的代码翻译成另外一种语言的代码,或者为已有的代码加上一些注释。2022年9 月 CodeGeeX 开源插件免费开放使用,目前已经有10万+程序员安装使用,下载量超过270万+次,每天为程序员生成超过数百万行代码。

那么,CodeGeeX 背后的大规模多语言代码生成预训练模型是如何从 0 到 1 建立起来的?主要有以下几个步骤:
file

第一,大规模代码数据收集。 训练的数据主要分为两个部位:一是,开源数据集。比如 The Pile 里的代码子集,以及 CodeParrot (Python)等;二是,额外爬取数据。从 GitHub 上爬优质的开源仓库并照一系列规则清洗数据。最终整个语料库有 23 种编程语言,涵盖 Python,Java, C++,JavaScript, C,Go,HTML, Rust, C#等主流语言,数据量超过 1580 亿 token。接下来,数据处理形式也非常简单,首先,将代码数据分词并标识符化,即将代码片段进行分词,得到 token 序列,再将 token 对应到词表中的 ID,得到 ID 序列;其次,就是为不同语言的文件加上语言标签,在经过充分的学习以后,二十几种语言的语法模型是可以完全掌握。

第二,CodeGeeX 模型架构。 CodeGeeX 模型基于 GPT 架构的自回归模型,由 40 层 transformer 组成,总计参数量达 130 亿。它使用自然语言或代码 token 作为输入,输出下一个 token 的概率,支持各种编程语言相关的下游任务,如代码生成、代码补全、代码翻译、代码注释等。同时,在架构实现的过程中做了许多设计,包括每一个算子需要用哪些精度,才能保证模型训练的稳定性等等。

第三,CodeGeeX 模型训练。 CodeGeeX基于华为 Mindspore 框架实现,总共用到了 1536 张昇腾 910AI 处理器,相当于 1500 多张 GPU ,进行了长达两个月的训练。在混合精度训练方面,大部分的参数是用 FP16 作为精度,但在以往的实践中发现,如果全部的参数都是 FP16,在一些计算的节点上有些算子很容易有一个精度溢出,模型就会训崩掉,所以在 Layernorm、Softmax 地方会使用 FP32 保证稳定性。同时,训练采用了一个并行训练的策略,就是 192 路数据并行和 8 路模型并行。在漫长训练之后,CodeGeeX 训练了 8500 亿的 token,基本上把GitHub 上爬到的代码全部都见过了一遍。

第四,CodeGeeX 模型评估。 如何正确评估代码生成的性能?过去比较常用多语言代码基准 CodeXGLUE, XLCoST 均使用 CodeBLEU/BLEU 作为评价指标,它其实是在算一个语义相似性,但在代码任务上并不能正确反映生成代码的质量,已不满足当前评估代码生成模型的需求。在模型评估上,CodeGeeX 把 HumanEval 数据集,也就是一个已有的 Python 数据集,扩展到了更多的语言上,包括 C++、Java、JavaScript、Go等,形成了HumanEval-X。这个数据集的特点就是,给模型输入包括必要的引用文件、描述做的是什么任务,然后可能会有一两个输入输出的例子让模型去把函数补全,就可以用已经写好测试代码和测试用例去做一个自动化测试,就知道模型写出来的代码到底正不正确。可以说,CodeGeeX 是目前平均性能最好的开源多语言代码生成模型。

第五,CodeGeeX代码生成插件。 未来让 CodeGeeX 模型真正实用化,开发了 VS Code/Jetbrains 上的自动代码生成插件,提供多种交互模式,支持代码生成、补全、翻译、注释等功能,免费使用,更好辅助程序员开发。我们对上百名用户进行问卷调研,涵盖前后端工程师、算法工程师、学生、研究者等,83.4% 的用户认为CodeGeeX 插件有助于提高编程效率,但具体提高了多少还有待进一步研究。同时,不同语言上的表现是不一样的,比如 PHP 语言就会弱一些,这也是今后提升的目标,争取在更多的语言上达到更好的效果。

第六,CodeGeeX 开源开发计划。 CodeGeeX 虽然是在昇腾上训练,但也移植到了英伟达,实现跨平台模型代码训练、微调、推理、测评代码等等,用户可以在官网申请下载,在本地就可以部署起一套跟 CodeGeeX 基本上一样的一套流程。

像 MicroSoft Copilot、GitHub Copilot X 、CodeGeeX在 AIGC 应用场景会越来越多,并且极大地提高生产力。可以预见,人类正在加速通向 AGI 时代,在接下来几个月内肯定有更多的产品形态出来,不用担心,拥抱变化就可以了。

如何学习大模型 AI ?

由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。

但是具体到个人,只能说是:

“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。

这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。

我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。

我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

😝有需要的小伙伴,可以点击下方链接免费领取或者V扫描下方二维码免费领取🆓

在这里插入图片描述

在这里插入图片描述

第一阶段(10天):初阶应用

该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。

  • 大模型 AI 能干什么?
  • 大模型是怎样获得「智能」的?
  • 用好 AI 的核心心法
  • 大模型应用业务架构
  • 大模型应用技术架构
  • 代码示例:向 GPT-3.5 灌入新知识
  • 提示工程的意义和核心思想
  • Prompt 典型构成
  • 指令调优方法论
  • 思维链和思维树
  • Prompt 攻击和防范

第二阶段(30天):高阶应用

该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。

  • 为什么要做 RAG
  • 搭建一个简单的 ChatPDF
  • 检索的基础概念
  • 什么是向量表示(Embeddings)
  • 向量数据库与向量检索
  • 基于向量检索的 RAG
  • 搭建 RAG 系统的扩展知识
  • 混合检索与 RAG-Fusion 简介
  • 向量模型本地部署

第三阶段(30天):模型训练

恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。

到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?

  • 为什么要做 RAG
  • 什么是模型
  • 什么是模型训练
  • 求解器 & 损失函数简介
  • 小实验2:手写一个简单的神经网络并训练它
  • 什么是训练/预训练/微调/轻量化微调
  • Transformer结构简介
  • 轻量化微调
  • 实验数据集的构建

第四阶段(20天):商业闭环

对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。

  • 硬件选型
  • 带你了解全球大模型
  • 使用国产大模型服务
  • 搭建 OpenAI 代理
  • 热身:基于阿里云 PAI 部署 Stable Diffusion
  • 在本地计算机运行大模型
  • 大模型的私有化部署
  • 基于 vLLM 部署大模型
  • 案例:如何优雅地在阿里云私有部署开源大模型
  • 部署一套开源 LLM 项目
  • 内容安全
  • 互联网信息服务算法备案

学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。

如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。

这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

😝有需要的小伙伴,可以Vx扫描下方二维码免费领取==🆓

在这里插入图片描述

  • 21
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值