本章节将详细介绍本解决方案提供的便捷云上资源管理方式。 ## 上传模型 如需在txt2img或img2img使用非云端推理模型,您可以选择按下列两种方式的步骤完成推理模型上传,即可按[txt2img](./txt2img-guide.md)或[img2img](./img2img-guide.md)相应步骤完成模型调用及推理。 ### 从原生webUI上传模型至云上 考虑到用户多样的使用场景,本方式适用于将webUI前端部署在非本地电脑的其他机器上的场景。同于webUI社区原生使用方式,用户需要首先将相关模型上传至部署了webUI前端的机器上,对应webUI项目文件夹下、models子文件夹的对应处,之后即可跟从下面步骤完成模型上传到云上。 1. 进入解决方案主标签页**Amazon SageMaker**,找到**Cloud Models Management**模块。 2. 选择from WebUI标签页, 该方式表示从部署WebUI服务的models文件路径上传模型。 ![Upload Models to S3](../images/UploadFromWebUI.png) 3. 在对应的模型输入部署WebUI服务的models文件路径地址。 > **提示**: 您可以通过在文本框中输入多个本地模型路径来上传多种模型。 4. 点击**Upload Models to Cloud**,启动模型上传。 5. 上传完成后,会在左侧**Label**看到提示。 ### 从本地机器上传模型至云上 考虑到用户多样的使用场景,本方式适用于将webUI前端部署在本地电脑上的场景。 1. 进入解决方案主标签页**Amazon SageMaker**,找到**Cloud Models Management**模块。 2. 选择from My Computer标签页, 该方式表示从访问WebUI的本地路径上传模型。 ![Upload Models to S3](../images/UploadFromComputer.png) 3. 选择要上传的模型类型,目前支持六种:SD Checkpoints, Textual Inversion, LoRA model, ControlNet model, Hypernetwork, VAE 4. 本地选择要上传的模型文件。 > **提示**: 您可以多选模型文件,但受制于浏览器限制,最好选择的文件数不要超过10个,总大小不要超过8g。 5. 点击**Upload Models to Cloud**,启动模型上传。 6. 上传会依据文件大小与数量异步分片上传,各分片上传完成后,会在**选择文件**按钮下看到提示。 ### 从模型下载地址直接上传至云上 考虑到用户多样的使用场景,本方式适用于直接通过模型下载的URL地址上传到S3的场景。 1. 进入解决方案主标签页**Amazon SageMaker**,找到**Cloud Models Management**模块。 2. 选择from URL标签页, 该方式表示从模型下载的URL地址上传到S3。 ![Upload Models to S3](../images/UploadFromURL.png) 3. 选择要上传的模型类型,目前支持六种:SD Checkpoints, Textual Inversion, LoRA model, ControlNet model, Hypernetwork, VAE 4. 在URL list (Comma-separated in English)输入框中填入模型下载的url列表,用英文逗号分隔。 5. 在Models Description (Optional)输入框中输入json格式的描述(选填)。 > **提示**: 您可以多选模型文件,但受制于Lambda内存以及并发线程数的限制,最好选择的文件数不要超过5个,总大小不要超过12g。 6. 点击**Upload Models to Cloud**,启动模型上传。 7. 上传请求会在下方**Label**看到提示。 ## Amazon SageMaker推理节点管理 ### 部署推理节点 1. 进入解决方案主标签页**Amazon SageMaker**,找到**Cloud Assents Management**模块的**Deploy New SageMaker Endpoint**区域。 2. 方案默认部署的Endpoint类型为ml.g5.2xlarge, instance数量是1,默认会开启endpoint的autoscaling功能,直接点击**Deploy**按钮启动Sagemaker endpoint的部署。 3. 如果用户需要自己指定Endpoint的名字,Instance类型以及Endpoint中instance的最大数量,可以点击**Advanced Endpoint Configuration**的checkbox,这时界面会显示更多的参数让用户输入,下表展示相关参数的名字和含义: | 参数名 | 描述 | |---------------------|--------------------------------------------------------------------------------------------------------------------------------------------| | Endpoint Name (可选) | 如果需要指定Sagemaker endpoint的名字,在这个输入框中输入,如果不修改这个值,默认的Endpoint的名字为 esd-type-XXXXX | | Endpoint Type | 下拉框选择部署的Endpoint的推理类型 Async / Real-time | | Instance Type | 下拉框选择部署的Endpoint的实例类型 | | Max Instance Number | 下拉框选择部署的Endpoint的实例最大值,如果选择了Autoscaling,异步推理会根据平均每个实例队列积压情况在 0-Max Instance Number 之间弹性伸缩,同步推理会根据平均每个实例调用数在 1-Max Instance Number 之间弹性伸缩 | | Enable Autoscaling | 如果选择了该checkbox,Sagemaker会根据CPU的平均占用率在 0-Max Instance Number 之间弹性伸缩, 否则Endpoint对应的instance数会固定在 Max Instance Number | | Min Instance Number | 如果选择了 Enable Autoscaling,该值将是 Endpoint 实例数的最小数量 | 4. 选择完默认的Endpoint配置或者设置完高级的Endpoint配置后,点击**Deploy**, 可以在**Label**处看到**Endpoint deployment started**的提示信息。 ![Deploy new endpoint](../images/Deploy-new-endpoint.png) 5. 您可进入**txt2img**或**img2img**的**Amazon SageMaker Inference**模块的下拉菜单**Select Cloud SageMaker Endpoint**,刷新并看到当前所有推理节点的部署状态。 > **补充:** 推理节点列表的名字的格式是:推理节点名字+部署状态:Creating/Failed/InService+部署结束时间。 6. 等待大约3分钟,即可看到最新推理节点的状态变成**InService**,表明推理节点部署成功。 ### 删除已部署推理节点 1. 进入解决方案主标签页**Amazon SageMaker**,点击**Select Cloud SageMaker Endpoint**列表右侧刷新按钮,刷新下拉列表,选择需要删除的推理节点。 2. 点击**Delete**,左侧**Label**处会显示提示信息,完成推理节点删除。 ## AWS数据集管理 ### 数据集上传 在模型微调等功能中,需要输入一个图片集,用以微调工作。该功能模块助力用户快速上传图片集到云端。 1. 进入解决方案主标签页**Amazon SageMaker**,**AWS Dataset Management**区块,**Create**标签页。 ![Create Dataset to S3](../images/Dataset_management.png) 2. 点击**Click to Upload a File**,在弹出的本地文件列表中,确认选中一次模型微调所需的所有图片。 3. 在**Dataset Name**输入该图片文件夹的名字,在**Dataset Description**输入该数据集的描述,点击**Create Dataset**。 4. 等待几秒,下方的**Create Result**区域显示**Complete Dataset XXXX creation**,即表示该数据集已经成功上传到云上。 ### 数据集浏览 数据集上传完成后,通过此功能模块,能够帮助用户快速得到数据集对应的云上地址。用户可以复制此地址,粘贴到对应需要上传图片集的地址位置。 1. 进入解决方案主标签页**Amazon SageMaker**,**AWS Dataset Management**区块,**Browse**标签页。 2. 刷新**Dataset From Cloud**列表,选择需要浏览的图片集名称。 3. 等待几秒,**dataset s3 location**区域即会显示该数据集的云上S3地址,复制粘贴即可取用,做后续步骤。