AI大模型开发架构设计(7)——人人都需要掌握的AI编程及应用案例实战

本文详细介绍了AI编程工具CodeGeeX的发展、训练过程、模型架构以及其在正则表达式编写、代码重构等场景的应用案例。同时,探讨了AI编程软件架构的几个关键问题,如代码仓库、需求变更和程序员角色的变化。
摘要由CSDN通过智能技术生成

人人都需要掌握的AI编程及应用案例实战

1 AI代码生成模型与AI编程助手介绍

程序设计方式的发展
  • 从机器语言到人类语言,越来越 简单化、智能化、降本增效、提质

image.png

自动代码生成
  • 自动代码生成或程序合成(Program Synthesis)是计算机科学领域长久以来的一大难题

image.png

AI编程工具
  • 基于大模型的AI编程工具—Github Copilot

image.png

image.png

  • 基于大模型的AI编程工具费用比较

image.png

2 AI编程助手的代码生成模型架构剖析

以 CodeGeeX 为例-发展过程
  • 开源的大规模多语言代码生成模型

image.png

以 CodeGeeX 为例-训练过程

image.png

以 CodeGeeX 为例-大规模代码数据处理

image.png

以 CodeGeeX 为例-模型架构

image.png

以 CodeGeeX 为例-模型训练框架及算力
  • 框架:基于华为 Mindspore 1.7
  • 计算资源:1536 张昇腾 910 AI 处理器
  • 混合精度:FP16(Layernorm,Softmax 使用 FP32 保证稳定性)
  • 并行训练:192 路数据并行 + 8 路模型并行
  • 全局批大小:3072
  • 训练时长:2个月
  • 训练量:~8500 亿 tokens

image.png

以 CodeGeeX 为例-如何评估代码生成模型的性能?
  • 语义相似性 VS 功能正确性
  • 代码正确性基准评估
    • HumanEval:仅支持Python
    • HumanEval-X:支持多语言

3 AI编程助手应用案例

基于 CodeGeeX 大模型架构
  • 开发了 VS Code、IDEA、PyCharm等 IDE 上的编程助手插件
  • 提供多种交互模式
    • 代码生成、代码补全、代码翻译、代码注释等功能

image.png

应用案例一:正则表达式编写
  • 基于 Prometheus 的可观测平台研发,PromQL 是服务治理领域常用的查询语言,我们需要写一个正则表达式,来检测 PromQL 的合法性,以便于尽早发现不合法的 PromQL,抛出错误。

image.png

image.png

image.png

应用案例二:代码重构
  • 我们写代码的过程中,往往会因为疏忽,而产生各种 bug 和坏味道。可以试试 ChatGPT-4 能帮我们做什么,下面是随机从代码仓库拿出的一段基础代码。

image.png

image.png

应用案例三:重构实现业务逻辑
  • 我们要求一次性交付整个完整需求有点过分,但我们依然可以把需求拆分成小的逻辑单元让TA实现,并要求TA编写单测。
  • 需求,做一个事件的聚合能力,服务治理平台会收集各个平台的事件数据,聚合之后以更加可视化的方式给用户展示。

image.png

image.png

应用案例四:改Bugs
  • 服务治理平台支持自定义指标,底层识别的变量类型是1,2,$3这种形式,为了用户可读性,前端页面表现为 A、B、C。最近出现了一个 BUG,A+B+C+D+E+F+G+H+I+J+K 配置上去再加载上来之后变成了A+B+C+D+E+F+G+H+I+J+B0。原因 K 是11,但是前端转码的实现是 for 循环遍历处理的,所有处理两位数字有 Bug,转回来识别成了1和0。

image.png

image.png

应用案例五:写单测
  • 相信上面的例子也足够体现 ChatGPT-4 写单测的能力了,它不管是表驱动、测试用例的构造能力、代码的 Readability 能力都非常强。
应用案例六:取名字
  • 我们知道取变量名和函数名是工程师们最头疼的问题,ChatGPT-4 非常擅长,毕竟这是它的母语呀,例如上面的解析存储容量的函数,它给的建议确实比原名好太多了。

image.png

4 AI 编程软件架构的几点思考

第1点思考:代码仓库
  • AI 生成代码,代码还需要存储在代码仓库吗?
    • Prompt 即代码
第2点思考:需求变更
  • AI 重新生成代码还是 AI 辅助生成(手动修改原来代码)?
第3点思考:架构模式/编程范式
  • 微服务分层架构模式还适用吗?
  • Serverless 架构会是一种适合的模式吗?
第4点思考:程序员的核心竞争力
  • 程序员经历从手工编码、到低代码、零代码
  • 再到 AI 生成代码 的新时代,时代在进步,繁琐 Coding 终究交由机器来完成
  • 我们去从事更有思考深度的工作,做一个积极拥抱变化马车夫

image.png

  • 17
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
随着人工智能技术的不断发展,AI模型应用开发成为了当前最热门的趋势之一。AI模型具有强大的计算能力和深度学习算法,能够处理复杂的任务和大规模的数据。在实际的应用开发中,我们需要掌握一些实战指南来更好地利用AI模型。 首先,我们需要明确自己的应用需求和目标。AI模型功能强大,但并不是对所有的应用都适用。因此,我们需要针对具体的应用场景来选择合适的AI模型,确保其能够满足我们的需求。 其次,我们需要具备一定的技术能力和知识。AI模型应用开发涉及到深度学习、神经网络等高级技术,因此需要有一定的编程能力和算法知识。同时,我们还需要了解AI模型的特点和使用方法,对其进行深入的学习和研究。 另外,我们还需要关注数据的质量和数量。AI模型的训练需要大量的数据支持,因此我们需要具备数据收集、清洗和标注的能力,以及对数据进行合理的管理和利用。 最后,我们需要进行系统的测试和优化。在应用开发的过程中,我们需要不断地进行测试,发现问题并进行调整和优化,以确保AI模型的稳定性和性能。 总的来说,AI模型应用开发需要我们具备综合的技术能力和知识,同时需要结合具体的应用需求和场景,进行系统的规划和实施,从而更好地利用AI模型的优势。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

讲文明的喜羊羊拒绝pua

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值