不要只关注算法与模型,这里有份产品级深度学习开发指南

tensorboard的可视化及模型可视化 待整理How to Check-Point Deep Learning Models in KerasLossWise Tensorboard 中文社区谷歌发布TensorBoard API,让你自定义机器学习中的可视化 查找tensorflow安装的位置pip show tensorflow-gpuName: tensorflow-gpu Version: 1.0.1 Summary: Tens 阅读详情
深度学习模型距离实际的应用往往还十分遥远,选择合适的工具进行开发、部署和测试十分重要,这份面向互联网产品经理和开发者的技术指南,可以帮助你寻找到合适的解决方案。
众所周知,深度学习模型仅仅只是构建 AI 产品的重要步骤,但并不是全部。一个互联网产品(如 APP)想要集成深度学习能力,往往还需要走完很多设计、开发和测试方面的工作。如何部署深度学习往往成为了系统设计中更关键的问题。
近日,GitHub 上有这样一个项目,专门介绍了如何将深度学习算法和模型融入到互联网产品中。项目基本以流程、架构图为主,目前仍在完善中,适合产品经理和开发者学习。
项目地址:https://github.com/alirezadir/Production-Level-Deep-Learning
深度学习产品架构概览
训练深度学习模型不及在生产阶段部署算法模型那样困难。如图所示,模型仅仅只是整个系统中的一部分。

在深度学习模型之前,有配置、服务基础设施、数据获取、特征抽取等步骤,而在其之后则有数据验证、分析、监控、流程管理和机器资源管理等。生产级别的深度学习应用非常复杂。
而涉及这些环节的程序、应用、工具和硬件则更加复杂多样,因此需要遵循特定的流程和步骤,选择合适的工具进行项目。

为了介绍必要的产品构建流程,项目作者将其分为多个部分,包括数据管理、开发训练评估、测试等步骤。
数据管理
数据管理是产品级深度学习应用需要解决的第一个问题。选择合适的工具,可以保证模型获得稳定、标注正确、平衡的数据。
数据源
怎样获取数据?这是一个常见的问题。通常有以下三种方法:
  • 使用公开数据——刚开始构建产品的时候可以使用;

  • 数据增强,如图像数据的旋转裁剪等;

  • 合成数据;

数据标注
正确的数据标注对模型的影响非常大,会影响着整个应用的性能。
标注数据的工作可以交给人工进行,或使用标注平台辅助。
  • 人工标注

    •  众包;

    •  数据标注公司: FigureEight、雇佣专门的标注人员

  • 标注平台:

    • Prodigy :一个由 Spacy 团队开发者开发的标注工具,使用主动学习,适用于文本和图像数据;

    • HIVE:AI 标注平台,针对图像数据;

    • Supervisely:计算机视觉数据标注平台;

    • Labelbox:计算机视觉标注;

    • Scale:AI 数据平台,适用于计算机视觉和 NLP 领域。

         

数据存储
数据存储则需要选择合适服务器和数据库,方便业务使用。
  • 按对象存储:(即将数据存储为二进制数据,包括图像、音频文件和压缩文本)

    •  Aamzon S3 

    •  Ceph Object Store

  • 数据库:(保存存储文件路径、标签和用户活动等信息)

    • Postgres:对大部分应用都适用的数据库,支持 SQL 和无结构 json 文件;

  • 数据湖:(用于收集数据库获得不了的特征,如日志)

    • Amazon Redshift

  • 特征存储:(保存机器学习的特征)

    • FEAST:基于谷歌云,目前已开源;

    • Michelangelo:Uber 的开源平台;

版本控制
  • DVC:开源的机器学习版本控制工具;

  • Pachyderm:数据版本控制;

  • Dolt:SQL 数据库的版本控制;

处理流程
  • 训练生产级模型时,通常会将不同来源的数据提取出来,包括存储在数据库和对象存储中的数据、日志,以及其他分类器的输出结果;

  • 此外,如果不同任务之间有依赖,则需要在上一个任务完成后将其移除出工作流;

  • 工作流管理:Airflow

开发、训练和评估
在这一阶段,项目开发者需要选择合适的工具,对深度学习模型、应用框架等进行开发。
软件工程
  • 编辑器

    • Vim

    • Emacs

    • VS Code (https://code.visualstudio.com/)

    • 有着内置的 git 和 diff 工具,可以通过 ssh 远程打开项目;

    • Jupyter Notebook:适合项目的开始阶段,但是扩展较困难;

    • Streamlit:交互式数据科学工具;

    

  • 开发设备推荐配置

    • 对于个人和初创公司:开发用 4 核图灵架构电脑;训练和评估用同样的 4 核带 GPU 的电脑,如果需要运行很多实验,可以购买云服务;

    •  对大型公司:开发上每个机器学习工程师都可以配备 4 核图灵架构电脑,或者直接使用 V100 等服务器;训练和评估则购买云服务,并配置合适的运行环境和崩溃处理机制。

资源管理

  • 资源管理的作用在于向系统中的任务提供计算资源,提高效率;

  • 资源管理工具:

    • 集群任务管理系统(如 Slurm);

    • Docker + Kubernetes;

    • Kubeflow;

    • Polyaxon (付费版本)。

深度学习框架
  • 除非有充分的理由,否则使用 Tensorflow/Keras 或 PyTorch;

  • 以下图表表示了不同框架在「开发」到「生产」的程度:

实验管理
开发、训练和评估流程:
  • 从简单的方法开始:训练一个小模型,使用小批的数据。如果这一方法可行,则扩展到更大的数据量和模型上,然后进行调参;

  • 实验管理工具:

    • Tensorboard;

      • 提供机器学习可视化工具;

    •  Losswise :用于深度学习监控;

    •  Comet:可以让用户追踪代码、实验和结果;

    •  Weights & Biases :记录并可视化研究的每个细节;

    •  MLFlow Tracking:用于记录参数、代码版本、评估指标和输出文件,并可视化结果。

调参

调参则是很重要的一个步骤,能让模型发挥更好的效果。
  • Hyperas:Keras 的超参数算子的简单封装,能够提供一个超参范围供开发者调整;

  • SIGOPT :可扩展的企业级优化平台;

  • Ray-Tune:可扩展的研究平台,能够进行分布式模型选择(主要关注深度学习和深度强化学习);

  • Sweeps from Weights & Biases:参数不会被开发者显式地定义,而是通过一个机器学习模型进行拟合和学习。

分布式训练
  • 数据并行:如果迭代时间过长,则使用数据并行(TensorFlow 和 PyTorch 都支持);

  • 模型并行:当模型无法在单个 GPU 上拟合的时候使用;

  • 其他解决方案:

    • Ray;

    • Horovod。

测试和部署
产品级深度学习的测试和部署需要完成以下几个步骤:
测试和 CI/CD
与传统软件相比,机器学习生产软件需要更加多样化的测试套件:

  • 单元和集成测试类型

    • 训练系统测试:测试训练管道;

    • 验证测试:测试验证集上的预测系统;

    • 功能测试:在少数重要的示例上测试预测系统。

  • 持续集成:在每次新的代码更改推送到 repo 之后,运行测试;

  • 用于持续集成的 SaaS(软件即服务):

    • CircleCI, Travis;

    • Jenkins, Buildkite。

    

网络部署
这里包括预测系统和服务系统:
  • 预测系统:处理输入数据和进行预测

  • 服务系统(网络服务器):

    •  为预测考虑规模;

    •  使用 REST API 来预测 HTTP 请求;

    •  调用预测系统做出响应。

  • 服务选项:

    • 部署到 VMs,并通过添加实例实现扩展

    • 作为容器进行部署,并通过编排(orchestration)实现扩展;

      • 容器(Docker)

  • 容器编排(最流行的 Kubernetes、MESOS 和 Marathon)

    • 将代码部署为「无服务器函数」;

    • 通过模型服务解决方案进行部署。

模型服务
  • 为 ML 模型进行专门的网络部署

  • 批量请求 GPU 推理

  • 框架(TensorFlow 服务、MXNet 模型服务器、Clipper 和 SaaS 解决方案)

决策制定
  • CPU 推理

    •  如果满足需求,则最好选择 CPU 推理;

    •  通过添加更多服务器或选择无服务器来实现扩展。

  • GPU 推理

    • TF 服务或 Clipper;

    • 自适应批处理是有用的。

监测
  • 目的:防止宕机、错误等;

  • 捕捉服务和数据恶化的问题;

  • 测试云供应商的解决方案是否有效。

在嵌入和移动设备上部署

  • 主要挑战:内存占用和计算约束

  • 解决方案

    • 量化

    • 缩减模型大小(MobileNets)

    • 知识蒸馏(DistillBERT)

  • 嵌入式和移动端框架:

    • Tensorflow Lite

    • PyTorch Mobile

    • Core ML

    • ML Kit

    • FRITZ

    • OpenVINO

  • 模型转换

    • 开放神经网络交换(Open Neural Network Exchange,ONNX):用于深度学习模型的开源格式

一体化解决方案

  • Tensorflow Extended (TFX)

  • Michelangelo (Uber)

  • Google Cloud AI Platform

  • Amazon SageMaker

  • Neptune

  • FLOYD

  • Paperspace

  • Determined AI

  • Domino data lab

在这里,作者提供了一张对比图,用于说明不同的技术选型的优劣势。

转自:机器之心 


【深度学习 算法】深度学习算法工程师必备技能:从理论到实践的全面指南 在人工智能飞速发展的今天,深度学习算法工程师成为了科技行业的热门职业。想要成为一名优秀的深度学习算法工程师,你需要掌握一系列的关键技能。以下是本文将为您介绍的必备技能,从理论到实践,助你一臂之力。 阅读详情

相关推荐

LLM 大模型产品经理学习指南:【2024 全新版】极致详细,一篇搞定!

随着人工智能技术的蓬勃发展,尤其是大模型(Large Model)的强势兴起,越来越多的企业对这一领域愈发重视并加大投入。作为大模型产品经理,需具备一系列跨学科的知识与技能,方能有效地推动产品的开发、优化以及市场化进程。以下是一份详尽的大模型产品经理学习路线,旨在助力你构建所需的知识体系,实现从零基础到精通的蜕变。一、基础知识阶段(一)计算机科学基础数据结构与算法:深入理解基本的数据结构(如数组、链表、树、图等)以及常用算法(如排序、查找、递归等)。

2401_86518761的博客 2048

算法与模型的浅析

讨论问题的前提是概念的澄清,概念的混淆是研发沟通中的一大障碍,极大地影响了沟通的效率。在人工智能尤其是机器学习领域,算法和模型是两个相关而又有区别的两个概念,弄清二者的含义和联系可以使我们讨论的问题更加明确。什么是算法?在计算机领域,算法有着明确的定义。为了通俗起见,这里引用百度百科对算法的描述:算法(Algorithm)是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令,算法代表着用系统...

我相信...... 2385

AI+互联网产品开发技能:数据分析、机器学习、深度学习、产品设计、产品运营

2020年全球新冠疫情席卷全球。疫情期间互联网行业迅速崛起。线上线下形成了巨大的市场,如在线学习、直播、短视频、金融、电商、O2O等。在这样的背景下,如何用人工智能技术进行优化布局、降低成本、提升效益,成为很多互联网公司的命门关头?这就是今天,我将带领大家一起讨论AI+互联网产品开发的一系列重要技术及应用场景。AI+互联网产品开发,主要包括以下五大类技能:数据分析、机器学习、深度学习、产品设计、产品运营。其中,数据分析和产品设计将是最基础的技能,也是AI+互联网产品开发的基石。

AI天才研究院 3040

简单好上手的深度学习模型训练的软件

随着人工智能的不断发展,遥感监测技也在从费时耗力的地毯式网格监测模式逐渐过渡到AI自动提取,但通用模型不太能满足本地的业务。想要自己训练个模型,但代码学习太浪费时间。FeatureStation内置样本制作样本管理模型训练影像预测精度评价·、影像处理矢量处理快速筛查SAM模型矢量编辑等功能。AI(智能解译子系统):内嵌深度学习模型,同时提供模型训练的功能。Filter(图斑筛查子系统):实现了AI智能提取的变化图斑与成果文件的筛查功能、可以进行标注、删除、矢量编辑。Editer(人机交互采集编辑子系统)

qq_68149836的博客 1463

大数据领域数据产品的深度学习应用

本分析深入探讨深度学习在大数据领域数据产品开发中的理论基础、架构设计与实践应用。通过第一性原理推导,揭示了大数据与深度学习协同演进的内在逻辑,构建了从数据采集到价值交付的完整技术栈。文章系统分析了分布式深度学习架构的核心挑战,提供了可扩展特征工程的方法论框架,并通过行业案例展示了实际实施路径。特别关注了模型效率优化、实时推理架构和MLOps实践等关键问题,为构建高性能、可维护的智能数据产品提供了全面技术指南。数据维度挑战体量(Volume):PB级数据处理与存储的计算效率问题速度(Velocity)

AIGC应用创新大全的博客 1192

数学建模方法详解--16种常用算法

数学建模方法详解,选取数学建模中常用的16种算法,例如,主成分析法、因子分析法、聚类分析法等。文档从方法概述,方法原理,方法模型等多个角度出发,解释详细。

讲道理,我觉得TensorFlow太逊了

原作:Nico Jimenez 安妮 编译自 Nico’s Blog 量子位 出品 | 公众号 QbitAI 本文作者Nico Jimenez。自2015年从斯坦福辍学后,他创造了图像处理API Mathpix,每月为全球数百万用户处理近2000万张图像。此外,他还创造了Mathpix内部机器学习监测和分析方案Losswise。目前,Losswise公开可用。 这篇文章译自Nico

量子位 939

MediaCodec视频解码流程详解及参考demo

本文主要讲解mediacodec的视频解码流程,及demo参考例子。

分享音视频技术 7877

深度学习流行框架对比

Why TensorFlow? 下面将对比一下比较流行的几个深度学习框架,分别是Caffe、Theano、PyTorch、Tensorflow和Keras。希望能有利于你选用框架。 1.Caffe 第一个主流的生产级的深度学习库,始于2014年加州大学伯克利分校。 优点 快速 支持GPU 良好的Matlab和Python接口 缺点 不灵活。在Caffe中,每个节点都被视...

hiudawn 1383

3GPP LTE/NR信道模型

CDL(Clustered Delay Line):簇延迟线模型,包括CDL-A、CDL-B、CDL-C三个用于NLOS的信道模型,以及CDL-D、CDL-E两个用于LOS的信道模型。

LinkEverything的博客 1万+

Java:使用Java调用打印机进行打印(JPG、PDF和Word三种文件格式)

目录 一、Java的打印简介 二、Java打印实现 2.1 JPG图片文件格式打印实现 2.2 PDF文件格式打印实现 2.3 Word文件格式打印实现 2.3.1 Word文件采用jacob插件进行打印实现。 2.3.2 先将word转化为pdf文件,然后打印pdf(lz使用) 三、总结 一、Java的打印简介 在我们的实际工作中,经常需要实现打印功能。但由于历史原因,Jav...

vatxiongxiaohui的专栏 8万+

产品经理的AI大模型实战指南:驾驭未来,引领创新

产品经理的AI大模型实战指南》是一份专为产品经理量身打造的实战指南,旨在帮助产品经理们深入了解AI大模型,掌握其应用场景和实战技巧。通过本指南的学习和实践,产品经理们将能够驾驭AI大模型的力量,引领产品创新和市场竞争的新潮流。在这个充满变革和机遇的时代里,让我们一起拥抱AI大模型,开启智能时代的新篇章!那么,我们该如何学习大模型?作为一名热心肠的互联网老兵,我决定把宝贵的AI知识分享给大家。至于能学习到多少就看你的学习毅力和能力了。

2401_84495872的博客 1485

Calibre LVS 问题解析

LVS常见问题与解决办法

m0_61544122的博客 2万+

开源亮点:DL-Text 深度学习文本预处理库

开源亮点:DL-Text 深度学习文本预处理库 在这个信息爆炸的时代,深度学习在自然语言处理(NLP)领域中的应用愈发重要,而数据的预处理作为整个流程的第一步,其质量和效率直接影响着最终模型的表现和结果。今天要向大家介绍的是一个强大的开源项目——DL-Text。 一、项目简介 DL-Text是一个专注于深度学习场景下文本预处理的Python库,它不仅提供了全面的数据清洗和特征提取功能,还包含了训练...

gitblog_00020的博客 1127

手把手教你学Simulink--使用Simulink进行双冗余电机驱动系统的故障切换验证

提高系统可靠性:当一个电机或其驱动器出现故障时,另一个可以立即接管,避免系统停机。增强安全性:对于一些关键任务的应用场景(如飞行控制),确保即使在硬件故障情况下也能维持基本操作能力。简化维护:允许在不影响系统正常工作的情况下进行维护和更换故障部件。确定可能发生的故障类型(如过流、欠压、温度过高),以及每种故障对应的条件。通过上述步骤,我们简要介绍了如何基于Simulink实现双冗余电机驱动系统的故障切换验证。

MHD0815的博客 447

移花接木,玩转CANoe的几种扩展接口应用(五)——串口设备

近期看到粉丝朋友在CANoe自动化测试方面的关注度很大,今天就围绕这个做一个专题,总结一下以往项目上用过的几种CANoe扩展接口,分享出来希望对相关领域的网友有所帮助。本文是该专题的第五篇文章,主要讲解了串口设备的功能配置、连接方法、配置方法、调用方法,最后分析了这种扩展借口应用的特点和适用场景。

Mr.Cssust的博客 2371

保姆级教程:深度学习线上算法开发「环境配置」指南|极市

自定义镜像就是在平台基础上再加上自己的手动配置。(在“个人中心”-“开发环境管理”进行设置)自定义镜像不仅可以随时修改、随时保存,还可以在后续所有极市平台的在线开发任务中直接使用。

2301_76168381的博客 1123

【全网最新OD题库】2026华为 OD 机试C卷 机考真题库清单(全真题库)含考点说明(华为OD+2025年C卷+2025年B卷+2025年A卷+E卷+D卷+C卷)

华为od机试,华为od机试真题,华为od机试E卷,华为odE卷,华为od机试真题E卷,华为OD,华为OD机试,华为OD机试真题,华为od机考,华为od机试D卷,华为od机试真题D卷,华为od手撕代码,华为od,华为od机试C卷,华为od e卷,华为2024e卷,od机试,2024E卷,华为OD机试E卷,什么是华为od,华为od介绍,全面了解华为od,2024华为od,如何备战华为od,华为od算法,华为od手撕代码,华为OD机试2024年最新题库,一文带你读懂华为OD,华为机试e卷,华为OD2025B卷、华

KJ.JK 3万+

【深度学习基础】深度学习导论

本文介绍深度学习的相关概述,包括机器学习的关键组件和各种问题,深度学习的起源、发展、成功案例和特点。

Morse_Chen的博客 3123

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

AI产品经理大模型完全指南:从小白到专家的收藏级学习手册

本文系统介绍AI产品经理角色定位、与传统产品经理的区别及2025年行业趋势,重点解析大语言模型(LLM)技术原理、主流产品对比与提示工程技巧,构建技术、产品、管理三维技能图谱,详述AI产品开发全流程方法论,为小白和程序员提供从入门到精通的AI产品能力培养路径与实用学习资源。

2401_85154887的博客 806

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

LLM大模型产品经理终极学习指南:2025全新版,普通产品经理需要学习大模型,转大模型产品经理!

随着人工智能技术的蓬勃发展,尤其是大模型(Large Model)的强势兴起,越来越多的企业对这一领域愈发重视并加大投入。作为大模型产品经理,需具备一系列跨学科的知识与技能,方能有效地推动产品的开发、优化以及市场化进程。以下是一份详尽的大模型产品经理学习路线,旨在助力你构建所需的知识体系,实现从零基础到精通的蜕变。一、基础知识阶段(一)计算机科学基础数据结构与算法:深入理解基本的数据结构(如数组、链表、树、图等)以及常用算法(如排序、查找、递归等)。

2401_84494441的博客 1061

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

AI产品经理都该懂的底层逻辑----通用大模型

通用大模型正成为企业智能化转型的核心工具,其价值不仅在于技术突破,更在于重塑产品逻辑与用户体验。对产品经理而言,掌握其能力边界与应用方法,将是未来竞争的关键。需关注技术动态(如多模态融合、垂直领域深化),同时平衡创新与风险(如隐私保护、伦理问题)。

weixin_72959097的博客 1405

AI产品经理与传统产品经理的区别,大模型时代产品经理进阶指南

AI产品经理与传统产品经理的核心差异主要体现在职责范围、工作重心和技术要求上。AI产品经理需具备机器学习等技术知识,专注于解决效率问题,主要面向企业服务,工作涉及Prompt工程、模型选型等。相比之下,传统产品经理更关注市场需求和产品生命周期管理。文章还提供了成为AI产品经理的学习路径,包括掌握AI技术边界、业务场景适配等能力,并附有相关学习资源。随着AI技术发展,AI产品经理的角色将更加重要。

2401_84204207的博客 429

【超全收藏】AI产品经理修炼手册:大模型技术认知与产品开发全流程指南

本文系统介绍AI产品经理的角色定位、必备技术认知、技能图谱及产品开发全流程。作为连接AI技术与商业价值的关键桥梁,AI产品经理需掌握大语言模型原理、提示工程等核心技术,同时具备产品思维和管理能力。文章详细阐述了AI产品从规划、设计、开发到迭代的生命周期,强调评估与优化的重要性,为AI产品经理提供了全面的成长路径和方法论。

Android_XG的博客 724
上一篇: MIT线性代数(Linear Algebra)中文笔记
下一篇: Scikit-learn 核心开发人员专访:建立机器学习工作流最容易犯这2点错误
Wang_AI
博客等级 码龄12年 997粉丝 162原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值