无问芯穹 MaaS AI 平台公测免费试用笔记:一

news2024/11/27 14:28:54

本篇文章聊聊正在公开测试的平台,无问芯穹的 MaaS 服务,包含了平台使用体验和一些小技巧。

因为测试给的免费卡时比较少,估计想完成完整测试或许需要一些时间,额外用一些账号进行。就先记录下常规折腾过程吧,让再次“复现”的时候能节约一些时间。

写在前面

上周末去苏州参加 CCF 的会议,回来的路上收到了朋友转发的内容,说有一个新的平台正在开放公测。虽然平台宣传公测的是模型服务(模型 API),但是网站上的“一站式平台”(AI Studio)反而吸引到了我的注意力,如果能在上面直接跑跑最近出的新模型,岂不妙哉。

开始折腾。

第一步:创建账号,登录平台

首先访问 “AI 平台” 的链接,使用手机号注册一个账号。目前没有实名认证,哪怕使用小号注册也问题不大。

注册完毕,登录账号,能够进入 AI 平台的控制台,目前版本的界面比较简单,和绝大多数现有平台类似,不过从数据概览的设计中能够看到是有多人协作(共享资源)的设计的。

无问芯穹 AI Studio 默认界面

平台网站从 IP 推测应该部署在阿里云北京,所以虽然前端没有做优化,访问起来也还蛮快的。

第二步:创建 GPU 主机

虽然目前左侧菜单栏有三种可玩的模式:“开发机(虚拟机)”、“任务(训练任务)”、“推理服务(Docker 推理容器)”,但如果你想稍微深度的使用平台。暂时只有选择第一项。

主要原因是,目前平台有白名单机制,非申请用户是无法直接获取公网 IP 访问能力的。所以,即使你训练模型结束,能够在推理服务使用自己的模型或者直接在推理服务页面,使用平台预先提供的模型,也无法访问和测试模型的具体状况,毕竟同一时间只允许使用一张卡(暂时不能无卡启动容器,来作为测试机)。

既然另外两条路不通,那么我们就选“创建开发机”吧。

创建开发机,选择机型和镜像

虽然平台列举了 A100 单卡到 8 卡的选项,但是目前其实只有单卡机器能够被选择使用。建议平台隐藏掉其他机型,页面默认勾选可选择机型,操作体验可以更好一些。为了避免环境干扰,我一般会选择基础镜像,比如 Ubuntu。平台自带的 Ubuntu 版本稍低了些,去年3月就停止了一般性更新,如果有可能提供 22.04 LTS 或许会更好一些,用户安装软件也可以省去很多麻烦,持续使用的安全性也更有保障。

启动容器支持,填入 RSA 密钥

在选择好基础镜像后,添加我们自己的 RSA 密钥,然后给主机起个名字,点击创建主机即可。诸如存储相关的创建主机选项,目前并不支持配置,估计后续官方需要上线一个“存储池”的选项,让大家能够使用文件存储协议来传数据,比如 “FTP / WebDav / S3 / HTTP” 这类常规玩法。

小技巧:突破官方限制,调大共享内存

官方页面中,前端“锁死”了共享内存的容量,默认数值是主机的容量的一半:56GB。但是对于用户来收,只能用一半资源不是太浪费了嘛。

我们通过删除页面输入框元素上的 “Disable” 属性,来把资源设置为 100GB。(给系统留 12G 足够用了)

修改内存配额,创建失败

但是,当我们创建的时候,发现系统弹出了后端接口的序列化报错。嗯,无问芯穹的平台是用 Golang 写的啊,具备基础的数值校验,ApiPlatformUserV1InstanceCreateReq.shared_mem 这个字段需要是数值类型,前端默认传递的是字符串。那么,看起来这个接口应该是没有被真正调用过,而这种情况下,一般接口有可能都是可以工作的。

手动构造请求,创建资源

于是,手动创建一个请求,将请求中的字段类型从字符串改成数字,提交请求,接口返回资源创建任务正常执行。

刷新列表,资源创建成功

因为我是在凌晨进行测试,资源显然是充足的(目前应该测试用户也不多),所以当我返回开发机列表页面后,稍等十几秒,一个 100GB 共享内存的,能够使用 Docker 的开发机就创建完毕啦。

推测大概率使用了 DinD 来使用 Docker。或许,这个模式下存储共享需要做比较多的约定和 Coding 工作,这也可能也是官方尚未支持存储功能的原因之一。

第三步:使用 SSH 来访问主机

如果你从上面的列表页面直接点击登录,那么你将打开一个基于 xterm.js 构建的前端 SSH 页面。

默认的 Web SSH 界面

因为平台刚刚建立不久的缘故,支持功能非常少,不能够在页面传递文件,加上默认情况下主机也并未开放常见端口,我们想跑个带有界面的 Chat Bot 或者 Stable Diffusion WebUI 也会比较麻烦。

所以,我个人推荐别点页面的“登录”按钮。点击“三个点”在下拉菜单中选择“详情”,进入示例详细资料页面。

创建资源的详细情况

然后在详情页面中,我们能够看到 “SSH 登录方式”。我这里的登录命令是:

ssh -p 40490 soulteary@111.51.90.14

不知道端口是随机的,还是玩梗“404、4090”。从 IP 地址可以看出机器使用的是宁夏银川的移动出口的资源。不知道还有多少人记得这个宁夏算力枢纽节点(全国8个国家算力节点),去年城市提出的口号“打造算力之都做强做大数字经济”,有披露不少数据,等今年年底的时候再看看,到时候对比下。

使用 SSH 登录主机 (1/2)

使用页面提供的命令,我们顺利登录主机。

使用 SSH 登录主机 (2/2)

第四步:快速测试平台容器环境

想要快速测试模型容器,最简单的方案就是使用官方已经测试过的模型镜像啦。但是目前平台并没有提供带有模型的镜像列表。没关系,继续自助餐流程。

返回主页,找到“推理服务”,然后“尝试”创建一个推理服务。

选择一个预置的模型镜像

这里我们并不是真的创建,因为一来创建资源的测试额度不足,二来我们只是来推理服务中获取镜像名称的。

获得完整镜像名称

当我们选定镜像后(我这里选择的是小巧玲珑的 QWen 0.5B,但其实镜像尺寸有 31G),将鼠标放在镜像下拉列表上,就能够得到完整的镜像地址啦。

得到地址后,自然是在 SSH 中输入下面的命令,把官方预置镜像下载到主机中啦:

docker pull cr.infini-ai.com/infini-ai/qwen1.5-0.5b-chat:v1-vllm0.3-torch2.1-cuda12.3-ubuntu22.04

因为镜像比较大(31G),所以我们下载完毕、容器本地解压缩镜像需要接近 10 分钟。因为我测试了两次,所以白白消耗了测试额度中的 20 分钟。这里如果官方团队能够将常用模型或者环境直接在“开发机”共享存储中提供会方便和节约很多时间。

在运行容器之前,我们需要参考一处文档中的说明,否则想使用容器提供的默认的 entrypoint.sh 程序,启动符合 OpenAI 接口格式的程序是不行的。

文档中的关键参数

文档中的参数(环境变量)配置如下:

export MODEL=qwen1.5-0.5b-chat
export TP=1
export LOG=1

# 模型已经放在 /app/model/${MODEL}
/app/entrypoint.sh

为了让容器正确跑起来,我们需要编写如下命令:

docker run -it -p 8000:8000 -e MODEL=qwen1.5-0.5b-chat -e TP=1 --gpus=all -v=/mnt:/mnt cr.infini-ai.com/infini-ai/qwen1.5-0.5b-chat:v1-vllm0.3-torch2.1-cuda12.3-ubuntu22.04

容器服务正确启动

图片中服务启动命令的端口是 21002 (受到容器输出日志误导),实际执行需要使用上面提到的 8000 端口。建议官方把日志显示的真实服务端口 21002 日志注释掉,避免干扰开发者。

启动服务后,我们再打开一个 SSH 终端,然后输出下面的命令,就能够测试容器服务啦。

调用模型接口

测试命令代码如下:

curl http://0.0.0.0:8000/v1/chat/completions \
    -H "Content-Type: application/json" \
    -d '{
        "model": "qwen1.5-0.5b-chat",
        "messages": [
            { "role": "user", "content": "无问芯穹公司介绍" }
        ]
    }'

我连续调用了几次模型,输出结果如下:

服务实际响应结果

调用体感来看,基本是实时输出结果,虽然我使用的模型比较小(0.5B的官方镜像),但是实时出整段结果还是蛮爽的。

其他:碎碎念

第一篇相关的测试就到这里啦,因为当我想继续测试的时候(第二次复现)。平台测试赠送额度使用完毕了,就实际体验来看,应该是新用户每人赠送一小时 A100 卡时(大概 6~8 块钱)。

等有空的时候,再进行其他的测试,比如各种平台的联通性、模型下载和上传速度、最常规的 finetune 时间是否有加速,以及平台目前没有涉及,但是大家都玩的比较熟悉的 Stable Diffusion 相关的跑图和炼丹。

毕竟有了 SSH ,其实我们就可以无障碍访问 Web 服务了嘛。

最后

个人感觉相比较海外学者创业,无问芯穹的环境显然不够有优势。但是依旧希望汪老师带队的,这只擅长硬件能力的,在一种软件局面下显得“相对小众”创业公司能够在中国的 AI 创业史上落下惊鸿一笔。

产品嘛,还在内测,在让子弹飞一飞吧。

–EOF


我们有一个小小的折腾群,里面聚集了一些喜欢折腾、彼此坦诚相待的小伙伴。

我们在里面会一起聊聊软硬件、HomeLab、编程上、生活里以及职场中的一些问题,偶尔也在群里不定期的分享一些技术资料。

关于交友的标准,请参考下面的文章:

苏洋:致新朋友:为生活投票,不断寻找更好的朋友

当然,通过下面这篇文章添加好友时,请备注实名和公司或学校、注明来源和目的,珍惜彼此的时间 😄

苏洋:关于折腾群入群的那些事


本文使用「署名 4.0 国际 (CC BY 4.0)」许可协议,欢迎转载、或重新修改使用,但需要注明来源。 署名 4.0 国际 (CC BY 4.0)

本文作者: 苏洋

创建时间: 2024年04月01日
统计字数: 5114字
阅读时间: 11分钟阅读
本文链接: https://soulteary.com/2024/04/01/infini-ai-maas-ai-platform-public-beta-free-trial-notes-1.html

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

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

相关文章

element-ui message 组件源码分享

今日简单分享 message 组件的源码,主要从以下四个方面来分享: 1、message 组件的页面结构 2、message 组件的 options 配置 3、mesage 组件的方法 4、个人总结 一、message 组件的页面结构 二、message 组件的 options 配置 前置说明:m…

Centos7 安装 Oracle19c

下载oracle预安装包 wget http://yum.oracle.com/repo/OracleLinux/OL7/latest/x86_64/getPackage/oracle-database-preinstall-19c-1.0-1.el7.x86_64.rpm 下载19c安装包 https://www.oracle.com/cn/database/technologies/oracle-database-software-downloads.html#19c 选择…

OpenLayers6实战,OpenLayers实现鼠标拖拽绘制三角形,OpenLayers自定义绘制特殊图形

专栏目录: OpenLayers实战进阶专栏目录 前言 本章讲解使用OpenLayers如何绘制三角形。 OpenLayers本身是可以通过多边形绘制来绘制自行绘制三角形的,但是这种绘制方式是通过鼠标点击每个点来实现线条链接的,不支持固定的三角形这种特殊图形绘制的。 因此本章我们通过自定义…

Express.js项目实战(1)—— 我的藏书馆

首先新建文件夹——myLibrary 在vscode中点击文件>点击 Duplicate Workspace(以工作区的方式打开文件夹myLibrary) 点击duplicate Workspace(打开工作区) 之后,会出现以下界面 点击打开文件夹,选择新建的文件夹,会出…

服务器托管让服务器管理更轻松高效

在信息化飞速发展的今天,服务器作为企业数据处理和信息存储的核心设备,其管理的重要性日益凸显。服务器托管,作为一种高效、专业的服务器管理方式,正逐渐成为众多企业的首选。那么,服务器托管究竟是如何让服务器管理更…

GEE:基于光谱距离方法的变化检测(以滑坡为例)

作者:CSDN @ _养乐多_ 本文将介绍在 Google Earth Engine(GEE)平台上,使用光谱向量距离度量方法进行变化检测的代码。代码中使用哨兵数据的光谱向量,并以检测滑坡为例进行演示。 结果如下图所示, 文章目录 一、参考内容1.1 光谱距离1.2 点积二、代码链接三、完整代码一…

Linux中查看文件内容的命令

文章目录 一、七类常见的Linux的文件二、显示命令三、分页显示四、显示文件前后内容五、压缩、解压缩六、补充 一、七类常见的Linux的文件 字符文件类型-普通文件,包括纯文本文件、二进制文件、各种压缩文件等。在find命令中,type 选项中用 f来表示d目录…

GoogleNet神经网络介绍

一、简介 GoogleNet,也称为GoogLeNet,是谷歌工程师设计的一种深度神经网络结构,它在2014年的ImageNet图像识别挑战赛中取得了冠军。该神经网络的设计特点主要体现在其深度和宽度上,通过引入名为Inception的核心子网络结构&#x…

【Jmeter+Influxdb+Grafana性能监控平台安装与部署】

JmeterInfluxdbGrafana性能监控平台安装与部署 前言Influxdb安装与连接Jmeternfluxdb下载(winodws)Grafana安装与配置 前言 我们在性能测试过程中,在需要较大并发时,为了尽量避免使用GUI界面来节省资源,通常使用命令行…

SAP-怎么查一个帐号访问事务代码的记录或者一个事务代码的被访问记录

起因 上周六,查了某用户对某事务代码的访问记录。今天又要查类似的信息。我发现我居然忘了该怎么查了。于是在处理完事情之后,整理了查询的过程,形成了这篇文章。 经过 热心网友告诉了我一个事务代码:ST03N - 工作负载和性能统…

[Python学习篇] Python解释器

解释器的作用 Python解释器(Interpreter)的作用,通俗理解,就是起到一个翻译的作用,把程序员所编写的代码翻译为计算机能读懂执行的代码。简单地说,Python解释器对输入的Python代码进行解释和执行。Python解…

强!10.6K star,一款开源HTTP测试工具,适合新手,简单、容易上手!

大家好,我是狂师! 今天给大家推荐一款开源的HTTP测试工具:Hurl,相比curl、wget功能更强大,且更容易上手、很适用新手使用。 1、项目介绍 Hurl是一个使用Rust语言开发的命令行工具,它允许用户运行以简单纯…

EasyExcel 复杂表头的导出(动态表头和静态表头)

问题:如图,1部分的表头是动态的根据日期变化,2部分是数据库对应的字段,静态不变的; 解决方案:如果不看1的部分,2部分内容可以根据实体类注解的方式导出,那么我们是不是可以先将动态表…

linux内核网络分析-通用字段“每日读书”

这一节讨论sk_buff的主要字段,而这些字段都与特定的内核功能无关。 struct timeval stamp; 通常只对一个已经接收的封包才有意义,这是一个时间戳,用于避哦啊是封包何时被接收,或者有时候用于表示封包预定传输的时间,此…

护眼台灯哪个牌子最好,护眼台灯五大品牌墙裂分享

近视在儿童中愈发普遍,许多家长开始认识到,除了学业成绩之外,孩子的视力健康同样重要。毕竟,学业的落后可以逐渐弥补,而一旦孩子近视,眼镜便可能成为长期伴随。因此,专业的护眼台灯对于每个家庭…

钉钉服务端API报错 43008 参数需要multipart类型

钉钉服务端API报错 43008 参数需要multipart类型 problem 使用媒体文件上传接口,按照文档输入参数,结果返回报错 # 参数 {"access_token": "xxx""type": "image","media": "/Users/xxx/xxx/s…

上位机图像处理和嵌入式模块部署(qmacvisual之n点标定)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing 163.com】 工业场景中,很多时候图像是用来做测量的。虽然我们很希望载台是平的,摄像头是正对着拍摄物体的,但是运行时间长…

String类教程:如何在Java中使用字符串操作

咦咦咦,各位小可爱,我是你们的好伙伴——bug菌,今天又来给大家普及Java SE相关知识点了,别躲起来啊,听我讲干货还不快点赞,赞多了我就有动力讲得更嗨啦!所以呀,养成先点赞后阅读的好…

【洛谷】P9240 [蓝桥杯 2023 省 B] 冶炼金属

题目链接 P9240 [蓝桥杯 2023 省 B] 冶炼金属 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 思路 这道题可以用数学的方法去做,但是我想不到😇有兴趣的可以去看看数学的题解 比较简单的思路就是二分查找,轻松简单不费脑,带你…

深信服超融合虚拟机的导入方法

以从vmware虚拟机导出的虚拟机为例。 1 进入虚拟机页面点【新增】,选择【导入虚拟机】 2 以文件类型为ovf、mf、vmdk为例导入 选择文件类型,选择那三个导出的虚拟机的文件,选择分组,存储位置和运行位置默认,操作系统…