AI工程与实践
文章平均质量分 93
AI工程与实践
昇思MindSpore
这个作者很懒,什么都没留下…
展开
-
项目分享 | 如何通过MindNLP将HuggingFace Datasets嫁接到昇思MindSpore
MindNLP的开发大概也有小一年时间了,整体而言面临着诸多的问题,并且还伴随着LLM带来的一系列冲击和挑战。作为一个依赖昇思MindSpore向上生长的后来者NLP框架,其实也要考虑怎么扩大生态的问题。还是那句俗话——打不过就加入。不过对于开源世界而言,又何谈加入,你中有我我中有你才是常态,况且在前两天Pytorch2.1+Ascend官宣的这个当口,生态嫁接毫无疑问是最优解。闲话就到这,进入正题。原创 2023-10-25 15:09:56 · 172 阅读 · 0 评论 -
论文精讲 | 基于昇思MindSpore实现多域原型对比学习下的泛化联邦原型学习
昇思MindSpore作为一个开源的AI框架,为产学研和开发人员带来端边云全场景协同、极简开发、极致性能,超大规模AI预训练、极简开发、安全可信的体验,2020.3.28开源来已超过5百万的下载量,昇思MindSpore已支持数百+AI顶会论文,走入Top100+高校教学,通过HMS在5000+App上商用,拥有数量众多的开发者,在AI计算中心,金融、智能制造、金融、云、无线、数通、能源、消费者1+8+N、智能汽车等端边云车全场景逐步广泛应用,是Gitee指数最高的开源软件。原创 2023-10-25 14:32:28 · 277 阅读 · 0 评论 -
MindSpore AI科学计算系列 | 基于深度学习模型来替代传统DFT模型以及DeephE3模型的分析综述
近年来深度学习在计算量子化学领域取得了重大进展,现有的深度学习方法已经证明了其在解决各种具有挑战性的量子力学模拟任务方面的效率和表现力,随着当今算力的不断增加,深度学习和第一性原理方面结合越来越深,从基本的物理学定律出发,在原子和电子的尺度结合等变神经网络来预测量子领域的值,尤其是在DFT领域里,也诞生了一些深度学习模型,例如DeephE3,QhNet, 这些网络都是基于等变网络来预测DFT哈密顿量。(2)例如有一个三维原子的结构,我们要去用神经网络去预测他的各种性质,例如势能,电子数量,受力方向。原创 2023-10-25 14:28:40 · 157 阅读 · 0 评论 -
项目分享 | 如何通过昇思MindSpore实现强化学习玩游戏
摘要论文网址:https://paperswithcode.com/paper/playing-atari-with-deep-reinforcement01 用Pycharm创建虚拟环境项目项目代码和训练结果上传到百度网盘了,可以先下载下来,但是由于虚拟环境太大了所以没有上传,需要自己下载安装一遍,具体操作可以查看下文介绍。链接:https://pan.baidu.com/s/1zoh0glqH4xcNSbOUuR2r7g?pwd=00wd提取码:00wd首先使用Pycharm创建一个新项目,然后如下原创 2023-10-25 14:25:16 · 130 阅读 · 0 评论 -
基于昇思MindSpore实现的时空超分辨率CycMuNet+,显著提高视频画质
论文标题CycMuNet+: Cycle-Projected Mutual Learning for Spatial-Temporal Video Super-Resolution论文来源CVPR2022/TPAMI论文链接https://openaccess.thecvf.com/content/CVPR2022/papers/Hu_Spatial-Temporal_Space_Hand-in-Hand_Spatial-Temporal_Video_Super-Resolution_via_Cycle-P原创 2023-10-25 14:22:12 · 133 阅读 · 0 评论 -
打通科学智能任督二脉 | AI4Science高频模型套件:MindSpore SciAI 0.1发布
MindSpore SciAI 0.1版本内置了60+高频SOTA模型,覆盖物理感知(如PINNs、DeepRitz以及PFNN)和神经算子(如FNO、DeepONet、PDENet)等主流模型,模型覆盖度全球第一;使用AutoModel.train实现模型的训练,并且在训练前,可使用AutoModel.update_config调整训练参数或加载.ckpt文件实现模型微调。MindSpore SciAI提供了丰富的AI4Science高频模型,下图汇总了当前已实现的网络模型及其对应领域。原创 2023-10-25 14:19:39 · 160 阅读 · 0 评论 -
论文精讲 | 基于昇思MindSpore Quantum搭建量子神经网络分类器
幅度编码中,待训练数据进行归一化之后,以量子态幅度的形式输入到含参量子线路中,使用的比特数量与数据长度为对数关系。块编码中,训练数据作为参数,编码到ansatz的含参量子门中,需要的比特数与数据长度和线路深度相关。ansatz中分为参数层和纠缠层两部分,四种ansatz参数层选取一致,纠缠层分别由CZ、CNOT、两层CNOT、多体系统下的时间演化构建。下,不同的线路深度和ansatz对应的四种数据集的分类表现为下表,Ent1、Ent2、Ent3分别为前面提到三种纠缠线路(a)、(b)、(c)。原创 2023-06-06 15:20:48 · 192 阅读 · 0 评论 -
论文精讲 | 当深度学习遇见软件工程,源代码预训练模型调查分类汇总
即与其从头开始训练模型(即使用随机初始化的网络权重),通常需要大量特定于任务的注释数据,不如先在一个或多个所谓的自监督任务(即可以自动生成注释数据的任务,因此大量训练数据容易获得)上对其进行预训练,然后可以以通常的监督方式使用(潜在少量的)任务特定的注释训练数据来精细调整所得到的预训练模型以学习目标任务。因此,同时预训练对数据和任务有最严格的要求,因为它要求对于每个数据实例,所有的预训练任务都可以在一次前向传播中完成,以便它们的损失可以相加形成最终的优化目标,并在后向传播过程中联合最小化。原创 2023-05-10 15:48:54 · 450 阅读 · 0 评论 -
AI设计模式 | 如何通过昇思MindSpore实践分布式并行模式
取模是有损操作,特征哈希模式将不同的分类放到了同一个桶中,损失了数据的准确性。除了BroadCast和AllReduce算子外,还有AllGather(将每张卡的输入Tensor在第0维度上进行拼接,最终每张卡输出是相同的数值)、ReduceScatter(将每张卡的输入先进行求和,然后在第0维度按卡数切分,将数据分发到对应的卡上)、AlltoAll(将输入数据在特定的维度切分成特定的块数,并按顺序发送给其它rank,同时从其它rank接收输入,按顺序在特定的维度拼接数据)等算子,方便多种数据并行的需求。原创 2023-03-23 17:10:07 · 372 阅读 · 0 评论 -
AI科学计算系列 | 非定常气动力代理模型及在增升装置的应用
除此之外,在时域中,研究人员考虑将代理模型在一定时间内的历史输出作为输入向量的一部分,随时间逐个预测非定常气动力的信息,训练参数时依然采用传统神经网络的前馈反向传播算法(FFBP),仅根据神经网络结构逐层递推参数梯度,相关研究包括,Winter采用带有输出反馈的局部神经模糊模型(NFM)进行多步前向预测,MLP神经网络作为一种后验方法,用于对NFM的时间序列响应进行非线性准静态校正,实现了气动力的非线性辨识;非定常气动力的早期建模主要基于势流理论、涡理论的简化,推导经验公式、常微分方程或积分方程。原创 2023-03-13 10:20:09 · 404 阅读 · 0 评论 -
【AI工程论文解读】05-通过Ease.ML/CI实现机器学习模型的持续集成(下)
持续集成是一种软件开发实践,即团队开发成员经常集成他们的工作,通常每个成员每天至少集成一次,也就意味着每天可能会发生多次集成。每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽快地发现集成错误。许多团队发现这个过程可以大大减少集成的问题,让团队能够更快的开发内聚的软件。在上一篇《》文中,我们介绍了ease.ml/ci的系统设计和基本实现,本篇将主要分享基于ease.ml/ci进行的优化和实验。原创 2022-12-12 11:26:09 · 490 阅读 · 0 评论 -
【AI工程论文解读】04-通过Ease.ML/CI实现机器学习模型的持续集成(上)
作者:王磊更多精彩分享,欢迎访问和关注:https://www.zhihu.com/people/wldandan在上一篇《【AI工程论文解读】03-DevOps for AI-人工智能应用开发面临的挑战》文中,我们介绍了DevOps和ML工作流结合的解决方案和实践。本篇论文《Continuous Integration Of Machine Learning Models With Ease.ML/CI: Towards A Rigorous Yet Practical Treatment》,将分享一个原创 2022-12-05 13:59:46 · 459 阅读 · 0 评论 -
【AI工程】08-MLOps工具-在Charmed Kubeflow上运行MindSpore
这是MindSpore和Charmed Kubeflow集成的第一步,后续我们还将持续的把MindSpore更多能力集成到Charmed Kubeflow中,方便开发者能在MlOps平台上更方便的使用MindSpore。原创 2022-11-21 09:54:08 · 578 阅读 · 0 评论 -
【AI工程论文解读】03-DevOps for AI-人工智能应用开发面临的挑战
ML是近十年来发展迅速、最有前途的技术,几乎应用于所有商业领域和研究领域。在许多领域(如医疗诊断),与传统应用程序相比,ML在提供结果方面表现出优势,并在某些活动中表现出优于人类智慧。这些趋势引发了对数据、AI科学家以及软件开发人员的巨大需求。早期研究表明,构建算法(即开发ML模型)只是成功开发并运行基于AI的软件系统所需全部工作的一小部分。ML软件实现与传统软件的区别在于,它们的逻辑不是显式编程的,而是通过从数据中学习自动创建的。原创 2022-11-15 10:53:28 · 838 阅读 · 0 评论 -
深入了解MindSpore训练推理框架设计
在本篇博客中,笔者将围绕MindSpore的Model类的相关代码,对MindSpore的训练流程设计和推理流程设计进行深入的解读,并且结合相应的代码,以分割任务为例,给读者介绍如何使用Model.train和Model.eval构建复杂任务的训练测试流程设计。而在MindSpore的训练中,往往会限制用户对所得到的输出进行一些复杂的后处理,往往会陷入图模式的限制(事实上为了得到更好的训练性能,图模式的选择是必须的),这就导致了框架使用的易用性和用户想得到的高性能从本质上产生了冲突。原创 2022-11-07 11:23:30 · 376 阅读 · 0 评论 -
【AI设计模式】06-分布式并行模式(Distribution Strategy)
就是将训练的过程扩展到多个worker,并借助缓存、硬件加速、并行等技术手段,加速模型训练效率,通常有。原创 2022-10-24 10:55:33 · 246 阅读 · 0 评论 -
【AI工程】05-基于MindSpore的Resnet-50模型分布式训练实践
在上一篇文章《为什么AI需要分布式并行?》中,我们介绍了AI算力为什么需要分布式并行、分布式并行的策略、以及MindSpore框架实现自动、半自动并行的原理。在本篇文章中,我们尝试基于MindSpore,使用自动并行策略完成Resnet-50模型的分布式训练,该实践步骤如下所示。准备数据集:下载Cifar019数据集作为训练数据集。配置分布式环境:配置昇腾910 8卡环境。调用集合通信库:引入HCCL,完成多卡间通信初始化。加载数据集:基于数据并行模式加载训练数据集。原创 2022-10-21 11:40:05 · 1041 阅读 · 0 评论 -
【AI工程论文解读】02-聊聊机器学习系统中的技术债
近年来,AI相关技术快速演进,正加快与千行百业深度融合。如何构建一个稳定可靠的机器学习系统至关重要。当前在构建机器学习系统时,开发者们更多关注于算法优化和技术创新,较少关注如何构建稳定的系统。谷歌的工程师们基于大量的机器学习系统构建和维护经验,于2015年发表了《Hidden Technical Debt in Machine Learning Systems》论文,并列举了构建机器学习系统时,可能存在的Technical Debt(技术债)。原创 2022-10-09 09:16:42 · 213 阅读 · 0 评论 -
【AI工程】04-为什么AI需要分布式并行?
在前面一系列文章中,我们先后介绍了如何启动一个机器学习项目、如何处理数据、以及如何设计开发网络。接下来,我将继续介绍如何有效进行模型训练。模型训练对算力的要求较高,在当前的AI领域,训练的数据规模和模型参数正呈现越来越大的趋势,单个设备的算力已经无法支撑模型的高效训练。因此,需要引入来解决单个设备算力不足的问题。本篇文章将探讨为什么需要分布式并行、分布式并行的策略、以及MindSpore分布式并行的实现机制和优势。原创 2022-09-29 11:18:18 · 824 阅读 · 0 评论 -
【AI工程论文解读】01-面向AI使能系统的软件工程课程体系
人工智能(AI),包括ML和数据分析的子领域,是许多开发者和师生们感兴趣的热门话题。然而,尽管人工智能课程比比皆是,如高校课程以及许多在线MOOC教程,但我们会发现,在构建涉及AI的完整系统时,AI教育通常侧重于算法和技术,通常局限于优化模型精度。很少有课程关注AI与软件工程方面的结合。因此,逐渐兴起一门新兴学科-AI工程,通俗的讲,AI工程是一系列方法、工具和实践的集合,确保AI模型/软件的高效交付,具备可信、健壮性及可解释性,并持续地为用户创造价值。原创 2022-09-13 11:04:04 · 590 阅读 · 0 评论 -
【MindSpore易点通·漫游世界】在WSL的Ubuntu 22.04上一键安装MindSpore GPU 1.7.0踩坑记
它居然要重新下载cuda的安装盘。再重新执行:PYTHON_VERSION=3.9 CUDA_VERSION=11.1 MINDSPORE_VERSION=1.7.0 bash -i ./ubuntu-gpu-pip.sh。再重新执行:PYTHON_VERSION=3.9 CUDA_VERSION=11.1 MINDSPORE_VERSION=1.7.0 bash -i ./ubuntu-gpu-pip.sh。看来只有魔改shell了,将ubuntu-gpu-pip.sh中的gcc-7改为gcc-9。原创 2022-09-05 14:39:48 · 236 阅读 · 0 评论 -
【AI设计模式】05-检查点模式(CheckPoints):如何定期存储模型?
是指通过周期性(迭代/时间)的保存模型的完整状态,在模型训练失败时,可以从保存的检查点模型继续训练,以避免训练失败时每次都需要从头开始带来的训练时间浪费。检查点模式适用于模型训练时间长、训练需要提前结束、fine-tune等场景,也可以拓展到异常时的断点续训场景。原创 2022-09-05 14:28:13 · 1262 阅读 · 0 评论 -
【AI设计模式】04-数据处理-Eager模式
在流水线模式中,需要定义map算子,并将数据增强的算子交给map算子调度,由其负责启动和执行(可并行)给定的数据增强算子,对数据管道的数据进行映射变化。如下图,和流水线模式相比,Eager模式不需要构建数据处理的流水线,开发更加直接简单。然后混用vision模块中的c_tranforms与py_transforms的算子,对给定图像进行变换(),vision算子的Eager模式支持numpy.array或PIL.Image类型的数据作为入参,过程中不需要构建数据的管道。操作的时候才涉及数据增强算子的执行。.原创 2022-08-29 10:59:33 · 194 阅读 · 0 评论 -
【AI设计模式】03-数据处理-流水线(Pipeline)模式
但在运行的过程中会占用比较多的系统资源,包括CPU、内存,以ImageNet的训练为例,内存占用可以达到30-50GB,因此,对于训练数据量较小、训练资源不足或者推理场景(零散样本)的场景,并不适合流水线模式,此时可以考虑使用Eager模式用串行的方式直接调用数据处理的算子完成数据处理。基于流水线模式执行的最大特点是需要定义map算子,如下面的数据流水线中,map算子负责调度Resize、Crop、HWC2CHW的启动和执行,对数据管道的数据进行映射变换。引至《计算机体系结构基础》 第三版第九章。原创 2022-08-23 09:21:20 · 1914 阅读 · 0 评论 -
【AI设计模式】02-数据表示-嵌入(Embeddings)模式
在具体的实践中,会将高维的稀疏独热编码向量映射到低维空间的密集向量,体现出数据的关联度,并且嵌入层的权重可以视为模型的优化参数。文章中,我们介绍了特征哈希模式,它通过哈希桶对分类数据进行降维,侠小说,其包含金庸的《射雕英雄传》、《倚天屠龙记》、古龙的《天涯明月刀》、梁羽生的《七剑下天山》、黄易的《寻秦记》,如果使用特征哈希模式(根据书名中是否出现武器进行哈希),会将这些书放到2个哈希桶里:桶A:(倚天屠龙记、天涯明月刀、七剑下天山)、桶B(射雕英雄传、寻秦记 )。,它通过新增神经网络的隐藏层,......原创 2022-08-18 10:22:43 · 1135 阅读 · 0 评论 -
【AI设计模式】机器学习设计模式概述
数据的类型多种多样,但对于机器学习来说,输入的数据必须是数值型的数据,数据转换的方法或者过程被称作是数据表示。神经网络有很多种类型,面向不同的领域,比如用于图像分类的卷积神经网络,用于对象检测和跟踪的网络、用于自然语言处理的网络等等,通过将网络的构建结构化,形成通用的模式,可以让开发者或者科研人员能更快的基于网络模式的框架,实现快速的创新。传统软件的设计模式侧重于解决业务代码封装抽象问题,无法对AI软件开发关心的重点问题产生实质性的帮助,所以需要拓展新的设计模式来解决AI领域常见的开发问题。......原创 2022-08-04 16:12:10 · 245 阅读 · 0 评论 -
【AI设计模式】01-数据表示-特征哈希(Feature Hashed)模式
数据是机器学习的生命线,对数据的有效管理是AI中重要的工程实践。在《原创 2022-07-20 14:53:04 · 535 阅读 · 0 评论 -
【AI工程】02-AI工程(AI Engineering)面面观
在《01.AI工程(AI Engineering)初探》中,我们介绍了为何Gartner要把AI工程化作为未来重要战略技术趋势之一,这是因为AI软件与传统软件之间存在根本性差异,简单照搬传统软件工程方法来解决AI领域的问题是行不通的,因此需要发展新的工程技术来支撑AI大规模、平民化的落地。本篇中,我们将进一步对AI工程进行解读,主要包括:“软件工程”这一名词诞生于1968年,它的出现是为了克服当时出现的“软件危机”,目标是通过系统化、规范化、可度量的工程方法,来确保软件项目的进度、成本和质量能够达到预期。原创 2022-07-13 19:10:32 · 1910 阅读 · 0 评论 -
【AI工程】01-开篇词:AI工程(AI Engineering)初探
一、最近在探索MindSpore,也对AI工程相关技术做了些分析,关于“这个趋势”,个人认为有两个驱动因素:1) 传统的软件工程无法直接适用于AI软件的开发由于AI软件(软件2.0)同 传统软件(软件1.0) 在实现上存在较大差异(实现方式、开发流程等),因此传统的软件工程方法并不完全适用AI软件开发。2) AI工程化是AI大规模发展的必经之路任何一个行业、企业,只要有场景,有积累的数据,有算力,都可以落地AI应用,但落地效率、周期会远超预期。AI工程的出现,正好能弥补这个短板。进一步,随着AI大原创 2022-07-05 17:02:28 · 312 阅读 · 0 评论