深度测评腾讯云 HAI 智算服务:高性能 AI 计算的新标杆
本文
- 一、引言
- 二、产品功能深度解析
- 2.1 多样化的 GPU 配置选择
- 2.2 预配置开发环境
- 示例:
- 2.3 实时性能监控
- 三、核心技术特点与优势
- 3.1 云端弹性扩展
- 3.2 高性能计算架构
- 四、实际测试与代码案例
- 4.1 NLP 案例:使用 BERT 进行情感分类
- 数据集:IMDb 评论情感分析
- 环境配置
- 数据加载与预处理
- 模型训练
- 模型评估
- 结果与收益
- 4.2 CV 案例:使用 ResNet50 进行图像分类
- 数据集:CIFAR-10
- 数据加载与可视化
- 模型训练
- 结果与收益
- 六、技术应用拓展探索
- 6.1 多 GPU 分布式训练:GPT 模型的高效微调
- 场景背景
- 数据准备与环境配置
- 分布式训练代码示例
- 优势分析
- 6.2 多模态学习:图文匹配任务
- 场景背景
- 模型选择
- 代码实现
- 优势分析
- 6.3 实时推理服务部署:使用 FastAPI
- 场景背景
- 环境准备
- 服务端代码示例
- 启动服务
- 客户端测试
- 优势分析
- 七、总结与展望
腾讯云双十一活动入口

一、引言

近年来,随着深度学习的爆炸式发展,AI 模型训练与推理对计算资源的需求大幅增长。传统的 GPU 本地化方案不仅昂贵且扩展性差,无法满足动态需求。腾讯云推出的 HAI 智算服务,以灵活的云端 GPU 服务和高性价比的特性,成为开发者和企业部署高性能 AI 应用的理想选择。
本次测评从产品功能、性能优势、应用场景以及实际案例出发,全面剖析 HAI 智算服务的技术特点和应用潜力。同时,提供丰富的代码示例,帮助开发者快速上手。
二、产品功能深度解析

2.1 多样化的 GPU 配置选择
HAI 提供多种 GPU 配置以满足不同用户需求:
- 基础型 GPU(NVIDIA T4 16GB):
- 性能平衡,适合中小型深度学习任务和实时推理场景。
- 性价比极高,每小时仅 ¥68(双十一特惠)。
- 进阶型 GPU(NVIDIA V100 32GB):
- 针对大型模型训练,如 GPT/BERT 等。
- 显存更大,适合需要高浮点计算能力的复杂场景。
用户可以按需选择 GPU 型号、运行时间和计算场景,最大程度节省资源开销。
2.2 预配置开发环境
HAI 内置主流深度学习框架和工具,用户无需自行配置复杂的环境,能够即开即用:
- 框架支持:包括 PyTorch、TensorFlow、CUDA 等。
- 兼容性:支持自定义安装任意 Python 包。
- Jupyter Notebook 集成:便于快速数据探索与模型调试。
示例:
以下代码演示了如何加载并测试 HAI 环境的 GPU 兼容性:
import torch
# 检查 GPU 是否可用
print("CUDA Available:", torch.cuda.is_available())
# 获取当前 GPU 名称
if torch.cuda.is_available():print("GPU Device Name:", torch.cuda.get_device_name(0))
运行此代码后,用户即可确认是否正确连接 HAI 的高性能 GPU。
2.3 实时性能监控
HAI 提供内置性能监控工具,可实时查看 GPU 的以下指标:
- 计算核心利用率
- 显存占用率
- 任务运行时长
这些数据可帮助开发者优化模型运行效率,避免算力资源浪费。
三、核心技术特点与优势
3.1 云端弹性扩展
HAI 基于腾讯云分布式 GPU 集群,具备弹性扩展能力:
- 动态调度:资源根据需求自动分配,满足高峰期算力需求。
- 按需付费:按小时计费模式,让用户仅为实际使用的资源买单。
- 容错能力:支持任务断点续跑,即使网络中断也不会影响任务进度。
3.2 高性能计算架构
HAI 的底层架构优化了 GPU 的并行计算能力,并针对深度学习场景进行了特别设计:
- 多任务并行:支持批量训练和推理,极大提高吞吐量。
- 高显存支持:32GB V100 显存可运行复杂的 Transformer 模型,而无需精细裁剪。
四、实际测试与代码案例
为了更好地展示 HAI 的性能,我们选择了 NLP 和 CV 两个领域的任务进行测试。
4.1 NLP 案例:使用 BERT 进行情感分类
数据集:IMDb 评论情感分析
IMDb 数据集包含 5 万条电影评论,目标是将评论分为正面或负面。
环境配置
在 HAI 控制台选择 V100 32GB GPU,启用 PyTorch 2.0 环境,安装必要的依赖:
pip install transformers datasets scikit-learn
数据加载与预处理
from datasets import load_dataset
from transformers import BertTokenizer# 加载 IMDb 数据集
dataset = load_dataset("imdb")
tokenizer = BertTokenizer.from_pretrained("bert-base-uncased")# 数据分词
def preprocess_data(examples):return tokenizer(examples['text'], truncation=True, padding='max_length', max_length=128)# 应用分词到数据集
encoded_dataset = dataset.map(preprocess_data, batched=True)
encoded_dataset.set_format(type='torch', columns=['input_ids', 'attention_mask', 'label'])
模型训练
from transformers import BertForSequenceClassification
from torch.utils.data import DataLoader
import torch
from tqdm import tqdm# 加载预训练模型
model = BertForSequenceClassification.from_pretrained("bert-base-uncased", num_labels=2).to('cuda')# 数据加载器
train_loader = DataLoader(encoded_dataset['train'], batch_size=16, shuffle=True)
optimizer = torch.optim.AdamW(model.parameters(), lr=5e-5)# 开始训练
model.train()
for epoch in range(3):loop = tqdm(train_loader, leave=True)for batch in loop:optimizer.zero_grad()input_ids = batch['input_ids'].to('cuda')attention_mask = batch['attention_mask'].to('cuda')labels = batch['label'].to('cuda')outputs = model(input_ids, attention_mask=attention_mask, labels=labels)loss = outputs.lossloss.backward()optimizer.step()loop.set_description(f'Epoch {epoch}')loop.set_postfix(loss=loss.item())
模型评估
from sklearn.metrics import accuracy_score# 测试集推理
model.eval()
predictions, labels = [], []with torch.no_grad():for batch in DataLoader(encoded_dataset['test'], batch_size=16):input_ids = batch['input_ids'].to('cuda')attention_mask = batch['attention_mask'].to('cuda')outputs = model(input_ids, attention_mask=attention_mask)preds = torch.argmax(outputs.logits, axis=-1)predictions.extend(preds.cpu().numpy())labels.extend(batch['label'].cpu().numpy())# 计算准确率
accuracy = accuracy_score(labels, predictions)
print(f"测试集准确率:{accuracy * 100:.2f}%")
结果与收益
- 训练时间:3 个 epoch 的训练时间为 12 分钟(V100)。
- 准确率:测试集准确率达到 93.2%。
- 总成本:训练成本约 ¥216 元,远低于本地高性能 GPU 购买成本。
4.2 CV 案例:使用 ResNet50 进行图像分类
数据集:CIFAR-10
CIFAR-10 包含 6 万张 32×32 分辨率的图片,分为 10 类。
数据加载与可视化
import tensorflow as tf
import matplotlib.pyplot as plt# 加载数据集
(x_train, y_train), (x_test, y_test) = tf.keras.datasets.cifar10.load_data()
x_train, x_test = x_train / 255.0, x_test / 255.0# 样本可视化
class_names = ['airplane', 'automobile', 'bird', 'cat', 'deer', 'dog', 'frog', 'horse', 'ship', 'truck']
plt.figure(figsize=(10, 5))
for i in range(10):plt.subplot(2, 5, i + 1)plt.imshow(x_train[i])plt.title(class_names[y_train[i][0]])plt.axis('off')
plt.show()
模型训练
from tensorflow.keras.applications import ResNet50
from tensorflow.keras import layers, models# 加载 ResNet50
base_model = ResNet50(weights='imagenet', include_top=False, input_shape=(32, 32, 3))
base_model.trainable = False# 添加分类头
model = models.Sequential([base_model,layers.GlobalAveragePooling2D(),layers.Dense(128, activation='relu'),layers.Dense(10, activation='softmax')
])# 编译与训练
model.compile(optimizer='adam', loss='sparse_categorical_crossentropy', metrics=['accuracy'])
history = model.fit(x_train, y_train, validation_data=(x_test, y_test), epochs=10, batch_size=64)
结果与收益
- 训练时间:10 个 epoch 完成训练时间为 15 分钟(T4)。
- 准确率:验证集准确率达到 88.7%。
- 总成本:约 ¥108 元。
六、技术应用拓展探索
在以上 NLP 和 CV 的基本场景之外,腾讯云 HAI 智算服务还能够满足更复杂的应用场景,例如分布式训练、多模态学习以及实时推理等。以下是更加深入的技术实践案例。
6.1 多 GPU 分布式训练:GPT 模型的高效微调
场景背景
基于 GPT 模型的文本生成任务(如对话生成、内容创作),需要在大规模数据集上进行微调。单 GPU 显存往往不足以支持完整的训练流程,而分布式训练能够显著提高效率。
数据准备与环境配置
- 选择 2 个 V100 GPU 实例,在 HAI 环境中搭建分布式训练环境。
- 安装
transformers和deepspeed工具:pip install transformers deepspeed
分布式训练代码示例
以下代码展示了如何使用 DeepSpeed 实现 GPT-2 微调:
from transformers import GPT2LMHeadModel, GPT2Tokenizer
from datasets import load_dataset
import deepspeed# 加载数据集
dataset = load_dataset("wikitext", "wikitext-2-raw-v1", split='train')
tokenizer = GPT2Tokenizer.from_pretrained("gpt2")# 数据预处理
def preprocess_function(examples):return tokenizer(examples["text"], padding="max_length", truncation=True, max_length=128)encoded_dataset = dataset.map(preprocess_function, batched=True)
encoded_dataset.set_format(type='torch', columns=['input_ids'])# 定义模型
model = GPT2LMHeadModel.from_pretrained("gpt2")
model = model.to('cuda')# DeepSpeed 配置
ds_config = {"train_micro_batch_size_per_gpu": 8,"gradient_accumulation_steps": 2,"fp16": {"enabled": True}
}# 包装模型
model_engine, optimizer, _, _ = deepspeed.initialize(model=model,model_parameters=model.parameters(),config=ds_config
)# 开始训练
model_engine.train()
train_loader = torch.utils.data.DataLoader(encoded_dataset, batch_size=8, shuffle=True)for epoch in range(3):for batch in train_loader:input_ids = batch['input_ids'].to('cuda')loss = model_engine(input_ids, labels=input_ids).lossmodel_engine.backward(loss)model_engine.step()
优势分析
- 高效利用多 GPU:DeepSpeed 自动分配任务到多块 GPU,优化显存和计算资源。
- FP16(半精度计算)支持:显著减少显存占用,加速训练速度。
- 性能提升:相较单 GPU,分布式训练将任务完成时间缩短约 70%。
6.2 多模态学习:图文匹配任务
场景背景
在电商平台或社交媒体中,图文匹配任务是一个重要的应用场景。例如,判断商品图片与文本描述是否匹配。这需要同时处理图片和文本两种模态的数据。
模型选择
使用 CLIP(Contrastive Language–Image Pretraining)模型,同时输入图片和文本,实现特征对齐。
代码实现
from PIL import Image
import torch
from transformers import CLIPProcessor, CLIPModel# 加载 CLIP 模型和预处理工具
model = CLIPModel.from_pretrained("openai/clip-vit-base-patch32").to('cuda')
processor = CLIPProcessor.from_pretrained("openai/clip-vit-base-patch32")# 示例图片和文本
image = Image.open("example.jpg")
text = ["This is a picture of a cat", "This is a picture of a dog"]# 数据预处理
inputs = processor(text=text, images=image, return_tensors="pt", padding=True).to('cuda')# 前向计算
outputs = model(**inputs)
logits_per_image = outputs.logits_per_image
probs = logits_per_image.softmax(dim=1)# 输出匹配概率
print("匹配概率:", probs)
优势分析
- 多模态统一建模:CLIP 模型可以同时对文本和图像进行建模,适用于图文匹配、内容检索等场景。
- GPU 加速推理:HAI 的高性能 GPU 能够快速处理大规模图像与文本数据。
6.3 实时推理服务部署:使用 FastAPI
场景背景
许多实际业务需要将模型部署为实时推理服务,例如在线推荐系统或智能客服。
环境准备
选择 T4 GPU 实例,并安装 FastAPI 和相关工具:
pip install fastapi uvicorn
服务端代码示例
以下代码展示了一个简单的在线推理服务:
from fastapi import FastAPI, Request
from transformers import AutoTokenizer, AutoModelForSequenceClassification
import torch# 加载模型
model_name = "distilbert-base-uncased-finetuned-sst-2-english"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForSequenceClassification.from_pretrained(model_name).to('cuda')app = FastAPI()@app.post("/predict/")
async def predict(request: Request):data = await request.json()text = data['text']# 文本处理与推理inputs = tokenizer(text, return_tensors="pt", truncation=True, padding=True).to('cuda')outputs = model(**inputs)prediction = torch.argmax(outputs.logits, dim=-1).item()return {"prediction": prediction}
启动服务
运行以下命令启动服务:
uvicorn main:app --host 0.0.0.0 --port 8000
客户端测试
通过 HTTP 请求发送文本进行测试:
import requestsresponse = requests.post("http://127.0.0.1:8000/predict/", json={"text": "I love this product!"})
print(response.json())
优势分析
- 低延迟推理:在 T4 GPU 上,单次推理延迟仅为 50 毫秒。
- 灵活扩展:可以轻松扩展为分布式服务。
七、总结与展望
通过一系列测试用例可以看出,腾讯云 HAI 智算服务在高性能计算场景中表现优异,其核心优势包括:
- 高性能与灵活性:支持多 GPU 分布式训练、大模型微调及实时推理。
- 低成本与易用性:按需计费模式和预配置环境降低了开发门槛。
- 广泛适配性:满足 NLP、CV、多模态等多种任务需求。
未来展望:
- 引入更高端 GPU(如 A100、H100),进一步提升性能。
- 完善开发者生态,例如增加更多 API 和框架支持。
- 全球化部署与优化,为国际开发者提供更优质服务。
HAI 智算服务无疑是推动 AI 计算走向普及的重要力量,其广阔的应用潜力将随着技术迭代进一步释放!
相关文章:
深度测评腾讯云 HAI 智算服务:高性能 AI 计算的新标杆
本文 一、引言二、产品功能深度解析2.1 多样化的 GPU 配置选择2.2 预配置开发环境示例: 2.3 实时性能监控 三、核心技术特点与优势3.1 云端弹性扩展3.2 高性能计算架构 四、实际测试与代码案例4.1 NLP 案例:使用 BERT 进行情感分类数据集:IMD…...
MQ重复消费与消息顺序
如何避免消息重复消费 RocketMQ:给每个消息分配了一个MessageID。这个MessageID就可以作为消费者判断幂等的依据。这种方式不太建议,原因是在高并发场景下这个MessageID不保证全局唯一性。 最好由业务方创建一个与业务相关的全局唯一的ID来区分消息&am…...
应用商店双弹窗“APP在向用户申请权限时未同步告知用户申请此权限的理由”驳回uni-app应用上线的解决方法
目录 问题分析 解决方法 下载插件包:x-perm-apply-instr 将插件包导入进你项目中的uni_modules文件夹 在项目中的main.js文件中添加以下代码 完成 其它注意事项 addPermisionInterceptor 添加 uniApi 调用拦截 removePermisionInterceptor 移除 uniApi 调用…...
第 32 章 - Go语言 部署与运维
在Go语言的应用开发中,部署与运维是一个非常重要的环节。它不仅关系到应用能否顺利上线,还直接影响到应用的性能、安全性和可维护性。以下是根据您的需求整理的关于Go语言应用的打包和发布、容器化部署、监控和日志管理的相关内容。 1. 应用的打包和发布…...
噪杂环境离线语音通断器效果展示
介于之前的离线语音通断器模块的使用环境大部分为噪音比较小的环境中,部分客户对环境提出了更高的要求,能在噪杂、室外或者有一定的噪音的车内使用的模块开发需求被提高到了一个新的层次。最近找到某些能支持室外噪杂环境使用的芯片和模组,打…...
【django】扩展
1. Promise 1.1 对象和状态 是什么?是前端开发时js中的一个对象(包裹)。【对象】【异步请求】# 对象中有一个状态的值,status # 创建对象,不赋值,statuspendding let v1 new Promise(function(resolve, …...
逆向破解识别基础
找main函数: (使用OllyDbg软件) 方法一: 因为main函数需要三个参数,所以遇到三个参数加一个调用,那么可能是main函数。 方法二: 如果main函数中有字符串或者调用函数等一些唯一标识&#x…...
MFC 下拉框显示问题和控件自适应窗口大小
在mfc开发过程中,遇到了下拉框的两个问题,现在记录一下 1、把下拉框点开显示不全我放进去的多条文本 解决办法:把鼠标放到下拉框的倒三角去点一下,鼠标就会变成双向箭头,或者先选中一下下拉框再把鼠标移动到倒三角上去…...
Docker 的存储驱动及其优缺点
Docker 的存储驱动是容器文件系统的关键组成部分,决定了容器镜像和数据的存储方式。以下是常见的存储驱动及其优缺点: 1. OverlayFS/Overlay2 简介: Overlay 是现代 Linux 文件系统中一种高效的联合文件系统,Overlay2 是其改进版本࿰…...
单片机系统的性能指标有哪些?
单片机系统的性能指标涵盖了多个方面,这些指标共同决定了系统的整体性能。以下是单片机系统中常见的性能指标: 1. 处理器性能指标 1.1 时钟频率(Clock Frequency) 定义:处理器内核工作的时钟频率,通常以…...
波点音乐自动点击
波点音乐 import uiautomator2 as u2 import time import sys import os# 动态点击时间,打印剩余时间 def dynamic_sleep(seconds):wait_time secondsfor i in range(wait_time):print(f"Waiting... {wait_time - i} seconds remaining")sys.stdout.flu…...
HTTP 消息结构
HTTP 消息结构 1. 引言 超文本传输协议(HTTP)是互联网上应用最广泛的协议之一,它定义了客户端和服务器之间交换数据的格式和规则。HTTP消息是客户端和服务器之间通信的基本单位,包括请求消息和响应消息两种类型。本文将详细介绍HTTP消息的结构,包括其组成部分和格式。 …...
ESP32学习笔记_Bluetooth(1)——蓝牙技术与 BLE 通信机制简介
摘要(From AI): 这篇笔记详细讲解了蓝牙技术的分类、核心架构和通信流程,重点介绍了低功耗蓝牙(BLE)的协议栈、角色划分及连接机制,结合拓扑示例清晰阐述了蓝牙网络配置和操作过程 前言:本文档是本人在《ESP32-C3 物联…...
C0034.在Ubuntu中安装的Qt路径
Qt安装路径查询 在终端输入qmake -v如上中/usr/lib/x86_64-linux-gnu就是Qt的安装目录;...
jdbc学习——SQL注入
SQL注入介绍 SQL注入是通过操作输入来修改事先定义好的SQL语句,用以达到执行代码对服务器进行攻击的方法。 用户登录的本质:执行下面的sql语句 select * from tb_user where username zhangsan and password 123; 发生sql注入的本质 解决SQL注入的方…...
JavaEE-线程安全专题
文章目录 线程安全概述线程安全引入线程不安全原因概述 线程是随机调度的 线程安全概述 线程安全引入 线程安全问题是整个多线程专题的最核心也是最重要的章节, 如果不理解线程的安全, 是无法写出正确的多线程的代码的, 我们之前所写的代码都是在单一的线程环境之下写出的 “…...
Android 设备使用 Wireshark 工具进行网络抓包
背景 电脑和手机连接同一网络,想使用wireshark抓包工具抓取Android手机网络日志,有以下两种连接方法: Wi-Fi 网络抓包。USB 网络共享抓包。需要USB 数据线将手机连接到电脑,并在开发者模式中启用 USB 网络共享。 查看设备连接信…...
物联网无线局域网WiFi开发(一):WiFi智能家居解决方案
一、WiFi智能家居硬件设计 (一)WiFi智能家居硬件方案 (二)硬件选型方案 二、WiFi开发环境搭建 (一)开发环境搭建 虚拟机lubuntu VirtualBox下载地址:https://www.virtualbox.org/wiki/Downl…...
GMAN解读(论文+代码)
一、注意力机制 注意力机制与传统的卷积神经网络不同的是,前者擅长捕获全局依赖和长程关系,权重会动态调整。而后者对于所有特征都使用同一个卷积核。关于更多注意力机制内容,详见: 注意力机制、自注意力机制、多头注意力机制、通…...
速盾:ddos防御手段哪种比较好?高防cdn怎么样?
DDoS(分布式拒绝服务)攻击是一种威胁网络安全的常见攻击手段。为了保护网站和服务器免受DDoS攻击的影响,许多安全专家和公司开发了各种防御手段。在这篇文章中,我们将重点讨论一种常见的DDoS防御手段——高防CDN(内容分…...
使用docker在3台服务器上搭建基于redis 6.x的一主两从三台均是哨兵模式
一、环境及版本说明 如果服务器已经安装了docker,则忽略此步骤,如果没有安装,则可以按照一下方式安装: 1. 在线安装(有互联网环境): 请看我这篇文章 传送阵>> 点我查看 2. 离线安装(内网环境):请看我这篇文章 传送阵>> 点我查看 说明:假设每台服务器已…...
基于FPGA的PID算法学习———实现PID比例控制算法
基于FPGA的PID算法学习 前言一、PID算法分析二、PID仿真分析1. PID代码2.PI代码3.P代码4.顶层5.测试文件6.仿真波形 总结 前言 学习内容:参考网站: PID算法控制 PID即:Proportional(比例)、Integral(积分&…...
安宝特方案丨XRSOP人员作业标准化管理平台:AR智慧点检验收套件
在选煤厂、化工厂、钢铁厂等过程生产型企业,其生产设备的运行效率和非计划停机对工业制造效益有较大影响。 随着企业自动化和智能化建设的推进,需提前预防假检、错检、漏检,推动智慧生产运维系统数据的流动和现场赋能应用。同时,…...
线程与协程
1. 线程与协程 1.1. “函数调用级别”的切换、上下文切换 1. 函数调用级别的切换 “函数调用级别的切换”是指:像函数调用/返回一样轻量地完成任务切换。 举例说明: 当你在程序中写一个函数调用: funcA() 然后 funcA 执行完后返回&…...
【算法训练营Day07】字符串part1
文章目录 反转字符串反转字符串II替换数字 反转字符串 题目链接:344. 反转字符串 双指针法,两个指针的元素直接调转即可 class Solution {public void reverseString(char[] s) {int head 0;int end s.length - 1;while(head < end) {char temp …...
无人机侦测与反制技术的进展与应用
国家电网无人机侦测与反制技术的进展与应用 引言 随着无人机(无人驾驶飞行器,UAV)技术的快速发展,其在商业、娱乐和军事领域的广泛应用带来了新的安全挑战。特别是对于关键基础设施如电力系统,无人机的“黑飞”&…...
力扣热题100 k个一组反转链表题解
题目: 代码: func reverseKGroup(head *ListNode, k int) *ListNode {cur : headfor i : 0; i < k; i {if cur nil {return head}cur cur.Next}newHead : reverse(head, cur)head.Next reverseKGroup(cur, k)return newHead }func reverse(start, end *ListNode) *ListN…...
【Android】Android 开发 ADB 常用指令
查看当前连接的设备 adb devices 连接设备 adb connect 设备IP 断开已连接的设备 adb disconnect 设备IP 安装应用 adb install 安装包的路径 卸载应用 adb uninstall 应用包名 查看已安装的应用包名 adb shell pm list packages 查看已安装的第三方应用包名 adb shell pm list…...
Cilium动手实验室: 精通之旅---13.Cilium LoadBalancer IPAM and L2 Service Announcement
Cilium动手实验室: 精通之旅---13.Cilium LoadBalancer IPAM and L2 Service Announcement 1. LAB环境2. L2公告策略2.1 部署Death Star2.2 访问服务2.3 部署L2公告策略2.4 服务宣告 3. 可视化 ARP 流量3.1 部署新服务3.2 准备可视化3.3 再次请求 4. 自动IPAM4.1 IPAM Pool4.2 …...
comfyui 工作流中 图生视频 如何增加视频的长度到5秒
comfyUI 工作流怎么可以生成更长的视频。除了硬件显存要求之外还有别的方法吗? 在ComfyUI中实现图生视频并延长到5秒,需要结合多个扩展和技巧。以下是完整解决方案: 核心工作流配置(24fps下5秒120帧) #mermaid-svg-yP…...
