Press "Enter" to skip to content

“在5个步骤中开始使用Google Cloud平台”

“在5个步骤中开始使用Google Cloud平台” 四海 第1张

Google Cloud Platform 简介

 

本文旨在为数据科学和机器学习提供使用Google Cloud Platform(GCP)入门的逐步概述。我们将介绍GCP及其用于分析的关键功能,介绍帐户设置,探索诸如BigQuery和Cloud Storage等重要服务,构建一个示例数据项目,并使用GCP进行机器学习。无论您是初次接触GCP还是希望快速回顾,继续阅读以了解基础知识并开始使用Google Cloud。

 

GCP 是什么?

 

Google Cloud Platform 提供了一系列云计算服务,帮助您在Google的基础设施上构建和运行应用程序。对于计算能力,有计算引擎可让您启动虚拟机。如果您需要运行容器,Kubernetes 可以胜任。BigQuery 处理您的数据仓库和分析需求。而云 ML 提供了经过预训练的机器学习模型,通过 API 可应用于视觉、翻译等领域。总体而言,GCP 旨在为您提供所需的构建组件,以便您专注于创建优秀的应用程序,而无需担心基础架构。

 

GCP 在数据科学中的优势

 

GCP 在数据分析和机器学习方面具有以下几个优势:

  • 可扩展的计算资源,能处理大数据工作负载
  • BigQuery 等托管服务可以大规模处理数据
  • 拥有 Cloud AutoML 和 AI Platform 等高级机器学习功能
  • 完整集成的分析工具和服务

 

GCP 与 AWS 以及 Azure 的比较

 

与亚马逊网络服务(Amazon Web Services)和微软 Azure 相比,GCP 在大数据、分析和机器学习方面具有突出优势,并且提供诸如 BigQuery 和 Dataflow 之类的托管服务用于数据处理。AI Platform 可以轻松训练和部署机器学习模型。总体而言,GCP 具有具有竞争力的定价,是数据驱动应用的首选。

 

特点 Google Cloud Platform(GCP) 亚马逊网络服务(AWS) 微软 Azure
定价* 具有持续使用折扣的具有竞争力的定价 按小时定价,预留实例折扣 按分钟定价,预留实例折扣
数据仓库 BigQuery Redshift Synapse Analytics
机器学习 Cloud AutoML,AI Platform SageMaker Azure Machine Learning
计算服务 计算引擎,Kubernetes 引擎 EC2,ECS,EKS 虚拟机,AKS
无服务器服务 Cloud Functions,App Engine Lambda,Fargate Functions,Logic Apps

*请注意,我们在此处进行了必要的简化以进行定价模型。AWS和Azure也提供类似GCP的持续使用或承诺使用折扣;定价结构复杂,并且可以根据多种因素大大变化,因此鼓励读者进一步研究以确定他们的实际成本可能是什么。

在此表中,我们根据定价、数据仓库、机器学习、计算服务和无服务器服务等各种特性比较了Google Cloud Platform、Amazon Web Services和Microsoft Azure。这些云平台都有自己独特的服务和定价模型,满足不同的业务和技术要求。

步骤1:设置您的GCP帐号

创建Google Cloud帐号

要使用GCP,首先注册Google Cloud帐号。访问主页,然后单击“免费试用”。按照提示使用您的Google或Gmail凭据创建帐号。

创建计费帐户

接下来,您需要设置计费帐户和付款方式。这样可以让您使用超出免费套餐的付费服务。转到控制台中的计费部分,按照提示添加您的计费信息。

了解GCP定价

GCP提供慷慨的12个月免费套餐,包括300美元的信用额。这允许无需费用使用关键产品如Compute Engine、BigQuery等。请查看定价计算器和文档以估计实际成本。

安装Google Cloud SDK

在您的本地计算机上安装Cloud SDK以通过命令行管理项目/资源。从Cloud SDK指南页下载并按照安装指南进行安装。

最后,请务必查看并保留入门Google Cloud文档。

步骤2:用于数据科学的GCP服务

Google Cloud Platform(GCP)配备了一系列服务,旨在满足各种数据科学需求。在这里,我们将深入研究一些关键服务,如BigQuery、Cloud Storage和Cloud Dataflow,并阐述它们的功能和潜在用例。

BigQuery

BigQuery是GCP的全面托管、低成本分析数据库。凭借其无服务器模式,BigQuery利用Google基础设施的处理能力,针对附加最多表执行超快的SQL查询。它不仅仅是一个运行查询的工具,还是一个强大的大规模数据仓库解决方案,能够处理百万亿字节的数据。无服务器的方法消除了对数据库管理员的需求,使其成为企业寻求减少运营开销的吸引选择。

示例:深入挖掘公共出生数据集,以获取有关美国出生的见解。

SELECT * FROM `bigquery-public-data.samples.natality`LIMIT 10

Cloud Storage

Cloud Storage提供稳健、安全、可伸缩的对象存储。对于企业而言,它是一个出色的解决方案,可以存储和检索大量数据,并具有极高的可用性和可靠性。Cloud Storage中的数据组织为存储桶,每个存储桶都是数据的独立容器,并可以单独进行管理和配置。Cloud Storage支持标准、近线、冷线和归档存储类别,可以优化价格和访问要求。

示例:使用gsutil命令行界面将样本CSV文件上传到Cloud Storage存储桶。

gsutil cp sample.csv gs://my-bucket

 

Cloud Dataflow

 

Cloud Dataflow 是一项完全托管的数据流和批处理处理服务。它在实时或接近实时分析方面表现出色,并支持提取、转换和加载(ETL)任务,以及实时分析和人工智能(AI)场景。Cloud Dataflow 专为可靠且容错处理大量数据的复杂性而构建。它与其他 GCP 服务(如 BigQuery 用于分析,Cloud Storage 用于数据分期和临时结果)无缝集成,成为构建端到端数据处理流水线的基石。

 

第三步:构建您的第一个数据项目

 

开始进行数据项目需要系统性的方法,以确保准确和洞察力。在此步骤中,我们将介绍如何在 Google Cloud Platform(GCP)上创建项目,启用必要的 API,并为使用 BigQuery 和 Data Studio 进行数据摄取、分析和可视化做好准备。对于我们的项目,让我们深入分析历史天气数据以了解气候趋势。

 

设置项目并启用 API

 

通过在 GCP 上创建一个新项目来开始您的旅程。转到 Cloud Console,单击项目下拉列表,然后选择“新建项目”。将其命名为“天气分析”,然后按照设置向导完成。完成项目后,转到 API 和服务仪表板,启用诸如 BigQuery、Cloud Storage 和 Data Studio 等关键 API。

 

将数据集加载到 BigQuery

 

对于我们的天气分析,我们需要一个丰富的数据集。NOAA 提供了大量的历史天气数据。下载这些数据的一部分,然后转到 BigQuery 控制台。在此处,创建一个名为 `weather_data` 的新数据集。单击“创建表”,上传数据文件,然后按照提示配置模式。

表名:historical_weather模式:日期:DATE,温度:浮点数,降水:浮点数,风速:浮点数

 

在 BigQuery 中查询数据和分析

 

拥有数据后,就可以挖掘洞察力了。BigQuery 的 SQL 接口使得运行查询无缝无忧。例如,要找到多年来的平均温度:

SELECT EXTRACT(YEAR FROM Date) as Year, AVG(Temperature) as AvgTemperatureFROM `weather_data.historical_weather`GROUP BY YearORDER BY Year ASC;

 

此查询提供了平均温度的年度分解,对我们的气候趋势分析至关重要。

 

使用 Data Studio 可视化洞察

 

数据的可视化表示通常可以揭示原始数字中看不见的模式。将 BigQuery 数据集连接到 Data Studio,创建一个新报告,并开始构建可视化。以展示多年来的温度趋势的折线图为例,这将是一个良好的起点。Data Studio 的直观界面使得拖放和自定义可视化变得简单明了。

使用“分享”按钮与团队共享您的发现,使干系人可以轻松访问和与您的分析进行交互。

通过完成此步骤,您已经建立了一个 GCP 项目,摄取了一个真实的数据集,执行 SQL 查询来分析数据,并通过可视化来理解和共享您的发现。这种实践的方法不仅有助于理解 GCP 的机制,也有助于从数据中获得可行的见解。

 

第四步:在 GCP 上进行机器学习

 

利用机器学习(ML)可以通过提供更深入的洞察和预测来显著提升数据分析。在此步骤中,我们将扩展“天气分析”项目,利用 GCP 的 ML 服务根据历史数据预测未来的温度。GCP 提供两个主要的 ML 服务:适用于新手的 Cloud AutoML 和适用于经验丰富的从业者的 AI 平台。

 

Cloud AutoML 和 AI 平台概述

  • Cloud AutoML:这是一个完全托管的机器学习服务,可通过最少的编码训练自定义模型。对于那些没有深入机器学习背景的人来说,这是理想之选。
  • AI 平台:这是一个托管平台,用于构建、训练和部署机器学习模型。它支持 TensorFlow、scikit-learn 和 XGBoost 等流行的框架,适合有机器学习经验的人使用。

使用 AI 平台的实际示例

继续我们的天气分析项目,我们的目标是使用历史数据预测未来的温度。最初,准备训练数据是一个关键步骤。将数据预处理为适合机器学习的格式,通常是 CSV,并将其分为训练和测试数据集。确保数据干净,并选择相关特征以进行准确的模型训练。一旦准备好,将数据集上传到 Cloud Storage 存储桶中,创建一个结构化目录,如 gs://weather_analysis_data/training/gs://weather_analysis_data/testing/

接下来是训练模型的重要步骤。转到 GCP 上的 AI 平台并创建一个新模型。选择预构建的回归模型,因为我们正在预测一个连续的目标——温度。将模型指向 Cloud Storage 中的训练数据,并设置必要的训练参数。GCP 将自动处理训练过程、调优和评估,简化模型构建过程。

成功训练后,在 AI 平台上部署训练好的模型。部署模型可以方便地与其他 GCP 服务和外部应用程序集成,便于利用模型进行预测。确保设置适当的版本控制和访问控制,以实现安全和组织良好的模型管理。

现在,模型部署完毕,是时候测试它的预测效果了。使用 GCP 控制台或 SDK 发送查询请求来测试模型的预测,例如,为特定日期输入历史天气参数,并观察模型预测的温度,这将给出模型的准确性和性能的初步了解。

使用 Cloud AutoML 的实践

对于更简单的机器学习方法,Cloud AutoML 提供了一个用户友好的界面进行模型训练。首先确保您的数据格式正确,并进行适当的拆分,然后将其上传到 Cloud Storage。这个步骤类似于 AI 平台中的数据准备,但它更适合那些对机器学习经验较少的人。

然后转到 GCP 上的 AutoML Tables,创建一个新数据集,并从 Cloud Storage 导入数据。这个设置非常直观,需要最少的配置,让您轻松准备好开始训练。

在 AutoML 中训练模型非常简单。选择训练数据,指定目标列(温度),并启动训练过程。AutoML Tables 将自动处理特征工程、模型调优和评估,为您减轻了很大的负担,让您专注于理解模型的输出。

模型训练完毕后,在 Cloud AutoML 中部署模型,并使用提供的界面或通过 GCP SDK 发送查询请求来测试模型的预测准确性。这一步使您的模型开始运作,可以对新数据进行预测。

最后,评估模型的性能。查看模型的评估指标、混淆矩阵和特征重要性,以更好地了解其性能。这些见解非常重要,因为它们确定是否需要进一步调优、特征工程或收集更多数据以提高模型的准确性。

通过深入了解 AI 平台和 Cloud AutoML,您将实际掌握在 GCP 上利用机器学习技术丰富天气分析项目的预测能力。通过这些实践示例,机器学习融入您的数据项目的路径被揭示,为更高级的机器学习探索打下坚实基础。

第五步:部署模型至生产环境

当您的机器学习模型训练到满意程度时,下一个关键步骤是将其部署至生产环境。部署模型使你的模型开始接收实际数据并返回预测结果。在这一步中,我们将探索 GCP 上的各种部署选项,确保您的模型能够高效且安全地提供服务。

通过无服务器服务提供预测

在GCP上,像Cloud Functions或Cloud Run这样的无服务器服务可以用于部署训练模型并提供实时预测。这些服务抽象掉了基础设施管理任务,使您可以将重点完全放在编写和部署代码上。它们非常适合于间歇性或低频的预测请求,因为它们具备自动扩展的能力。

例如,通过Cloud Functions部署您的温度预测模型涉及将模型打包成一个函数,然后部署到云端。一旦部署完成,Cloud Functions会自动扩展所需的实例数量,以处理传入请求的速率。

创建预测服务

对于大容量或对延迟敏感的预测,将您的训练模型封装在Docker容器中,并部署到Google Kubernetes Engine(GKE)是一种更合适的方法。这种设置允许可扩展的预测服务,以满足大量请求。

通过将模型封装在容器中,您创建了一个可移植且一致的环境,确保不论容器部署在何处,它都会以相同的方式运行。一旦您的容器准备就绪,将其部署到GKE,它提供了一个托管的Kubernetes服务,可以高效地编排您的容器化应用。

最佳实践

将模型部署到生产环境还涉及遵循最佳实践,以确保模型的运行顺畅并持续准确。

  • 监控生产中的模型:随时关注模型的性能变化。监控有助于检测模型漂移,即模型的预测结果随着底层数据分布的变化而变得不太准确。
  • 定期使用新数据对模型重新进行训练:随着新数据的产生,重新训练模型以确保其持续进行准确预测。
  • 使用A/B测试进行模型迭代:在完全替换生产中的现有模型之前,使用A/B测试比较新模型与旧模型的性能。
  • 处理故障和回滚场景:做好故障应对准备,并有一个回滚计划,以便在必要时恢复到先前的模型版本。

成本优化

成本优化对于维持性能和开支之间的平衡至关重要。

  • 使用抢占性VM和自动扩展:为了控制成本,使用比普通VM便宜得多的抢占性VM。将其与自动扩展结合使用,可以在需要时获得必要的资源,而无需过度预置。
  • 比较无服务器与容器化部署:评估无服务器与容器化部署之间的成本差异,以确定最符合您用例的最具成本效益的方法。
  • 根据模型资源需求选择合适的机器类型:选择与模型资源需求匹配的机器类型,避免在未充分利用的资源上过度花费。

安全注意事项

保护部署的安全性对于保护模型和处理的数据至关重要。

  • 了解IAM、身份验证和加密的最佳实践:熟悉身份和访问管理(IAM),并实施适当的身份验证和加密以确保对模型和数据的访问安全。
  • 确保对生产模型和数据的安全访问:仅授权的个人和服务可以访问您在生产环境中的模型和数据。
  • 预防对预测终点的未授权访问:实施强大的访问控制以防止对预测终点的未授权访问,保护您的模型免受潜在的滥用。

在GCP上将模型部署到生产环境涉及技术和运营考虑的综合。通过遵循最佳实践、优化成本并确保安全性,您为成功的机器学习部署打下了坚实的基础,准备好为现实世界的应用提供模型的价值。

继续前进

在这个全面的指南中,我们已经涵盖了在Google Cloud Platform (GCP)上开展机器学习和数据科学之旅的基础知识。从设置GCP账户到在生产环境中部署模型,每一步都是构建稳健的数据驱动应用的基石。接下来的步骤将继续探索和学习GCP。

  • GCP免费套餐:利用GCP免费套餐进一步探索和实验云服务。免费套餐提供对核心GCP产品的访问权,是一个在不产生额外费用的情况下获得亲身经验的好方法。
  • 高级GCP服务:深入了解更高级的GCP服务,如Pub/Sub提供的实时消息传递、Dataflow提供的流式和批处理,以及Kubernetes Engine提供的容器编排。了解这些服务将扩展您在GCP上管理复杂数据项目的知识和技能。
  • 社区和文档:GCP社区是知识的丰富来源,官方文档也非常全面。参与论坛,参加GCP聚会,并探索教程以继续学习。
  • 认证:考虑追求谷歌云认证,如专业数据工程师或专业机器学习工程师,以验证您的技能并提升您的职业前景。
  • 项目协作:与同行共同合作或为利用GCP的开源项目做贡献。实际协作提供不同的视角,增强您的解决问题的能力。

技术领域,特别是云计算和机器学习,不断发展演进。及时了解最新进展,参与社区,以及参与实际项目,是不断磨砺技能的绝佳方式。此外,反思已完成的项目,从面临的挑战中学习,并将这些经验应用于未来的努力中。每个项目都是一个学习机会,持续改进是在GCP上进行数据科学和机器学习旅程中取得成功的关键。

按照本指南的步骤,您为在Google Cloud Platform上展开冒险奠定了坚实的基础。前方道路充满了学习、探索和大量利用数据项目产生重大影响的机会。

Matthew Mayo@mattmayo13)拥有计算机科学硕士学位和数据挖掘研究生文凭。作为VoAGI的总编辑,Matthew旨在使复杂的数据科学概念易于理解。他的专业兴趣包括自然语言处理、机器学习算法和探索新兴的人工智能。他的使命是使数据科学社区的知识民主化。Matthew从6岁开始编码。

Leave a Reply

Your email address will not be published. Required fields are marked *