AWS News Blog
Fine-tuning for Anthropic’s Claude 3 Haiku model in HAQM Bedrock is now generally available
|
Today, we are announcing the general availability of fine-tuning for Anthropic’s Claude 3 Haiku model in HAQM Bedrock in the US West (Oregon) AWS Region. HAQM Bedrock is the only fully managed service that provides you with the ability to fine-tune Claude models. You can now fine-tune and customize the Claude 3 Haiku model with your own task-specific training dataset to boost model accuracy, quality, and consistency to further tailor generative AI for your business.
Fine-tuning is a technique where a pre-trained large language model (LLM) is customized for a specific task by updating the weights and tuning hyperparameters like learning rate and batch size for optimal results.
Anthropic’s Claude 3 Haiku model is the fastest and most compact model in the Claude 3 model family. Fine-tuning Claude 3 Haiku offers significant advantages for businesses:
- Customization – You can customize models that excel in areas crucial to your business compared to more general models by encoding company and domain knowledge.
- Specialized performance – You can generate higher quality results and create unique user experiences that reflect your company’s proprietary information, brand, products, and more.
- Task-specific optimization – You can enhance performance for domain-specific actions such as classification, interactions with custom APIs, or industry-specific data interpretation.
- Data security – You can fine-tune with peace of mind in your secure AWS environment. HAQM Bedrock makes a separate copy of the base foundation model that is accessible only by you and trains this private copy of the model.
You can now optimize performance for specific business use cases by providing domain-specific labeled data to fine-tune the Claude 3 Haiku model in HAQM Bedrock.
In early 2024, we started to engage customers with a team of experts from the AWS Generative AI Innovation Center to help fine-tune Anthropic’s Claude models with their proprietary data sources. I’m happy to share that you can now fine-tune Anthropic’s Claude 3 Haiku model in HAQM Bedrock directly in the HAQM Bedrock console.
Get started with fine-tuning for Anthropic’s Claude 3 Haiku model in HAQM Bedrock
I will demonstrate how to easily fine-tune the Claude 3 Haiku model in HAQM Bedrock. To learn more about the fine-tuning workflow in detail, visit the AWS Machine Learning Blog post, Fine-tune Anthropic’s Claude 3 Haiku in HAQM Bedrock to boost model accuracy and quality.
To create a simple fine-tuning job in the HAQM Bedrock console, go to the Foundation models section in the navigation pane and select Custom models. In the Models section, select the Customize model button and then select Create Fine-tuning job.
Next, choose the model that you want to customize with your own data, give your resulting model a name, and optionally add encryption keys and any tags to associate with the model in the Model details section. Enter a name for the job and optionally add any tags for the job in the Job configuration section.
You can select the HAQM S3 location of the training dataset file and, if applicable, the validation dataset file in the Input data section.
Each dataset can be created using a JSON Lines (JSONL) file with multiple JSON lines using the single-turn or multi-turn messaging format. Each JSON line is a sample containing a system
and message, an array of message
objects.
I prepared some of the latest information about Anthropic’s Claude 3.5 Sonnet model in HAQM Bedrock. To learn more, visit Prepare the datasets in the HAQM Bedrock documentation.
{"system": "You are an helpful assistant.","messages":[{"role": "user", "content": "What’s the latest models to support HAQM Bedrock"},{"role": "assistant", "content": "HAQM Bedrock is a fully managed service that support Anthropic’s Claude 3 Sonnet, Haiku, and Opus models and the latest Claud 3.5 Sonnet model."}]}
{"system": "You are an helpful assistant.","messages":[{"role": "user", "content": "How long context window of Claude 3.5?"},{"role": "assistant", "content": "Anthropic's Claude 3 models have a 200,000 token context window enabling you to relay a large volume of information to Claude. This translates to roughly 150,000 words, or over 500 pages of material."}]}
{"system": "You are an helpful assistant.","messages":[{"role": "user", "content": "Is Claude 3.5 available in Bedrock?"},{"role": "assistant", "content": "Anthropic’s most intelligent and advanced model, Claude 3.5 Sonnet, demonstrates exceptional capabilities across a diverse range of tasks and evaluations while also outperforming Claude 3 Opus."}]}
In the Hyperparameters section, enter values for hyperparameters to use in training, such as epochs, batch size, and learning rate multiplier. If you’ve included a validation dataset, you can enable Early stopping, a technique used to prevent overfitting and stop the training process when the validation loss stops improving. You can set an early stopping threshold and patience value.
You can also select the output location where HAQM Bedrock should save the output of the job in the Output data section. Choose an AWS Identity and Access Management (IAM) custom service role with the appropriate permissions in the Service access section. To learn more, see Create a service role for model customization in the HAQM Bedrock documentation.
Finally, choose Create Fine-tuning job and wait for your fine-tuning job to start.
You can track its progress or stop it in the Jobs tab in the Custom models section.
After a model customization job is complete, you can analyze the results of the training process by looking at the files in the output HAQM Simple Storage Service (HAQM S3) folder that you specified when you submitted the job, or you can view details about the model.
Before using a customized model, you need to purchase Provisioned Throughput for HAQM Bedrock and then use the resulting provisioned model for inference. When you purchase Provisioned Throughput, you can select a commitment term, choose a number of model units, and see estimated hourly, daily, and monthly costs. To learn more about the custom model pricing for the Claude 3 Haiku model, visit HAQM Bedrock Pricing.
Now, you can test your custom model in the console playground. I choose my custom model and ask whether Anthropic’s Claude 3.5 Sonnet model is available in HAQM Bedrock.
I receive the answer:
Yes. You can use Anthropic’s most intelligent and advanced model, Claude 3.5 Sonnet in the HAQM Bedrock. You can demonstrate exceptional capabilities across a diverse range of tasks and evaluations while also outperforming Claude 3 Opus.
You can complete this job using AWS APIs, AWS SDKs, or AWS Command Line Interface (AWS CLI). To learn more about using AWS CLI, visit Code samples for model customization in the AWS documentation.
If you are using Jupyter Notebook, visit the GitHub repository and follow a hands-on guide for custom models. To build a production-level operation, I recommend reading Streamline custom model creation and deployment for HAQM Bedrock with Provisioned Throughput using Terraform on the AWS Machine Learning Blog.
Datasets and parameters
When fine-tuning Claude 3 Haiku, the first thing you should do is look at your datasets. There are two datasets that are involved in training Haiku, and that’s the Training dataset and the Validation dataset. There are specific parameters that you must follow in order to make your training successful, which are outlined in the following table.
Training data | Validation data | |
File format | JSONL | |
File size | <= 10GB | <= 1GB |
Line count | 32 – 10,000 lines | 32 – 1,000 lines |
Training + Validation Sum <= 10,000 lines | ||
Token limit | < 32,000 tokens per entry | |
Reserved keywords | Avoid having “\nHuman: ” or “\nAssistant: ” in prompts |
When you prepare the datasets, start with a small high-quality dataset and iterate based on tuning results. You can consider using larger models from Anthropic like Claude 3 Opus or Claude 3.5 Sonnet to help refine and improve your training data. You can also use them to generate training data for fine-tuning the Claude 3 Haiku model, which can be very effective if the larger models already perform well on your target task.
For more guidance on selecting the proper hyperparameters and preparing the datasets, read the AWS Machine Learning Blog post, Best practices and lessons for fine-tuning Anthropic’s Claude 3 Haiku in HAQM Bedrock.
Demo video
Check out this deep dive demo video for a step-by-step walkthrough that will help you get started with fine-tuning Anthropic’s Claude 3 Haiku model in HAQM Bedrock.
Now available
Fine-tuning for Anthropic’s Claude 3 Haiku model in HAQM Bedrock is now generally available in the US West (Oregon) AWS Region; check the full Region list for future updates. To learn more, visit Custom models in the HAQM Bedrock documentation.
Give fine-tuning for the Claude 3 Haiku model a try in the HAQM Bedrock console today and send feedback to AWS re:Post for HAQM Bedrock or through your usual AWS Support contacts.
I look forward to seeing what you build when you put this new technology to work for your business.
— Channy