边缘上的智能工作负载-三-

42 阅读14分钟

边缘上的智能工作负载(三)

原文:annas-archive.org/md5/cf1c514fc195509bf857eb68a0104572

译者:飞龙

协议:CC BY-NC-SA 4.0

附录 1 – 答案关键

本附录提供了本书各章节末尾问题集的答案关键。有些问题是开放式的,即它们没有明确的正确或错误答案。对于这些问题,我们提供了样本回答供您评估。

第一章

  1. 任何模拟世界与数字世界之间的互操作都是物理-网络解决方案。边缘解决方案可能包括物理-网络接口,并且与网络拓扑中心最远的其他实体进行互操作。

  2. 现在作为边缘解决方案的汽车内置无线通信,用于与远程服务交换消息,以记录运行时操作和接收软件更新。例如,特斯拉公司电动汽车从第一天起就被设计成智能边缘解决方案,除了机械车辆之外。

  3. 不,电话最初是一种机械装置。尽管它将模拟音频转换为电脉冲,但这些数据最初并没有用计算机进行处理。我们第一章**,《机器学习驱动的数据驱动边缘简介》*中对物理-网络状态的定义是硬件和软件结合以产生结果。

  4. 边缘解决方案至少包含一个传感器或执行器,用于与模拟世界交互,一定量的计算能力用于处理数据或指令,并在某一时刻与至少一种其他实体进行交互。

  5. 在边缘交付智能工作负载所需的三个主要工具是用于编排边缘软件的运行时、机器学习模型和库,以及与其他实体通信的方法。

  6. 在边缘运行机器学习模型的关键好处包括:处理数据时延迟降低、通过本地自主性提高可用性、减少传输到远程服务的成本节省,以及更多符合数据治理要求的支持。

  7. 智能家居解决方案的主要角色是最终消费者(房主、居民或解决方案能力的受益者)。

  8. 机器学习驱动的边缘解决方案在家中的另一个潜在用例是辅助生活。需要额外生命体征监测的人可以从本地机器学习的低延迟和数据治理中受益。

  9. 工业解决方案的主要角色是工业设备的操作员和维护人员。

  10. 工业解决方案的另一个用例是优化设备使用,以最大限度地减少磨损或最大化设备输出。工业设备通常需要自主运行,这意味着边缘机器学习解决方案可以在需要做出决策时独立于任何可能不可用的远程服务运行。

  11. 不,通常物联网架构师负责协调机器学习模型在边缘的部署和运行,但不负责它们的整体准确性。物联网架构师与数据科学家和产品所有者合作,以帮助协调整体解决方案的有效性,这与其成功训练和测试的机器学习模型的成功密切相关。

第二章

  1. 在边缘机器学习解决方案中,使用独立服务是组织代码的最佳实践。根据项目需求,单体应用有时可能是正确的选择。

  2. 在边缘架构中解耦服务的优点是限制这些服务的行为范围。一个简单的单一用途服务更容易编写、维护和重用。

  3. 将你的代码和依赖项与其他服务隔离的好处是确保你不会在服务之间有任何依赖冲突。

  4. 评估有线和无线网络时,一个关键的权衡点是功耗。无线通信需要更多的能量来传输和接收消息。如果整体解决方案是无线的话,这通常意味着依赖于本地电池电源供电。

  5. 同时使用传感器和执行器的智能家居设备是电动车库门。这些设备使用断路传感器来检测当电机执行器关闭门时,门路径上是否有任何物体。

  6. 定义物联网 Greengrass 组件的资源有两种:配方和工件。

  7. 错误 – 组件不需要工件。组件的所有逻辑都可以包含在配方生命周期脚本中。

  8. 物联网 Greengrass 默认使用根系统用户来存储和执行组件,这样其他系统用户就不能与你的组件文件交互。这有助于确保你的代码在设备上运行时未被篡改。

  9. 正确 – 组件可以本地部署到物联网 Greengrass 设备,也可以通过远程部署。在项目的原型阶段,本地部署更为常见。

  10. 这里介绍三种不同的方法来更新Hello, world组件:启动一个新的部署并合并新的组件配置,覆盖消息键,更新配方中的默认配置并重新部署,以及更新脚本工件以使用新的字符串并重新部署。

第三章

  1. 边缘解决方案中常见的三种网络拓扑是星型、总线型和树型。混合拓扑在图中的局部区域混合使用这些拓扑。

  2. 错误 – 物联网 Greengrass 不在 OSI 模型的第 1 层运行,尽管一些自定义组件可能与之交互。

  3. 使用发布/订阅模型交换消息的好处是解耦了解决方案中其他设备或组件的跨感知,将交互性从特定设备寻址方案转移到主题地址。

  4. 是的——物联网 Greengrass 可以同时作为消息客户端(到云)和消息代理(到本地设备和组件)。

  5. {"temperature": 70} 消息是结构化数据的例子,并且是可序列化的。

  6. 来自摄像头的图像数据是未结构化数据的例子。它不可序列化,将以二进制数据的形式传输。

  7. 网络路由器被入侵的最坏情况是中间人攻击,你的个人数据可能被窃取或篡改。因为流量看起来像正常处理一样,这可能意味着攻击未被检测到。

  8. 验证两个网络设备之间真实性的缓解策略是公钥基础设施。

  9. 在网关设备上保护 root 访问权限很重要,这样受保护的资源和代码就不会被篡改。

  10. 在边缘解决方案的每个组件中使用容器的一个缺点是整体磁盘和内存空间增加。在每种情况下使用容器可能不符合你的设备要求。

  11. 物联网 Greengrass 提供了一个内置服务,称为进程间通信IPC),以允许组件交换消息。

  12. 使传感器和执行器解决方案更安全的一种方法是将允许的 IPC 主题限制为仅用于解决方案的特定主题,而不是使用通配符。

  13. 为了重新设计这个解决方案,添加一个将解释传感器结果的三组件,这个新组件将订阅传感器的发布主题,并将命令发布到新的主题。执行器组件随后需要更新以订阅这个新主题。

第四章

  1. 静态资源是指在多个设备部署中不发生变化,并且在部署后也不发生变化的数据。例如,代码工件是静态资源,部署后不应更改,也不应在单个部署中按设备更改。动态资源在部署、安装或运行时获取,并且每次获取或本地更改后可能都不同。例如,智能家居设备的客户特定配置是动态资源,它将被获取并因设备而异。

  2. 物联网 Greengrass 组件工件存储在Amazon Simple Storage ServiceAmazon S3)中,以便在配方文件中进行参考。

  3. 在组件中注册后,您不能修改存储在云中的工件。这将破坏计算摘要并标记给物联网 Greengrass,表明工件不安全使用。

  4. 部署后不能覆盖工件文件,因为这些被认为是静态资源。预期这些工件保持不变,因为新的部署将替换任何更改。工件部署应该是幂等的。

  5. 正确 – 设备可以属于多个物组,每个物组可以定义一个活动部署。

  6. 一个设备用于接收来自多个物组的部署的用例是将通用组件应用于所有设备(例如日志记录或健康分析)以及特定组件应用于设备子集。

  7. 正确 – 单个组件可以同时重置配置和合并新配置。

  8. Moquette 组件部署一个本地 MQTT 代理以连接叶设备。

  9. 设备阴影组件同步边缘和云之间的状态。

  10. MQTT 桥组件在通信通道之间中继消息,例如 MQTT、IPC 和云。

  11. 物联网传感器向 MQTT 主题发布消息。MQTT 桥将其中继到 IPC 主题。机器学习推理组件订阅 IPC 主题并分析数据以确定警告状态。机器学习推理组件将新的警告消息发布到 IPC 主题。一个可以访问设备音频输出通道的组件订阅警告消息并根据接收到的警告播放声音。

第五章

  1. 错误 – 数据建模适用于所有类型的数据库。

  2. 执行数据建模练习的好处是选择合适的存储解决方案,如数据库和模式。

  3. ETL 架构对于边缘解决方案的相关性在于我们可以根据数据速度(Lambda 架构)定义多个数据处理路径。例如,一个边缘解决方案可以检查单个传感器测量值以检测警告峰值,同时将大量测量值转发到云以进行更便宜的存储。

  4. 错误 – Lambda 架构是一个与亚马逊网络服务提供的同名服务不同的模式。

  5. 在边缘进行数据处理的一个好处是在接近源头的嘈杂模拟数据上进行数据清洗和过滤步骤,在云上传输和存储数据之前,因为数据可能根本不会被使用。

  6. Greengrass 运行所需的最小组件是核心。

  7. 错误 – 管理实时处理的流适用于边缘和云。

  8. 为了在边缘持久化数据更长时间,配置一个具有最便宜存储类型的数据池解决方案,例如本地磁盘。

第六章

  1. 领域驱动设计对于边缘工作负载的两个好处如下:

    • 在多层系统中数据移动时保持高质量数据的高标准

    • 通过使交付解决方案的团队更容易理解和熟练掌握他们正在工作的上下文来最小化开发者的开销。

  2. 错误 – 有界上下文和通用语言是领域驱动设计中不同的概念。

  3. 与数据湖或数据仓库相比,拥有操作数据存储的好处是可以在操作数据存储中索引和查询特定事件和交易。如果所有交易数据都作为原始输入存储在数据湖中,则必须有一些额外的层来将此输入映射到它所代表的事件。

  4. Lambda 设计模式将流式处理和批量工作流程结合在一起。

  5. 数据湖策略可以用于在云中转换原始数据。

  6. 错误 – 管理服务封装的 NoSQL 数据库提供读取和写入数据的 API。

  7. 中介拓扑用于那些由中央协调器指导的一系列步骤的场景。代理拓扑用于数据生产者和消费者可以更自由地交换数据和响应事件的场景。

  8. 使用无服务器函数处理物联网数据的一个好处是,只有在有物联网数据要处理时才会消耗计算资源。另一个好处是,根据物联网数据的激增规模来扩展计算资源。

  9. 可以使用 商业智能BI)工具,如 Amazon QuickSight、Microsoft Power BI 和 Tableau,将数据提供给最终消费者。

  10. 错误 – JSON 不是大数据处理中最优化的数据格式。更好的例子是 Apache ORC 和 Parquet。

  11. 在操作数据存储之上的 API 接口可能是一个无服务器的 HTTP API,它接受日期范围、设备 ID 和传感器的参数,然后对数据存储执行优化的查询以返回结果。

第七章

  1. 错误 – 机器学习系统类型不止两种。

  2. 四种机器学习系统是监督学习、无监督学习、半监督学习和强化学习。它们的效用取决于我们对输入数据的了解程度,以及我们是否在为特定结果进行训练或试图查看算法在噪声中可以发现什么。

  3. 错误 – K-means 是一种聚类算法。

  4. 机器学习项目生命周期的三个阶段是数据收集、数据准备和建模。

  5. 两个用于训练机器学习模型的框架是 TensorFlow 和 MXNet。

  6. AWS IoT Greengrass 是将训练好的模型从云端部署到边缘的工具。

  7. 错误 – Greengrass 提供了准备好的图像分类管理组件。

  8. 机器学习和物联网工作负载的一个反模式是设定一个期望,即一个人拥有数据准备、机器学习训练和将解决方案部署到边缘的专长。

第八章

  1. 使用 DevOps 方法论来开发更具敏捷性的物联网工作负载是一种策略。

  2. 错误 – DevOps 是一种方法论,首先设计新的工具来支持更快、更高品质的软件交付的好处。

  3. 物联网工作负载中 DevOps 的两个挑战如下:

    • 边缘设备位于偏远地区,通常在我们的直接控制之外。

    • 我们不能像在云中的虚拟机上那样,丢弃因不良变更而损坏的边缘环境并重新开始。

  4. AWS IoT Greengrass、CloudFormation 和 Terraform 等工具用于在边缘和云之间设计 DevOps 工作流程。

  5. 正确 – 在边缘容器和 AWS Lambda 函数中运行代码提供了类似的好处(尽管每个都有独特的独特好处)。

  6. 使用 MLOps 与 IoT 工作负载相结合的三个好处是生产力(加快训练和部署的迭代)、可靠性(使用 CI/CD 实践提高部署质量)和可审计性(实现输入和输出的端到端可见性)。

  7. MLOps 工作流程的不同阶段是设计、模型开发和运营。

  8. 正确 – MLOps 和相关工具链的生态系统较新,不如 DevOps 生态系统成熟。

  9. AWS 提供了 SageMaker Edge Manager 服务,用于在边缘执行 MLOps。

第九章

  1. 错误 – 设备注册是分配身份的过程,而设备激活是指它首次上线时。

  2. 可以使用证书颁发机构与 Greengrass 一起为设备群配置证书。我可以使用自己的证书颁发机构,使用 AWS 的,或者使用第三方供应商的。

  3. 设备可以通过实时过程进行配置,例如设备群配置和 AWS IoT Core 的即时配置。

  4. 错误 – 除了指标和日志之外,还有进一步的监控技术,例如心跳监控。

  5. 使用仪表板查看整个设备群的好处是能够在一个地方识别异常并对其采取行动,从而加快识别和解决问题的速度。

  6. 针对远程故障排除的缓解策略是设置反向隧道会话,以便操作员可以在不牺牲防止入站连接安全性的情况下通过网络与设备交互。

  7. AWS IoT Greengrass 提供了管理组件,如 LogManager、CloudWatch 和核心遥测发射器。

  8. 错误 – 指标聚合可以在边缘设备上执行。不需要在云中完成。