### **#「构」向云端,构建者征文大赛#**
> re:Invent 2023 带来的全新技术风向标。在本次大会期间,我们广下英雄帖,举行了「**构」向云端,构建者征文大赛**,邀请构建者们一同提笔畅想生成式 AI 与云碰撞的无限可能。本次赛事征集到了众多优秀分享,今天和大家一起分享其中一篇精选作品,让我们一起「构」向云端,感受技术的魅力!
***本文作者 小白要生发***
> 如果你也有如下问题,那么本文将会带你找到答案!
>
> - 一套数据集,如何微调不同类型的开源大模型?—— [Amazon Bedrock](https://aws.amazon.com/cn/bedrock/?trk=cndc-detail)
> - 如何只有产品说明书,如何构建一个智能问答机器人?—— [Amazon Q](https://aws.amazon.com/cn/q/?trk=cndc-detail)
> - 哪里还有免费的 GPU 算力——在线 Jupyter 平台?—— [Amazon SageMaker](https://aws.amazon.com/cn/sagemaker/?trk=cndc-detail)
亚马逊云科技 re:lnvent 2023 上,介绍了一些云产品的升级,以及自研芯片的升级、性能提升。当然,2023 年的重头戏就是 AI,此次升级了 [Amazon Bedrock](https://aws.amazon.com/cn/bedrock/?trk=cndc-detail) 服务提供了更多功能,并推出了企业级 AI 助手——**[Amazon Q](https://aws.amazon.com/cn/q/?trk=cndc-detail)**。对于 ML 研究者,升级后的 [Amazon SageMaker](https://aws.amazon.com/cn/sagemaker/?trk=cndc-detail) 提供了和 Jupyter 一致的[机器学习](https://aws.amazon.com/cn/machine-learning/?trk=cndc-detail)(ML)环境。
### AI 云服务
此次发布会,我最关注的亚马逊云科技的 AI 服务,我发现它在这里做了非常多的差异化功能,这些功能是独具特色的:
- 保护用户隐私、不会使用用户的数据来训练;
- 支持定制化的模型数据;
- 对 fine tunning 优化,不需要太多专业知识就能微调大模型;
- 模型价格便宜,微调之后的模型成本有所提升,但依然比常见的某些 AI 服务便宜。
在当前 AI 淘金潮中,亚马逊云科技在坚持做最好的“铲子”。
### 面向开发者
如何让普通 IT 人员也能上手 AI 产品?我作为后端研发,天天 CURD 做业务。对于 AI 大模型,只会用用聊天机器人、用文字描述生成图片。至于如何训练、调试大模型我是丈二和尚——摸不着头脑,大家都在聊“AI 赋能产品”,作为一名普通 IT 人员,当前只能“玩玩”它,至于产品赋能还把握不住。当前时间点,但凡一个降低 AI 使用门槛的工具开源,那都是 10k Star 级别的热度,例如: lang-chain, hinese-LLaMA-Alpaca, LLaMA-Factory
作为普通 IT 人员,我是非常愿意接触 AI 的。但目前开源 AI 产品对于我来讲,还是有非常高的使用门槛。现在就有很多云服务商就开始做人与 AI 算法产品之间的衔接工作。
### Amazon Bedrock
[Amazon Bedrock](https://aws.amazon.com/cn/bedrock/?trk=cndc-detail) 提供一个简单的入口,让大家能够快速构建起生成式 AI 应用程序。它的能力有这几个方向:
- 文本生成
- 聊天机器人
- 向量搜索
- 文本摘要
- 图像生成
[Amazon Bedrock](https://aws.amazon.com/cn/bedrock/?trk=cndc-detail) 采用了市面上优秀开源的模型,来完成如上工作。模型有:
- Jurassic-2
- Claude
- Command
- Stable Diffusion
- Llama 2
当然亚马逊云科技自己也研发了大模型——Amazon Titan。
### 小试身手
我们要试用大模型,还需要申请模型权限,其实就是勾选一下。
#### Chat 模型
这里体验了一下 LLama 2 13B, 具体使用情况如下:

#### 文生图
使用 SDXL 1.0 生成了一张 1024\*1024 图片,耗时 20s 左右。
.gif")
我又试用了一下 亚马逊的 Titan Image G1 模型, 同时生成了 3 张 1024\*1024 图,大概花了 30+s。

### 微调
相较于我们平常用的通用模型,**亚马逊提供了可定制性、可微调、可以使用保存在云上语料库、知识库进行训练(fine tunning)**。
也就是说,你可以通过使用大量的数据微调大模型,让模型学习到新的东西。再向模型提问时,就不需要提供冗长的上下文信息了,这样可以节约大量的 token,还能提高模型响应速度。
#### 创建 Fine-tunning 任务
通过 Custom models 选择 Fine tuning job:

微调任务,你只需要提交数据集即可,数据集的格式,你可参看这个文档:
https://docs.aws.amazon.com/bedrock/latest/userguide/what-is-bedrock.html?trk=cndc-detail

这样就创建好微调模型任务了,这个模型就是为你定制的。要使用这个微调模型,还需要额外购买时间。如果你的用量大,微调模型的性能是能抹平这部分成本的。
### 优势
[Amazon Bedrock](https://aws.amazon.com/cn/bedrock/?trk=cndc-detail) 提供一站式的多种开源大模型,以及配套的模型微调、dataset 预处理功能。在 [Amazon Bedrock](https://aws.amazon.com/cn/bedrock/?trk=cndc-detail) 你只需要熟悉一个模型的使用、调优、数据投喂功能,就能使用其他所有同类型模型了。如果是自己调适多个模型,那么不同模型的 dataset 格式、调优参数都是巨大的时间成本。
在重度、商业化使用条件下,是占有成本、速度优势的。如果你有海量大模型使用请求,并且每次请求都要带上长长的上下文信息,那么不妨试试微调大模型。
### 企业级 AI 助手——Amazon Q
[Amazon Q](https://aws.amazon.com/cn/q/?trk=cndc-detail) 是基于 [Amazon Bedrock](https://aws.amazon.com/cn/bedrock/?trk=cndc-detail) 构建一款完全托管的生成式 AI 驱动的企业聊天助手。
最近登录亚马逊云科技后台时,我就发现 [Amazon Q](https://aws.amazon.com/cn/q/?trk=cndc-detail) 已实装到控制台了。是的,它的主要形态就是聊天助手。通过聊天的形式为你提供服务,就是 IM 客服。

借助 [Amazon Q](https://aws.amazon.com/cn/q/?trk=cndc-detail) 的能力,能够帮助普通用户快速了解亚马逊云服务,如果可能它还会提供对应的链接地址,大家点击就能跳转到对应的页面。让一般用户在没有专业的亚马逊技术售前的协助下,也能完成一些工作,这就是为 console 平台“增效”了。
### 定制自己的 Q
亚马逊云科技控制台里的 Q,可以说是 Q 的最佳实践。接下来,我就带大家来定制一个 IM 技术客服。
#### 创建应用
访问 [Amazon Q](https://aws.amazon.com/cn/q/?trk=cndc-detail) 控制台, 创建一个应用:

目前 [Amazon Q](https://aws.amazon.com/cn/q/?trk=cndc-detail) 还是预览版,没有全球发布,所以制定地区可用,这里选的弗吉尼亚。
#### 第一步:命名
这里使用默认值,不用改,点下一步。授权可能会耽搁点时间,等一会儿就好。

#### 第二步:Retriever 选择
如果不清楚就直接选择 native retriever。

#### 第三步:数据源
数据源空过,直接脱到底创建。

### 体验
点击刚刚创建 Q application,进入到这个应用。

#### 空白的体验
点击 `review web experience` 就进入了一个聊天室。
当前,我们还没有上传任何文档,也没有配置 retriever,我们问它几个问题试试。

它会直接回复“没有数据源,不知道”。
#### 数据源添加
回到我们的应用主页面,点击 `Add data source`

里我们选择上传文档,点击 `Upload docs`

关于数据源,我选择了 Codis 的文档。

上传文件, 它是支持 markdown 文件的,我就上传了 tutorial_en.md, FAQ_en.md 两个文件。

#### 学习后的对话
上传文档后,我们再来问问 [Amazon Q](https://aws.amazon.com/cn/q/?trk=cndc-detail)。可以看到它能根据我们提供的文档,进行回答了。


后面还跟上了数据源,也就是它的回答依据是哪些文档。
#### 中文
大家都看到了我一直都在使用的英文和它交流,因为目前的预览版对中文的支持还待优化,我这也上传了些中文文档,然后进行对话提问,结果如下:

还是比较期待它能完全支持中文,到时候就能赋能国内业务了。
### 感受
相比于其他 AI 产品,需要准备大量数据集,预训练,参数调优,以及服务部署,使用 [Amazon Q](https://aws.amazon.com/cn/q/?trk=cndc-detail) 时你只要投喂文档、数据给它,它就能成为某方面的专家,按照你的文档回答问题。你可以说它是一个更聪明的搜索引擎,或者智能客服。
整个体验下来,我觉得不懂 IT 的朋友也能上手,目前亚马逊云科技对它的定义是——生成式 AI 驱动的企业聊天助手。从它的易上手程度、以及智能程度。我觉得它可以用作:
- 个人知识库助手
- 企业知识库搜索入口
- 智能客服
- 售后技术顾问
刚刚是在亚马逊的 Web 上体验了 Q,它当然提供了 API 供你介入自己应用内部。
#### 响应速度:10词/秒 左右
我在 Web 端体验是这样的速度。[Amazon Q](https://aws.amazon.com/cn/q/?trk=cndc-detail) 是生成完所有文字后一次性返给前端,输出速度已经和人打字速度差不多了。
#### AI技术顾问
就拿 AI 技术顾问为使用场景,我们把产品的使用文档,以及常见问题,以及解决方案投喂给 [Amazon Q](https://aws.amazon.com/cn/q/?trk=cndc-detail),它就可以按照用户的提问,帮文档去查找解决方案,并告诉客户。
是的,当你提供的云服务控制面板报错时,不需要让客户到处去查询“xx云平台报错该怎么办”了,这个时候,右下角弹出一个 Q ,咨询下客户遇到了什么问题,就能引导客户自行解决问题了。
借助 [Amazon Q](https://aws.amazon.com/cn/q/?trk=cndc-detail),可以做到 7*24 小时秒级支持我们的客户!对于一些专业、有一定使用门槛的产品,借助 [Amazon Q](https://aws.amazon.com/cn/q/?trk=cndc-detail) 是能够降低产品的使用难度,特别是在试用阶段,在新用户遇到困难并立马解决,是能提高成单率的。
#### 增效
想象一下,你需要客服来解决售后问题,客服在客户和技术人员之间沟通解决问题,并把这些问题记录下来,逐渐积累了很多问题集——F&Q。慢慢地,客服反馈有些问题看看产品说明就能解决,但客户还是要打电话咨询。
这个时候,你把这些售后问题投喂到 [Amazon Q](https://aws.amazon.com/cn/q/?trk=cndc-detail) 的 dataset,Q 就立马成为一名经验丰富的客户,能够帮客户解决一些常见问题了,解决不了的再接入到人工客服了。
### Amazon SageMaker
[Amazon SageMaker](https://aws.amazon.com/cn/sagemaker/?trk=cndc-detail) 提供专为数据科学家和开发人员高效地准备、构建、训练和部署高质量 ML 模型而构建的[机器学习](https://aws.amazon.com/cn/machine-learning/?trk=cndc-detail)(ML)功能。
当团队内的数据专家,想进一步对数据做分析时,无需把数据下载到本地,亚马逊提供了在线 Jupyter 平台,通过它你可以在任何终端访问 Notebook 进行数据分析工作,一切运算都在云端,数据通过 S3 访问,让你无需担心本地磁盘以及算力。
#### 创建 Notebook
访问 [Amazon SageMaker](https://aws.amazon.com/cn/sagemaker/?trk=cndc-detail),翻到 Notebook, 点击 `Create notbook instance`

这里填了的不用改,只需要填一下名字就行了。

#### 打开 Jupyter
创建好 notebook 实例后,点击 Open Jupyter 就能到一个你熟悉的界面了:

是的,这就是亚马逊云科技提供服务的 Jupyter。你看到的 Running 状态,就是我没有关闭的实例。所以你不用时,记得手动关闭运行,因为它不会自己关,程序会一直为你保存工作状态,随时衔接工作。这样就不用写额外代码去保存中间状态了。
#### 访问 S3 数据
那么如何访问 S3 数据呢?

通过如上代码,说明 [Amazon SageMaker](https://aws.amazon.com/cn/sagemaker/?trk=cndc-detail) 是和 [Amazon S3](https://aws.amazon.com/cn/s3/?trk=cndc-detail) 打通了的。只需要配置好数据权限,数据分析人员就能自己拿数据进行分析工作了。
### Amazon SageMaker Studio
对了,亚马逊云科技还推出了 [Amazon SageMaker](https://aws.amazon.com/cn/sagemaker/?trk=cndc-detail) Studio 一个免费的[机器学习](https://aws.amazon.com/cn/machine-learning/?trk=cndc-detail)(ML)开发环境。独立于亚马逊的账号体系,目前是需要申请的。不过我的申请一天就过了,还是挺快的。

每天免费 4 个小时的 GPU 算力。如果你只用 CPU 的话,那么会有 8 个小时运行时可供你用。

启动运行时之前,会让你填手机号,我填的国内的 +86 手机号,是可以畅通使用的。

#### 访问速度
目前,我访问 Studio 没有网络障碍,大家放心冲。
### 生态
这场 AI 热潮,亚马逊云科技不仅仅是提供了大模型给大家使用,还围绕达模型的训练、调优、运行提供了一整套服务。

### 安全
作为云服务商,亚马逊非常重视用户的数据安全,并且公开承诺不会用客户的数据去改进他们的模型,至于他们怎么改进模型,估计是基于自己的业务。
.gif")
还有生成的内容安全,由于 AI 生成模型参数众多,也许你都不知道训练出来的模型,可能学到了什么“坏毛病”。关于这些,[Amazon Bedrock](https://aws.amazon.com/cn/bedrock/?trk=cndc-detail) 提供了跟踪,以及完善的日志功能,并且发现错误会帮你屏蔽内容输出,同时也会检查用户的输入。

跑得快不一定赢,不跌跟头才是成功。在国内环境下,这些功能都是必须的,[Amazon Q](https://aws.amazon.com/cn/q/?trk=cndc-detail) 已经先一步帮我们想到了。
看过 re:Invent 2023 并体验过 [Amazon Q](https://aws.amazon.com/cn/q/?trk=cndc-detail) 之后,个人感觉距离 AI 产品更近一步了。在当前隐私泄露严重、滥用个人信息的环境下,生成式 AI 这个婴儿在一旁嗷嗷待哺(数据投喂),还有亚马逊云科技这样的云服务商把客户的安全、隐私放在第一位,是难能可贵的。
*(本文经过后期编辑整理后发布)*
### #欢迎观看更多精彩作品#
「构」向云端,构建者征文大赛现已评奖,欢迎大家扫描二维码或点击阅读原文,阅读更多精彩内容!

