云服务器内容精选
-
代码目录介绍 AscendCloud-3rdLLM代码包结构介绍如下: xxx-Ascend #xxx表示版本号 ├──llm_evaluation #推理评测代码包 ├──benchmark_eval #精度评测 ├──benchmark_tools #性能评测 ├──llm_train #模型训练代码包 ├──AscendSpeed #基于AscendSpeed的训练代码 ├──AscendSpeed #加速库 ├──ModelLink #基于ModelLink的训练代码 ├──scripts/ #训练需要的启动脚本 本教程需要使用到的训练相关代码存放在llm_train/AscendSpeed目录下,具体文件介绍如下: ├──llm_train #模型训练代码包 ├──AscendSpeed #基于AscendSpeed的训练代码 ├──AscendSpeed #加速库 ├──ModelLink #基于ModelLink的训练代码,数据预处理脚本 ├──scripts/ #训练需要的启动脚本,调用ModelLink ├──baichuan2 #Baichuan2的训练代码 ├──baichuan2.sh #Baichuan2训练脚本
-
权重和词表文件介绍 下载完毕后的HuggingFace原始权重文件包含以下内容,此处以baichuan2-13B为例。 baichuan2-13B ├── config.json ├── configuration_baichuan.py ├── generation_config.json ├── generation_utils.py ├── handler.py ├── modeling_baichuan.py ├── pytorch_model-00001-of-00003.bin ├── pytorch_model-00002-of-00003.bin ├── pytorch_model-00003-of-00003.bin ├── pytorch_model.bin.index.json ├── quantizer.py ├── README.md ├── special_tokens_map.json ├── tokenization_baichuan.py ├── tokenizer_config.json ├── tokenizer.model ├── transform.ckpt ├── transformed.ckpt
-
获取数据及代码 表1 准备代码 代码包名称 代码说明 下载地址 AscendCloud-3rdLLM-6.3.904-xxx.zip 说明: 软件包名称中的xxx表示时间戳。 包含了本教程中使用到的模型训练代码、推理部署代码和推理评测代码。代码包具体说明请参见代码目录介绍。 AscendSpeed是用于模型并行计算的框架,其中包含了许多模型的输入处理方法。 获取路径:Support网站 说明: 如果没有下载权限,请联系您所在企业的华为方技术支持下载获取。 权重和词表文件 包含了本教程使用到的HuggingFace原始权重文件和Tokenizer。 标记器(Tokenizer)是NLP管道的核心组件之一。它们有一个目的:将文本转换为模型可以处理的数据。模型只能处理数字,因此标记器(Tokenizer)需要将文本输入转换为数字数据。 baichuan2-13b-chat 这个路径下既有权重,也有Tokenizer,全部下载。具体内容参见权重和词表文件介绍。
-
上传代码到工作环境 使用root用户以SSH的方式登录DevServer。 将AscendSpeed代码包AscendCloud-3rdLLM-xxx-xxx.zip上传到${workdir}目录下并解压缩,如:/home/ma-user/ws目录下,以下都以/home/ma-user/ws为例。 unzip AscendCloud-3rdLLM-xxx-xxx.zip #解压缩,-xxx-xxx表示软件包版本号和时间戳 上传tokenizers文件到工作目录中的/home/ma-user/ws/tokenizers/BaiChuan2-13B目录。 具体步骤如下: 进入到${workdir}目录下,如:/home/ma-user/ws。 cd /home/ma-user/ws mkdir -p tokenizers/BaiChuan2-13B 将 权重和词表文件 文件放置此处。 修改tokenizer目录下tokenization_baichuan.py中约71行内容。 调整 super().__init__()位置:将super().__init__()放置def __init__()方法最底层,如下图所示。 图1 修改tokenization_baichuan.py
-
更多操作 订单支付成功后,返回应用平台控制台“总览”页面,还可执行如表1所示的操作。 表1 更多操作 操作 说明 步骤 快速订购 继续购买新规格。 在“套餐详情”区域单击“快速订购”。 在应用平台AppStage总览页,参照3,继续购买新规格。 升级 将AppStage免费版升级为专业版。 该功能仅对使用AppStage免费版的特定VIP用户可见。 说明: 套餐升级后,有效期与原周期相同,配置费用 = 新套餐价格 * 剩余周期。 订单支付成功后自动升级服务,生效时间以订单时间为准。 升级成功后将不能再使用免费版,只能使用AppStage所有产品的专业版。 在“套餐详情”区域单击“升级”。 确认当前配置和升级后配置信息。 在“协议许可”区域勾选“我已阅读并同意《应用平台AppStage服务声明》”。 单击右下角“立即升级”。 在“支付方式”区域,选择“余额支付”或“在线支付”,然后单击“确认付款”。 支付完成后,系统会提示“订单支付成功”。 单击“查看订单详情”进入“我的订单”详情页,可查看订单详情信息,如支付信息、资源信息等。 单击“返回应用平台控制台”,进入应用平台控制台“总览”页面。 续费 AppStage相关的订单到期后会影响AppStage各中心的使用。如果您想继续使用,需要在指定的时间内续费订单。 说明: 续费操作仅适用于包年/包月资源,按需计费资源不需要续费,只需要保证账户余额充足即可。 关于续费的详细介绍请参见续费。 在应用平台控制台左侧导航栏选择“总览”,然后在“套餐详情”区域单击“续费”,进入费用中心的“续费管理”页面。 在“续费管理”页面,自定义查询条件。 可在“手动续费项”、“自动续费项”、“到期转按需项”、“到期不续费项”页签查询全部待续费项,对套餐进行手动续费的操作,具体操作请参见如何恢复为手动续费。 在列表中找到需要续费的订单,单击操作列的“续费”。 选择续费时长,判断是否勾选“统一到期日”,将套餐到期时间统一到各个月的某一天(详细介绍请参见统一包年/包月资源的到期日)。确认配置费用后单击“去支付”。 进入支付页面,选择支付方式,确认付款,支付订单后即可完成续费。 退订 退订已购买的包年包月资源(适用于退订开发中心/运维中心/运行时引擎/运营中心/AI原生应用引擎的包年/包月资源)。 在应用平台控制台左侧导航栏选择“总览”,然后在“套餐详情”区域单击“退订”,进入费用中心的“云服务退订”页面。 参照云服务退订完成产品退订。 退订已购买的按需计费资源(适用于退订AI原生应用引擎的按需计费资源)。 在应用平台控制台左侧导航栏选择“AI原生应用引擎”,在AI原生应用引擎详情页面的“我的资源”区域的资源列表中,单击需要停止计费的资源“操作”列的“退订”。 在“退订资源”对话框中,确认要退订的资源,单击“一键输入”自动在输入框填入“退订资源”,如图1所示。 图1 退订按需计费的资源 单击“确定”,即可退订该按需计费资源。
-
操作步骤 登录AppStage管理控制台,默认进入应用平台控制台“总览”页。 单击“立即购买”,进入AppStage的产品订购页面。 在订购页面,区分页签显示AppStage下不同类型产品的套餐对应的服务资源和规格收费(关于计费模式的详细信息,请参见计费说明),请根据实际业务需求选择所需产品(支持多选)。 购买AI原生应用引擎 选择“AI原生应用引擎”页签,选择购买的资源及其对应的计费模式: 购买AI原生应用引擎按需计费的资源操作如下: 单击“按需计费”,在模型列表中勾选要购买的资源。 在“协议许可”区域勾选“我已阅读并同意《应用平台AppStage服务声明》”,单击右下角“下一步”。 在“确认配置”页面确认订购的产品信息。 单击“立即开通”。 页面提示“开通成功”后,默认返回应用平台控制台“总览”页面,可查看已购买产品及其套餐详情等。 购买AI原生应用引擎包年包月资源的操作如下: 单击“包年/包月”,选择资源的实例数,并在“购买时长”区域,可以选择按月购买或者按年购买。 (可选)勾选“自动续费”,订单会在每次到期前自动续费,避免因忘记手动续费而导致资源不可用。自动续订时系统从可用余额扣款。 按月购买:每次续订1个月,次数不限;按年购买:每次续订1年,次数不限。 在“协议许可”区域勾选“我已阅读并同意《应用平台AppStage服务声明》”,单击“下一步”。 在“确认配置”页面确认订购的产品信息。 单击右下角“去支付”。 在“支付方式”区域,选择“余额支付”或“在线支付”,然后单击“确认付款”。 支付完成后,系统会提示“订单支付成功”。 购买开发中心/运维中心/运行时引擎/运营中心 选择“应用生命周期管理”页签,根据业务需求购买所需产品,具体操作如下: 在“选择产品类型”区域显示不同产品的套餐对应的服务资源和规格收费,请根据业务需求选择所需产品(支持多选)。 (可选)在“选择增量包类型”区域,可以选择增加相应中心的服务扩展包或资源增量包。 在“购买时长”区域,可以选择按月购买或者按年购买。 (可选)勾选“自动续费”,订单会在每次到期前自动续费,避免因忘记手动续费而导致资源不可用。自动续订时系统从可用余额扣款。 按月购买:每次续订1个月,次数不限;按年购买:每次续订1年,次数不限。 AppStage的VIP用户购买免费版套餐时,不支持自动续费。 在“协议许可”区域勾选“我已阅读并同意《应用平台AppStage服务声明》”。 单击右下角“立即购买”。 在“确认配置”页面确认订购的产品信息。 “产品信息”中包含可用地域、购买时长、各中心相应的版本规格(最大用户数、应用实例数量等)、购买数量、计费模式等信息。 单击右下角“去支付”。 在“支付方式”区域,选择“余额支付”或“在线支付”,然后单击“确认付款”。 支付完成后,系统会提示“订单支付成功”。 单击“查看订单详情”进入“我的订单”详情页,可查看订单详情信息,如支付信息、资源信息等。 单击“返回应用平台控制台”,进入应用平台控制台“总览”页面,可查看已购买产品及其套餐详情等。 购买专业服务 专业服务是为客户提供aPaaS平台及应用上云和用云全生命周期的服务,支撑客户更好地使用aPaaS平台和应用。 在应用平台控制台左侧导航栏选择“专业服务”,进入“aPaas平台专业服务”页面。 根据购买需要单击“aPaaS确定性运维服务”、“aPaaS上云与实施服务”或“aPaaS咨询与规划服务”服务卡片,单击服务卡片上的“了解更多”,可查看相应服务的服务介绍、计费说明和常见问题解答。
-
购买须知 需先选购产品套餐,才能选购产品对应的增量包。 如果已开通的产品套餐到期,则对应的增量包不可使用,需将产品套餐续订后增量包才可以继续使用。 AppStage的运行时引擎依赖于运维中心能力,需先选购运维中心才能选购运行时引擎。 运行时引擎实例依赖运维中心实例,如果选购运行时引擎产品套餐和增量包,则运行时引擎的实例数量必须和运维中心的实例数量保持一致。 订单支付成功后自动开通服务,生效时间以订单时间为准。
-
使用华为账号登录行业视频管理后台 进入行业视频管理服务后台。 在华为账号登录框,使用已有的华为账号直接登录。 如果没有华为账号,单击“注册”,进入账号注册界面。 单击选中“华为账号”,在华为账号注册页面,输入手机号、验证码、密码并确认密码,单击“注册”。 如果需要注册行业视频管理账号,则单击选中“行业视频管理服务账号”,跳转至行业视频管理服务账号注册页面,参考登录行业视频管理后台进行创建。 此处注册的华为账号与注册华为账号并开通华为云中注册的华为账号(华为云实名认证)不同。 此处的华为账号用于登录行业视频管理服务后台,创建企业后可以对所在企业或组织的人员、设备等进行管理。 注册华为账号并开通华为云中的华为账号指真实的个人或企业登录华为云的账号信息,客户的基本信息、订单信息、费用信息都和客户的账号相关联。 进入华为帐号登录界面登录。
-
使用行业视频管理账号登录行业视频管理后台 进入行业视频管理服务后台。 在华为账号登录框下方,单击“行业视频管理帐号”,进入行业视频管理服务登录界面。 单击“注册账号”。 在注册页面,输入手机号、验证码、密码、验证码并确认密码,完成后勾选协议,单击“注册”。 此处注册的行业视频管理服务账号与注册华为账号并开通华为云中注册的华为账号(华为云实名认证)不同。 行业视频管理服务账号用于登录行业视频管理服务后台,创建企业后可以对所在企业或组织的人员、设备等进行管理。 华为账号指真实的个人或企业登录华为云的账号信息,客户的基本信息、订单信息、费用信息都和客户的账号相关联。 进入行业视频管理帐号登录页面进行登录。
-
更多操作 订单支付成功后,返回应用平台控制台“总览”页面,还可执行如表1所示的操作。 表1 更多操作 操作 说明 步骤 快速订购 继续购买新规格。 在“套餐详情”区域单击“快速订购”。 在应用平台AppStage总览页,参照3,继续购买新规格。 升级 将AppStage免费版升级为专业版。 该功能仅对使用AppStage免费版的特定VIP用户可见。 说明: 套餐升级后,有效期与原周期相同,配置费用 = 新套餐价格 * 剩余周期。 订单支付成功后自动升级服务,生效时间以订单时间为准。 升级成功后将不能再使用免费版,只能使用AppStage所有产品的专业版。 在“套餐详情”区域单击“升级”。 确认当前配置和升级后配置信息。 在“协议许可”区域勾选“我已阅读并同意《应用平台AppStage服务声明》”。 单击右下角“立即升级”。 在“支付方式”区域,选择“余额支付”或“在线支付”,然后单击“确认付款”。 支付完成后,系统会提示“订单支付成功”。 单击“查看订单详情”进入“我的订单”详情页,可查看订单详情信息,如支付信息、资源信息等。 单击“返回应用平台控制台”,进入应用平台控制台“总览”页面。 续费 AppStage相关的订单到期后会影响AppStage各中心的使用。如果您想继续使用,需要在指定的时间内续费订单。 说明: 续费操作仅适用于包年/包月资源,按需计费资源不需要续费,只需要保证账户余额充足即可。 关于续费的详细介绍请参见续费。 在应用平台控制台左侧导航栏选择“总览”,然后在“套餐详情”区域单击“续费”,进入费用中心的“续费管理”页面。 在“续费管理”页面,自定义查询条件。 可在“手动续费项”、“自动续费项”、“到期转按需项”、“到期不续费项”页签查询全部待续费项,对套餐进行手动续费的操作,具体操作请参见如何恢复为手动续费。 在列表中找到需要续费的订单,单击操作列的“续费”。 选择续费时长,判断是否勾选“统一到期日”,将套餐到期时间统一到各个月的某一天(详细介绍请参见统一包年/包月资源的到期日)。确认配置费用后单击“去支付”。 进入支付页面,选择支付方式,确认付款,支付订单后即可完成续费。 退订 退订已购买的包年包月资源(适用于退订开发中心/运维中心/运行时引擎/运营中心/AI原生应用引擎的包年/包月资源)。 在应用平台控制台左侧导航栏选择“总览”,然后在“套餐详情”区域单击“退订”,进入费用中心的“云服务退订”页面。 参照云服务退订完成产品退订。 退订已购买的按需计费资源(适用于退订AI原生应用引擎的按需计费资源)。 在应用平台控制台左侧导航栏选择“AI原生应用引擎”,在AI原生应用引擎详情页面的“我的资源”区域的资源列表中,单击需要停止计费的资源“操作”列的“退订”。 在“退订资源”对话框中,确认要退订的资源,单击“一键输入”自动在输入框填入“退订资源”,如图1所示。 图1 退订按需计费的资源 单击“确定”,即可退订该按需计费资源。
-
操作步骤 登录AppStage管理控制台,默认进入应用平台控制台“总览”页。 单击“立即购买”,进入AppStage的产品订购页面。 在订购页面,区分页签显示AppStage下不同类型产品的套餐对应的服务资源和规格收费(关于计费模式的详细信息,请参见计费说明),请根据实际业务需求选择所需产品(支持多选)。 购买AI原生应用引擎 选择“AI原生应用引擎”页签,选择购买的资源及其对应的计费模式: 购买AI原生应用引擎按需计费的资源操作如下: 单击“按需计费”,在模型列表中勾选要购买的资源。 在“协议许可”区域勾选“我已阅读并同意《应用平台AppStage服务声明》”,单击右下角“下一步”。 在“确认配置”页面确认订购的产品信息。 单击“立即开通”。 页面提示“开通成功”后,默认返回应用平台控制台“总览”页面,可查看已购买产品及其套餐详情等。 购买AI原生应用引擎包年包月资源的操作如下: 单击“包年/包月”,选择资源的实例数,并在“购买时长”区域,可以选择按月购买或者按年购买。 (可选)勾选“自动续费”,订单会在每次到期前自动续费,避免因忘记手动续费而导致资源不可用。自动续订时系统从可用余额扣款。 按月购买:每次续订1个月,次数不限;按年购买:每次续订1年,次数不限。 在“协议许可”区域勾选“我已阅读并同意《应用平台AppStage服务声明》”,单击“下一步”。 在“确认配置”页面确认订购的产品信息。 单击右下角“去支付”。 在“支付方式”区域,选择“余额支付”或“在线支付”,然后单击“确认付款”。 支付完成后,系统会提示“订单支付成功”。 购买开发中心/运维中心/运行时引擎/运营中心 选择“应用生命周期管理”页签,根据业务需求购买所需产品,具体操作如下: 在“选择产品类型”区域显示不同产品的套餐对应的服务资源和规格收费,请根据业务需求选择所需产品(支持多选)。 (可选)在“选择增量包类型”区域,可以选择增加相应中心的服务扩展包或资源增量包。 在“购买时长”区域,可以选择按月购买或者按年购买。 (可选)勾选“自动续费”,订单会在每次到期前自动续费,避免因忘记手动续费而导致资源不可用。自动续订时系统从可用余额扣款。 按月购买:每次续订1个月,次数不限;按年购买:每次续订1年,次数不限。 AppStage的VIP用户购买免费版套餐时,不支持自动续费。 在“协议许可”区域勾选“我已阅读并同意《应用平台AppStage服务声明》”。 单击右下角“立即购买”。 在“确认配置”页面确认订购的产品信息。 “产品信息”中包含可用地域、购买时长、各中心相应的版本规格(最大用户数、应用实例数量等)、购买数量、计费模式等信息。 单击右下角“去支付”。 在“支付方式”区域,选择“余额支付”或“在线支付”,然后单击“确认付款”。 支付完成后,系统会提示“订单支付成功”。 单击“查看订单详情”进入“我的订单”详情页,可查看订单详情信息,如支付信息、资源信息等。 单击“返回应用平台控制台”,进入应用平台控制台“总览”页面,可查看已购买产品及其套餐详情等。 购买专业服务 专业服务是为客户提供aPaaS平台及应用上云和用云全生命周期的服务,支撑客户更好地使用aPaaS平台和应用。 在应用平台控制台左侧导航栏选择“专业服务”,进入“aPaas平台专业服务”页面。 根据购买需要单击“aPaaS确定性运维服务”、“aPaaS上云与实施服务”或“aPaaS咨询与规划服务”服务卡片,单击服务卡片上的“了解更多”,可查看相应服务的服务介绍、计费说明和常见问题解答。
-
购买须知 需先选购产品套餐,才能选购产品对应的增量包。 如果已开通的产品套餐到期,则对应的增量包不可使用,需将产品套餐续订后增量包才可以继续使用。 AppStage的运行时引擎依赖于运维中心能力,需先选购运维中心才能选购运行时引擎。 运行时引擎实例依赖运维中心实例,如果选购运行时引擎产品套餐和增量包,则运行时引擎的实例数量必须和运维中心的实例数量保持一致。 订单支付成功后自动开通服务,生效时间以订单时间为准。
-
Step1 检查环境 SSH登录机器后,检查NPU设备检查。运行如下命令,返回NPU设备信息。 npu-smi info # 在每个实例节点上运行此命令可以看到NPU卡状态 npu-smi info -l | grep Total # 在每个实例节点上运行此命令可以看到总卡数 如出现错误,可能是机器上的NPU设备没有正常安装,或者NPU镜像被其他容器挂载。请先正常安装NPU设备和驱动,或释放被挂载的NPU。 检查docker是否安装。 docker -v #检查docker是否安装 如尚未安装,运行以下命令安装docker。 yum install -y docker-engine.aarch64 docker-engine-selinux.noarch docker-runc.aarch64 配置IP转发,用于容器内的网络访问。执行以下命令查看net.ipv4.ip_forward配置项的值,如果为1,可跳过此步骤。 sysctl -p | grep net.ipv4.ip_forward 如果net.ipv4.ip_forward配置项的值不为1,执行以下命令配置IP转发。 sed -i 's/net\.ipv4\.ip_forward=0/net\.ipv4\.ip_forward=1/g' /etc/sysctl.conf sysctl -p | grep net.ipv4.ip_forward
-
Step3 启动容器镜像 启动容器镜像前请先按照参数说明修改${}中的参数。可以根据实际需要增加修改参数。启动容器命令如下。 container_work_dir="/home/ma-user/ws" # 容器内挂载的目录 work_dir="/home/ma-user/ws" # 宿主机挂载目录,存放了代码、数据、权重 container_name="${container_name}" # ${container_name}为启动的容器名称 image_name="${image_name}" # ${image_name}启动的镜像ID或name docker run -itd \ --device=/dev/davinci0 \ --device=/dev/davinci1 \ --device=/dev/davinci2 \ --device=/dev/davinci3 \ --device=/dev/davinci4 \ --device=/dev/davinci5 \ --device=/dev/davinci6 \ --device=/dev/davinci7 \ --device=/dev/davinci_manager \ --device=/dev/devmm_svm \ --device=/dev/hisi_hdc \ -v /usr/local/sbin/npu-smi:/usr/local/sbin/npu-smi \ -v /usr/local/dcmi:/usr/local/dcmi \ -v /usr/local/Ascend/driver:/usr/local/Ascend/driver \ --cpus 192 \ --memory 1000g \ --shm-size 32g \ --net=host \ -v ${work_dir}:${container_work_dir} \ --name ${container_name} \ $image_name \ /bin/bash 参数说明: --name ${container_name} 容器名称,进入容器时会用到,此处可以自己定义一个容器名称,例如ascendspeed。 -v ${work_dir}:${container_work_dir} 代表需要在容器中挂载宿主机的目录。宿主机和容器使用不同的文件系统。work_dir为宿主机中工作目录,目录下存放着训练所需代码、数据等文件。container_work_dir为要挂载到的容器中的目录。为方便两个地址可以相同。 容器不能挂载到/home/ma-user目录,此目录为ma-user用户家目录。如果容器挂载到/home/ma-user下,拉起容器时会与基础镜像冲突,导致基础镜像不可用。 driver及npu-smi需同时挂载至容器。 不要将多个容器绑到同一个NPU上,会导致后续的容器无法正常使用NPU功能。 ${image_name} 为docker镜像的ID,在宿主机上可通过docker images查询得到。 通过容器名称进入容器中。 docker exec -it ${container_name} bash 启动容器时默认用户为ma-user用户。如果需要切换到root用户可以执行以下命令: sudo su source /home/ma-user/.bashrc 如果继续使用ma-user,在使用其他属组如root用户上传的数据和文件时,可能会存在权限不足的问题,因此需要执行如下命令统一文件属主。 sudo chown -R ma-user:ma-group ${container_work_dir} # ${container_work_dir}:/home/ma-user/ws 容器内挂载的目录 例如: sudo chown -R ma-user:ma-group /home/ma-user/ws 安装依赖包。 #进入scriptsscripts目录,xxx为包版本,请按照实际情况替换 cd /home/ma-user/ws/xxx-Ascend/llm_train/AscendSpeed/scripts #执行安装命令 pip install -r requirements.txt
-
镜像地址 本教程中用到的基础镜像地址和配套版本关系如下表所示,请提前了解。 表1 基础容器镜像地址 镜像用途 镜像地址 基础镜像(训练和推理通用) 西南-贵阳一:swr.cn-southwest-2.myhuaweicloud.com/atelier/pytorch_2_1_ascend:pytorch_2.1.0-cann_8.0.rc1-py_3.9-hce_2.0.2312-aarch64-snt9b-20240516142953-ca51f42 本文档兼容cann_7.0.1.1和cann_8.0.rc1的镜像,推荐使用较新版本的cann_8.0.rc1镜像。 表2 模型镜像版本 模型 版本 CANN cann_8.0.rc1 PyTorch pytorch_2.1.0 PyTorch_npu 2.1.0.post3-20240413
更多精彩内容
CDN加速
GaussDB
文字转换成语音
免费的服务器
如何创建网站
域名网站购买
私有云桌面
云主机哪个好
域名怎么备案
手机云电脑
SSL证书申请
云点播服务器
免费OCR是什么
电脑云桌面
域名备案怎么弄
语音转文字
文字图片识别
云桌面是什么
网址安全检测
网站建设搭建
国外CDN加速
SSL免费证书申请
短信批量发送
图片OCR识别
云数据库MySQL
个人域名购买
录音转文字
扫描图片识别文字
OCR图片识别
行驶证识别
虚拟电话号码
电话呼叫中心软件
怎么制作一个网站
Email注册网站
华为VNC
图像文字识别
企业网站制作
个人网站搭建
华为云计算
免费租用云托管
云桌面云服务器
ocr文字识别免费版
HTTPS证书申请
图片文字识别转换
国外域名注册商
使用免费虚拟主机
云电脑主机多少钱
鲲鹏云手机
短信验证码平台
OCR图片文字识别
SSL证书是什么
申请企业邮箱步骤
免费的企业用邮箱
云免流搭建教程
域名价格