• [问题求助] 人工智能如何提升金融领域的风险预测与管理?
    人工智能如何提升金融领域的风险预测与管理?
  • [问题求助] 强化学习如何在自动驾驶领域发挥作用?
    强化学习如何在自动驾驶领域发挥作用?
  • [问题求助] 深度学习与传统机器学习方法相比,在哪些方面具有优势?
    深度学习与传统机器学习方法相比,在哪些方面具有优势?
  • [问题求助] 如何利用机器学习实现个性化推荐系统?
    如何利用机器学习实现个性化推荐系统?
  • [问题求助] 生成对抗网络(GAN)在图像生成中的应用与挑战有哪些?
    生成对抗网络(GAN)在图像生成中的应用与挑战有哪些?
  • [问题求助] 人工智能如何改变现代医疗行业的诊断与治疗?
    人工智能如何改变现代医疗行业的诊断与治疗?
  • [案例共创] 【案例共创】基于华为Maas(大模型即服务)和开源的Agent三方框架构建AI聊天助手实践
    引言随着人工智能技术的快速发展,AI聊天助手已经成为企业与用户之间沟通的重要桥梁。为了构建一个高效、智能且易于扩展的AI聊天助手,我们可以利用华为云提供的Maas(Model-as-a-Service,大模型即服务)平台,结合开源的Agent三方框架来实现。本文将详细介绍这一实践过程,并分享一些个人见解和技术观点。一、背景与动机1.1 华为Maas平台简介华为Maas是基于云端的大规模预训练语言模型服务平台,它允许开发者通过API接口快速调用高性能的语言处理能力,而无需自行训练或维护复杂的模型架构。这大大降低了开发门槛,提高了项目实施的速度和灵活性。在2024数博会领先科技成果发布会上,十大领先科技成果和优秀科技成果揭晓。凭借在大数据和人工智能领域的优势,华为云斩获多项大奖,其中就包括:华为云MaaS大模型即服务平台荣获“十大领先科技成果奖”1.2 开源Agent框架的选择选择合适的Agent框架对于构建聊天助手至关重要。一个好的Agent框架应该具备以下特点:易用性:支持多种编程语言,提供丰富的文档和示例代码。可扩展性:能够轻松集成第三方服务和插件,适应不同的业务需求。社区活跃度:拥有庞大且活跃的开发者社区,确保长期支持和技术更新。在众多选项中,Rasa是一个非常受欢迎的开源对话管理框架,它不仅满足上述要求,还提供了强大的自然语言理解和生成功能。因此,本文将以Rasa为例进行讨论。二、技术方案设计2.1 系统架构概述整个系统由三个主要部分组成:前端界面、后端服务器以及华为Maas API。其中,前端负责接收用户的输入并展示回复;后端则承担了核心逻辑处理任务,包括但不限于消息路由、状态管理等;最后,通过调用华为Maas API完成复杂的语言处理工作。这里我附上MaaS使用开发文档:https://support.huaweicloud.com/usermanual-maas-modelarts/maas-modelarts-0002.html2.2 核心组件详解2.2.1 Rasa Agent作为对话管理的核心组件,Rasa Agent负责解析用户的自然语言输入,根据上下文理解意图,并生成相应的回应。此外,它还可以与其他外部系统交互,如数据库查询、API调用等,从而实现更复杂的功能。2.2.2 华为Maas API华为Maas API提供了对大规模预训练语言模型的访问权限,使得我们可以直接利用其强大的文本分析和生成能力。例如,在面对长文本摘要、情感分析等高级应用时,借助Maas可以显著提升处理效率和准确性。2.2.3 消息队列(Optional)考虑到高并发场景下的性能优化问题,可以在架构中引入消息队列机制。这样不仅可以缓解瞬时流量压力,还能保证系统的稳定性和可靠性。*本实验为了便于展示和引导部署,我们就采用了【Dify开发平台】。Dify是一款开源的大语言模型(LLM)应用开发平台,它融合了后端即服务(Backend as Service, BaaS)和LLMOps的理念,旨在帮助开发者快速搭建生产级的生成式AI应用。以下是关于Dify软件的相关信息:Dify软件的主要功能**低代码/无代码开发:**提供用户友好的界面,通过可视化的方式允许开发者轻松定义Prompt、上下文和插件等。**模块化设计:**采用模块化的设计,每个模块都有清晰的功能和接口,可以根据需求选择性地使用。**丰富的功能组件:**包括AI工作流、RAG管道、Agent、模型管理、可观测性功能等。**支持多种大语言模型:**已支持OpenAI GPT系列等模型,并计划进一步扩展。**数据处理和特征工程工具:**提供了数据清洗、特征选择、特征变换等功能。**集成外部知识源:**允许自定义API接入外部知识源,让大型语言模型深入理解企业知识和业务。三、部署流程在部署前,要重点说明下:1.MaaS服务仅“华东二”区域支持使用ModelArts Studio大模型即服务平台(MaaS)。2.MaaS是白名单功能,如果有试用需求,请先申请权限。【操作步骤】如下:一、基于华为云资源编排服务(RFS)快速部署Dify软件这里我们可以使用华为云资源编排服务RFS,他能够在云服务器上基于资源栈模版快速的部署Dify软件,用户只关注终态资源规格,无需感知底层资源申请等复杂环节。超级的方便。1)创建资源栈: 基于提供的Dify资源栈模版创建资源栈,登陆华为云账号,点击创建资源栈,点击【下一步】(如下图)创建资源栈地址:点击前往创建为了以防万一,我把模版链接也发下 :https://documentation-samples.obs.cn-north-4.myhuaweicloud.com/solution-as-code-publicbucket/solution-as-code-moudle/dify-llm-application-development-platform/dify-llm-application-development-platform.tf.json2)参数配置: 注意配置ECS服务器密码(一定要记住哟),点击【下一步】(云服务器密码,长度为8-26位,密码至少必须包含大写字母、小写字母、数字和特殊字符(!@$%^-_=+[{}]:,./?)中的三种,仅支持小写字母、数字、中划线(-)、英文句号(.)。修改密码,请参考重置弹性云服务器密码登录ECS控制台修改密码。管理员账户默认root。)3) 资源栈设置: 设置RFS编排服务对云服务器资源的操作权限,也可以不设置(非必选)直接点击【下一步】。4)配置确认: 最后一步确认下配置,创建【执行计划】,执行计划名称可以自定义,点击创建即可。(建议完成创建后在部署)5)启动【部署】: 部署Dify软件,点击部署按钮,弹出对话框中点击执行,当"事件"页签出现"Apply required resource success"时表明部署成功。–(点击部署)–(部署成功)6)登陆Dify开发平台: 刷新页面,在“输出”中查看Dify-LLM应用开发平台访问说明,首次登陆需注册管理员账号,依次填写邮箱、账号、密码。二、在Dify中使用MaaS的模型服务构建聊天助手应用1)进入华为云控制台: 区域切到华东二,服务列表中找到ModelArts.2)进入ModelArts Studio: 点击左侧栏"模型部署",申请大模型免费tokens试用.(可以一次性全部领取下来哟)3)这里我们以Qwen2_5-7B-Instruct为例,点击【更多】-【调用】,获取接口和模型名。4)创建API Key:,左侧鉴权管理-创建API Key,保存创建的密钥信息这里重点说明下:请将此密钥保存在安全且可访问的地方。这是唯一一次可以查看密钥的机会。您以后将无法查看它。一定要复制保存下来先哟。5)Dify平台上配置【模型供应商】,点击右上角设置,进入【模型供应商】页签,选择【OpenAI-API-compatible供应商】。关键信息配置如下:名称内容模型名称请填入步骤3服务信息中的模型名称API Key请填入步骤4中创建的API KeyAPI endpoint URL请填入步骤4中的API地址,并且删除最后面的“chat/completions”部分Completion mode请选择对话(1)先找到【设置】:(2)点击进入【设置】后进入到【模型供应商】页签;(3)选择【OpenAI-API-compatible供应商】;(4)添加 OpenAI-API-compatible参数信息:这里要注意下,模型名称是Qwen2.5-7B,而不是Qwen2_5-7B-Instruct。6)应用构建:,在Dify中创建聊天助手时,可以选择已配置的MaaS模型服务进行应用编排。可以根据我下面的流程来走哈:(1)首先我们在首页先点击【创建空白应用】:(2)选择【聊天助手】、自定义名称后,点击创建;(3)完成创建后,我们就可以进行应用编排咯。(4)点击右上角,可以选择模型,也可以进行多模型调试。非常方便。这里补充说明下,上面截图我模型配置的时候有参数配错了,所以出现了感叹号,点击重新配置后下面就显示正常咯。(5)设置提示词: 这里我们可以按快捷方式来设置提示词,设置完成后点击应用即可覆盖。(6)完成提示词设置后,我们就可以在右侧进行调试了。(7)点击右侧“Prompt日志”可以查看日志,也可以点击“刷新图标”重新生成到这里我们就完成了整个实验的部署工作,剩下的就等着各位开发者自行研究和挖掘咯。四、关键技术和最佳实践4.1 自然语言处理(NLP)技术的应用NLP是构建聊天助手的基础,直接影响用户体验的好坏。通过结合华为Maas的强大语言处理能力和Rasa内置的NLU引擎,我们可以在不牺牲准确性的前提下大幅提高响应速度。同时,针对特定领域的专业术语,还可以定制专属词汇表,进一步增强理解精度。4.2 对话管理策略的设计良好的对话管理策略不仅能提升互动效果,还能有效引导用户按照预期路径操作。为此,建议采用意图分类+槽位填充相结合的方式,即先识别用户的主要诉求(意图),再逐步收集相关信息(槽位)。此外,适时加入提示语句也有助于保持对话流畅性。4.3 安全性和隐私保护措施鉴于聊天助手往往涉及敏感信息的传输,必须高度重视数据安全和个人隐私保护。一方面,要严格遵守相关法律法规,确保所有操作均合法合规;另一方面,则需采取加密存储、访问控制等多种手段保障信息安全。特别是在使用华为Maas API时,应遵循官方提供的安全指南,合理配置认证参数。4.4 性能监控与优化为了保证系统的持续稳定运行,建立完善的性能监控体系不可或缺。可以通过设置合理的指标阈值,及时发现潜在问题并作出调整。比如,当CPU利用率过高时自动触发扩容操作;或者当响应时间过长时检查是否存在瓶颈环节。另外,定期进行压力测试也是预防突发情况的有效方法之一。五、个人见解与展望通过本次实践,我深刻体会到华为Maas与开源Agent框架相结合所带来的巨大优势。前者提供了强大的底层支撑,后者赋予了灵活多变的应用可能性。然而,值得注意的是,尽管当前的技术已经足够成熟,但在某些特殊领域仍然存在改进空间。例如,如何更好地处理多轮对话中的语义一致性问题,或者怎样进一步降低延迟以实现即时反馈等,都是未来值得探索的方向。总之,构建一个理想的AI聊天助手并非一蹴而就的事情,而是需要不断积累经验、优化算法的过程。希望本文能够为同行们带来些许启发,共同推动这一领域的进步与发展。(另外希望可以开放Maas使用,申请试用流程较长,也不确定申请进度。)六、结论基于华为Maas和开源Agent三方框架构建AI聊天助手是一项具有挑战性和创新性的任务。通过合理规划系统架构、精心挑选核心技术,并注重实际应用场景中的细节处理,我们不仅能够打造出一个功能完备、性能优越的产品,更能为企业和用户提供更加便捷高效的交流方式。期待在未来的发展中,能看到更多优秀的解决方案涌现出来。我正在参加【案例共创】第1期 书写云产品应用构建开发最佳实践/评测,共创官方文档:https://bbs.huaweicloud.com/forum/thread-0217170307934787108-1-1.html
  • [行业动态] 遥遥领先的GPT-4o为什么要选择免费开放? 免费开放能带来什么好处?
    GPT-4o是GPT-4的升级版,后面的o代表“omni”(全知全能)。GPT-4o能同时输入和输出文本、音频和图像信息,反应速度最短达到了232毫秒,完全可做到与人类在正常对话中同频。既然遥遥领先,完全可以采用付费模式推广,为啥他们要选择免费开放呢?有啥好处吗
  • [技术干货] 转载:【AI系统】昇腾推理引擎 MindIE
    本文将介绍华为昇腾推理引擎 MindIE 的详细内容,包括其基本介绍、关键功能特性以及不同组件的详细描述。本文内容将深入探讨 MindIE 的三个主要组件:MindIE-Service、MindIE-Torch 和 MindIE-RT,以及它们在服务化部署、大模型推理和推理运行时方面的功能特性和应用场景。通过本文的介绍,读者将对 MindIE 有一个全面的了解,包括其如何支持 AI 业务的高效运行和模型的快速部署。MindIE 基本介绍MindIE(Mind Inference Engine,昇腾推理引擎)是华为昇腾针对 AI 全场景业务的推理加速套件。通过分层开放 AI 能力,支撑用户多样化的 AI 业务需求,使能百模千态,释放昇腾硬件设备算力。支持多种主流 AI 框架,提供多层次编程接口,帮助用户快速构建基于昇腾平台的推理业务。业界标准 RPC 接口高效对接业务层,支持 Triton 和 TGI 等主流推理服务框架,实现小时级应用部署。提供针对 LLM(transformer)和文生图(SD 模型)的加速参考代码和预置模型,开箱性能业界领先。少量代码实现训练向推理平滑迁移,昇腾训推同构小时级模型迁移,以及 GPU 模型向昇腾 2 人周高效迁移。昇腾推理引擎支持请求并发调度和模型多实例并发调度,支持多种异步下发,多流水执行,实现高效的推理加速。支持从 PyTorch 和昇思对接从训练模型转换推理模型的过程,支持多种推理服务框架和兼容接口。提供基于昇腾架构亲和加速技术,覆盖推理全流程的图转换、组网、编译、推理执行、调试调优接口。已发布 MindIE Service、MindIE Torch、MindIE RT 三个组件。MindIE-ServiceMindIE-Service 针对通用模型的推理服务化场景,实现开放、可扩展的推理服务化平台架构,支持对接业界主流推理框架接口,满足大语言模型、文生图等多类型模型的高性能推理需求。MindIE-Server 作为推理服务端,提供模型服务化能力;MindIE-Client 提供服务客户端标准 API,简化用户服务调用。MindIE-Service 向下调用了 MindIE-LLM 组件能力。MindIE-TorchMindIE-Torch 是针对 Pytorch 框架模型的推理加速插件。Pytorch 框架上训练的模型利用 MindIE-Torch 提供的简易 C++/Python 接口,少量代码即可完成模型迁移,实现高性能推理。MindIE-Torch 向下调用了 MindIE-RT 组件能力。MindIE-RTMindIE-RT 是面向昇腾 AI 处理器的推理加速引擎,提供模型推理迁移相关开发接口及工具,能够将不同的 AI 框架(PyTorch、ONNX 等)上完成训练的算法模型统一为计算图表示,具备多粒度模型优化、整图下发以及推理部署等功能。集成 Transfomer 高性能算子加速库 ATB,提供基础高性能算子,和高效的算子组合技术(Graph)便于模型加速。关键功能特性服务化部署MindIE-Service 是面向通用模型的推理服务化场景,实现开放、可扩展的推理服务化平台架构,支持对接业界主流推理框架接口,满足大语言模型、文生图等多类型模型的高性能推理需求。它的组件包括 MindIE-Server、MindIE-Client、Benchmark 评测工具等,一方面通过对接昇腾的推理加速引擎带来大模型在昇腾环境中的性能提升,另一方面,通过接入现有的主流推理框架生态,逐渐以性能和易用性牵引存量生态的用户向全自研推理服务化平台迁移。支持的特性:支持大模型服务化快速部署。提供了标准的昇腾服务化接口,兼容 Triton/OpenAI/TGI/vLLM 等第三方框架接口。支持 Continuous Batching,PagedAttention。支持基于 Transformer 推理加速库(Ascend Transformer Boost)的模型接入,继承其加速能力,包括融合加速算子、量化等特性。大模型推理提供大模型推理能力,支持大模型业务全流程,逐级能力开放,使能大模型客户需求定制化。Pytorch 模型迁移对接主流 Pytorch 框架,实现训练到推理的平滑迁移,提供通用的图优化并行推理能力,提供用户深度定制优化能力。MindIE-Torch 是推理引擎组件中针对 Pytorch 框架模型的推理加速插件。Pytorch 框架上训练的模型利用 MindIE-Torch 提供的简易 C++/Python 接口,少量代码即可完成模型迁移,实现高性能推理。MindIE-Torch TorchScript 支持以下功能特性支持 TorchScript 模型的编译优化,生成可直接在昇腾 NPU 设备加速推理的 TorchScript 模型。支持静态输入和动态输入,动态输入分为动态 Dims 和 ShapeRange 两种模式。编译优化时支持混合精度、FP32 以及 FP16 精度策略。支持用户自定义 converter 和自定义 pass。支持异步推理和异步数据拷贝。支持与 torch_npu 配套使用,算子可 fallback 到 torch_npu 执行。支持多语言 API(C++、Python)。MindIE-Torch ExportedProgram 支持以下功能特性:支持 ExportedProgram 的编译优化,生成可直接在昇腾 NPU 设备加速推理的 nn.Module 模型。支持静态输入和动态 ShapeRange 输入。编译优化时支持混合精度、FP32、FP16 精度策略。支持异步推理和异步数据拷贝。支持 Python API。推理运行时集成推理应用接口及 Transformer 加速库,提供推理迁移相关开发接口及工具,提供通用优化及并行推理能力》。MindIE-RT(Mind Inference Engine RT,昇腾推理引擎运行时)是针对昇腾 AI 处理器的推理加速引擎,提供 AI 模型推理场景下的商业化部署能力,能够将不同的 AI 框架上完成训练的算法模型统一为计算图表示,具备多粒度模型优化、整图下发以及推理部署等功能。MindIE-RT 集成昇腾高性能算子加速库 ATB,为实现基于 Transformer 的神经网络推理加速引擎库,库中包含了各类 Transformer 类模型的高度优化模块,如 Encoder 和 Decoder 部分。MindIE-RT 专注于为用户提供快速迁移、稳定精度以及极致性能的推理服务,让用户能够脱离底层硬件细节和不同平台框架的差异,专注于推理业务本身,实现高效的模型部署开发。并且专门针对大模型下的 Transformer 架构,提高 Transformer 模型性能,提供了基础的高性能的算子,高效的算子组合技术(Graph),方便模型加速。目前 MindIE-RT 已实现动态输入推理,解析框架模型等功能特性。MindIE-RT 支持以下功能特性支持多语言 API(C++, Python):详情参见 C++编程模型和 Python 编程模型。提供 parser,支持直接导入 AI 框架 ONNX 模型,详情参见解析框架模型。支持 Transformer 算子加速库,集成基础高性能算子,详情可见 ATB 高性能加速库使用。支持丰富的编译时优化方法和运行时优化方法,用户可以在昇腾 AI 处理器上占用较少的内存,部署更高性能的推理业务,提供的优化方法如:精度优化和常量折叠。应用场景MindIE-RT 是基于昇腾 AI 处理器的部署推理引擎,适用于通过 NPU、GPU、CPU 等设备训练的算法模型,为其提供极简易用且灵活的接口,实现算法从训练到推理的快速迁移。目前 MindIE-RT 的快速迁移能力已支持以下业务场景:计算机视觉。自然语言处理。推荐、检索。大模型对话。如果您想了解更多AI知识,与AI专业人士交流,请立即访问昇腾社区官方网站https://www.hiascend.com/或者深入研读《AI系统:原理与架构》一书,这里汇聚了海量的AI学习资源和实践课程,为您的AI技术成长提供强劲动力。不仅如此,您还有机会投身于全国昇腾AI创新大赛和昇腾AI开发者创享日等盛事,发现AI世界的无限奥秘~ 转载自:cid:link_1
  • [技术干货] 转载:【AI系统】并行训练基本介绍
    分布式训练是一种模型训练模式,它将训练工作量分散到多个工作节点上,从而大大提高了训练速度和模型准确性。虽然分布式训练可用于任何类型的 AI 模型训练,但将其用于大模型和计算要求较高的任务最为有利。本篇幅将围绕在 PyTorch2.0 中提供的多种分布式训练方式展开,包括并行训练,如:数据并行(Data Parallelism, DP)、模型并行(Model Parallelism, MP)、混合并行(Hybrid Parallel),可扩展的分布式训练组件,如:设备网格(Device Mesh)、RPC 分布式训练以及自定义扩展等。每种方法在特定用例中都有独特的优势。具体来说,这些功能的实现可以分为三个主要组件:分布式数据并行训练(DDP)是一种广泛采用的单程序多数据训练范式。在 DDP 中,模型会在每个进程上复制,每个模型副本将接收不同的输入数据样本。DDP 负责梯度通信以保持模型副本同步,并将其与梯度计算重叠以加速训练。基于 RPC 的分布式训练(RPC)支持无法适应数据并行训练的通用训练结构,例如分布式流水线并行、参数服务器范式以及 DDP 与其他训练范式的组合。它有助于管理远程对象的生命周期,并将自动微分引擎扩展到单个计算节点之外。提供了在组内进程之间发送张量的功能,包括集体通信 API(如 All Reduce 和 All Gather)和点对点通信 API(如 send 和 receive)。尽管 DDP 和 RPC 已经满足了大多数分布式训练需求,PyTorch 的中间表达 C10d 仍然在需要更细粒度通信控制的场景中发挥作用。例如,分布式参数平均,在这种情况下,应用程序希望在反向传播之后计算所有模型参数的平均值,而不是使用 DDP 来通信梯度。这可以将通信与计算解耦,并允许对通信内容进行更细粒度的控制,但同时也放弃了 DDP 提供的性能优化。通过充分利用这些分布式训练组件,开发人员可以在各种计算要求和硬件配置下高效地训练大模型,实现更快的训练速度和更高的模型准确性。如果您想了解更多AI知识,与AI专业人士交流,请立即访问昇腾社区官方网站https://www.hiascend.com/或者深入研读《AI系统:原理与架构》一书,这里汇聚了海量的AI学习资源和实践课程,为您的AI技术成长提供强劲动力。不仅如此,您还有机会投身于全国昇腾AI创新大赛和昇腾AI开发者创享日等盛事,发现AI世界的无限奥秘~ 转载自:【AI系统】并行训练基本介绍 - ZOMI酱的文章 - 知乎 cid:link_1
  • 转载:【AI系统】自动微分引言
    内容介绍这一篇幅里面主要是围绕 AI 框架、或者训练平台的自动微分功能。AI 框架中关于自动微分的一个重要性不言而喻,实际上自动微分是贯穿整个 AI 框架的全流程。没有了自动微分,也就没有了 AI 框架最核心的功能。为什么这么说呢?可以想象一下,假设在实现一个神经网络模型的时候,一般开发者只会使用 Pytorch 的 API 实现一个正向的网络表达式,可是网络模型的反向怎么表示呢?实际上除了正向的表示是用户手工的地去构建,反向的表示、自动微分的实现、正反向的链接关系都是由 AI 框架,里面的自动微分功能去实现的。因此说自动微分这个功能在 AI 框架里面是非常的重要。在接下来的内容,主要是了解计算机实现微分的基本概念,其实微分的实现方式分为很多种,有数字微分,符号微分,自动微分。函数的微分是指对函数的局部变化的一种线性描述。微分可以近似地描述当函数自变量的取值作足够小的改变时,函数的值是怎样改变的。微分在数学中的定义:由 $y$ 是 $x$ 的函数 $(y=f(x))$。从简单的 $x-y$ 座标系来看,自变数 $x$ 有微小的变化量时 $(d/dx)$,应变数 $y$ 也会跟着变动,但 $x$ 跟 $y$ 的变化量都是极小的。当 $x$ 有极小的变化量时,我们称对 $x$ 微分。微分主要用于线性函数的改变量,这是微积分的基本概念之一。在具体实现自动微分的过程中,主要有 2 种实现模式,前向和向后微分。前向微分和后向微分为了在数学上方便表达,会引入一个亚克比原理,或者叫做亚克比矩阵。对微分进行表示,不过这仅限于数学表示,实际上实现的过程中更多的是通过以下三种方法实现:1)表达式或者图的方式;2)操作符重载(object-oriented);3)源码转换 AST。最后来去畅想自动微分的未来和挑战,来去回答我们到底要不要学一个 AI 框架呢?学模型算法和原理才是核心?AI 框架未来的核心点机制将会如何演进?如果您想了解更多AI知识,与AI专业人士交流,请立即访问昇腾社区官方网站https://www.hiascend.com/或者深入研读《AI系统:原理与架构》一书,这里汇聚了海量的AI学习资源和实践课程,为您的AI技术成长提供强劲动力。不仅如此,您还有机会投身于全国昇腾AI创新大赛和昇腾AI开发者创享日等盛事,发现AI世界的无限奥秘~ 转载自:【AI系统】自动微分引言 - ZOMI酱的文章 - 知乎 cid:link_1
  • [技术干货] 转载:【AI系统】昇腾推理引擎 MindIE
    本文将介绍华为昇腾推理引擎 MindIE 的详细内容,包括其基本介绍、关键功能特性以及不同组件的详细描述。本文内容将深入探讨 MindIE 的三个主要组件:MindIE-Service、MindIE-Torch 和 MindIE-RT,以及它们在服务化部署、大模型推理和推理运行时方面的功能特性和应用场景。通过本文的介绍,读者将对 MindIE 有一个全面的了解,包括其如何支持 AI 业务的高效运行和模型的快速部署。MindIE 基本介绍MindIE(Mind Inference Engine,昇腾推理引擎)是华为昇腾针对 AI 全场景业务的推理加速套件。通过分层开放 AI 能力,支撑用户多样化的 AI 业务需求,使能百模千态,释放昇腾硬件设备算力。支持多种主流 AI 框架,提供多层次编程接口,帮助用户快速构建基于昇腾平台的推理业务。业界标准 RPC 接口高效对接业务层,支持 Triton 和 TGI 等主流推理服务框架,实现小时级应用部署。提供针对 LLM(transformer)和文生图(SD 模型)的加速参考代码和预置模型,开箱性能业界领先。少量代码实现训练向推理平滑迁移,昇腾训推同构小时级模型迁移,以及 GPU 模型向昇腾 2 人周高效迁移。昇腾推理引擎支持请求并发调度和模型多实例并发调度,支持多种异步下发,多流水执行,实现高效的推理加速。支持从 PyTorch 和昇思对接从训练模型转换推理模型的过程,支持多种推理服务框架和兼容接口。提供基于昇腾架构亲和加速技术,覆盖推理全流程的图转换、组网、编译、推理执行、调试调优接口。已发布 MindIE Service、MindIE Torch、MindIE RT 三个组件。MindIE-ServiceMindIE-Service 针对通用模型的推理服务化场景,实现开放、可扩展的推理服务化平台架构,支持对接业界主流推理框架接口,满足大语言模型、文生图等多类型模型的高性能推理需求。MindIE-Server 作为推理服务端,提供模型服务化能力;MindIE-Client 提供服务客户端标准 API,简化用户服务调用。MindIE-Service 向下调用了 MindIE-LLM 组件能力。MindIE-TorchMindIE-Torch 是针对 Pytorch 框架模型的推理加速插件。Pytorch 框架上训练的模型利用 MindIE-Torch 提供的简易 C++/Python 接口,少量代码即可完成模型迁移,实现高性能推理。MindIE-Torch 向下调用了 MindIE-RT 组件能力。MindIE-RTMindIE-RT 是面向昇腾 AI 处理器的推理加速引擎,提供模型推理迁移相关开发接口及工具,能够将不同的 AI 框架(PyTorch、ONNX 等)上完成训练的算法模型统一为计算图表示,具备多粒度模型优化、整图下发以及推理部署等功能。集成 Transfomer 高性能算子加速库 ATB,提供基础高性能算子,和高效的算子组合技术(Graph)便于模型加速。关键功能特性服务化部署MindIE-Service 是面向通用模型的推理服务化场景,实现开放、可扩展的推理服务化平台架构,支持对接业界主流推理框架接口,满足大语言模型、文生图等多类型模型的高性能推理需求。它的组件包括 MindIE-Server、MindIE-Client、Benchmark 评测工具等,一方面通过对接昇腾的推理加速引擎带来大模型在昇腾环境中的性能提升,另一方面,通过接入现有的主流推理框架生态,逐渐以性能和易用性牵引存量生态的用户向全自研推理服务化平台迁移。支持的特性:支持大模型服务化快速部署。提供了标准的昇腾服务化接口,兼容 Triton/OpenAI/TGI/vLLM 等第三方框架接口。支持 Continuous Batching,PagedAttention。支持基于 Transformer 推理加速库(Ascend Transformer Boost)的模型接入,继承其加速能力,包括融合加速算子、量化等特性。大模型推理提供大模型推理能力,支持大模型业务全流程,逐级能力开放,使能大模型客户需求定制化。Pytorch 模型迁移对接主流 Pytorch 框架,实现训练到推理的平滑迁移,提供通用的图优化并行推理能力,提供用户深度定制优化能力。MindIE-Torch 是推理引擎组件中针对 Pytorch 框架模型的推理加速插件。Pytorch 框架上训练的模型利用 MindIE-Torch 提供的简易 C++/Python 接口,少量代码即可完成模型迁移,实现高性能推理。MindIE-Torch TorchScript 支持以下功能特性支持 TorchScript 模型的编译优化,生成可直接在昇腾 NPU 设备加速推理的 TorchScript 模型。支持静态输入和动态输入,动态输入分为动态 Dims 和 ShapeRange 两种模式。编译优化时支持混合精度、FP32 以及 FP16 精度策略。支持用户自定义 converter 和自定义 pass。支持异步推理和异步数据拷贝。支持与 torch_npu 配套使用,算子可 fallback 到 torch_npu 执行。支持多语言 API(C++、Python)。MindIE-Torch ExportedProgram 支持以下功能特性:支持 ExportedProgram 的编译优化,生成可直接在昇腾 NPU 设备加速推理的 nn.Module 模型。支持静态输入和动态 ShapeRange 输入。编译优化时支持混合精度、FP32、FP16 精度策略。支持异步推理和异步数据拷贝。支持 Python API。推理运行时集成推理应用接口及 Transformer 加速库,提供推理迁移相关开发接口及工具,提供通用优化及并行推理能力》。MindIE-RT(Mind Inference Engine RT,昇腾推理引擎运行时)是针对昇腾 AI 处理器的推理加速引擎,提供 AI 模型推理场景下的商业化部署能力,能够将不同的 AI 框架上完成训练的算法模型统一为计算图表示,具备多粒度模型优化、整图下发以及推理部署等功能。MindIE-RT 集成昇腾高性能算子加速库 ATB,为实现基于 Transformer 的神经网络推理加速引擎库,库中包含了各类 Transformer 类模型的高度优化模块,如 Encoder 和 Decoder 部分。MindIE-RT 专注于为用户提供快速迁移、稳定精度以及极致性能的推理服务,让用户能够脱离底层硬件细节和不同平台框架的差异,专注于推理业务本身,实现高效的模型部署开发。并且专门针对大模型下的 Transformer 架构,提高 Transformer 模型性能,提供了基础的高性能的算子,高效的算子组合技术(Graph),方便模型加速。目前 MindIE-RT 已实现动态输入推理,解析框架模型等功能特性。MindIE-RT 支持以下功能特性支持多语言 API(C++, Python):详情参见 C++编程模型和 Python 编程模型。提供 parser,支持直接导入 AI 框架 ONNX 模型,详情参见解析框架模型。支持 Transformer 算子加速库,集成基础高性能算子,详情可见 ATB 高性能加速库使用。支持丰富的编译时优化方法和运行时优化方法,用户可以在昇腾 AI 处理器上占用较少的内存,部署更高性能的推理业务,提供的优化方法如:精度优化和常量折叠。应用场景MindIE-RT 是基于昇腾 AI 处理器的部署推理引擎,适用于通过 NPU、GPU、CPU 等设备训练的算法模型,为其提供极简易用且灵活的接口,实现算法从训练到推理的快速迁移。目前 MindIE-RT 的快速迁移能力已支持以下业务场景:计算机视觉。自然语言处理。推荐、检索。大模型对话。如果您想了解更多AI知识,与AI专业人士交流,请立即访问昇腾社区官方网站https://www.hiascend.com/或者深入研读《AI系统:原理与架构》一书,这里汇聚了海量的AI学习资源和实践课程,为您的AI技术成长提供强劲动力。不仅如此,您还有机会投身于全国昇腾AI创新大赛和昇腾AI开发者创享日等盛事,发现AI世界的无限奥秘~转载自:cid:link_1
  • [技术干货] 转载:【AI系统】自动微分引言
    内容介绍这一篇幅里面主要是围绕 AI 框架、或者训练平台的自动微分功能。AI 框架中关于自动微分的一个重要性不言而喻,实际上自动微分是贯穿整个 AI 框架的全流程。没有了自动微分,也就没有了 AI 框架最核心的功能。为什么这么说呢?可以想象一下,假设在实现一个神经网络模型的时候,一般开发者只会使用 Pytorch 的 API 实现一个正向的网络表达式,可是网络模型的反向怎么表示呢?实际上除了正向的表示是用户手工的地去构建,反向的表示、自动微分的实现、正反向的链接关系都是由 AI 框架,里面的自动微分功能去实现的。因此说自动微分这个功能在 AI 框架里面是非常的重要。在接下来的内容,主要是了解计算机实现微分的基本概念,其实微分的实现方式分为很多种,有数字微分,符号微分,自动微分。函数的微分是指对函数的局部变化的一种线性描述。微分可以近似地描述当函数自变量的取值作足够小的改变时,函数的值是怎样改变的。微分在数学中的定义:由 y 是 x 的函数 (y=f(x))。从简单的 x-y 座标系来看,自变数 x 有微小的变化量时 (d/dx),应变数 y 也会跟着变动,但 x 跟 y 的变化量都是极小的。当 x 有极小的变化量时,我们称对 x 微分。微分主要用于线性函数的改变量,这是微积分的基本概念之一。在具体实现自动微分的过程中,主要有 2 种实现模式,前向和向后微分。前向微分和后向微分为了在数学上方便表达,会引入一个亚克比原理,或者叫做亚克比矩阵。对微分进行表示,不过这仅限于数学表示,实际上实现的过程中更多的是通过以下三种方法实现:1)表达式或者图的方式;2)操作符重载(object-oriented);3)源码转换 AST。最后来去畅想自动微分的未来和挑战,来去回答我们到底要不要学一个 AI 框架呢?学模型算法和原理才是核心?AI 框架未来的核心点机制将会如何演进?如果您想了解更多AI知识,与AI专业人士交流,请立即访问昇腾社区官方网站https://www.hiascend.com/或者深入研读《AI系统:原理与架构》一书,这里汇聚了海量的AI学习资源和实践课程,为您的AI技术成长提供强劲动力。不仅如此,您还有机会投身于全国昇腾AI创新大赛和昇腾AI开发者创享日等盛事,发现AI世界的无限奥秘~转载:cid:link_1
  • [技术干货] 转载:【AI系统】并行训练基本介绍
    分布式训练是一种模型训练模式,它将训练工作量分散到多个工作节点上,从而大大提高了训练速度和模型准确性。虽然分布式训练可用于任何类型的 AI 模型训练,但将其用于大模型和计算要求较高的任务最为有利。本篇幅将围绕在 PyTorch2.0 中提供的多种分布式训练方式展开,包括并行训练,如:数据并行(Data Parallelism, DP)、模型并行(Model Parallelism, MP)、混合并行(Hybrid Parallel),可扩展的分布式训练组件,如:设备网格(Device Mesh)、RPC 分布式训练以及自定义扩展等。每种方法在特定用例中都有独特的优势。具体来说,这些功能的实现可以分为三个主要组件:分布式数据并行训练(DDP)是一种广泛采用的单程序多数据训练范式。在 DDP 中,模型会在每个进程上复制,每个模型副本将接收不同的输入数据样本。DDP 负责梯度通信以保持模型副本同步,并将其与梯度计算重叠以加速训练。基于 RPC 的分布式训练(RPC)支持无法适应数据并行训练的通用训练结构,例如分布式流水线并行、参数服务器范式以及 DDP 与其他训练范式的组合。它有助于管理远程对象的生命周期,并将自动微分引擎扩展到单个计算节点之外。提供了在组内进程之间发送张量的功能,包括集体通信 API(如 All Reduce 和 All Gather)和点对点通信 API(如 send 和 receive)。尽管 DDP 和 RPC 已经满足了大多数分布式训练需求,PyTorch 的中间表达 C10d 仍然在需要更细粒度通信控制的场景中发挥作用。例如,分布式参数平均,在这种情况下,应用程序希望在反向传播之后计算所有模型参数的平均值,而不是使用 DDP 来通信梯度。这可以将通信与计算解耦,并允许对通信内容进行更细粒度的控制,但同时也放弃了 DDP 提供的性能优化。通过充分利用这些分布式训练组件,开发人员可以在各种计算要求和硬件配置下高效地训练大模型,实现更快的训练速度和更高的模型准确性。如果您想了解更多AI知识,与AI专业人士交流,请立即访问昇腾社区官方网站https://www.hiascend.com/或者深入研读《AI系统:原理与架构》一书,这里汇聚了海量的AI学习资源和实践课程,为您的AI技术成长提供强劲动力。不仅如此,您还有机会投身于全国昇腾AI创新大赛和昇腾AI开发者创享日等盛事,发现AI世界的无限奥秘~转载自:cid:link_1
  • [技术干货] 转载:【AI系统】昇腾推理引擎 MindIE
    本文将介绍华为昇腾推理引擎 MindIE 的详细内容,包括其基本介绍、关键功能特性以及不同组件的详细描述。本文内容将深入探讨 MindIE 的三个主要组件:MindIE-Service、MindIE-Torch 和 MindIE-RT,以及它们在服务化部署、大模型推理和推理运行时方面的功能特性和应用场景。通过本文的介绍,读者将对 MindIE 有一个全面的了解,包括其如何支持 AI 业务的高效运行和模型的快速部署。MindIE 基本介绍MindIE(Mind Inference Engine,昇腾推理引擎)是华为昇腾针对 AI 全场景业务的推理加速套件。通过分层开放 AI 能力,支撑用户多样化的 AI 业务需求,使能百模千态,释放昇腾硬件设备算力。支持多种主流 AI 框架,提供多层次编程接口,帮助用户快速构建基于昇腾平台的推理业务。业界标准 RPC 接口高效对接业务层,支持 Triton 和 TGI 等主流推理服务框架,实现小时级应用部署。提供针对 LLM(transformer)和文生图(SD 模型)的加速参考代码和预置模型,开箱性能业界领先。少量代码实现训练向推理平滑迁移,昇腾训推同构小时级模型迁移,以及 GPU 模型向昇腾 2 人周高效迁移。昇腾推理引擎支持请求并发调度和模型多实例并发调度,支持多种异步下发,多流水执行,实现高效的推理加速。支持从 PyTorch 和昇思对接从训练模型转换推理模型的过程,支持多种推理服务框架和兼容接口。提供基于昇腾架构亲和加速技术,覆盖推理全流程的图转换、组网、编译、推理执行、调试调优接口。已发布 MindIE Service、MindIE Torch、MindIE RT 三个组件。MindIE-ServiceMindIE-Service 针对通用模型的推理服务化场景,实现开放、可扩展的推理服务化平台架构,支持对接业界主流推理框架接口,满足大语言模型、文生图等多类型模型的高性能推理需求。MindIE-Server 作为推理服务端,提供模型服务化能力;MindIE-Client 提供服务客户端标准 API,简化用户服务调用。MindIE-Service 向下调用了 MindIE-LLM 组件能力。MindIE-TorchMindIE-Torch 是针对 Pytorch 框架模型的推理加速插件。Pytorch 框架上训练的模型利用 MindIE-Torch 提供的简易 C++/Python 接口,少量代码即可完成模型迁移,实现高性能推理。MindIE-Torch 向下调用了 MindIE-RT 组件能力。MindIE-RTMindIE-RT 是面向昇腾 AI 处理器的推理加速引擎,提供模型推理迁移相关开发接口及工具,能够将不同的 AI 框架(PyTorch、ONNX 等)上完成训练的算法模型统一为计算图表示,具备多粒度模型优化、整图下发以及推理部署等功能。集成 Transfomer 高性能算子加速库 ATB,提供基础高性能算子,和高效的算子组合技术(Graph)便于模型加速。关键功能特性服务化部署MindIE-Service 是面向通用模型的推理服务化场景,实现开放、可扩展的推理服务化平台架构,支持对接业界主流推理框架接口,满足大语言模型、文生图等多类型模型的高性能推理需求。它的组件包括 MindIE-Server、MindIE-Client、Benchmark 评测工具等,一方面通过对接昇腾的推理加速引擎带来大模型在昇腾环境中的性能提升,另一方面,通过接入现有的主流推理框架生态,逐渐以性能和易用性牵引存量生态的用户向全自研推理服务化平台迁移。支持的特性:支持大模型服务化快速部署。提供了标准的昇腾服务化接口,兼容 Triton/OpenAI/TGI/vLLM 等第三方框架接口。支持 Continuous Batching,PagedAttention。支持基于 Transformer 推理加速库(Ascend Transformer Boost)的模型接入,继承其加速能力,包括融合加速算子、量化等特性。大模型推理提供大模型推理能力,支持大模型业务全流程,逐级能力开放,使能大模型客户需求定制化。Pytorch 模型迁移对接主流 Pytorch 框架,实现训练到推理的平滑迁移,提供通用的图优化并行推理能力,提供用户深度定制优化能力。MindIE-Torch 是推理引擎组件中针对 Pytorch 框架模型的推理加速插件。Pytorch 框架上训练的模型利用 MindIE-Torch 提供的简易 C++/Python 接口,少量代码即可完成模型迁移,实现高性能推理。MindIE-Torch TorchScript 支持以下功能特性支持 TorchScript 模型的编译优化,生成可直接在昇腾 NPU 设备加速推理的 TorchScript 模型。支持静态输入和动态输入,动态输入分为动态 Dims 和 ShapeRange 两种模式。编译优化时支持混合精度、FP32 以及 FP16 精度策略。支持用户自定义 converter 和自定义 pass。支持异步推理和异步数据拷贝。支持与 torch_npu 配套使用,算子可 fallback 到 torch_npu 执行。支持多语言 API(C++、Python)。MindIE-Torch ExportedProgram 支持以下功能特性:支持 ExportedProgram 的编译优化,生成可直接在昇腾 NPU 设备加速推理的 nn.Module 模型。支持静态输入和动态 ShapeRange 输入。编译优化时支持混合精度、FP32、FP16 精度策略。支持异步推理和异步数据拷贝。支持 Python API。推理运行时集成推理应用接口及 Transformer 加速库,提供推理迁移相关开发接口及工具,提供通用优化及并行推理能力》。MindIE-RT(Mind Inference Engine RT,昇腾推理引擎运行时)是针对昇腾 AI 处理器的推理加速引擎,提供 AI 模型推理场景下的商业化部署能力,能够将不同的 AI 框架上完成训练的算法模型统一为计算图表示,具备多粒度模型优化、整图下发以及推理部署等功能。MindIE-RT 集成昇腾高性能算子加速库 ATB,为实现基于 Transformer 的神经网络推理加速引擎库,库中包含了各类 Transformer 类模型的高度优化模块,如 Encoder 和 Decoder 部分。MindIE-RT 专注于为用户提供快速迁移、稳定精度以及极致性能的推理服务,让用户能够脱离底层硬件细节和不同平台框架的差异,专注于推理业务本身,实现高效的模型部署开发。并且专门针对大模型下的 Transformer 架构,提高 Transformer 模型性能,提供了基础的高性能的算子,高效的算子组合技术(Graph),方便模型加速。目前 MindIE-RT 已实现动态输入推理,解析框架模型等功能特性。MindIE-RT 支持以下功能特性支持多语言 API(C++, Python):详情参见 C++编程模型和 Python 编程模型。提供 parser,支持直接导入 AI 框架 ONNX 模型,详情参见解析框架模型。支持 Transformer 算子加速库,集成基础高性能算子,详情可见 ATB 高性能加速库使用。支持丰富的编译时优化方法和运行时优化方法,用户可以在昇腾 AI 处理器上占用较少的内存,部署更高性能的推理业务,提供的优化方法如:精度优化和常量折叠。应用场景MindIE-RT 是基于昇腾 AI 处理器的部署推理引擎,适用于通过 NPU、GPU、CPU 等设备训练的算法模型,为其提供极简易用且灵活的接口,实现算法从训练到推理的快速迁移。目前 MindIE-RT 的快速迁移能力已支持以下业务场景:计算机视觉。自然语言处理。推荐、检索。大模型对话。如果您想了解更多AI知识,与AI专业人士交流,请立即访问昇腾社区官方网站https://www.hiascend.com/或者深入研读《AI系统:原理与架构》一书,这里汇聚了海量的AI学习资源和实践课程,为您的AI技术成长提供强劲动力。不仅如此,您还有机会投身于全国昇腾AI创新大赛和昇腾AI开发者创享日等盛事,发现AI世界的无限奥秘~转载自:【AI系统】昇腾推理引擎 MindIE - ZOMI酱的文章 - 知乎 cid:link_1
总条数:6603 到第
上滑加载中