构建者日志:从零开始准备 AWS Machine Learning

发布: (2025年12月20日 GMT+8 06:57)
12 min read
原文: Dev.to

Source: Dev.to

请提供您希望翻译的完整文本内容(除代码块和 URL 之外),我将把它翻译成简体中文并保持原有的 Markdown 格式。

介绍

我喜欢分享我在准备认证过程中的经验,尤其是当目标是 构建判断力 而不仅仅是通过考试时。归根结底,价值不在于证书本身,而在于过程中获得的知识以及这些知识如何转化为职业成长。

我目前专注于获取 AWS 的 Machine LearningAI Developer 认证,并且遵循最佳实践,仔细阅读每个考试的官方指南。

在这篇日志中,我记录了我用来落地那些在单独学习时往往显得抽象的概念的路径。多次在认证考试中,我会遇到之前已经练习过的细节,这正是我确认 通过动手学习真的能产生差异 的时刻。

通过这一系列文章,我分享这一过程,以便如果你刚开始在 AWS 上学习机器学习,能够依托真实的经验和实用的方式来走好这条学习之路。

为什么数据格式很重要?

我想先从一个通常看起来次要——甚至乏味——的话题说起,但它对实验室、模型训练以及当然对认证都有直接影响:数据格式

在考试中常见的问题并不是评估某个算法,而是评估选择如何在 AWS 的机器学习工作流中存储、处理和使用数据的能力。在实际场景中,格式的选择直接影响:

  • 过程的性能
  • 相关成本
  • 解决方案的可扩展性

考试的第一个领域涉及Data Preparation for Machine Learning,其中包括数据摄取和存储等活动。在此背景下会出现已验证的数据格式未验证的数据格式,正如官方考试指南中所描述的那样。

超越记忆定义,这一领域旨在让你培养判断力,以便:

  • 何时在不同格式之间做出选择
  • 哪些工作负载类型最适合特定格式
  • 在机器学习工作流的哪些使用场景中适用
  • 哪些 AWS 服务和工具兼容或不兼容该格式

理解这些要点不仅能帮助你回答考试题目,还能在构建真实的 AWS 机器学习解决方案时做出更好的决策。

关键概念

在深入了解各种数据格式及其优势之前,先澄清一些在 AWS 机器学习考试中经常出现的概念非常重要。

概念描述
已验证格式AWS 原生支持的格式,可用于训练、处理或推理,并且其使用方式已在相应服务(例如 Amazon SageMaker)中正式文档化。
未验证格式虽然可以存储在 Amazon S3 或其他 AWS 服务中,但 需要额外的转换 才能在机器学习工作流中使用的格式。
内部组织方式格式可以根据是按 行(row‑based) 还是 列(column‑based) 存储信息进行分类。这一差异直接影响在机器学习中的性能和成本。

实用类比:宝可梦卡牌

日常示例 – 我的儿子是宝可梦卡牌收藏家。我利用他的爱好来说明 row‑basedcolumn‑based 格式之间的区别。

面向行的方式(row‑based)

每张卡牌作为一个完整的单元存储,所有属性都在一起:

卡牌类型稀有度
A电属性普通
B龙属性稀有
C超能力特殊

适用场景:

  • 想要查看特定的一张卡牌。
  • 需要了解 某张卡牌的所有 特征。
  • 逐张添加新卡牌。

这种方式对处理 单条记录 很高效,但在一次性分析大量卡牌时并不理想。

面向列的方式(column‑based)

卡牌的属性分别存储:

名称类型稀有度等级
电属性普通
龙属性稀有
超能力特殊

适用场景:

  • 想要找出 所有 某种类型的卡牌。
  • 想分析收藏中稀有度的分布。
  • 在大批卡牌中寻找模式或趋势。

这就像把收藏重新组织以便 分析:不是逐张查看,而是把属性聚合起来,以便快速比较。

数据格式在 AWS 中的对比表

格式组织方式是否已验证典型使用场景是否压缩常用 AWS 服务备注
JSON基于行事件摄取、半结构化数据、API默认不压缩(可压缩)S3, Kinesis, Lambda, SageMaker可供人类阅读。支持结构化和半结构化数据。解析延迟更高,体积开销更大。
CSV基于行小型数据集、原型、初始加载默认不压缩(可压缩)S3, SageMaker, Glue不支持模式或复杂结构。易于生成和消费,但在大规模时效率不高。
RecordIO二进制在 SageMaker 中的优化训练SageMaker二进制序列化,高效且顺序读取。不可供人类阅读。需要预处理。
Parquet列式

注意: Parquet 行在原始材料中不完整;保持原样以保留内容完整性。

结论

掌握不同的数据格式并了解何时使用它们,对通过认证考试以及在 AWS 上设计高效且具成本效益的机器学习解决方案都至关重要。在接下来的文章中,我们将深入探讨每种格式的优势、限制以及在 AWS 生态系统中的最佳实践。请继续与我们一起踏上这段实用学习之旅!

AWS 数据格式概览

以下是 AWS 机器学习和数据分析流水线中常用数据格式的对比表。表格保持原始信息,但使用 Markdown 进行更好的可读性。

格式存储类型是否列式典型用途是否支持流式常用服务备注
CSV行式简单表格,导入/导出S3、SageMaker、Athena、Glue非常易于生成,兼容大多数服务,但没有压缩和列式存储。
JSON行式半结构化数据,APIS3、SageMaker、Athena、Glue灵活,但在部分读取和压缩方面效率较低。
Parquet列式大规模分析和机器学习训练S3、Glue、Athena、SageMaker列式压缩 → 只读取所需列,降低 I/O 和成本。
Avro行式流式处理,数据交换S3、Kafka(MSK)、Glue在 Kafka 流水线中广泛使用;需要预先转换才能在 SageMaker 中直接训练。

注意: 并非所有 SageMaker 内置算法都直接支持所有格式;例如,有些算法期望使用 Parquet 或 CSV 格式的数据。

评估标准表(考试)

此表概述了考试评估的最重要标准之一:并非所有格式都适用于所有场景。正确选择意味着要了解数据量、处理类型以及涉及的 AWS 服务。

标准为什么重要
数据量列式格式(Parquet)在仅使用部分列时可减少 I/O。
处理类型行式(CSV/JSON)更适合轻量级的摄取和转换;列式更适合分析查询和模型训练。
AWS 服务Athena 和 Glue 原生读取 Parquet;SageMaker 可以使用 CSV、JSON 和 Parquet,但效率各有差异。
流式 vs 批处理Avro 针对流式(Kafka)进行优化,而 Parquet 则面向批处理。

案例实践:机器学习训练格式选择

题目
一家公司正在 AWS 上构建机器学习流水线,以使用存储在 Amazon S3 中的数 TB 数据集训练分类模型。团队需要缩短训练时间并最小化 I/O 成本,因为模型只使用数据集中的部分列。

选项描述
A. CSV易于生成且兼容大多数 AWS 服务。
B. JSON能够灵活处理半结构化数据。
C. Parquet以列式方式存储数据,并且只读取所需列。
D. Avro在分布式系统中进行数据交换时高效。

正确答案

C. Parquet

理由
Parquet 是一种 列式 并且压缩的格式,能够让训练和分析过程仅读取模型所需的列。这显著降低 I/O,提升性能并降低成本,尤其在使用 Amazon S3 大规模数据以及 Amazon SageMakerAthenaAWS Glue 等服务时。

其他可能的场景

  • 实时事件 / 摄取 → 在这种情况下,支持流式的 基于行 格式(例如 Avro)比 Parquet 更合适。
  • 训练前的轻量转换 → 如果转换很少且兼容性优先,CSV 或 JSON 可能有用。

快速思维导图(用于考试和实际项目)

[Formato] → [Orientación] → [Uso principal] → [Servicios compatibles]
CSV      → Row‑based   → Tablas simples          → S3, SageMaker, Athena, Glue
JSON     → Row‑based   → Semi‑estructurados      → S3, SageMaker, Athena, Glue
Parquet  → Column‑based→ Análisis/ML a gran escala → S3, Glue, Athena, SageMaker
Avro     → Row‑based   → Streaming / intercambio → S3, Kafka (MSK), Glue

结论

理解 何时使用面向行或面向列的格式,区分 已验证和未验证的格式,并识别 每种格式在流水线中的目的,可以培养考试所要评估的判断标准。这一判断标准在设计生产环境中的机器学习解决方案时,会转化为更准确的技术决策。

这只是日志的第一步。从这里开始,重点将放在如何转换、准备和使用这些数据上。

Back to Blog

相关文章

阅读更多 »

仓库利用的权威指南

引言 仓库本质上只是一个 3‑D 盒子。利用率只是衡量你实际使用了该盒子多少的指标。虽然物流 c...