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

目录

  • 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的智能对话应用

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

怎么登录远程轻量云服务器?

​  轻量云服务器是一种基于云计算技术的服务器,具有价格低廉、配置灵活、易于管理等优点。但是,由于轻量云服务器通常是在云端运行,需要通过远程连接才能进行管理和操作。那么,怎么登录远程轻量云服务器呢? 要远程连接轻量云服…

JMeter测试笔记(五):JDBC请求

引言: 进行性能测试时,我们有时需要模拟数据库的访问和操作,而JMeter中的JDBC请求可以帮助我们实现这个目的。 在本文中,我们将深入了解JDBC请求的使用方式,并学习如何正确配置它们来模拟对数据库的访问和操作。 如…

C#,彩票数学——彩票预测是玄学还是数学?什么是彩票分析?怎么实现彩票号码的预测?

彩票原理系列文章 彩票与数学——彩票预测是玄学还是数学?https://mp.csdn.net/mp_blog/creation/editor/122517043彩票与数学——常用彩票术语的统计学解释https://mp.csdn.net/mp_blog/creation/editor/122474853彩票与数学——彩票缩水的数学概念与原理https://…

Codeforces Round 877 div2 C No Prime Differences

目录 一、题目 二、题目分析 三、 一、题目 传送门 C. No Prime Differences time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard output You are given integers n and m. Fill an n by m grid with the…

连杆滑块伸缩模组的制作

1. 运动功能说明 连杆滑块伸缩模组的主要运动方式为舵机带动滑块沿着光轴平行方向做伸缩运动。 2. 结构说明 本模组主要是由舵机、滑块、光轴、连杆等组成。 3. 电子硬件 在这个示例中,我们采用了以下硬件,请大家参考: 主控板 Basra主控板&…

java ssm贸易平台-物流管理系统myeclipse开发mysql数据库springMVC模式java编程计算机网页设计

一、源码特点 java ssm贸易平台-物流管理系统是一套完善的web设计系统(系统采用SSM框架进行设计开发,springspringMVCmybatis),对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主…

工业深度学习软件 从标注 训练 到测试 再到现场部署

工业深度学习软件 从标注 训练 到测试 再到现场部署 M7000技术规格表 Producer Specification 影像系统 Imaging Sys 适配相机 supported cameras 支持海康,迈德威视,度申2D相机(可根据需求增加适配其他厂家相机) Support for Hi…

为什么有了IP地址,还需要MAC地址呢?

不知道大家有没有困惑:为什么有了IP地址,还需要MAC地址呢?他们之间到底有什么联系?又有什么区别?是不是有一个是多余的? 流言传到了“IP地址”和“MAC地址”的耳朵里,他俩也非常苦恼&#xff0c…

php通过cURL爬取数据(2):CURLINFO_HTTP_CODE返回0

CURLINFO_HTTP_CODE返回0 一、项目说明二、curl_getinfo返回异常1.小鹅通SDK2.CURLINFO_HTTP_CODE为0的原因有哪些?3.返回CURLINFO_HTTP_CODE0的解决方案4.请求超时和服务器配置,CPU的使用率有关系吗5.结论 三、阿里云短信发送延迟后而集中发送1.发送集中…

【回眸】Python入门(五)基础语法列表和词典:Python如何消灭重复性劳动

前言 本篇博客为填坑篇,这个系列的上一篇竟然是2021年的9月30更新的,离谱,差点就到断更两周年纪念日了,后续逐渐走向填坑的每一天,继续创作,希望这个系列的专栏文章能帮助到更多有需要的人。 列表 什么是列…

操作系统的发展史(DOS/Windows篇)

█ DOS操作系统 20世纪70年代,伴随着计算机技术的成熟,操作系统也进入了一个快速发展阶段。现代操作系统的概念,也在那一时期逐渐形成。 1975年初,MITS电脑公司推出了基于Intel 8080芯片的Altair 8800微型计算机。这是人类历史上…

电子招标采购系统源码之从供应商管理到采购招投标、采购合同、采购执行的全过程数字化管理。

统一供应商门户 便捷动态、呈现丰富 供应商门户具备内外协同的能力,为外部供应商集中推送展示与其相关的所有采购业务信息(历史合作、考察整改,绩效评价等),支持供应商信息的自助维护,实时风险自动提示。…

CSAPP - AttackLab实验(阶段1-5)

AttackLab实验 实验内容 官网:http://csapp.cs.cmu.edu/3e/labs.html “AttackLab”是一个Linux下的可执行C程序,包含了5个阶段(phase1~phase5)的不同内容。程序运行过程中,要求学生能够根据缓冲区的工作方式和程序…

Sui Builder House日本京都站开启报名

下一站Sui Builder House将于6月29-30日在日本京都举行,为世界各地的开发者提供身临其境地学习和交流的机会。 春日的樱花已经绽放,黄金周也已经过去,现在是时候来京都参加Sui Builder House一起庆祝夏天的来临了。来自日本和周边地区的开发…

我用ChatGPT写2023高考语文作文(一):全国甲卷

2023年 全国甲卷 适用地区:广西、贵州、四川、西藏 人们因技术发展得以更好地掌控时间,但也有人因此成了时间的仆人。 这句话引发了你怎样的联想与思考?请写一篇文章。 要求:选准角度,确定立意,明确文体&am…

【TaskMatrix.AI - Visual ChatGPT】连接超大模型和超多API来完成任务

Github项目地址:https://github.com/microsoft/TaskMatrix 目前大规模预训练模型(比如ChatGPT)已经能够完成多个任务,例如 提供强大的对话功能,in-context learning能力和代码生成能力生成高层次的解决问题框架 然而…

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

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

TI DSP芯片C2000系列读取FLASH数据

本文记录如何读取TI芯片的flash数据 进入TI官网下载UNIFLASH工具 点击查看详情 点击下载选项,根据系统下载对应版本 下载完成之后,点击安装。安装完成之后双击图标点开。如果你的板子已经供电,且编程器已经连接好,UNIFLASH会自动…

chatgpt赋能python:用Python实现ping命令:掌握网络连接的艺术

用Python实现ping命令:掌握网络连接的艺术 当我们需要测试网络连接的时候,ping命令是最经典的选择之一。然而,在一些情况下,使用命令行并不是很方便。那么,有没有可能用Python编写一个类似ping的功能呢? …

Linux中/dev/null和/dev/zero的作用

1./dev/null和/dev/zero介绍 在Linux环境中,我们会经常用到/dev/null和/dev/zero,今天为大家讲讲/dev/null和/dev/zero的作用以及使用场景。 1.1./dev/null介绍 linux中/dev/null,它是一种特殊的虚拟设备,用于写入而不是读取&a…