Vertex AI 模型花园

MODEL ZOO Oct 29, 2024

查看下图 Vertex AI 中的 Model Garden UI,它似乎只是另一个可搜索的模型存储库。每个模型都有一个模型卡,提供概述、潜在用例、API 使用说明等。这些模型卡根据模式、任务、提供商和其他标准进行组织。

Vertex AI Model Garden UI

在我花时间探索它之前,我一开始就是这么想的。事实上,Vertex AI Model Garden 不仅仅是一个最先进的模型的集合。

本文将引导你参观 Vertex AI Model Garden。你将探索 Vertex AI Model Garden 的一些最相关功能及其使用方法。其中一些功能仅支持少数模型,但在阅读结束时,你将更好地了解 Vertex AI Model Garden 如何让你与这些模型交互,只需单击几下即可部署、试验微调以及访问云端最大的开放模型库之一!

1、在任何模型上尝试你的提示

假设发布了一个新模型,你想快速试用它。Vertex AI Model Garden 为此提供了试用(try out)。使用“试用”,你只需键入并提交提示即可了解模型功能。

图 2 — Vertex AI Model Garden — 试用

“试用”嵌入在每个模型卡中,允许你选择托管模型的游乐场端点,并设置一些最常见的参数,例如温度和输出令牌数量,以试验模型。

当你想以交互方式测试模型时,Vertex AI Model Garden 最近引入了 Playspaces。Playspaces 允许你创建一个 Playspace 实例,这是一个 Cloud Run 上的 Gradio 应用程序,用于与所选模型聊天。成功部署 PlaySpace 后,你可以访问对话式 Gradio 应用程序来测试模型功能,如下所示。

图 3 — Vertex AI Model Garden — Playspaces

在这两种情况下,Playgrounds 和 Playspaces 都允许每个人在几分钟内探索和测试一些模型,而无需深入的专业知识。

2、一键部署和几次点击调整

此时,你已经测试了模型,并且对其功能感到兴奋。现在,你希望在公司内部进行内部实验,以确定该模型是否有可能解决你正在处理的特别具有挑战性的任务。

为此,你必须将模型部署到可访问的环境中,以便内部测试人员可以进行实验并给你留下反馈。在这种情况下,Vertex AI Model Garden 在 Vertex AI Endpoint 上提供一键部署(1-click deploy),这是一种托管的在线预测服务,可以低延迟地为模型提供服务。通过一键部署,你可以在几分钟内启动并运行模型端点。下面你可以看到如何在 Vertex AI Model Garden 中一键部署 Gemma 2。

图 4 — Vertex AI Model Garden — 一键部署

部署模型后,你可以在 Vertex AI Model Registry 中找到已注册的托管模型实例,并在 Vertex AI Prediction 中找到关联的托管预测端点,你可以在其中使用“测试你的模型”功能对其进行测试。部署后,你可以像使用任何其他 REST 端点一样使用该端点,将其与 Vertex AI SDK 集成到你的应用程序中,以开始试验该模型。

import os
from google.cloud import aiplatfrom as vertex_ai

vertex_ai.init(
    project=os.getenv("PROJECT_ID"),
    location=os.getenv("LOCATION"))

prompt = "Tell me a joke about Vertex AI on Google Cloud"  max_tokens = 100
temperature = 1.0 

instances = [
   {
       "inputs": prompt,
       "max_tokens": max_tokens,
       "temperature": temperature,
       "top_p": top_p,
       "top_k": top_k,
   },
]

endpoint = vertex_ai.Endpoint('your-endpoint-resource-name')
response = endpoint.predict(
   instances=instances,
)
for prediction in response.predictions:
   print(prediction)

# do you know why Vertex AI...

一键部署只是你从 Vertex AI Model Garden 提供模型服务的一种方式。如果你想了解有关 Vertex AI Model Garden 上的模型服务和推理的更多信息,请查看这个出色的博客

运行内部测试后,你根据结果得出结论,该模型非常有前途。但它仍有一些改进空间。在与团队进行一些对话后,你决定进行一轮微调。使用 Vertex AI Model Garden,你只需单击几下即可提交微调作业。

以 JSONL 格式收集微调数据集并将其上传到 Google Cloud 存储桶后,你需要做的就是在 Google Cloud Storage 存储桶中指定存储微调结果的输出目录,设置一些调整参数,以及是否要在微调过程结束后自动部署调整后的模型。这样,你就可以提交调整作业,如下所示。

图 4 — Vertex AI 模型花园 —微调

提交作业后,托管的 Vertex AI 管道将处理整个调优过程。并且,你将能够使用调优后的模型部署应用程序的新版本。这将允许你运行另一轮内部测试。最终,借助更新后的模型和其他证据,你可以决定是否将第一个 GenAI 应用程序扩展到生产环境。

3、使用 Vertex AI 模型生成器试验你的模型

但是,如果不是这种情况怎么办?如果你需要使用各种提示技术、调优技术、参数重复试验过程,甚至尝试不同的模型怎么办?

在 Vertex AI 模型花园中,你可以找到可以在笔记本环境中执行的优化调优和服务收据。

图 6 — Vertex AI Model Garden — 调整和服务笔记本

Vertex AI Model Garden 还允许你访问一系列服务,包括 Vertex AI 实验和 Vertex AI 模型评估,它们可帮助你跟踪提示并找到最佳提示来改进你的 GenAI 应用程序。下面你可以看到一个使用 Vertex AI 模型评估测试不同模型的示例。

图 7 — Vertex AI Model Garden — 评估


使用调整和服务配方并利用与 Vertex AI 模型生成器的集成,您可以专注于试验模型,而无需担心所需的环境(依赖项、加速器等)。

4、从 HuggingFace 部署

如果考虑到使用 Vertex AI Model Garden 上的 Huggingface 部署扩展到 Hugging Face 上可用的任何模型,那么你到目前为止所看到的一切会变得更加令人兴奋。我们谈论的是来自 Hugging Face 的 4000 多个其他模型,它们已准备好在 Vertex AI 上进行调整和部署!这要归功于与 Hugging Face 和 Google Cloud 的合作,后者推出了 Hugging Face 深度学习容器。

Hugging Face 深度学习容器 (DLC) 是托管容器,针对在 Google Cloud 上训练和部署生成式 AI 模型进行了优化。这些托管容器预装了关键的训练和推理库,包括 Transformers 和 Diffusers。使用 Hugging Face DLC,你可以专注于训练和部署模型,而无需管理依赖项或优化运行时环境。

要使用 Hugging Face 深度学习容器 (DLC) 从 Vertex AI Model Garden 部署任何 Hugging Face 模型,你只需进入合作伙伴部分并单击 Hugging Face。它将打开一个搜索门户,你可以在其中找到来自 Hugging Face 的 4000 多个其他模型,这些模型已准备好通过一键部署在 Vertex AI 上,如下所示。

图 8 — Vertex AI Model Garden — Hugging Face 集成

或者,如果你更喜欢更具编程性的方法,则可以使用 Vertex AI SDK for Python 来部署和训练 Hugging Face 模型。下面你可以看到使用 Hugging Face 深度学习容器 (DLC) 在 Vertex AI 上调整 Gemma 的伪代码。

import os
from google.cloud import aiplatfrom as vertex_ai

# initiate vertex ai session
vertex_ai.init(
    project=os.getenv("PROJECT_ID"),
    location=os.getenv("LOCATION"))

# prepare the job and the args
job = vertex_ai.CustomContainerTrainingJob(
    display_name="gemma-2b-sft-lora", 
    container_uri=os.getenv("HF_DLC_URI"),
    command="trl sft",
)

args = [
    # model
    "--model_name_or_path=google/gemma-2b",
    "--torch_dtype=bfloat16",
    "--attn_implementation=flash_attention_2",
    # dataset
    "--dataset_name=timdettmers/openassistant-guanaco",
    "--dataset_text_field=text",
    # perf
    "--use_peft",
    "--lora_r=16",
    "--lora_alpha=32",
    "--lora_dropout=0.1",
    "--lora_target_modules=all-linear",
    ...
    
]

# submit the job
job.submit(
    args=args,
    replica_count=1,
    machine_type="g2-standard-12",
    accelerator_type="NVIDIA_L4",
    accelerator_count=1,
    ...
)

使用适用于 Python 的 Vertex AI SDK 可让你更好地自动化在 Google Cloud 上训练和提供 Hugging Face 模型的过程。如果你想了解有关 Vertex AI 上带有 Hugging Face 的开源模型的更多信息,请查看此阅读列表

5、一切尽在掌控之中

最后但并非最不重要的是,你可以使用 Vertex AI Model Garden 提供的集中组织策略来控制可访问的模型以及其他人实际上可以做什么。

默认情况下,具有 Vertex AI 权限的用户可以发现、自定义和部署各种模型。但设置 Model Garden 策略对于管理生产环境中的已批准模型非常有用。查看控制对 Model Garden 模型的访问文档以了解更多信息。

6、结束语

Vertex AI Model Garden 提供的不仅仅是一系列尖端模型。它使每个人都可以使用任何模型测试提示,快速部署和试验微调,并访问云端最大的开放模型库之一。

这一切都是通过 Google Cloud 和 Hugging Face 团队维护的预构建应用程序、训练和服务配方、管道和运行时环境实现的。

凭借这些功能,从构建高级聊天机器人到生成创意内容,你可以构建任何想要的 GenAI 应用程序!


原文链接:A tour of Vertex AI Model Garden

汇智网翻译整理,转载请标明出处

Tags