我的Google Vertex AI实践经验分享

news2024/11/14 13:30:38

在这里插入图片描述
在这里插入图片描述

我的Google Vertex AI实践经验分享

前言

作为一名忙碌的开发者,我时常希望能减少睡眠时间以完成更多工作。在这个过程中,我尝试了多种方法,并设计了多个概念验证项目。本文分享了我在使用Google的生成式AI服务Vertex AI时的实践经验。需要注意的是,市场在快速发展,文中提到的一些问题可能在你阅读时已得到改善。

基础设置

在使用GCP控制台时,我发现它比七年前复杂了许多。然而,Vertex AI的初始设置相对简单。登录GCP控制台,点击左上角的导航菜单,展开“更多产品”,并在“人工智能”菜单下选择Vertex AI。

在设置过程中,我遇到了一个问题:由于未启用所有推荐的API,设置微调任务时点击“开始微调”按钮后没有任何反应。解决方法是确保点击“启用所有推荐的API”按钮。

微调模型

成功执行微调任务花费了我一周时间。主要原因是GCP要求用户手动分配硬件资源配额,这对于没有运维背景的用户来说非常困难。我多次尝试设置硬件配额,最终在论坛求助并未得到答复后,自行摸索解决了问题。

微调任务失败的原因在于缺少硬件资源配额。GCP不提供默认硬件配额,用户需要手动申请。我申请了GPU和TPU的配额,但由于缺乏文档支持,我不知道需要申请多少单位。最终,我花费了86美元进行微调,训练数据集仅包含200行文本,总共35KB的数据。

API使用

在测试过程中,我发现Vertex AI的API使用需要OAuth认证,这对于不熟悉Web开发的用户来说非常不便。我创建了一个服务账户,并生成了包含所有必要信息的密钥文件,延长了认证生命周期至12小时。然而,依然缺乏实用的REST示例指导如何设置这些请求。

Vertex AI的JSON格式与OpenAI的JSON格式非常相似,主要区别在于Vertex AI将上下文作为单独的节点设置在消息数组旁边。尽管如此,我发现微调后的模型在回答训练数据中的问题时表现不佳,与预期相差甚远。

使用体验

在实际使用过程中,我发现在设置和使用Vertex AI时遇到了许多挑战。例如,当试图进行模型微调时,经常遇到硬件资源不足的问题。每次设置新的微调任务时,都需要手动调整和分配资源配额,这不仅耗时,还增加了出错的可能性。此外,Vertex AI的用户界面虽然功能强大,但对于初次使用者来说并不直观,需要花费时间去适应。

尽管如此,Vertex AI在处理复杂任务时表现出了强大的能力。特别是在图像识别和自然语言处理领域,其模型的精度和速度都非常令人满意。在一次项目中,我使用Vertex AI对大量图像数据进行了分类,结果不仅准确,而且处理速度非常快,这大大提高了项目的效率。

总结

尽管本文看似对Vertex AI充满抱怨,但我的目的是提供建设性的反馈。目前,我认为Vertex AI尚未准备好商业化使用。服务设置复杂,微调难以满足特定需求。这种复杂性可能会劝退只想“完成任务”的客户。

相比之下,Azure的OpenAI服务设置更简单,无需OAuth认证,也不需要手动分配硬件资源。我希望本文能帮助Google改进其产品,使其更易于使用。

希望通过这篇文章,能够为其他开发者提供一些参考,帮助他们更好地理解和使用Vertex AI。同时,也期待Google能够不断优化和改进这项服务,让更多的人能够受益于这项强大的技术。

示例代码

以下是一个简单的示例代码,展示了如何使用Vertex AI进行文本生成:

import vertexai
from google.auth import credentials

# 设置认证
credentials = credentials.Credentials.from_service_account_file('path/to/your/service-account-key.json')
vertexai.init(credentials=credentials)

# 初始化Vertex AI客户端
client = vertexai.TextGenerationClient()

# 定义输入参数
input_text = "Your prompt here"
response = client.generate(input_text)

# 输出结果
print(response.generated_text)
![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/f32bbbe1e79349729ed36d14f480e334.png#pic_center)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1943887.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

秋招突击——7/22——复习{堆——前K个高频元素}——新作{回溯——单次搜索、分割回文串。链表——环形链表II,合并两个有序链表}

文章目录 引言复习堆堆——前K个高频元素个人实现复习实现二参考实现 新作单词搜索个人实现参考实现 分割回文串个人实现参考实现 环形链表II个人实现参考实现 两个有序链表个人实现 总结 引言 又是充满挑战性的一天,继续完成我们的任务吧!继续往下刷&a…

学习React(状态管理)

随着你的应用不断变大,更有意识的去关注应用状态如何组织,以及数据如何在组件之间流动会对你很有帮助。冗余或重复的状态往往是缺陷的根源。在本节中,你将学习如何组织好状态,如何保持状态更新逻辑的可维护性,以及如何…

【SpingCloud】客户端与服务端负载均衡机制,微服务负载均衡NacosLoadBalancer, 拓展:OSI七层网络模型

客户端与服务端负载均衡机制 可能有第一次听说集群和负载均衡,所以呢,我们先来做一个介绍,然后再聊服务端与客户端的负载均衡区别。 集群与负载均衡 负载均衡是基于集群的,如果没有集群,则没有负载均衡这一个说法。 …

CSS:顶部导航栏固定位置、分类标题栏、底部提示文案固定位置

一、效果图 页面body的css代码 body {position: absolute;width: 100%;height: 100vh;padding: 0;margin: 0;top: 0;left: 0;bottom: 0;background-color #eee;/* overflow: auto;overflow-y: scroll; *//* ::-webkit-scrollbar {display: none;} */ }.content-root {width: 1…

python多进程加速函数运行

python多进程运行可以使函数运行在程序主进程以外,减少主进程的调用,并且可以加速子进程的运行速度   为了测试多进程的加速效果,我们可以通过创建一个包含计算密集型任务的函数,并使用多进程来并行执行这些任务。我们将对比单进…

Telegram曝零日漏洞,可伪装成视频攻击安卓用户

ESET Research在一个地下论坛上发现了一个针对Android Telegram的零日漏洞广告。 ESET将该漏洞命名为“EvilVideo”,并将其报告给Telegram,Telegram于7月11日更新了该应用程序。 EvilVideo允许攻击者发送恶意的有效载荷,这些载荷以视频文件…

《白话机器学习的数学》第2章——学习回归

2.1设置问题 1.机器学习所做的事情正是从数据中进行学习,然后给出预测值。 2.2定义模型 1.一次函数的表达式: 其中θ叫做参数。 在统计学领域,人们常常使用 θ 来表示未知数和推测值。采用 θ加数字下标的形式,是为了防止当未知数…

熟悉set/map了解KV模型和pair结构

set基本介绍 set是key模型,本质是确定一个 元素在不在此容器中,也就是说 set中存储的是一个单一数据 1. set是按照一定次序存储元素的容器 2. 在set中,元素的value也标识它(value就是key,类型为T), 并且每个value必须是唯一的。set中的元素不…

PHP教程001:PHP介绍和环境配置

文章目录 1、php是什么2、php能做什么3、php程序执行流程4、需要什么基础5、环境介绍5.1、WEB环境5.2、环境集成包3、phpStudio软件下载 1、php是什么 通用:跨平台,如windows、Linux、MacOS开源免费服务器端脚本语言 2、php能做什么 可以快速动态的生…

群管机器人官网源码

一款非常好看的群管机器人html官网源码 搭建教程: 域名解析绑定 源码文件上传解压 访问域名即可 演示图片: 群管机器人官网源码下载:客户端下载 - 红客网络编程与渗透技术 原文链接: 群管机器人官网源码

很酷的仿真翻页书HTML源码,书本页面是加载的图片,基于JQuery实现的翻页特效,结合一些js插件,看起来很酷,在实现在线翻书项目。

仿真翻页书HTML源码https://www.bootstrapmb.com/item/14742 创建一个仿真的翻页书效果在HTML和CSS中可以通过多种方式实现,但通常这也会涉及到JavaScript(或jQuery)来处理交互和动画。以下是一个简单的示例,展示如何使用HTML、…

openssl 加密

使用tar命令在Linux中加密文件可以通过两种方式实现:使用gzip压缩的同时加密,或者使用加密选项。 1. 使用gzip压缩的同时加密: “ tar cz file1 file2 | openssl enc -e -aes256 -out archive.tar.gz.enc “ – cz:创建tar压缩文…

【数学建模】基于贪心算法的电力市场的输电阻塞管理(附论文及matlab、lingo代码)

适合数学建模新手研究的题目,备战国赛的同学可以拿这道题目练手,本文含论文代码,帮助解题理解思路。 题目: (1)题目信息: 某电网有若干台发电机组和若干条主要线路,每条线路上的有…

k8s中部署nacos

1 部署nfs # 在k8s的主节点上执行 mkdir -p /appdata/download cd /appdata/download git clone https://github.com/nacos-group/nacos-k8s.git 将nacos部署到middleware的命名空间中 kubectl create namespace middleware cd /appdata/download/nacos-k8s # 创建角色 kub…

鸿蒙界面开发

界面开发 //构建 → 界面 build() {//行Row(){//列Column(){//文本 函数名(参数) 对象.方法名(参数) 枚举名.变量名Text(this.message).fontSize(40)//设置文本大小.fontWeight(FontWeight.Bold)//设置文本粗细.fontColor(#ff2152)//设置文本颜色}.widt…

乐鑫ACK方案低成本设备开发,智能家居无线技术应用,启明云端乐鑫代理商

随着智能家居行业的蓬勃发展,用户对于智能设备的需求日益增长。乐鑫以其创新的Alexa Connect Kit (ACK) 方案,开启了智能家居设备开发的新篇章。 Alexa Connect Kit(ACK)方案,不仅提供了一个集成Alexa语音服务的高效开…

Redis八股文(一)

目录 1.什么是Redis? 2.Redis和Memcached有什么区别? 3.为什么Redis作为MySQL的缓存? 4.Redis数据类型及其使用场景分别是什么? 5.五种常见数据类型是怎么实现的? 6.Redis是单线程吗? 7.Redis单线程…

iterm2工具的使用|MAC电脑终端实现分屏|iterm2开启滚动操作

iterm2 工具概括 iTerm2 是一款非常强大的终端工具。 iTerm2 最初是为 macOS 开发的,但也有 Windows 、Linux 发行版(Ubuntu、centos…)可用。 应用场景 Mac操作系统中想实现终端分屏 iterm2 工具特点 多标签和分屏: 可以在同一个窗口中打开多个标签…

【css】实现扫光特效

对于要重点突出的元素,我们经常可以看到它上面打了一个从左到右的斜向扫光,显得元素亮闪闪的!类似于下图的亮光动效 关键步骤 伪元素设置position :absolute【也可以不用伪元素,直接创建一个absolute元素盖在上面】设置渐变line…

基于jeecgboot-vue3的Flowable流程仿钉钉流程设计器-抄送服务处理

因为这个项目license问题无法开源&#xff0c;更多技术支持与服务请加入我的知识星球。 1、因为仿钉钉设计器里抄送人是一个服务任务&#xff0c;所以要根据这个服务任务进行处理 2、前端就是一个抄送&#xff0c;选择人 3、这里用了jeecg的选择人组件 <el-form-item prop…