Amazon Titan Image Generator、Multimodal Embeddings 和 Text 模型现已在 Amazon Bedrock 上线

机器学习
re:Invent
Amazon OpenSearch Service
Amazon Bedrock
Amazon Titan Image Generator 模型
0
0
今天,我们推出两款全新的 Amazon Titan 多模态基础模型:Amazon Titan Image Generator(预览版)和 Amazon Titan Multimodal Embeddings。与此同时,我很高兴能够告诉大家,Amazon Titan Text Lite 和 Amazon Titan Text Express 的一般可用版本现已在 [Amazon Bedrock](https://aws.amazon.com/cn/bedrock/?trk=cndc-detail) 上线。目前可供您选择的 Amazon Titan Text 基础模型有三款,其中包括 Amazon Titan Text Embeddings。 [Amazon Titan](https://aws.amazon.com/cn/bedrock/titan/?trk=cndc-detail) 模型融合了亚马逊 25 年的[人工智能(AI)和机器学习(ML)](https://aws.amazon.com/cn/machine-learning/?trk=cndc-detail)创新成果,通过一种全托管的 API,提供了多种高性能的图像、多模态和文本模型选项。亚马逊云科技利用多个大型数据集对这些模型进行了预训练,使它们成为功能强大的通用模型,既支持各种用例,又支持负责任地使用人工智能。 您可以按原样使用基础模型,也可以使用自己的数据对这些模型进行个性化定制。欲启用 Amazon Titan 基础模型访问权,请导航到 [Amazon Bedrock 控制台](https://signin.aws.amazon.com/signin?redirect_uri=https%3A%2F%2Fus-east-1.console.aws.amazon.com%2Fbedrock%2Fhome%3FhashArgs%3D%2523%26isauthcode%3Dtrue%26region%3Dus-east-1%26state%3DhashArgsFromTB_us-east-1_89f0dfee54495cdb&client_id=arn%3Aaws%3Asignin%3A%3A%3Aconsole%2Famazon-bedrock&forceMobileApp=0&code_challenge=3rcVHk60yLVjiYIgiESmpbAA6W9LAZV3uhbtelBEhoQ&code_challenge_method=SHA-256?trk=cndc-detail),然后选择左下角菜单上的**模型访问**。在模型访问概览页面上,选择管理模型访问并启用 Amazon Titan 基础模型访问权。 ![屏幕截图 2023-12-26 215030.png](https://dev-media.amazoncloud.cn/7263e6cbc7e94d2cacd35423b1047b9d_%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202023-12-26%20215030.png "屏幕截图 2023-12-26 215030.png") 下面为您简要介绍一下各款新模型。 ##### Amazon Titan Image Generator(预览版) 作为内容创作者,您现在可以通过 Amazon Titan Image Generator,以英语自然语言提示的方式快速创建和优化图像。这有助于广告、电子商务、媒体和娱乐业的公司以低成本创建大量工作室质量的逼真图像。该模型可根据文本描述生成多个图像选项,方便迭代图像概念。该模型可以理解包含多个对象的复杂提示,并根据这些提示生成相关图像。该模型的训练采用高质量、多样化的数据,因此可以生成更准确的输出,例如具有包容性属性和有限失真的逼真图像。 Titan Image Generator 的图像编辑功能包括能够使用内置的分割模型,根据文本提示自动编辑图像。该模型支持使用图像掩模进行图像修复和修改图像背景。而且可以配置图像尺寸以及指定希望模型生成多少种图像变化。 此外,您可以使用专有数据自定义模型,生成符合品牌准则的图片,或生成特定风格的图片,例如,使用以前营销活动中的图片对模型进行[微调](https://docs.aws.amazon.com/bedrock/latest/userguide/what-is-bedrock.html?trk=cndc-detail)。Titan Image Generator 还可以减少生成恶意内容,支持[负责任地使用人工智能](https://aws.amazon.com/cn/machine-learning/responsible-ai/?trk=cndc-detail)。所有由 Amazon Titan 生成的图像都包含一个隐形水印,旨在提供一种识别人工智能生成图像的隐蔽机制,帮助减少错误信息的传播。 ##### Amazon Titan Image Generator 操作演示 在 [Amazon Bedrock 控制台](https://signin.aws.amazon.com/signin?redirect_uri=https%3A%2F%2Fus-east-1.console.aws.amazon.com%2Fbedrock%2Fhome%3FhashArgs%3D%2523%26isauthcode%3Dtrue%26region%3Dus-east-1%26state%3DhashArgsFromTB_us-east-1_6a82264c4bc3149c&client_id=arn%3Aaws%3Asignin%3A%3A%3Aconsole%2Famazon-bedrock&forceMobileApp=0&code_challenge=g5GCbSkg4_0TX7mU1w484VjPO05g8eNHskIoLpyRLHM&code_challenge_method=SHA-256?trk=cndc-detail),提交可用于生成图像的英文自然语言提示,或上传要进行编辑的图片,都可随即开始使用该模型。在下面的示例中,我将向您展示如何使用 [Amazon SDK for Python (Boto3)](https://aws.amazon.com/cn/sdk-for-python/?trk=cndc-detail) 通过 Amazon Titan Image Generator 生成图像。 首先,来看一下可以在推理请求正文中指定的图像生成配置选项。我选择 TEXT_IMAGE 为任务类型,根据自然语言提示创建图像。 ```Python import boto3 import json bedrock = boto3.client(service_name="bedrock") bedrock_runtime = boto3.client(service_name="bedrock-runtime") # ImageGenerationConfig Options: # numberOfImages: Number of images to be generated # quality: Quality of generated images, can be standard or premium # height: Height of output image(s) # width: Width of output image(s) # cfgScale: Scale for classifier-free guidance # seed: The seed to use for reproducibility body = json.dumps( { "taskType": "TEXT_IMAGE", "textToImageParams": { "text": "green iguana", # Required # "negativeText": "<text>" # Optional }, "imageGenerationConfig": { "numberOfImages": 1, # Range: 1 to 5 "quality": "premium", # Options: standard or premium "height": 768, # Supported height list in the docs "width": 1280, # Supported width list in the docs "cfgScale": 7.5, # Range: 1.0 (exclusive) to 10.0 "seed": 42 # Range: 0 to 214783647 } } ) ``` 接下来,指定 Amazon Titan Image Generator 的模型 ID,并使用 InvokeModel API 发送推理请求。 ```Python response = bedrock_runtime.invoke_model( body=body, modelId="amazon.titan-image-generator-v1", accept="application/json", contentType="application/json" ) ``` 然后,解析响应并解码 base64 编码的图像。 ```Python import base64 from PIL import Image from io import BytesIO response_body = json.loads(response.get("body").read()) images = [Image.open(BytesIO(base64.b64decode(base64_image))) for base64_image in response_body.get("images")] for img in images: display(img) ``` 瞧,是一副绿鬣蜥(实际上是我最喜欢的动物之一)图像: ![屏幕截图 2023-12-26 215401.png](https://dev-media.amazoncloud.cn/3aead7ec239f41bb80cd3d9ab5abd60b_%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202023-12-26%20215401.png "屏幕截图 2023-12-26 215401.png") 欲进一步了解 Amazon Titan Image Generator 的所有功能,请访问 [Amazon Titan](https://aws.amazon.com/cn/bedrock/titan/?trk=cndc-detail) 产品页面。(您将在那里看到更多的鬣蜥图像。) 接下来,我们用全新的 Amazon Titan Multimodal Embeddings 模型来处理这张图像。 ##### Amazon Titan Multimodal Embeddings Amazon Titan Multimodal Embeddings 可帮助您为最终用户构建更准确、更贴近上下文的多模态搜索和推荐体验。多模态是指系统能够使用不同类型的数据(模态)处理和生成信息。有了 Titan Multimodal Embeddings,您输入的可以是文本、图像或两者组合。 该模型可将图片和最多包含 128 个词元的简短英文文本转换为嵌入,从而捕捉数据的语义和数据间的关系。您还可以利用图像-标题对数据,微调模型。例如,描述公司特定的制造部件时,可以结合文本和图像,从而让模型更有效地理解和识别部件。 默认情况下,Titan Multimodal Embeddings 会生成 1,024 维的向量,您可以利用这些向量来构建准确性高且速度快的搜索体验。您也可以减少向量维度,优化速度和性价比。该模型提供一个异步批处理 API,而且 [Amazon OpenSearch Service](https://aws.amazon.com/cn/opensearch-service/?trk=cndc-detail) 很快将上线一个可为[神经搜索](https://aws.amazon.com/cn/about-aws/whats-new/2023/11/amazon-opensearch-neural-search/?trk=cndc-detail)添加 Titan Multimodal Embeddings 支持的连接器。 ##### Amazon Titan Multimodal Embeddings 操作演示 在这个演示中,我创建了一个结合图像和文本的嵌入。首先,我对图片进行 base64 编码,然后在推理请求正文中指定 `inputText` 、 `inputImage` 或两者。 ```Python # Maximum image size supported is 2048 x 2048 pixels with open("iguana.png", "rb") as image_file: input_image = base64.b64encode(image_file.read()).decode('utf8') # You can specify either text or image or both body = json.dumps( { "inputText": "Green iguana on tree branch", "inputImage": input_image } ) ``` 接下来,指定 Amazon Titan Multimodal Embeddings 的模型 ID,并使用 InvokeModel API 发送推理请求。 ```Python response = bedrock_runtime.invoke_model( body=body, modelId="amazon.titan-embed-image-v1", accept="application/json", contentType="application/json" ) ``` 我们来看看响应。 ```Python response_body = json.loads(response.get("body").read()) print(response_body.get("embedding")) [-0.015633494, -0.011953583, -0.022617092, -0.012395329, 0.03954641, 0.010079376, 0.08505301, -0.022064181, -0.0037248489, ...] ``` 为简洁起见,我编辑了输出结果。多模态嵌入向量之间的距离可以用余弦相似度或欧氏距离等指标来衡量,该距离显示出不同模态之间所代表信息的相似性或差异性。距离越小,意味着相似性越大,而距离越大,则意味着差距越大。 下一步,您可以在向量存储或向量数据库中存储多模态嵌入并编制索引,从而建立一个图像数据库。欲实现文本到图像的搜索,请使用 `inputText` 查询数据库。欲进行图像到图像的搜索,请使用 `inputImage` 查询数据库。欲进行图像+文本到图像搜索,请同时使用 `inputImage` 和 `inputText` 查询数据库。 ##### Amazon Titan 文本 Amazon Titan Text Lite 和 Amazon Titan Text Express 都是大型语言模型(LLM),支持各种文本相关任务,包括摘要、翻译和会话聊天机器人系统。它们还可以生成代码,而且进行了优化,可支持流行的编程语言和文本格式(如 JSON 和 CSV)。 **Titan Text Express** - Titan Text Express 的最大上下文长度为 8,192 个词元,非常适合执行各种任务,如开放式文本生成和对话聊天,并支持检索增强生成(RAG)工作流。 **Titan Text Lite**– Titan Text Lite 的最大上下文长度为 4,096 个词元,它是一款性价比较高的版本,非常适合执行英语任务。该模型可高度自定义,并可针对文章摘要和文案写作等任务进行微调。 ##### Amazon Titan Text 操作演示 在这个演示中,我让 Titan Text 给我的团队成员写一封建议他们组织一次直播的邮件:“撰写一封来自首席开发者倡导者 Antje 的简短电子邮件,鼓励开发者关系团队组织一场直播,演示全新的 Amazon Titan V1 模型。” ```Python body = json.dumps({ "inputText": prompt, "textGenerationConfig":{ "maxTokenCount":512, "stopSequences":[], "temperature":0, "topP":0.9 } }) ``` Titan Text 基础模型支持 `temperature` 和 `topP` 推理参数,以控制响应的随机性和多样性,同时支持 `maxTokenCount` 和 `stopSequences`,以控制响应的长度。 接下来,选择 Titan Text 模型的模型 ID,并使用 `InvokeModel API` 发送推理请求。 ```Python response = bedrock_runtime.invoke_model( body=body, # Choose modelID # Titan Text Express: "amazon.titan-text-express-v1" # Titan Text Lite: "amazon.titan-text-lite-v1" modelID="amazon.titan-text-express-v1", accept="application/json", contentType="application/json" ) ``` 我们来看看响应。 ```Python response_body = json.loads(response.get('body').read()) outputText = response_body.get('results')[0].get('outputText') text = outputText[outputText.index('\\n')+1:] email = text.strip() print(email) ``` 主题: 直播演示全新的 Amazon Titan V1 模型! 各位同事: 大家好。 希望你们一切安好。我很高兴地宣布,我们最近推出了全新的 Amazon Titan V1 模型,我相信对我们来说,这是一个向更广泛的开发人员社区展示它们的功能的绝佳机会。 我建议组织一场直播,演示这些模型,讨论它们的功能、优势以及如何帮助开发人员构建创新应用程序。这场直播可以在我们的 YouTube 频道,Twitch 或任何其他适合受众的平台上进行。 我相信,展示我们的新模型不仅会提高我们的知名度,还会帮助我们与开发者建立更强的联系。这也将让我们有机会获得反馈,并根据开发者的需求改进产品。 如果你们有兴趣组织这次直播,请告诉我。我很乐意为你们提供任何可能需要的支持或指导。我们一起努力,成功直播,并向全世界展示 Amazon Titan V1 模型的强大功能! 祝商祺 首席开发者倡导者 Antje 很好。我可以直接发送这封邮件! ##### 可用性和定价 Amazon Titan Text 基础模型现已在亚马逊云科技商业服务区域美国东部(弗吉尼亚州北部)、美国西部(俄勒冈州)、亚太地区(新加坡、东京)和欧洲(法兰克福)推出,Amazon Titan Multimodal Embeddings 现已在亚马逊云科技商业服务区域美国东部(弗吉尼亚州北部)和美国西部(俄勒冈州)推出,Amazon Titan Image Generator 的公开预览版现已在亚马逊云科技商业服务区域美国东部(弗吉尼亚州北部)和美国西部(俄勒冈州)推出。有关定价详情,请参阅 [Amazon Bedrock](https://aws.amazon.com/cn/bedrock/?trk=cndc-detail) 定价页面。 ##### 了解更多信息 ● [Amazon Bedrock](https://aws.amazon.com/cn/bedrock/?trk=cndc-detail) 产品页面 ● [Amazon Titan](https://aws.amazon.com/cn/bedrock/titan/?trk=cndc-detail) 产品页面 ● [Amazon Bedrock 用户指南。](https://docs.aws.amazon.com/bedrock/latest/userguide/what-is-bedrock.html?trk=cndc-detail) 登录 [Amazon Management 控制台](https://us-east-1.console.aws.amazon.com/bedrock/home?region=us-east-1#?trk=cndc-detail),即可在 [Amazon Bedrock](https://aws.amazon.com/cn/bedrock/?trk=cndc-detail) 上使用 Amazon Titan 基础模型构建生成式人工智能应用程序! 文章来源: https://aws.amazon.com/blogs/aws/amazon-titan-image-generator-multimodal-embeddings-and-text-models-are-now-available-in-amazon-bedrock?trk=cndc-detail/ — [Antje](https://www.linkedin.cn/incareer/in/antje-barth/?trk=cndc-detail)
0
目录
关闭