AI大模型开发架构设计(9)——AI 编程架构刨析和业务应用实战案例

news2024/11/17 6:33:53

文章目录

    • AI 编程架构刨析和业务应用实战案例
      • 1 AI编程代码生成模型剖析
        • 编程方式的发展
        • 代码自动生成
        • 基于大模型的AI编程工具——Github Copilot
        • 以 CodeGeeX 为例-发展过程
        • 以 CodeGeeX 为例-训练过程
        • 以 CodeGeeX 为例-大规模代码数据处理
        • 以 CodeGeeX 为例-模型结构
        • 以 CodeGeeX 为例-模型训练框架及算力
        • 以 CodeGeeX 为例-如何评估代码生成模型的性能?
      • 2 AI编程应用技术架构
        • 基于大模型的AI编程应用技术架构(1)
        • 基于大模型的AI编程应用技术架构(2)
        • 基于大模型的AI编程应用技术架构(3)

AI 编程架构刨析和业务应用实战案例

1 AI编程代码生成模型剖析

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

image.png

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

image.png

基于大模型的AI编程工具——Github Copilot
  • 基于 OpenAI Codex 模型,2021年6月推出,2022年正式收费
  • Your AI pair programmer

image.png

  • 其它的AI编程工具
    • Cursor:https://www.cursor.so/
    • Bito:https://bito.ai/
    • CodeWhisperer:https://aws.amazon.com/codewhisperer/
    • CodeGeeX2:https://codegeex.cn/zh-CN
  • AI编程工具费用比较

image.png

以 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:支持多语言

2 AI编程应用技术架构

基于大模型的AI编程应用技术架构(1)

image.png

  • 这是最简单的 AI Native 应用程序,应用程序直接将 Prompt 给到大模型(ChatGPT、文心一言…),然后大模型就返回 Response 给到应用程序。
  • 这种架构下,只能利用大模型完成一些简单的事情,对于更为复杂的事(比如:帮我写一个愤怒的小鸟小游戏)就完成不了了。
基于大模型的AI编程应用技术架构(2)

image.png

  • 加入 AI Agent 做需求的拆解,借助外部的一些能力,比如 Function Calling 让应用程序调用外部的 API。
  • 私有知识库进行切片,利用大模型做 Embeddings 向量化,存储到向量数据库。应用程序的Prompt 结合私有向量数据库的检索结果一起给到大模型,这样大模型就有了用户知识库的上下文,最终就给出用户想要的结果。
基于大模型的AI编程应用技术架构(3)

image.png

  • 进行 Fine-tuning 微调

企业知识库案例三步骤

  • 文档 -> Vector Store 表示语义的 Index,可以做语义搜索
  • Retrieval 是将 Query Embeding 后,查询近似文档过程
  • 大模型做最后的知识理解和 QA 问答

image.png

思考:为什么需要 Embeddings?

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

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

相关文章

【Linux C | I/O模型】IO复用 | poll、ppoll函数详解

😁博客主页😁:🚀https://blog.csdn.net/wkd_007🚀 🤑博客内容🤑:🍭嵌入式开发、Linux、C语言、C、数据结构、音视频🍭 🤣本文内容🤣&a…

社区商铺投资指南:鲜奶吧——最具潜力的开店项目

作为一位开店5年的鲜奶吧创业者,我深知在社区商铺中寻找一个具有潜力的项目并非易事。 今天为大家分享鲜奶吧项目的好处,帮助你在社区商铺投资中做出明智的选择。 一、鲜奶吧的市场潜力与前景 随着健康饮食观念的普及,鲜奶及酸奶制品越来越…

【AIGC风格prompt深度指南】掌握绘画风格关键词,实现艺术模仿的革新实践

[小提琴家]ASCII风格,点,爆炸,光,射线,计算机代码 由冰和水制成的和平标志]非常详细,寒冷,冰冻,大气,照片逼真,流动,16K 胡迪尼模拟火和水&#x…

【复现】万户 ezOFFICE SQL注入漏洞_42

目录 一.概述 二 .漏洞影响 三.漏洞复现 1. 漏洞一: 四.修复建议: 五. 搜索语法: 六.免责声明 一.概述 万户ezOFFICE协同管理平台分为企业版和政务版。 解决方案由五大应用、两个支撑平台组成,分别为知识管理、工作流程、沟…

【Vue】mvc,mvp,mvvm 的区别

总结: MVC : view 视图层依靠 model 来进行更新渲染,当数据发生改变时。第一步: 通知 controller 进行更新,然后第二步 controller 再通知 model 进行更新。最后 model 才将 view 更新 , 这样大量的逻辑以及更新操作,都需要在con…

设计师常用的软件有哪些?推荐5款设计工具

设计软件的使用对设计师来说非常重要。设计工具的使用是否直接影响到最终结果的质量,然后有人会问:设计需要使用什么软件?这里有一些设计师和那些对设计感兴趣的朋友列出了五个有用的设计工具。 1、即时设计 即时设计操作简单,内…

机器学习 | 一文看懂SVM算法从原理到实现全解析

目录 初识SVM算法 SVM算法原理 SVM损失函数 SVM的核方法 数字识别器(实操) 初识SVM算法 支持向量机(Support Vector Machine,SVM)是一种经典的监督学习算法,用于解决二分类和多分类问题。其核心思想是通过在特征空间中找到一…

Pymysql之Cursor常用API

Cursor常用API 1、cursor.execute(query, argsNone):执行sql语句。 参数: query (str):sql语句。 args (tuple, list or dict):sql语句中如果有变量,或者格式化输出,会在这里填充数据。 Returns:返…

编程实例分享,手表养护维修软件钟表维修开单管理系统教程

编程实例分享,手表养护维修软件钟表维修开单管理系统教程 一、前言 以下教程以 佳易王钟表维护维修管理系统软件V16.0为例说明 软件文件下载可以点击最下方官网卡片——软件下载——试用版软件下载 左侧为导航栏, 1、系统设置:可以设置打…

代码随想录算法训练营DAY15 | 二叉树 (2)

一、LeetCode 102 二叉树的层序遍历 题目链接: 102.二叉树的层序遍历https://leetcode.cn/problems/binary-tree-level-order-traversal/ 思路:利用队列的先进先出特性,在处理本层节点的同时将下层节点入队,每次处理一层的节点&…

C#中的浅度和深度复制(C#如何复制一个对象)

文章目录 浅度和深度复制浅度复制深度复制如何选择 浅度和深度复制 在C#中,浅度复制(Shallow Copy)和深度复制(Deep Copy)是两种不同的对象复制方式,满足不同的应用场景需求,它们主要区别在于处…

【JavaWeb】头条新闻纯JavaWeb项目实现 项目搭建 数据库工具类导入 跨域问题 Postman 第一期 (前端Vue3+Vite)

文章目录 一、项目简介1.1 微头条业务简介1.2 技术栈介绍 二、项目部署三、准备工具类3.1 异步响应规范格式类3.2 MD5加密工具类3.3 JDBCUtil连接池工具类3.4 JwtHelper工具类3.4 JSON转换的WEBUtil工具类 四、准备各层的接口和实现类4.1 准备实体类和VO对象4.2 DAO层接口和实现…

Guitar Pro正版多少钱 Guitar Pro购买后永久使用吗

相信很多玩吉他的小伙伴都听说过Guitar Pro这款软件,Guitar Pro是一款传奇的吉他谱软件,可以用来打谱,看谱,midi音序制作等等,同时做为一款吉他学习辅助软件有着强大的优势,那大家知道Guitar Pro正版多少钱…

渗透测试-信息打点与架构分析细节梳理

渗透测试-信息打点与架构分析细节梳理 为了保障信息安全,我在正文中会去除除靶场环境的其他任何可能的敏感信息 什么是网站架构 网站架构包括网站的方方面面,下面是常见的内容: 前端(Front-End): 使用Reac…

算法学习——LeetCode力扣哈希表篇1

算法学习——LeetCode力扣哈希表篇1 242. 有效的字母异位词 242. 有效的字母异位词 - 力扣(LeetCode) 描述 给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。 注意:若 s 和 t 中每个字符出现的次数都相同…

请查收,你的2023京东零售技术年度好文

新春佳节,万象更新!京东零售技术在2023年度发布文章内容145篇,全年阅读量超过20万次~衷心感谢每一位读者一直以来的关注和支持。 在新春到来之际,我们精选年度好文分享给大家,希望大家温故知新&#xff0c…

基于 NXP S32K344 的汽车通用评估板方案

S32K3xx 系列是 NXP 基于 ARMCortex-M7 的汽车工业级 MCU,符合 ISO26262 ASIL-D 汽车功能安全等级,支持 ASIL B/D 安全应用,提供了一个可扩展的平台,具有下一代安全性、可扩展性、连接性和低功耗特性。适用于可能会在严酷环境下工…

政安晨:机器学习快速入门(四){pandas与scikit-learn} {随机森林}

咱们将在这篇文章中使用更复杂的机器学习算法。 随机森林 基本定义 随机森林(Random Forest)是一种机器学习算法,属于集成学习(ensemble learning)的一种。它是通过构建多个决策树(即森林)来进行预测和分类的。 随机森林的主要特点是采用了…

「云原生可观测团队」获选「InfoQ 年度技术内容贡献奖」

随着云原生、人工智能逐渐成为各行各业的创新生产力工具。可以预见,我们即将进入全新的智能化时代。随着数据成为新型生产要素,云和 AI 正走向深度融合。云原生通过提供大规模多元算力的高效供给,可观测成为业务创新的核心基础设施&#xff0…

Future和FutureTask

Future和FutureTask Future类Future主要方法get()get(long timeout,TimeUnit unit)cancel()isDone()isCancelled() 用线程池的submit方法返回Future对象用FutureTask来创建Future Future类 FutureTask叫未来任务,可以将一个复杂的任务剔除出去交给另外一个线程来完…