近期,AI 领域不断涌现出重大的变革和创新,其中包括大规模模型的问世和 AIGC 技术的快速迭代发展。每天都有新技术、新算法不断涌现,更大型的模型也层出不穷。AI 技术已经渗透到了各行各业,对开发者、设计师、文字工作者等职业都产生了深刻影响。AI 正在改变着我们的工作生产方式,这已成为行业的共识。因此,了解和掌握 AI 的重要技术变革和趋势对于开发者来说至关重要。
为了让更多的开发者了解和真正参与到技术的开发与应用中,我们推出了一项名为【云上探索实验室】的活动,希望可以和开发者一起从实践中探索技术的边界。本期实验室主题围绕【从实践中探索机器学习边界——Amazon SageMaker 产品体验活动】进行。
从实践中探索机器学习边界——Amazon SageMaker 产品体验活动:
https://dev.amazoncloud.cn/experience
活动得到了众多专业开发者和技术爱好者的热情响应,他们积极参与提交产品体验报告,并分享了实践的视频 Demo。在活动社群中,参与者们积极交流讨论,相互帮助解决问题,共同创造分享、互相启发、共同玩转云上技术的氛围十分活跃。
热门创意作品曝光,
开发者分享心得与避坑经验
现在活动已经进入了中期阶段,许多开发者已经提交了自己的体验作品,并分享了一些心得与避坑经验。为了让更多的开发者加入其中,我们选取了一些具有代表性的体验报告和实践文档分享给大家,希望也可以给大家带来一些开发中的灵感。
1
体验者“白水”:
仅20分钟,就可搭建属于自己的 AIGC 应用
体验者“白水”《20分钟,使用 Amazon SageMaker 快速搭建属于自己的 AIGC 应用 》文中图文并茂地逐步讲解了基于Amazon SageMaker搭建 AIGC 应用的整体流程:
创建 Notebook;
利用 Hugging Face 克隆模型;
了解模型的超参数;
配置和微调 Stable Diffusion 模型;
部署和使用训练好的模型;
清理资源。
《20分钟,使用 Amazon SageMaker 快速搭建属于自己的 AIGC 应用 》:
https://al4x5zumz6.feishu.cn/docx/I7kJdl1W9o6CQ7xd9XgcOkGfn9f
使用 Amazon SageMaker 基于 Stable Diffusion 模型搭建的 AIGC 应用
除了讲解如何搭建 AIGC 应用,作者还设计了两个评估模型性能实验:“CPU 和 GPU 对生成速度”和“超参数对模型性能”,探究 Stable Diffusion 模型在不同情况下的效率区别,进而更加详细地展现对 Stable Diffusion 模型的解读。
“目前市面上机器学习的平台已经有很多,Amazon SageMaker 是比较全面的,而且还是面向应用的。”体验者“白水”表示,Amazon SageMaker 中包括了机器学习的各个流程,以往 Python 中的开发习惯完全可以在 Amazon SageMaker 中适用。不仅如此,Amazon SageMaker 支持 Sklearn、PyTorch、TensorFlow、Hugging Face 等,对这些主流模块和框架都有相应的封装。为了方便训练模型,Amazon SageMaker 还提供了 Amazon AutoPilot 可以自动对各种模型以及各组超参数进行搜索,训练最优模型。
2
体验者“墨理学 AI”:
讲解视频+体验报告,小白开发者的福音
相比较其他小伙伴儿提交的体验报告,体验者“墨理学 AI” 的《 如何在亚马逊 SageMaker 进行 Stable Diffusion 模型在线服务部署 》则为我们带来了 AI 模型的 Web 端在线部署和推理调用实践。
《 如何在亚马逊 SageMaker 进行 Stable Diffusion 模型在线服务部署 》:
https://positive.blog.csdn.net/article/details/130019373
文章从如何在 Amazon SageMaker 中进行环境搭建展示开始,创建笔记本编程实例(这个过程大概5分钟左右)——下载代码并上传到 Jupyter 中——选择合适的 Conda 环境。
第二步一键运行所有代码,代码执行过程中会依次完成 Stable Diffusion 模型相关类和函数的代码定义、推理测试,并打包代码和模型,然后部署模型至 Amazon Sagemaker 推理终端节点。
模型创建完成之后,作者通过 Amazon Cloud9 创建了一个前后端 Web 应用。在云服务环境的创建成功基础上,运行下图中的服务代码。
作者完成测试体验之后,表示即使每次输入的提示词是同一个,模型生成得到的输出也是不固定的。所以他建议输入提示词语如果越精准,生成的图像效果可能会越好。
“通过使用 Amazon SageMaker 服务平台,我们只需要一个浏览器,即可编写、运行和调试各种代码,无需进行复杂的机器适配和环境搭建,能够快速完成 AI 模型的推理、测试、验证部署工作。”体验者“墨理学 AI”谈到。通过借助 Amazon SageMaker 平台进行 AI 模型服务部署,可以简化普通开发者进行 AI 模型部署服务的难度,这对于中小企业和个人开发者而言,AI 服务的快速落地也不再是一件难事。
3
体验者“ZackSock”:
Amazon SageMaker 使用自编码器完成人脸生成
与其他体验者不同,体验者“ZackSock”《Amazon SageMaker 使用自编码器完成人脸生成 》围绕 Amazon SageMaker 和自编码器进行的一次体验实践。通过训练自编码器,制作实现“变脸需求”,让人脸 A 渐渐变成人脸 B、让一个人从小慢慢变老、生成人脸等有趣的小实验。
《Amazon SageMaker 使用自编码器完成人脸生成 》:
https://blog.csdn.net/ZackSock/article/details/129745320
作者首先使用 Amazon SageMaker 进行环境创建,再进行数据处理,最后训练一个自编码器。本次作者使用的数据是10万张修正好的人脸图片,所以实践是训练一个人脸的自编码。作者针对人脸渐变原理详细解释到,假设人脸 A 被编码成 z1,人脸 B 被编码成 z2,现在想让人脸由 A 到 B 渐变。现在可以把这个问题转换为向量 z1 和 z2 之间的渐变,向量的渐变可以直接使用插值算法,我们在两个向量见插入 n 个向量,再把这些向量输入解码器,得到的人脸图像就是介于 A 和 B 之间的人脸。现在人脸渐变就变为了插值。具体操作如下:
首先实现插值算法,插值的实现很简单,具体代码如下:
上面函数输入两个长度一样的向量,输出 num 个向量。这 num 个向量将作为 Decoder 的输入。接下来使用 Decoder 部分进行推理:
下面是实现的效果:
自编码器不仅可以实现人脸渐变,还能生成人脸。作者分享表示:“在训练自编码器时,把人脸编码成一个长度为1024维的向量。现在我们假设人脸服从高斯分布,如果能求出均值和方差,就可以知道这个高斯分布的具体样子。在知道高斯分布的具体表达式后,就可以对从中采样人脸向量,把这个向量交给 decoder 就可以生成人脸。”
示例图
除了上面这些开发者朋友们的分享内容,还有很多的小伙伴们提交了自己的体验报告,这里就不一一展示了,直接给大家看看他们都做出了哪些好玩的创意作品吧。
任务:“A bird is flying in space” 和 “Photos of horseback riding under the sea”
任务:“A cute panda is sitting on the sofa”
任务:“一个宇航员在骑马”
AI 生成图像和绘画,非常直观和有趣。其实你也可以从零动手,实现上面这些充满创意和趣味的作品,快来参加【云上探索实验室】从实践中探索机器学习边界——Amazon SageMaker 产品体验活动吧!
除了分享自己的作品,体验者还无私分享了对于技术和产品的理解与积累。
例如,“盼小辉丶”为我们总结了关于 Amazon SageMaker 为开发者带来的便利:
提供了完备的机器学习工具,通过自动化功能帮助用户快速优化模型和参数;
提供交互式笔记本,可快速地探索和处理数据;
提供多种不同的模型部署和管理方式,满足使用过程中在不同场景下的需求;
提供完善的监控和调试工具,确保模型的稳定性和可靠性。
另外,体验者白水还自发汇总了对开发过程中有帮助的产品文档:
Amazon SageMaker 入门教程:
https://aws.amazon.com/cn/sagemaker/getting-started/
Amazon SageMaker 产品介绍:
https://aws.amazon.com/cn/sagemaker/
Amazon SageMaker 产品文档:
https://docs.aws.amazon.com/zh_cn/sagemaker/index.html
Stable Diffusion 模型文档(HuggingFace):
https://huggingface.co/spaces/stabilityai/stable-diffusion
Stable Diffusion 模型文档(StabilityAI):
https://stability.ai/blog/stable-diffusion-public-release
以上只是本次活动中的体验者分享的很少一部分技术与内容。他们作为此次活动的前期体验者,在活动和社群中学习实践云上技术,并将成果毫无保留地分享出来,同时摸索经验和克服开发中遇到的难点,帮助其他开发者在体验学习中避坑,这正是本次活动所倡导的“一同创造分享,互助启发,玩转云上技术”!
听说,点完下面4个按钮
就不会碰到 bug 了!