首页 > 其他分享 >谷歌云 | Dataflow 和 Vertex AI:可扩展高效的模型服务

谷歌云 | Dataflow 和 Vertex AI:可扩展高效的模型服务

时间:2023-12-29 16:01:20浏览次数:35  
标签:Dataflow 谷歌云 模型 Vertex AI 端点 数据

如果您考虑使用 VertexAI 来训练和部署您的模型,那您选对了!数据对于机器学习至关重要,模型拥有的数据量越大,质量越高,模型的性能就会越好。在训练模型之前,数据必须经过预处理,这意味着清洗、转换和聚合数据,使其成为模型可以理解的格式。数据预处理在模型服务时也很重要,但由于实时流数据、硬件可扩展性和不完整数据等因素,可能会更加复杂。

当您处理大量数据时,您需要一个既可扩展又可靠的服务。Dataflow 完全符合要求,因为它可以在实时和批处理模式下处理数据,并且非常适合具有高吞吐量和低延迟要求的模型。

Dataflow 和 Vertex AI 配合得非常好,本文将带您了解如何使用这两个强大的服务为流式预测请求提供模型

用例:流式预测请求

某些应用程序,例如传感器数据中的异常检测和工业设备的预测性维护,需要从机器学习模型获得实时预测。令人惊讶的是,实施实时预测系统并不需要过于复杂的设置。如果您的机器学习模型需要对实时数据进行预测,一个简单的方法是利用 Pub/Sub 主题来捕获实时数据,使用 Dataflow 管道对数据进行预处理和转换,并使用 Vertex AI 端点执行机器学习模型并生成预测。此外,您可以启用模型监控来跟踪可能影响预测准确性的任何数据或模型更改。以下图示了此解决方案的工作流程:

 

部署模型到 Vertex AI 端点

首先,我们需要在 Vertex AI 模型注册表中存储一个经过训练的模型,然后才能实施服务解决方案。这可以通过在 Vertex AI 中训练模型或导入预训练模型来完成。

现在,只需点击几下(或使用 API 调用),您就可以将模型部署到 Vertex AI 中的端点,以便进行在线预测。您可以在不编写任何额外自定义代码的情况下启用模型监控,以确保训练数据和服务数据之间没有偏差。

除了将模型部署到端点外,您还可以使用 RunInference API 在 Apache Beam 管道中为机器学习模型提供服务。这种方法有几个优势,包括灵活性和可移植性。然而,在 Vertex AI 中部署模型还提供了许多额外的好处,例如平台内置的模型监控工具、TensorBoard 和模型注册表管理。

Vertex AI 还提供了在端点中使用优化的 TensorFlow 运行时的功能。要做到这一点,只需在部署模型时指定 TensorFlow 运行时容器。

优化的 TensorFlow 运行时是一种可以提高 TensorFlow 模型性能和降低成本的运行时。

数据处理 Dataflow 管道

Apache Beam 内置支持通过使用 VertexAIModelHandlerJSON 类向远程部署的 Vertex AI 端点发送请求。只需几行代码,我们就可以发送预处理消息进行推断。

model_handler = VertexAIModelHandlerJSON(
        endpoint_id=known_args.endpoint_id,
        project=known_args.project_id,
        location=known_args.location,
    )

现在,我们将使用 Dataflow 进行数据预处理部分。下面是一个 Python Apache Beam 管道的代码片段,其中包括以下内容:

1. 从 Pub/Sub 读取消息

2. 对消息进行预处理,可能包括以下内容:

  • 清理数据
  • 处理缺失值
  • 对分类数据进行编码
  • 特征缩放

3. 使用 Vertex AI 模型处理程序向 Vertex AI 端点发送预测请求

4. 处理输出:将模型的原始输出转换为易于解释的格式

5. 写入BigQuery:将输出存储在 BigQuery 中,以便可以轻松检索

with beam.Pipeline(options=pipeline_options) as p:
        elements = (  
            p  | "Read PubSub"  >> beam.io.ReadFromPubSub(
                subscription=known_args.subscription
            ).with_output_types(bytes)
            | "Preprocess" >> beam.ParDo(Preprocess())
            | "Run Vertex Inference" >> RunInference(model_handler)
            | "Process Output" >> beam.ParDo(Postprocess())
            | "Write to BigQuery"
            >> beam.io.WriteToBigQuery(
            table=f"{known_args.bq_location}"
            )
        )

Dataflow + Vertex AI 是为批处理和流式预测请求提供机器学习模型的强大组合。Dataflow 可以以实时和批处理模式处理数据,并且非常适合需要高吞吐量和低延迟的用例。Vertex AI 提供了一个部署和管理模型的平台,还提供了许多额外的好处,如用于模型监控的内置工具、利用优化的 Tensorflow 运行时和模型注册表。

启航

如果您想要了解如何使用 Dataflow 和 Vertex AI 为机器学习模型提供服务,了解谷歌云如何帮助您实施端到端解决方案,欢迎联系我们一起讨论您的云需求!

标签:Dataflow,谷歌云,模型,Vertex,AI,端点,数据
From: https://www.cnblogs.com/cloudace/p/17935094.html

相关文章

  • CF1680F Lenient Vertex Cover 题解
    CF1680FLenientVertexCover题解这道题和「JOISC2014Day3」电压非常类似,或者说就是一道题。题意就是给你一个图,问能否对所有点黑白染色,允许最多一条边的两个顶点都染成黑色。黑白染色后其实就是一个二分图,那如果有一条边的两个顶点染成黑色,就是说去掉该边后,剩下的图为二分......
  • API NEWS | 谷歌云中的GhostToken漏洞
    欢迎大家围观小阑精心整理的API安全最新资讯,在这里你能看到最专业、最前沿的API安全技术和产业资讯,我们提供关于全球API安全资讯与信息安全深度观察。本周,我们带来的分享如下:一篇关于谷歌云中的GhostToken漏洞的文章一篇关于Gartner对零信任的看法的文章一篇身份验证攻击威胁API安......
  • sol. CF1680F Lenient Vertex Cover
    CF1680FLenientVertexCover下面用\(G\)表示一个环的边集,记作环\(G\)。我们令一个环\(G\)的价值为它经过的返祖边数量,记作\(Z(G)\),下面给出核心结论:若存在一条边\(e_0\)经过所有\(Z(G)=1\)的奇环,且不经过任意一个\(Z(G)=1\)的偶环,那么\(e_0\)经过所有奇环......
  • [VLDBJ 2019]Distributed Subgraph Matching on Timely Dataflow
    [VLDBJ2019]DistributedSubgraphMatchingonTimelyDataflow只关注这篇中的subgraphmatching的内容定义\(g=(V_g,E_g,L_g)\)分别表示点、边,以及把任意点或边映射成label的函数。如果是无标签图则会映射为空。对于任意点\(\mu\inV_g\),定义\(N_g(\mu)\)为它的邻居节......
  • 1154 Vertex Coloring
    题目A propervertexcoloring isalabelingofthegraph'sverticeswithcolorssuchthatnotwoverticessharingthesameedgehavethesamecolor.Acoloringusingatmost k colorsiscalleda(proper) k-coloring.Nowyouaresupposedtotellifagi......
  • 谷歌云 | 最大限度地提高可靠性&降低成本:调整 Kubernetes 工作负载的大小
    【本文由CloudAce整理发布。CloudAce是谷歌云全球战略合作伙伴,拥有300多名工程师,也是谷歌最高级别合作伙伴,多次获得GoogleCloud合作伙伴奖。作为谷歌托管服务商,我们提供谷歌云、谷歌地图、谷歌办公套件、谷歌云认证培训服务。】您知道通过调整工作负载请求以更好地代表其实......
  • com.alibaba.excel.exception.ExcelWriteDataConvertException: Can not find 'Conver
    这个异常是由于使用阿里巴巴的EasyExcel库时,没有找到映射为Map类型的数据转换器所导致的。在使用EasyExcel进行Excel文件读写时,需要指定正确的数据转换器以实现对象与Excel单元格的相互转换。对于Map类型的数据,EasyExcel需要知道如何将Map转换为Excel中的单元格数据,因此需要自定义......
  • 线下活动 | 谷歌云 AI:探索人工智能时代 跨境电商的应用趋势
    所有跨境人看过来!AI+跨境电商线下活动,你值得拥有!赶快报名参与吧!主题:谷歌云AI:探索人工智能时代跨境电商的应用趋势时间:8月30日周三13:30——8月30日周三17:30地点:广州番禺报名链接:https://cloud-ace.cn/20230830-guangzhou-offline-event-retail/01.活动流程13......
  • 谷歌云 | BigQuery 现在支持用于查询开放表格式的清单文件
    【本文由CloudAce整理发布。CloudAce是谷歌云全球战略合作伙伴,拥有300多名工程师,也是谷歌最高级别合作伙伴,多次获得GoogleCloud合作伙伴奖。作为谷歌托管服务商,我们提供谷歌云、谷歌地图、谷歌办公套件、谷歌云认证培训服务。】开放表格式依赖嵌入式元数据来提供事务一致的......
  • 谷歌云 | 电子商务 | 如何更好地管理客户身份以支持最佳的用户体验
    【本文由CloudAce整理发布。CloudAce是谷歌云全球战略合作伙伴,拥有300多名工程师,也是谷歌最高级别合作伙伴,多次获得GoogleCloud合作伙伴奖。作为谷歌托管服务商,我们提供谷歌云、谷歌地图、谷歌办公套件、谷歌云认证培训服务。】零售商经常问自己的一个基本问题是他们对客户......