Custom models - Amazon Bedrock

Custom models

Model customization is the process of providing training data to a model in order to improve its performance for specific use-cases. You can customize Amazon Bedrock foundation models in order to improve their performance and create a better customer experience. Amazon Bedrock currently provides the following customization methods.

  • Continued Pre-training

    Provide unlabeled data to pre-train a foundation model by familiarizing it with certain types of inputs. You can provide data from specific topics in order to expose a model to those areas. The Continued Pre-training process will tweak the model parameters to accommodate the input data and improve its domain knowledge.

    For example, you can train a model with private data, such as business documents, that are not publically available for training large language models. Additionally, you can continue to improve the model by retraining the model with more unlabeled data as it becomes available.

  • Fine-tuning

    Provide labeled data in order to train a model to improve performance on specific tasks. By providing a training dataset of labeled examples, the model learns to associate what types of outputs should be generated for certain types of inputs. The model parameters are adjusted in the process and the model's performance is improved for the tasks represented by the training dataset.

For information about model customization quotas, see Model customization quotas.


You are charged for model training based on the number of tokens processed by the model (number of tokens in training data corpus × number of epochs) and model storage charged per month per model. For more information, see Amazon Bedrock pricing.

You carry out the following steps in model customization.

  1. Create a training and, if applicable, a validation dataset for your customization task.

  2. If you plan to use a new custom IAM role, set up IAM permissions to access the S3 buckets for your data. You can also use an existing role or let the console automatically create a role with the proper permissions.

  3. (Optional) Configure KMS keys and/or VPC for extra security.

  4. Create a Fine-tuning or Continued Pre-training job, controlling the training process by adjusting the hyperparameter values.

  5. Analyze the results by looking at the training or validation metrics or by using model evaluation.

  6. Purchase Provisioned Throughput for your newly created custom model.

  7. Use your custom model as you would a base model in Amazon Bedrock tasks, such as model inference.