

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# Amazon Titan Multimodal Embeddings G1 模型
<a name="titan-multiemb-models"></a>

Amazon Titan 基础模型在大型数据集上进行过预训练，是强大的通用模型。您可以按原样使用它们，也可以通过针对特定任务使用您自己的数据微调模型来对其进行定制，而无需为大量数据添加注释。

Titan 模型有三种类型：嵌入、文本生成和图像生成。

有两种 Titan Multimodal Embeddings G1 模型。Titan 多模态嵌入 G1 模型将文本输入（单词、短语或可能的大型文本单元）转换为包含文本语义含义的数字表示形式（称为嵌入）。虽然此模型不会生成文本，但它对个性化和搜索等应用程序很有用。通过比较嵌入内容，该模型将产生比单词匹配更具相关性和上下文关联性的响应。多模态嵌入 G1 模型用于通过文本、图像相似度或文本和图像的组合来搜索图像等使用案例。它将输入的图像或文本转换为嵌入内容，其中包含相同语义空间中图像和文本的语义含义。

Titan Text 模型是生成式的， LLMs 用于摘要、文本生成、分类、开放式 qnA 和信息提取等任务。该模型还接受了有关许多不同编程语言以及表、JSON 和 .csv 文件等富文本格式以及其他格式的训练。

**Amazon Titan 多模态嵌入模型 G1**
+ **模型 ID** – `amazon.titan-embed-image-v1`
+ **最大输入文本词元数** – 256
+ **语言** – 英语 
+ **最大输入图像大小** – 25 MB
+ **输出向量大小** – 1024（默认）、384、256
+ **推理类型** – 按需吞吐量、预调配吞吐量
+ **支持的使用案例** – 搜索、推荐和个性化。

Titan 文本嵌入 V1 接收非空的字符串作为输入，且最多可包含 8192 个词元，并返回 1024 个维度嵌入数据。平均而言，英语中字符/词元的比率为每个词元 4.7 个字符。RAG 使用案例说明：虽然 Titan 文本嵌入 V2 能够容纳最多 8192 个词元，但建议将文档拆分成逻辑段（例如段落或小节）。

## 嵌入长度
<a name="titanmm-embedding"></a>

可以选择是否设置自定义嵌入长度。嵌入的默认长度为 1024 个字符，适用于大多数用例。嵌入长度可以设置为 256、384 或 1024 个字符。较大的嵌入尺寸会生成更详细的响应，但也会增加计算时间。较短的嵌入长度生成的响应不那么详细，但会缩短响应时间。

```
    # EmbeddingConfig Shape
    {
     'outputEmbeddingLength': int // Optional, One of: [256, 384, 1024], default: 1024
    }
    
    # Updated API Payload Example
    body = json.dumps({
     "inputText": "hi",
     "inputImage": image_string,
     "embeddingConfig": { 
     "outputEmbeddingLength": 256
     }
    })
```

## 微调
<a name="titanmm-finetuning"></a>
+ Amazon Titan Multimodal Embeddings G1 微调的输入为图像文本对。
+ 图像格式：PNG、JPEG
+ 输入图像大小限制：25 MB
+ 图像尺寸：最小 256 像素，最大 4096 像素
+ 字幕中的最大词元数：128
+ 训练数据集大小范围：1000 - 500,000
+ 验证数据集大小范围：8 - 50,000
+ 字幕长度（以字符为单位）：0 - 2,560
+ 每个图像的最大总像素数：2048\$12048\$13
+ 纵横比（w/h）：最小 0.25，最大 4

## 准备数据集
<a name="titanmm-datasets"></a>

对于训练数据集，请创建一个包含多个 JSON 行的 `.jsonl` 文件。每个 JSON 行都包含一个 `image-ref` 和多个 `caption` 属性，类似于 [Sagemaker 增强清单格式](https://docs.aws.amazon.com/sagemaker/latest/dg/augmented-manifest.html)。需要一个验证数据集。当前不支持自动字幕功能。

```
   {"image-ref": "s3://bucket-1/folder1/0001.png", "caption": "some text"}
   {"image-ref": "s3://bucket-1/folder2/0002.png", "caption": "some text"}
   {"image-ref": "s3://bucket-1/folder1/0003.png", "caption": "some text"}
```

对于训练数据集和验证数据集，需要创建一个包含多个 JSON 行的 `.jsonl` 文件。

Amazon S3 路径所在的文件夹，需要与您通过将 IAM 策略附加到 Amazon Bedrock 服务角色，以便向 Amazon Bedrock 提供数据访问权限所在的文件夹相同。有关授予 IAM 策略以访问训练数据的更多信息，请参阅[为自定义作业授予访问训练数据的权限](https://docs.aws.amazon.com/bedrock/latest/userguide/security_iam_id-based-policy-examples.html#security_iam_id-based-policy-examples-model-customization)。

## 超参数
<a name="titanmm-hyperparameters"></a>

可以针对多模态嵌入模型的超参数调整这些值。默认值适用于大多数用例。
+ 学习速率 -（最小/最大学习速率）– 默认：5.00E-05，最小：5.00E-08，最大：1
+ 批量大小 - 有效批量大小 – 默认：576，最小：256，最大：9,216 
+ 最大周期数 – 默认：“auto”，最小：1，最大：100