Amazon SageMaker:探索AI绘画云端部署新方案

news2024/11/25 15:33:24

目录

  • 1 从艺术实验到AI绘画
  • 2 什么是Amazon SageMaker?
  • 3 云端部署AI绘画应用
    • 3.1 模型构建与部署
    • 3.2 AI绘画测试(文生图)
  • 4 亚马逊云科技中国峰会

1 从艺术实验到AI绘画

在过去,人们只希望基于已有的给定数据做一些预测和拟合,因此判别式模型得到发展并且很好地解决了大部分任务;而未来,人们将目标转向用生成式模型生成全新数据,进行迁移学习等,也就是常说的人工智能生成内容(AI Generated Content, AIGC)

在这里插入图片描述

AI绘画就是AIGC技术中的一种,它结合了计算机视觉、机器学习和生成模型等技术,使计算机能够模仿、理解和创造艺术。

AI绘画最早可以追溯到上世纪50年代和60年代的计算机艺术实验。当时,艺术家和科学家开始尝试使用计算机生成艺术作品,包括图形、图像和音乐等。然而,由于计算机技术的限制和计算能力的不足,这些早期的尝试相对简单,并且很难产生真正艺术性的作品。

随着计算机技术的发展和深度学习算法的兴起,AI绘画逐渐取得了突破性的进展。通过使用大量的艺术作品数据集进行训练,深度学习模型可以学习艺术风格、色彩和纹理等特征,并生成逼真的艺术作品。其中,生成对抗网络(GAN)是一种常用的模型架构,它由生成器和判别器组成,可以生成具有艺术性的图像。

在这里插入图片描述

2022年10月,NovelAI流出stable-diffusion-webui模型,开启二次元AI绘画的时代,这也标志着一系列AIGC模型开始从学术界走入公众视角,甚至达到落地商业级别。

这里简单介绍一下扩散模型diffusion model。这是一种生成式人工智能模型,用于生成高质量、高保真度的图像。它基于一种名为扩散过程的物理现象,利用偏微分方程描述像素值在时间和空间上的扩散和演化。

所谓扩散算法diffusion是指先将一幅画面逐步加入噪点,一直到整个画面都变成白噪声。记录这个过程,然后逆转过来给AI学习。AI看到的是什么?一个全是噪点的画面如何一点点变清晰直到变成一幅画,AI通过学习这个逐步去噪点的过程来学会作画。

在这里插入图片描述

diffusion和之前大火的GAN模型相比,有什么优势呢?用OpenAI的一篇论文内容来讲,用diffusion生成的图像质量明显优于GAN模型;而且与GAN不同,diffusion不用在鞍点问题上纠结——涉及稳定性问题,只需要去最小化一个标准的凸交叉熵损失即可,这样就大大简化了模型训练过程中,数据处理的难度。

总结来说,目前的训练技术让diffusion直接跨越了GAN领域调模型的阶段,而是直接可以用来做下游任务,是一个新的数学范式在图像领域应用的实例。所以在应用方面,diffusion已被广泛应用于图像生成、图像修复、图像超分辨率等领域。通过使用文本输入作为条件信息,它可以根据文本的描述生成高质量的图像,例如基于文本描述生成动漫场景、自然风景等。

AI绘画在艺术创作、设计、娱乐和文化领域具有广泛的应用。它不仅可以用于自动绘画和创作艺术作品,还可以用于艺术风格转换、图像修复和增强,以及虚拟现实和增强现实等技术的开发。AI绘画也为艺术家提供了新的创作工具和表达方式,激发了艺术创作的创新和多样性。

对于非人工智能领域的应用行业而言,构造一个AI绘画应用往往需要寻求专业团队或合作伙伴的支持,可以想象,这个过程耗费人力、物力、精力。因此,如何提供一个方便快捷的完整企业级AI会话解决方案,便于下游行业快速处理柔性商业业务成为一大需求。

幸运的是,亚马逊提供了这样一个平台——Amazon SageMaker,可以降低应用领域构建AI模型的门槛,提高生产效率

2 什么是Amazon SageMaker?

Amazon SageMaker是一个托管的机器学习服务,由亚马逊网站(AWS)提供。它使数据科学家和开发人员能够快速构建、培训和部署机器学习模型。

Amazon SageMaker提供了一系列工具和功能,使用户能够在一个集成的环境中完成整个机器学习过程,包括数据准备、模型训练、模型调优和部署。除此之外,Amazon SageMaker还提供了多种预构建的算法和框架,包括XGBoost、TensorFlow和PyTorch等。

在这里插入图片描述
Amazon SageMaker是一个全面的机器学习平台,有非常广泛的应用场景

  • 企业级机器学习应用

    Amazon SageMaker提供了自动模型调整、模型解释和模型部署等多种功能,使用户可以轻松构建和部署机器学习模型。例如

    一个金融机构可以使用Amazon SageMaker来构建和部署一个欺诈检测模型,以识别信用卡欺诈行为。

  • 云原生机器学习

    Amazon SageMaker可以轻松地与其他AWS云服务集成。例如,用户可以使用AWS Lambda和Amazon API Gateway来创建一个API,使其他应用程序可以访问Amazon SageMaker模型的预测结果。

  • 高性能机器学习

    Amazon SageMaker提供了高性能的计算实例和GPU实例,可以处理大规模的机器学习数据集和复杂的深度学习模型。例如

    一个医疗图像诊断应用可以使用Amazon SageMaker中的GPU实例来训练和部署一个深度学习模型,以识别患者的病情。

  • 机器学习模型解释

    Amazon SageMaker提供了模型解释功能,可以帮助用户理解机器学习模型的决策过程。例如

    一个电商公司可以使用Amazon SageMaker来解释一个推荐系统模型的预测结果,以便更好地理解为什么该产品被推荐给了某个用户。

接下来用一个案例讲解基于Amazon SageMaker的AI绘画应用云端部署方案。

3 云端部署AI绘画应用

3.1 模型构建与部署

首先,在Amazon SageMaker里进行简单配置一个Notebook,我这里的配置如下

在这里插入图片描述
接着创建一个IAM角色,用于调用调用包括 Amazon SageMaker和 S3 在内的其他服务。例如上传模型,部署模型等,设置保持缺省即可。

在这里插入图片描述
构建和训练模型后,Amazon SageMaker允许我们将模型部署至终端节点,以中获取预测推理结果

使用Amazon SageMaker托管服务部署模型有多种选择,例如

  • Python 开发工具包 (Boto3)
  • Amazon SageMakerPython 开发工具包
  • AWS CLI
  • Amazon SageMaker控制台交互部署

这里我们以Python 开发工具包 (Boto3)为例构建这个AI绘画应用,主要包含以下步骤:

  • 安装并检查依赖
  • 在Notebook中配置模型
    import torch
    import datetime
    from diffusers import StableDiffusionPipeline
    # Load stable diffusion
    pipe = StableDiffusionPipeline.from_pretrained(SD_MODEL, torch_dtype=torch.float16)
    
  • 编写初始化的Amazon SageMaker代码用于部署推理终端节点
    import sagemaker
    import boto3
    
    sagemaker_session_bucket=Noneif sagemaker_session_bucket is None and sess is not None:
        sagemaker_session_bucket = sess.default_bucket()
    
    ...​
    sess = sagemaker.Session(default_bucket=sagemaker_session_bucket)
    
  • 构建推理脚本
    import base64
    import torch
    from io import BytesIO
    from diffusers import StableDiffusionPipeline
    
    
    def model_fn(model_dir):
        # Load stable diffusion and move it to the GPU
        pipe = StableDiffusionPipeline.from_pretrained(model_dir, torch_dtype=torch.float16)
        pipe = pipe.to("cuda")
    
        return pipe
    
    
    def predict_fn(data, pipe):
    	...
    
  • 打包上传模型
    from sagemaker.s3 import S3Uploader
    sd_model_uri=S3Uploader.upload(local_path=f"{SD_MODEL}.tar.gz", desired_s3_uri=f"s3://{sess.default_bucket()}/stable-diffusion")
    
  • 使用HuggingFace将模型部署至Amazon SageMaker
    predictor[SD_MODEL] = huggingface_model[SD_MODEL].deploy(
        initial_instance_count=1,
        instance_type="ml.g4dn.xlarge",
        endpoint_name=f"{SD_MODEL}-endpoint"
    )
    

至此就完成了模型的构建与部署,接下来我们就可以基于推理终端节点生成自定义图片

3.2 AI绘画测试(文生图)

输入以下测试代码

response = predictor[SD_MODEL].predict(data={
    "prompt": [
        "Eiffel tower landing on the Mars",
    ],
    "height" : 512,
    "width" : 512,
    "num_images_per_prompt":1
  }
)

#decode images
decoded_images = [decode_base64_image(image) for image in response["generated_images"]]

#visualize generation
for image in decoded_images:
    display(image)

比如我们现在想生成一张《艾菲尔铁塔登陆火星》的图片,就可以获得

在这里插入图片描述
下面是《宇航员骑马》的生成绘图

在这里插入图片描述
下面是《卡通猴子玩电脑》的生成绘图

在这里插入图片描述

然而,AI的应用远不止于此。在如今的数字化时代,云计算和大数据已经成为推动科技创新和商业发展的重要驱动力。亚马逊云科技峰会作为全球范围内的重要科技盛会,聚集了众多行业领袖、创新者和技术专家,共同探讨并展示最新的云计算解决方案和科技创新成果。

4 亚马逊云科技中国峰会

亚马逊云科技将于6月27日及28日在上海世博中心举办一年一度的亚马逊云科技中国峰会,本次峰会旨在展示云计算领域最新成果与未来规划。亚马逊云科技将围绕可靠的技术与服务,携手众多业内领先技术践行者,特别呈现创新技术应用、明星讲师团实力助考、开发者社群交流等多样化内容,为来自全球不同行业、拥有不同技术水平的用户,提供共话交流、共谋合作、共同探索的机遇,以帮助中国客户深耕本地业务、海外全球客户植根中国市场、中国客户出海走向世界,实现业务快速落地。

在这里插入图片描述
本次大会提供了各种各样的前沿主题:

  • AIGC真实应用案例技术分享一图像生成与智能问答
  • 透过Stable Diffusion揭秘AIGC图像生成进化史
  • Amazon Rekognition助力安全可控的AIGC图像生成
  • 携手亚马逊云科技与HuggingFace高效构建AIGC应用
  • 大语言模型大语言模型行业洞察与产品解决方案介绍
  • 动手实验:构建Amazon SageMaker构建基于ChatGLM的智能对话应用

在这里插入图片描述
更多信息欢迎关注亚马逊云科技官网,欢迎感兴趣的同学报名峰会,报名地址详见评论区~

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

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

相关文章

RFID资产盘点在企业的应用

随着新技术的发展,企业在不断地进行转型,企业为了更好地发展,对企业内部的管理工作越来越重视。在管理中,如何利用先进的科学技术来提高管理效率,成为了企业发展的关键。在资产管理上, RFID技术在资产盘点和…

TCP三次握手建立连接和四次挥手断开连接

TCP的连接与断开 TCP 通过三次握手建立连接,以建立确保数据传输的参数,连接的双方都将初始化与 TCP 连接相关的许多 TCP 状态变量。该连接是一条逻辑连接,其共同状态仅保留在二个通信端系统的TCP程序中。 TCP连接的组成包括:一台…

上门服务app开发|上门服务系统定制打开家政服务的大门

上门服务app可以为用户带来更加便捷的服务体验,不需要用户出门寻找服务商,只需要通过小程序下单即可享受到上门服务,省去了用户的时间和精力。同时上门服务app也为服务商提供了一个更广阔的市场,他们可以通过上门服务系统向更多的…

走进科学之sudo rm -rf,为什么如此危险

关注微信公众号“网络安全学习圈”,回复暗号【网络安全】,立即领取最新网安教程全家桶。 什么是 sudo rm -rf? sudo rm -rf 是一个linux的命令行命令,用于在系统中删除文件和目录。sudo表示以管理员权限运行该命令。rm是remove…

OPEN AI 全新版本来了2.0.0永久免费在线体验构建AI开放生态

V2.0.0 更新内容 后台整体功能重构完善后台增加订阅接口服务后台会陆续扩展订阅更多AI接口服务后台增加分销推广功能OPEN AI注册增加邮箱验证绑定OPEN AI开发者插件生态构建后台分销推广额度累计支持提现现金后台支持查询官方账号key使用量和余量开放接口提供账号绑定和订阅接…

【ChatGLM】记录一次Windows部署ChatGLM-6B流程及遇到的问题

文章目录 部署环境文件下载项目文件模型配置文件模型文件 运行demo遇到的问题 部署环境 系统版本:Windows 10 企业版 版本号:20H2 系统类型:64 位操作系统, 基于 x64 的处理器 处理器:Intel Core™ i7-8700 CPU 3.20GHz 3.19 GH…

软考A计划-电子商务设计师-模拟试题卷四

点击跳转专栏>Unity3D特效百例点击跳转专栏>案例项目实战源码点击跳转专栏>游戏脚本-辅助自动化点击跳转专栏>Android控件全解手册点击跳转专栏>Scratch编程案例 👉关于作者 专注于Android/Unity和各种游戏开发技巧,以及各种资源分享&am…

NX/UG二次开发—Parasolid—PK_EDGE_ask_convexity

判断实体边的凸凹性 Convexity Value Example convex PK_EDGE_convexity_convex_c concave PK_EDGE_convexity_concave_c variable the convexity varies along the edge PK_EDGE_convexity_variable_c smooth flat parallel surface normals, both faces have zero f…

cli3 非父子组件传值

这里,App.vue中,引入了parent组件;parent组件中引入了child组件。现在要从app.vue,向child组件传值。 主要文件: 1. 通过事件总线传值 1. src ->util->bus.js // 通过util中的bus,完成两个组件之间…

你的Postman为什么连不了数据库?

postman本身没有数据库连接功能,所以用到了node.js中的xmysql实现Rest API的生成,利用postman进行请求,获取需要的数据,来做数据准备或断言 1.安装 安装node.js:要求版本大于等于7.6 首先保证你的环境上有node.js&a…

打工人,别着急摆烂,看看你到底值多少钱?

2023求职现状: HR:看简历,以为能造飞机,招进来以后发现螺丝都不会拧。 普通求职者:看公司招聘要求,以为这个岗位是造飞机的,没想到进去以后是拧螺丝的。 大龄求职者:以前我都是造飞…

1.平台介绍:FISCO-BCOS 区块链

(1)概念: FISCO BCOS是由国内企业主导研发、对外开源、安全可控的企业级金融联盟链底层平台。它以联盟链的实际需求为出发点,兼顾性能、安全、可运维性、易用性、可扩展性,支持多种SDK,并提供了可视化的中间件工具&am…

Python3+Selenium2完整的自动化测试实现之旅(六):Python单元测试模块Unittest运用

目录 引言 一、Unittest单元测试框架简介 二、首次使用Unittest模块 三、Unittest模块批量加载和管理用例 写在最后 引言 这篇文章讲述的是Python3Selenium2自动化测试实现之旅的第六篇,主要是介绍如何运用Python单元测试模块Unittest进行测试。 我个人觉得这篇…

【新版】系统架构设计师 - 数学与经济管理

个人总结,仅供参考,欢迎加好友一起讨论 文章目录 架构 - 数学与经济管理考点摘要最小生成树最短路径网络与最大流量线性规划动态规划预测 - 博弈论预测 - 状态转移矩阵决策 - 不确定型决策决策 - 决策树排队论数学建模数学建模 - 模型分析数学建模 - 模型…

什么是 tokens,ChatGPT里面的Tokens如何计数?

什么是 tokens,ChatGPT里面的Tokens如何计数? 什么是 tokens? Tokens 可以被认为是词语的片段。在 API 处理提示之前,输入会被分解成 tokens。这些 tokens 并不会精确地在单词的开始或结束处切分 - tokens 可以包含尾随的空格甚…

【PCIE体系结构十三】LTSSM

👉个人主页:highman110 👉作者简介:一名硬件工程师,持续学习,不断记录,保持思考,输出干货内容 参考书籍:《PCI.EXPRESS系统体系结构标准教材 Mindshare》 目录 概览…

恭喜!电影《觅渡》入围上海电影节第20届传媒单元大奖

生生不息,念廿不忘; 传媒荣誉,开启在即! 第20届电影频道传媒关注单元 即将迎来20周年 一共有18部影片 入围竞逐年度传媒荣誉 6月16日晚 CCTV-6电影频道、 电影频道融媒体 将现场直播 揭晓传媒荣誉名单 电影《觅渡》入围上…

为你的项目配置日志(AOP+logback)

文章目录 1、导入依赖2、配置文件logback-spring.xml3、使用AOP做日志3.1、自定义注解3.2、自定义aop切面 4、在controller方法上添加注解5、使用Slf4j6、最终参考效果 之前看过logback的配置方法,今天整理spring的知识的时候,又看到了aop,想…

Linux之系统信息和性能监测

一、前言 安装完一套linux操作系统我们首先得知道系统都有哪些信息,比如安装内存多少、磁盘多大、什么版本、多少核CPU等等,因此熟悉常用的查看系统信息的指令还是很有必要的。 此文档主要对已安装的linux系统的属性有个初步的认识,介绍系统…

一起从根上学习Swoole

一起从根上学习Swoole Swoole,这个名字已经不再是一个简单的扩展库,而是一种让PHP开发者们心驰神往的技术。它是一个基于事件驱动的异步网络通信框架,能够让PHP应用程序在高并发环境下实现卓越的性能表现。现在,你也可以像一名高…