云服务器内容精选

  • 创建SFS Turbo SFS Turbo HPC型文件系统为用户提供一个完全托管的共享文件存储。SFS Turbo文件系统支持无缝访问存储在OBS对象存储桶中的对象,用户可以指定SFS Turbo内的目录与OBS对象存储桶进行关联,然后通过创建导入导出任务实现数据同步。通过OBS与SFS Turbo存储联动,可以将最新的训练数据导入到SFS Turbo,然后在训练作业中挂载SFS Turbo到容器对应ckpt目录,实现分布式读取训练数据文件。 创建SFS Turbo文件系统,详细操作指导请参考创建SFS Turbo文件系统。 图1 创建SFS Turbo 其中,文件系统类型推荐选用500MB/s/TiB或1000MB/s/TiB,应用于AI大模型场景中。存储容量推荐使用 6.0~10.8TB ,以存储更多模型文件。 图2 SFS类型和容量选择
  • ModelArts网络关联SFS Turbo OBS-SFS Turbo联动方案涉及VPC、SFS Turbo HPC型文件系统、OBS 对象存储服务 和ModelArts资源池。如果要使用训练作业挂载SFS Turbo功能,则需要配置ModelArts和SFS Turbo间网络直通,以及配置ModelArts网络关联SFS Turbo。 具体操作请参见配置ModelArts和SFS Turbo间网络直通。 图3 ModelArts网络关联SFS Turbo
  • 创建OBS桶 ModelArts使用对象存储服务(Object Storage Service,简称OBS)进行数据存储以及模型的备份和快照,实现安全、高可靠和低成本的存储需求。因此,在使用ModelArts之前通常先创建一个OBS桶,然后在OBS桶中创建文件夹用于存放数据。 本文档也以将运行代码以及输入输出数据存放OBS为例,请参考创建OBS桶,例如桶名:standard-llama2-13b。并在该桶下创建文件夹目录用于后续存储代码使用,例如:training_data。
  • 生成规则 对请求参数排序,根据参数名自然排序,例如,以字母a开头的参数名会排在以b开头的参数后面,如果首字母相同,将会对第二个字母进行排序,以此类推,直到字符串结束 获取规范请求字符串,规则: canonicalRequest = accessKey + nonce + timestamp + Lowercase(HexEncode(HMAC_SHA256 (RequestPayload))) 3.根据规则对规范请求字符串,密钥取signature值,规则: signature = HexEncode(HMAC_SHA256(canonicalRequest))
  • 定义 云商店每次调用商家的接口时会根据一定规则对请求生成x-sign,并且将x-sign通过HEADER PA RAM S的方式添加到URL上,商家在接收到请求后需要同样的规则对请求体进行重新计算x-sign,并且与云商店传递的x-sign相比较,完全相同即为校验通过,通过HEADER PARAMS传递的参数有: 参数 取值 描述 x-sign String 加密签名,通过一定的规则对请求进行签名产生的值。 x-timestamp String UNIX 时间戳(单位毫秒),商家需要校验这个时间戳与当前时间相差不超过60s。 x-nonce String 随机字符串,云商店在每次调用时会随机生成,商家可以通过对这个随机数的缓存来防御API重放攻击。
  • 举例 商家收到的调用请求数据示例如下: curl -X POST -H 'Content-Type: application/json' 'https://www.isvwebsite.com/saasproduce?signature=af71c5a7ef45310b8dc05ab15f7da50189ffa81a95cc284379ebaa5eb61155c0×tamp=1716363778801&nonce=RLLUammMSInlrNWb' --data '{"activity":"newInstance","buyerInfo":{"customerId":"688055390f3049f283fe9f1aa90f1858","customerName":"CBC_marketplace_mwx616072_01","userId":"1e86066c22754361933f607df834e4fe","userName":"CBC_marketplace_mwx616072_01","mobilePhone":"18652996659","email":"mapengfei8@huawei.com"},"orderInfo":[{"businessId":"8a2c4e6f-405a-4f8d-8e24-f41090522646","orderId":" CS 2210101920BWXLK","trialFlag":"0","orderAmount":12.78,"chargingMode":"PERIOD","periodType":"month","periodNumber":5,"provisionType":1,"productInfo":[{"skuCode":"a63ee5c9-4f86-11ed-9f95-fa163e8cb3b2","productId":"OFFI788963615933718528","linearValue":20}],"createTime":"20221024194509","expireTime":"20221224194509","extendParams":[{"name":"emailDomainName","value":"test.xxxx.com"},{"name":"extendParamName","value":"extendParamValue"}]}],"testFlag":"1"}'
  • 生成规则 对请求参数排序,根据参数名自然排序,例如,以字母a开头的参数名会排在以b开头的参数后面,如果首字母相同,将会对第二个字母进行排序,以此类推,直到字符串结束 根据规则对规范请求字符串,密钥取x-sign值,规则: canonicalRequest = accessKey + nonce + timestamp + RequestPayload x-sign = HexEncode(HMAC_SHA256(canonicalRequest))
  • 定义 云商店每次调用商家的接口时会根据一定规则对请求生成signature,并且将signature通过URL PARAMS的方式添加到URL上,商家在接收到请求后需要同样的规则对请求体进行重新计算signature,并且与云商店传递的signature相比较,完全相同即为校验通过,通过URL PARAMS传递的参数有: 参数 取值 描述 signature String 加密签名,通过一定的规则对请求进行签名产生的值。 timestamp Long UNIX 时间戳(单位毫秒),商家需要校验这个时间戳与当前时间相差不超过60s。 nonce String 随机字符串,云商店在每次调用时会随机生成,商家可以通过对这个随机数的缓存来防御API重放攻击。
  • 举例 商家收到的调用数据示例如下: 请求示例: POST https://example.isv.com/produceAPI/v2/tenantSync Content-Type: application/json x-sign:11C4CD6279191DE931DEF5C51531DFFA9D37969F4E356B8A3A6D8DE4FB357A48 x-timestamp:1680508066618 x-nonce:50D83FDECAED6CCD8EF597F2A577950527928BA287D04E6036E92B2806FD17DA {"instanceId": "huaiweitest123456","orderId": "CS1906666666ABCDE","tenantId": "68cbc86****************880d92f36422fa0e","tenantCode": "huawei","name": "huaiweitest","domainName": "https://example.tenantaccount.com","flag": 1,"testFlag": 0,"timeStamp": "20220413093539534"} 响应示例: HTTP/1.1 200 OK Content-Type: application/json { " resultCode": "000000", " resultMsg": "Success" }
  • 操作步骤 以主账号登录ModelArts管理控制台。 在控制台左下方,单击“专属资源池”下拉框,选择“弹性集群”,进入资源池创建页面。 在资源池创建页面,单击“创建”,进入购买专属资源池页面。 进入购买专属资源池页面后,配置购买参数,各参数说明如表表1所示。 表1 资源池配置参数 参数名称 说明 样例 名称 资源池的名称,创建时会随机生成一个名字。 pool-6e8a 描述 对创建的资源池进行说明。 - 使用场景 分为Standard弹性集群与Lite弹性集群,联邦学习对接MA需要选择Lite弹性集群。 ModelArts Lite 计费模式 选择Lite弹性集群目前默认包年/包月计费模式。 包年/包月 CCE集群 选择创建完成的CCE集群,如果没有可用的CCE集群,可单击右边的“创建集群”按钮,购买CCE集群。 - 自定义节点名称 集群节点名称,会随机生成,用户也可以根据自己需求来指定节点前缀名。 - 规格管理 选择规则类型、可用区、节点数量等。 - 购买时长 购买资源池的时间,用户可以根据续期选择,到期后,会自动清理。 - 自动续费 用户根据需求选择是否选择自动续费。 - 登录方式 选择登录方式,有密码和密钥对两种方式。 选择密码登录,默认用户名为“root”,需要设置密码用来登录节点后台。 选择密钥对,需要选择密钥对,如果没有密钥对,可以单击右边“创建密钥对”按钮创建。 -
  • 方式一:在AppStage官网页申请公测 进入AppStage官网页。 单击“申请公测”。 填写公测申请表单。 在“申请公测”页面填写公测申请表,勾选“同意《公测试用服务协议》”,并单击“申请公测”提交申请。 提交成功。 系统提示已提交公测申请成功,预计5个工作日以内完成审核,请您耐心等待。 审批成功。 系统后台审批通过之后,会通过邮件(如果在申请表中填写了邮箱地址)或短消息的方式通知您。 在“我的公测”页面单击“前往控制台”,或者在AppStage官网页,单击“控制台”,进入服务控制台使用AppStage。
  • 方式一:在AppStage官网页申请公测 进入AppStage官网页。 单击“申请公测”。 填写公测申请表单。 在“申请公测”页面填写公测申请表,勾选“同意《公测试用服务协议》”,并单击“申请公测”提交申请。 提交成功。 系统提示已提交公测申请成功,预计5个工作日以内完成审核,请您耐心等待。 审批成功。 系统后台审批通过之后,会通过邮件(如果在申请表中填写了邮箱地址)或短消息的方式通知您。 在“我的公测”页面单击“前往控制台”,或者在AppStage官网页,单击“控制台”,进入服务控制台使用AppStage。
  • 操作步骤 登录AppStage管理控制台。 在AppStage管理控制台“总览”页顶部根据提示单击“去配置”或在左侧导航栏选择“开发中心”。 在开发中心详情页“使用向导”区域的“关联CodeArts”节点,单击“去关联”,如图1所示。 图1 关联CodeArts 在“关联CodeArts”面板关联CodeArts服务,存在以下情况: 所选区域已开通CodeArts:在“关联CodeArts”对话框中“关联的CodeArts区域”下拉列表中选择需要关联的区域,如图2所示,单击“关联”,在“关联CodeArts”对话框对将要关联的区域进行二次确认,单击“确定”。 图2 所选区域已开通CodeArts 当所选区域CodeArts被冻结后,可能导致开发中心部分功能不可使用。 所选区域未开通CodeArts(包括未订购或退订CodeArts场景):单击“前往开通”前往开通CodeArts的链接完成开通,再返回“关联CodeArts”对话框单击“CodeArts开通情况”右侧刷新CodeArts开通情况显示“已开通”,以未订购CodeArts场景如图3所示(退订CodeArts的场景与此相似),单击“关联”,在“关联CodeArts”对话框对将要关联的区域进行二次确认,单击“确定”。 图3 所选区域未开通CodeArts 所选区域的CodeArts已被冻结:需要先解冻CodeArts(可参考资源冻结)后,再返回“关联CodeArts”对话框单击“CodeArts开通情况”右侧刷新CodeArts开通情况显示“已开通”,单击“关联”,在“关联CodeArts”对话框对将要关联的区域进行二次确认,单击“确定”。
  • 上传代码和权重文件到工作环境 使用root用户以SSH的方式登录DevServer。 将AscendCloud代码包AscendCloud-3rdLLM-xxx-xxx.zip上传到${workdir}目录下并解压缩,如:/home/ma-user/ws目录下,以下都以/home/ma-user/ws为例,请根据实际修改。 unzip AscendCloud-3rdLLM-*.zip 上传代码之后需要修改llm_train/AscendSpeed/scripts/install.sh文件。具体为删除install.sh 的第43行 "git cherrypick 171ba0b3"。该问题会导致代码安装失败,会在后续版本修复。 上传tokenizers文件到工作目录中的/home/ma-user/ws/tokenizers/Llama2-{MODEL_TYPE}目录,如Llama2-70B。 具体步骤如下: 进入到${workdir}目录下,如:/home/ma-user/ws,创建tokenizers文件目录将权重和词表文件放置此处,以Llama2-70B为例。 cd /home/ma-user/ws mkdir -p tokenizers/Llama2-70B
  • 获取模型软件包和权重文件 本方案支持的模型对应的软件和依赖包获取地址如表1所示,模型列表、对应的开源权重获取地址如表2所示。 表1 模型对应的软件包和依赖包获取地址 代码包名称 代码说明 下载地址 AscendCloud-3rdLLM-6.3.905-xxx.zip 说明: 软件包名称中的xxx表示时间戳。 包含了本教程中使用到的模型训练代码、推理部署代码和推理评测代码。代码包具体说明请参见模型软件包结构说明。 AscendSpeed是用于模型并行计算的框架,其中包含了许多模型的输入处理方法。 获取路径:Support-E 请联系您所在企业的华为方技术支持下载获取。 表2 支持的模型类型和权重获取地址 序号 支持模型 支持模型参数量 权重文件获取地址 1 llama2 llama2-7b https://huggingface.co/meta-llama/Llama-2-7b-chat-hf 2 llama2-13b https://huggingface.co/meta-llama/Llama-2-13b-chat-hf 3 llama2-70b https://huggingface.co/meta-llama/Llama-2-70b-hf https://huggingface.co/meta-llama/Llama-2-70b-chat-hf (推荐) 4 llama3 llama3-8b https://huggingface.co/meta-llama/Meta-Llama-3-8B-Instruct 5 llama3-70b https://huggingface.co/meta-llama/Meta-Llama-3-70B-Instruct 6 Qwen qwen-7b https://huggingface.co/Qwen/Qwen-7B-Chat 7 qwen-14b https://huggingface.co/Qwen/Qwen-14B-Chat 8 qwen-72b https://huggingface.co/Qwen/Qwen-72B-Chat 9 Qwen1.5 qwen1.5-7b https://huggingface.co/Qwen/Qwen1.5-7B-Chat 10 qwen1.5-14b https://huggingface.co/Qwen/Qwen1.5-14B-Chat 11 qwen1.5-32b https://huggingface.co/Qwen/Qwen1.5-32B-Chat 12 qwen1.5-72b https://huggingface.co/Qwen/Qwen1.5-72B-Chat 13 Yi yi-6b https://huggingface.co/01-ai/Yi-6B-Chat 14 yi-34b https://huggingface.co/01-ai/Yi-34B-Chat 15 ChatGLMv3 glm3-6b https://huggingface.co/THUDM/chatglm3-6b 16 Baichuan2 baichuan2-13b https://huggingface.co/baichuan-inc/Baichuan2-13B-Chat