Resource: TuningJob
Represents a TuningJob that runs with Google owned models.
namestring
Output only. Identifier. Resource name of a TuningJob. Format: projects/{project}/locations/{location}/tuningJobs/{tuningJob}
tunedModelDisplayNamestring
Optional. The display name of the TunedModel. The name can be up to 128 characters long and can consist of any UTF-8 characters. For continuous tuning, tunedModelDisplayName will by default use the same display name as the pre-tuned model. If a new display name is provided, the tuning job will create a new model instead of a new version.
descriptionstring
Optional. The description of the TuningJob.
customBaseModelstring
Optional. The user-provided path to custom model weights. Set this field to tune a custom model. The path must be a Cloud Storage directory that contains the model weights in .safetensors format along with associated model metadata files. If this field is set, the baseModel field must still be set to indicate which base model the custom model is derived from. This feature is only available for open source models.
Output only. The detailed state of the job.
Output only. time when the TuningJob was created.
Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" or "2014-10-02T15:01:23+05:30".
Output only. time when the TuningJob for the first time entered the JOB_STATE_RUNNING state.
Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" or "2014-10-02T15:01:23+05:30".
Output only. time when the TuningJob entered any of the following JobStates: JOB_STATE_SUCCEEDED, JOB_STATE_FAILED, JOB_STATE_CANCELLED, JOB_STATE_EXPIRED.
Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" or "2014-10-02T15:01:23+05:30".
Output only. time when the TuningJob was most recently updated.
Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" or "2014-10-02T15:01:23+05:30".
Output only. Only populated when job's state is JOB_STATE_FAILED or JOB_STATE_CANCELLED.
labelsmap (key: string, value: string)
Optional. The labels with user-defined metadata to organize TuningJob and generated resources such as Model and Endpoint.
label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed.
See https://goo.gl/xmQnxf for more information and examples of labels.
experimentstring
Output only. The Experiment associated with this TuningJob.
Output only. The tuned model resources associated with this TuningJob.
Output only. The tuning data statistics associated with this TuningJob.
pipelineJob
(deprecated)string
Output only. The resource name of the PipelineJob associated with the TuningJob. Format: projects/{project}/locations/{location}/pipelineJobs/{pipelineJob}.
Customer-managed encryption key options for a TuningJob. If this is set, then all resources created by the TuningJob will be encrypted with the provided encryption key.
serviceAccountstring
The service account that the tuningJob workload runs as. If not specified, the Agent Platform Secure Fine-Tuned service Agent in the project will be used. See https://cloud.google.com/iam/docs/service-agents#vertex-ai-secure-fine-tuning-service-agent
Users starting the pipeline must have the iam.serviceAccounts.actAs permission on this service account.
outputUristring
Optional. Cloud Storage path to the directory where tuning job outputs are written to. This field is only available and required for open source models.
Output only. Evaluation runs for the Tuning Job.
satisfiesPzsboolean
Output only. reserved for future use.
satisfiesPziboolean
Output only. reserved for future use.
source_modelUnion type
source_model can be only one of the following:baseModelstring
The base model that is being tuned. See Supported models.
The pre-tuned model for continuous tuning.
tuning_specUnion type
tuning_spec can be only one of the following:Tuning Spec for Supervised Fine Tuning.
Tuning Spec for Distillation.
Tuning Spec for open sourced and third party Partner models.
Tuning Spec for Reinforcement Tuning.
Tuning Spec for Veo Tuning.
Tuning Spec for Veo LoRA Tuning.
| JSON representation |
|---|
{ "name": string, "tunedModelDisplayName": string, "description": string, "customBaseModel": string, "state": enum ( |
PreTunedModel
A pre-tuned model for continuous tuning.
tunedModelNamestring
The resource name of the Model. E.g., a model resource name with a specified version id or alias:
projects/{project}/locations/{location}/models/{model}@{versionId}
projects/{project}/locations/{location}/models/{model}@{alias}
Or, omit the version id to use the default version:
projects/{project}/locations/{location}/models/{model}
checkpointIdstring
Optional. The source checkpoint id. If not specified, the default checkpoint will be used.
baseModelstring
Output only. The name of the base model this PreTunedModel was tuned from.
| JSON representation |
|---|
{ "tunedModelName": string, "checkpointId": string, "baseModel": string } |
SupervisedTuningSpec
Tuning Spec for Supervised Tuning for first party models.
trainingDatasetUristring
Required. Training dataset used for tuning. The dataset can be specified as either a Cloud Storage path to a JSONL file or as the resource name of a Vertex Multimodal Dataset.
validationDatasetUristring
Optional. Validation dataset used for tuning. The dataset can be specified as either a Cloud Storage path to a JSONL file or as the resource name of a Vertex Multimodal Dataset.
Optional. Hyperparameters for SFT.
exportLastCheckpointOnlyboolean
Optional. If set to true, disable intermediate checkpoints for SFT and only the last checkpoint will be exported. Otherwise, enable intermediate checkpoints for SFT. Default is false.
Optional. Evaluation Config for Tuning Job.
Tuning mode.
| JSON representation |
|---|
{ "trainingDatasetUri": string, "validationDatasetUri": string, "hyperParameters": { object ( |
SupervisedHyperParameters
Hyperparameters for SFT.
Optional. Number of complete passes the model makes over the entire training dataset during training.
learningRateMultipliernumber
Optional. Multiplier for adjusting the default learning rate. Mutually exclusive with learningRate. This feature is only available for 1P models.
learningRatenumber
Optional. Learning rate for tuning. Mutually exclusive with learningRateMultiplier. This feature is only available for open source models.
Optional. Adapter size for tuning.
Optional. Batch size for tuning. This feature is only available for open source models.
| JSON representation |
|---|
{
"epochCount": string,
"learningRateMultiplier": number,
"learningRate": number,
"adapterSize": enum ( |
AdapterSize
Supported adapter sizes for tuning.
| Enums | |
|---|---|
ADAPTER_SIZE_UNSPECIFIED |
Adapter size is unspecified. |
ADAPTER_SIZE_ONE |
Adapter size 1. |
ADAPTER_SIZE_TWO |
Adapter size 2. |
ADAPTER_SIZE_FOUR |
Adapter size 4. |
ADAPTER_SIZE_EIGHT |
Adapter size 8. |
ADAPTER_SIZE_SIXTEEN |
Adapter size 16. |
ADAPTER_SIZE_THIRTY_TWO |
Adapter size 32. |
EvaluationConfig
Evaluation Config for Tuning Job.
Required. The metrics used for evaluation.
Required. Config for evaluation output.
Optional. Autorater config for evaluation.
Optional. Configuration options for inference generation and outputs. If not set, default generation parameters are used.
| JSON representation |
|---|
{ "metrics": [ { object ( |
OutputConfig
Config for evaluation output.
destinationUnion type
destination can be only one of the following:gcsDestinationobject (GcsDestination)
Cloud storage destination for evaluation output.
| JSON representation |
|---|
{
// destination
"gcsDestination": {
object ( |
TuningMode
Supported tuning modes.
| Enums | |
|---|---|
TUNING_MODE_UNSPECIFIED |
Tuning mode is unspecified. |
TUNING_MODE_FULL |
Full fine-tuning mode. |
TUNING_MODE_PEFT_ADAPTER |
PEFT adapter tuning mode. |
DistillationSpec
Tuning Spec for Distillation.
trainingDatasetUri
(deprecated)string
Deprecated. Cloud Storage path to file containing training dataset for tuning. The dataset must be formatted as a JSONL file.
promptDatasetUristring
Optional. Cloud Storage path to file containing prompt dataset for distillation. The dataset must be formatted as a JSONL file.
Optional. Hyperparameters for Distillation.
studentModel
(deprecated)string
The student model that is being tuned, e.g., "google/gemma-2b-1.1-it". Deprecated. Use baseModel instead.
pipelineRootDirectory
(deprecated)string
Deprecated. A path in a Cloud Storage bucket, which will be treated as the root output directory of the distillation pipeline. It is used by the system to generate the paths of output artifacts.
Optional. Specifies the tuning mode for distillation (sft part). This feature is only available for open source models.
teacher_modelUnion type
teacher_model can be only one of the following:baseTeacherModelstring
The base teacher model that is being distilled. See Supported models.
tunedTeacherModelSourcestring
The resource name of the Tuned teacher model. Format: projects/{project}/locations/{location}/models/{model}.
validationDatasetUristring
Optional. Cloud Storage path to file containing validation dataset for tuning. The dataset must be formatted as a JSONL file.
| JSON representation |
|---|
{ "trainingDatasetUri": string, "promptDatasetUri": string, "hyperParameters": { object ( |
DistillationHyperParameters
Hyperparameters for Distillation.
Optional. Adapter size for distillation.
learningRatenumber
Optional. Specifies the learning rate for tuning. Mutually exclusive with learningRateMultiplier. This feature is only available for open source models.
Optional. Batch size for tuning. This feature is only available for open source models.
Optional. Number of complete passes the model makes over the entire training dataset during training.
learningRateMultipliernumber
Optional. Multiplier for adjusting the default learning rate.
| JSON representation |
|---|
{
"adapterSize": enum ( |
PartnerModelTuningSpec
Tuning spec for Partner models.
trainingDatasetUristring
Required. Cloud Storage path to file containing training dataset for tuning. The dataset must be formatted as a JSONL file.
validationDatasetUristring
Optional. Cloud Storage path to file containing validation dataset for tuning. The dataset must be formatted as a JSONL file.
Hyperparameters for tuning. The accepted hyperParameters and their valid range of values will differ depending on the base model.
| JSON representation |
|---|
{ "trainingDatasetUri": string, "validationDatasetUri": string, "hyperParameters": { string: value, ... } } |
ReinforcementTuningSpec
Tuning spec for Reinforcement Tuning.
Optional. Hyper-parameters for reinforcement tuning.
training_datasetUnion type
training_dataset can be only one of the following:trainingDatasetUristring
Cloud Storage path to the file containing training dataset for tuning. The dataset must be formatted as a JSONL file.
validation_datasetUnion type
validation_dataset can be only one of the following:validationDatasetUristring
Cloud Storage path to the file containing validation dataset for tuning. The dataset must be formatted as a JSONL file.
reward_configUnion type
reward_config can be only one of the following:Single Reward function configuration for reinforcement tuning.
Composite reward function configuration for reinforcement tuning.
| JSON representation |
|---|
{ "hyperParameters": { object ( |
SingleReinforcementTuningRewardConfig
SingleReinforcementTuningRewardConfig defines a single reward function configuration for RL tuning. Each reward calculation/evaluation consists of two stages:
- Stage 1: Parses the part of information important from sample response via regex extract, or simply takes the sample response unmodified.
- Stage 2: Calls the configured reward scorer to compute the reward.
rewardNamestring
A unique reward name for identifying each single reinforcement tuning reward.
Defines how to parse sample response.
For example, given a sample response for evaluating the reward, users might want to extract the text only between <ans> and </ans> in the sample response, and keeps only the last one in case there are multiple such tags. To achieve such a purpose, they can define a regex ".*<ans>(.*?)</ans>" using the ReinforcementTuningParseResponseConfig.ResponseParseType.REGEX_EXTRACT parse type.
reward_scorerUnion type
example and the parsed response to the configured reward scorer for evaluating a reward. reward_scorer can be only one of the following:ReinforcementTuningCodeExecutionRewardScorer is used to score parsed responses for code execution use cases.
ReinforcementTuningStringMatchRewardScorer is used to score parsed responses for simple string matching use cases against reference answers.
ReinforcementTuningAutoraterScorer is used to score parsed responses based on score computed by an autorater.
ReinforcementTuningCloudRunRewardScorer is used to score parsed responses by calling a Cloud Run service.
| JSON representation |
|---|
{ "rewardName": string, "parseResponseConfig": { object ( |
ReinforcementTuningCodeExecutionRewardScorer
ReinforcementTuningCodeExecutionRewardScorer allows users to implement a function to evaluate rewards for the sample response. The function signature is as follows:
def evaluate(example: dict[str, Any], response: dict[str, Any]) -> float:
...
example is a ReinforcementTuningExample in ProtoJSON format, (i.e., the format is the same as as one line in the training/validation dataset except that the keys must be in camel case). System instructions (i.e., example.get("systemInstruction")) and references (i.e., example.get("references")) are also included in the example provided that they are set in the training/validation dataset.
response is a Content in ProtoJSON format (i.e., keys must be in camel case), which is the same as the Online Prediction response for Gemini models.
Note: Reward output by the evaluate function is clipped to be within [-1, 1], i.e., reward = max(min(reward, 1.0), -1.0).
pythonCodeSnippetstring
The python code snippet as a string for evaluating rewards.
The following is an example python code snippet that returns a reward 1.0 for a parsed response matching the user-provided reference answer in per prompt references map.
def evaluate(example, response) -> float:
response_str = response.get("parts", [])[0]["text"]
references = example.get("references", {})
if response_str == references.get("concise_answer"):
return 1.0
return -1.0
Note: Reward output by the evaluate function is clipped to be within [-1, 1], i.e., reward = max(min(reward, 1.0), -1.0).
| JSON representation |
|---|
{ "pythonCodeSnippet": string } |
ReinforcementTuningStringMatchRewardScorer
ReinforcementTuningStringMatchRewardScorer is used to score parsed responses for string matching use cases. For example, for math problems, users can use string match scorer to check if the correct exact answer is generated.
Note: Reward returned by the string match reward function is clipped to be within [-1, 1] if wrongAnswerReward or correctAnswerReward are beyond the range, i.e., reward = max(min(reward, 1.0), -1.0).
expressionUnion type
expression can be only one of the following:uses string match expression to evaluate parsed response.
uses json match expression to evaluate parsed response.
wrongAnswerRewardnumber
Wrong answer reward is returned if the parsed response is evaluated as false. All wrong answers get the same reward.
correctAnswerRewardnumber
Correct answer rewawrd is returned if the parsed response is evaluated as true. All correct answers get the same reward.
| JSON representation |
|---|
{ // expression "stringMatchExpression": { object ( |
StringMatchExpression
Evaluates parsed response using match type against the expression. Returns true if MatchOperation(target, expression) evaluates to true, and false otherwise.
Match operation to use for evaluating rewards.
expressionstring
A string or a regular expression to match against for evaluating rewards.
Users can also provide a references map of {key: value} whose value will be used to replace the placeholder {{references.key}} in the expression.
For example, if the following references are defined in the training / validation dataset:
{
"systemInstruction": ...,
"contents": ...,
"references": {
"concise_answer": "Yes",
"verbose_answer": "The answer is <ans>Yes</ans>"
}
}
and if users define the following StringMatchExpression:
{
"matchOperation": "REGEX_CONTAINS",
"expression":
".*{{references.concise_answer}}.*"
}
On evaluating the reward for each sample response, this StringMatchExpression will be substituted as:
{
"matchOperation": "REGEX_CONTAINS",
"expression": ".*Yes.*"
}
| JSON representation |
|---|
{
"matchOperation": enum ( |
MatchOperation
Match operation to use for evaluating rewards.
| Enums | |
|---|---|
MATCH_OPERATION_UNSPECIFIED |
Default value. A user error will be returned if not set. |
REGEX_CONTAINS |
Equivalent to GoogleSQL REGEX_CONTAINS(target, expression). |
PARTIAL_MATCH |
The match operation returns true if expression is a substring of the target. |
EXACT_MATCH |
The match operation returns true expression is an exact match of the target. |
JsonMatchExpression
JsonMatchExpression supports converting the parsed responses to JSON format, finding the value in the JSON response that matches the keyName in the first level, and performing StringMatchExpression operation on the matched JSON value.
String match expression to match against the extracted value from the JSON representation of the parsed response.
keyNamestring
The key name to find the value in the parsed response that's in JSON format. Only first-level key matching is supported.
| JSON representation |
|---|
{
"valueStringMatchExpression": {
object ( |
ReinforcementTuningAutoraterScorer
ReinforcementTuningAutoraterScorer is used to score parsed responses for classification based autorater use cases. For example, for math problems, users can use classification based autorater to calculate rewards based on the autorater parsed response against a reference answer.
autoraterPromptstring
The prompt for an autorater to scorer the parsed sample response. This field supports the following placeholders that will be replaced before scoring:
-
{{prompt}} -
{{response}} -
{{system_instruction}} -
{{references.key}}
Autorater config for classification based autorater
Parses autorater returned response for scoring. For example, if the autorater response has reward stored in the <ans>2.0</ans> block, defining a parsing response config using regex ".*<ans>(.*?)</ans>" will return a score "2.0".
autorater_scorerUnion type
autorater_scorer can be only one of the following:Scores autorater responses by directly converting parsed autorater response to a float reward.
Note: Reward is clipped to be within [-1, 1], i.e., reward = max(min(reward, 1.0), -1.0).
Scores autorater responses by using string match reward scorer.
| JSON representation |
|---|
{ "autoraterPrompt": string, "autoraterConfig": { object ( |
ParsedResponseConversionScorer
This type has no fields.
Scores responses by directly converting the parsed autorater response to a float reward.
Note: Reward is clipped to be within [-1, 1], i.e., reward = max(min(reward, 1.0), -1.0).
ExactMatchScorer
Scores autorater responses by using exact string match reward scorer.
correctAnswerRewardnumber
Assigns this reward score if the parsed response string equals the expression.
wrongAnswerRewardnumber
Assigns this reward score if the parsed reward value does not equal the expression.
expressionstring
The string expression to match against for scoring. This field supports placeholders in the format of {{references.key}} that will be replaced before matching. Regex is not supported for this expression.
For example, users can define an ExactMatchScorer as follows:
{
"correctAnswerReward": 1.0,
"wrongAnswerReward": -1.0,
"expression":
"{{references.concise_answer}}"
}
When evaluating the reward for each parsed autorater response, if the prompt references in the training/validation dataset has the following fields:
{
"example": ...,
"references": {
"concise_ansser": "Yes",
"verbose_answer": "The answer is <ans>Yes</ans>"
}
}
The above ExactMatchScorer will be replaced as follows for scoring:
{
"correctAnswerReward": 1.0,
"wrongAnswerReward": -1.0,
"expression": "Yes"
}
If the parsed autorater response is equal to the string "Yes", then the reward is 1.0, otherwise the reward is -1.0.
| JSON representation |
|---|
{ "correctAnswerReward": number, "wrongAnswerReward": number, "expression": string } |
ReinforcementTuningParseResponseConfig
Defines how to parse sample response config for reinforcement tuning. The parsed response (i.e., substring) will be passed to the reward functions.
For example, the input prompt might be:
"Perform step-by-step thoughts first to problem A, finally output answer in the <ans> </ans> block."
The sample response from the model under tuning might look like:
"<ans>Yes</ans>"
Here, users can define the following parse config:
{
"parseType": "REGEX_EXTRACT",
"regexExtractExpression": ".*<ans>(.*?)</ans>"
}
The resulting parsed response would be "Yes" and will be passed to the reward functions for evaluating rewards.
Defines the type for parsing sample response.
regexExtractExpressionstring
Defines the regex for extracting the important part of sample response. This field is only used when parseType is ResponseParseType.REGEX_EXTRACT.
| JSON representation |
|---|
{
"parseType": enum ( |
ResponseParseType
Defines the type for parsing sample response.
| Enums | |
|---|---|
RESPONSE_PARSE_TYPE_UNSPECIFIED |
Default value. Fallback to IDENTITY |
IDENTITY |
Returns the sample response as is. |
REGEX_EXTRACT |
uses regex to extract the important part of sample response. Similar to GoogleSQL REGEX_EXTRACT(response, regexExtractExpression), but different in that if there are multiple matches, the last match will be returned. |
ReinforcementTuningCloudRunRewardScorer
ReinforcementTuningCloudRunRewardScorer allows users to implement a reward function through GCP Cloud Run. Comparing with ReinforcementTuningCodeExecutionRewardScorer that runs in a Sandbox and has no internet access, Cloud Run reward scorer is fully controlled by users.
The Cloud Run service should implement the following HTTP API:
HTTP method: POST
HTTP request body:
{
"example": ReinforcementTuningExample,
"response": Content,
"metadata": {
"step": int
"tuning_job_id": int64
}
}
exampleis aReinforcementTuningExamplein ProtoJSON format, (i.e., the format is the same as as one line in the training/validation dataset except that the keys must be in camel case). System instructions (i.e.,example.get("systemInstruction")) and references (i.e.,example.get("references")) are also included in theexampleprovided that they are set in the training/validation dataset.responseis aContentin ProtoJSON format (i.e., keys must be in camel case), which is the same as the Online Prediction response for Gemini models.
HTTP response body:
{
"reward": float,
"user_requested_aux_info": str // Optional
}
where the field "user_requested_aux_info" is any (optional) string provided by users for assisting debugging. It's in snake case. This field is mostly useful when calling the GenAiTuningService.ValidateReinforcementTuningReward API, where the proto field (not Cloud Run HTTP response body) userRequestedAuxInfo will be populated if the Cloud Run reward function sets this field in the HTTP response.
The following are examples for the HTTP request and response body.
Example HTTP request body:
{
"example": {
"contents": [
{
"role": "user",
"parts": [
{
"text": "What is the capital of France?"
}
]
}
],
"references": {
"answer": "Paris"
}
},
"response": {
"parts": [
{
"text": "London"
}
]
},
"metadata": {
"step": 1,
"tuning_job_id": 123456789
}
}
Example HTTP response body:
{
"reward": -1.0
}
Note: Reward output by Cloud Run reward function is clipped to be within [-1, 1], i.e., reward = max(min(reward, 1.0), -1.0).
cloudRunUristring
URI of the Cloud Run service that will be used to compute the reward. The Agent Platform Secure Fine Tuning service Agent (service-<PROJECT_NUMBER>@gcp-sa-vertex-tune.iam.gserviceaccount.com) must be granted the permission (e.g. by granting roles/run.invoker in IAM) to invoke the Cloud Run service.
| JSON representation |
|---|
{ "cloudRunUri": string } |
CompositeReinforcementTuningRewardConfig
Composite reward function configuration for reinforcement tuning.
List of reward function configurations with weights.
| JSON representation |
|---|
{
"weightedRewardConfigs": [
{
object ( |
WeightedRewardConfig
Reward function configuration with a weight. The weight is used to combine the reward with other rewards.
Single reward configuration.
weightnumber
How much this single reward contributes to the total overall reward.
Total reward is a linear combination of single rewards with their corresponding weights, i.e.,
total_reward = (
weight_a * reward_a + weight_b * reward_b + ...
) / (weight_a + weight_b + ...)
| JSON representation |
|---|
{
"rewardConfig": {
object ( |
ReinforcementTuningHyperParameters
Hyperparameters for Reinforcement Tuning.
Optional. Adapter size for Reinforcement Tuning.
checkpoint_configUnion type
checkpoint_config can be only one of the following:checkpointIntervalinteger
Optional. How often at steps to save checkpoints during training. If not set, one checkpoint per epoch will be set.
total_steps = epochCount *
samplesPerPrompt / total_prompts_in_dataset
Optional. Number of training epoches for the tuning job.
Optional. Number of steps for the tuning job (mutually exclusive with epochCount).
learningRateMultipliernumber
Optional. Learning rate multiplier for Reinforcement Tuning.
samplesPerPromptinteger
Optional. Number of different responses to generate per prompt during tuning.
thinkingBudgetinteger
Optional. The thinking budget for the tuning job to optimize for (Gemini 2.5 only).
- -1 means dynamic thinking
- 0 means no thinking
- > 0 means thinking budget in tokens
If not set, default to -1 (dynamic thinking).
batchSizeinteger
Optional. Batch size for the tuning job. How many prompts to process at a train step. If not set, the batch size will be determined automatically.
evaluateIntervalinteger
Optional. How often at steps to evaluate the tuning job during training. If not set, evel will be run per epoch. total_steps = epochCount * samplesPerPrompt / total_prompts_in_dataset
maxOutputTokensinteger
Optional. The maximum number of tokens to generate per prompt. Default to 32768.
Indicates the maximum thinking depth during tuning. Starting from Gemini 3.5 models, the old thinkingBudget will no longer be supported and will result in a user error if set. Instead, users should use the thinkingLevel parameter to control the maximum thinking depth.
| JSON representation |
|---|
{ "adapterSize": enum ( |
ReinforcementTuningThinkingLevel
Represents how much to think for the tuning job.
| Enums | |
|---|---|
REINFORCEMENT_TUNING_THINKING_LEVEL_UNSPECIFIED |
Unspecified thinking level. |
MINIMAL |
Little to no thinking. |
LOW |
Low thinking level. |
MEDIUM |
Medium thinking level. |
HIGH |
High thinking level. |
VeoTuningSpec
Tuning Spec for Veo Model Tuning.
trainingDatasetUristring
Required. Training dataset used for tuning. The dataset can be specified as either a Cloud Storage path to a JSONL file or as the resource name of a Vertex Multimodal Dataset.
validationDatasetUristring
Optional. Validation dataset used for tuning. The dataset can be specified as either a Cloud Storage path to a JSONL file or as the resource name of a Vertex Multimodal Dataset.
Optional. Hyperparameters for Veo.
| JSON representation |
|---|
{
"trainingDatasetUri": string,
"validationDatasetUri": string,
"hyperParameters": {
object ( |
VeoHyperParameters
Hyperparameters for Veo.
Optional. Number of complete passes the model makes over the entire training dataset during training.
learningRateMultipliernumber
Optional. Multiplier for adjusting the default learning rate.
The tuning task for Veo.
Optional. The adapter size for LoRA tuning.
veoDataMixtureRationumber
Optional. The ratio of Google internal dataset to use in the training mixture, in range of [0, 1). If 0.2, it means 20% of Google internal dataset and 80% of user dataset will be used for training. If not set, the default value is 0.1.
The speed of the tuning job. Only supported for Veo 3.0 models.
| JSON representation |
|---|
{ "epochCount": string, "learningRateMultiplier": number, "tuningTask": enum ( |
TuningTask
An enum defining the tuning task used for Veo.
| Enums | |
|---|---|
TUNING_TASK_UNSPECIFIED |
Default value. This value is unused. |
TUNING_TASK_I2V |
Tuning task for image to video. |
TUNING_TASK_T2V |
Tuning task for text to video. |
TUNING_TASK_R2V |
Tuning task for reference to video. |
TuningSpeed
The speed of the tuning job. Only supported for Veo 3.0 models.
| Enums | |
|---|---|
TUNING_SPEED_UNSPECIFIED |
The default / unset value. For Veo 3.0 models, this defaults to FAST. |
REGULAR |
Regular tuning speed. |
FAST |
Fast tuning speed. |
AdapterSize
Adapter size for LoRA tuning.
| Enums | |
|---|---|
ADAPTER_SIZE_UNSPECIFIED |
Adapter size is unspecified. |
ADAPTER_SIZE_EIGHT |
Adapter size 8. This is the default adapter size for Veo LoRA tuning. |
ADAPTER_SIZE_SIXTEEN |
Adapter size 16. |
ADAPTER_SIZE_THIRTY_TWO |
Adapter size 32. |
VeoLoraTuningSpec
Tuning Spec for Veo LoRA Model Tuning.
trainingDatasetUristring
Required. Training dataset used for tuning. The dataset can be specified as either a Cloud Storage path to a JSONL file or as the resource name of a Vertex Multimodal Dataset.
validationDatasetUristring
Optional. Validation dataset used for tuning. The dataset can be specified as either a Cloud Storage path to a JSONL file or as the resource name of a Vertex Multimodal Dataset.
Optional. Hyperparameters for Veo LoRA.
| JSON representation |
|---|
{
"trainingDatasetUri": string,
"validationDatasetUri": string,
"hyperParameters": {
object ( |
TunedModel
The Model Registry Model and Online Prediction Endpoint associated with this TuningJob.
modelstring
Output only. The resource name of the TunedModel. Format:
projects/{project}/locations/{location}/models/{model}@{versionId}
When tuning from a base model, the version id will be 1.
For continuous tuning, if the provided tunedModelDisplayName is set and different from parent model's display name, the tuned model will have a new parent model with version 1. Otherwise the version id will be incremented by 1 from the last version id in the parent model. E.g.,
projects/{project}/locations/{location}/models/{model}@{last_version_id +
1}
endpointstring
Output only. A resource name of an Endpoint. Format: projects/{project}/locations/{location}/endpoints/{endpoint}.
Output only. The checkpoints associated with this TunedModel. This field is only populated for tuning jobs that enable intermediate checkpoints.
| JSON representation |
|---|
{
"model": string,
"endpoint": string,
"checkpoints": [
{
object ( |
TunedModelCheckpoint
TunedModelCheckpoint for the Tuned Model of a Tuning Job.
checkpointIdstring
The id of the checkpoint.
The epoch of the checkpoint.
The step of the checkpoint.
endpointstring
The Endpoint resource name that the checkpoint is deployed to. Format: projects/{project}/locations/{location}/endpoints/{endpoint}.
| JSON representation |
|---|
{ "checkpointId": string, "epoch": string, "step": string, "endpoint": string } |
TuningDataStats
The tuning data statistic values for TuningJob.
tuning_data_statsUnion type
tuning_data_stats can be only one of the following:The SFT Tuning data stats.
Output only. Statistics for distillation prompt dataset. These statistics do not include the responses sampled from the teacher model.
| JSON representation |
|---|
{ // tuning_data_stats "supervisedTuningDataStats": { object ( |
SupervisedTuningDataStats
Tuning data statistics for Supervised Tuning.
Output only. Number of examples in the tuning dataset.
Output only. Number of tuning characters in the tuning dataset.
Output only. Number of billable characters in the tuning dataset.
Output only. Number of billable tokens in the tuning dataset.
Output only. Number of tuning steps for this Tuning Job.
Output only. Dataset distributions for the user input tokens.
Output only. Dataset distributions for the user output tokens.
Output only. Dataset distributions for the messages per example.
Output only. Sample user messages in the training dataset uri.
Output only. The number of examples in the dataset that have been dropped. An example can be dropped for reasons including: too many tokens, contains an invalid image, contains too many images, etc.
Output only. A partial sample of the indices (starting from 1) of the dropped examples.
droppedExampleReasons[]string
Output only. For each index in truncatedExampleIndices, the user-facing reason why the example was dropped.
| JSON representation |
|---|
{ "tuningDatasetExampleCount": string, "totalTuningCharacterCount": string, "totalBillableCharacterCount": string, "totalBillableTokenCount": string, "tuningStepCount": string, "userInputTokenDistribution": { object ( |
SupervisedTuningDatasetDistribution
Dataset distribution for Supervised Tuning.
Output only. Sum of a given population of values.
Output only. Sum of a given population of values that are billable.
minnumber
Output only. The minimum of the population values.
maxnumber
Output only. The maximum of the population values.
meannumber
Output only. The arithmetic mean of the values in the population.
mediannumber
Output only. The median of the values in the population.
p5number
Output only. The 5th percentile of the values in the population.
p95number
Output only. The 95th percentile of the values in the population.
Output only. Defines the histogram bucket.
| JSON representation |
|---|
{
"sum": string,
"billableSum": string,
"min": number,
"max": number,
"mean": number,
"median": number,
"p5": number,
"p95": number,
"buckets": [
{
object ( |
DatasetBucket
Dataset bucket used to create a histogram for the distribution given a population of values.
countnumber
Output only. Number of values in the bucket.
leftnumber
Output only. left bound of the bucket.
rightnumber
Output only. Right bound of the bucket.
| JSON representation |
|---|
{ "count": number, "left": number, "right": number } |
DistillationDataStats
Statistics for distillation prompt dataset. These statistics do not include the responses sampled from the teacher model.
Output only. Statistics computed for the training dataset.
| JSON representation |
|---|
{
"trainingDatasetStats": {
object ( |
DatasetStats
Statistics computed over a tuning dataset.
Output only. Number of examples in the tuning dataset.
Output only. Number of billable tokens in the tuning dataset.
Output only. Number of tuning characters in the tuning dataset.
Output only. Number of billable characters in the tuning dataset.
Output only. Number of tuning steps for this Tuning Job.
Output only. Dataset distributions for the user input tokens.
Output only. Dataset distributions for the messages per example.
Output only. Sample user messages in the training dataset uri.
Output only. A partial sample of the indices (starting from 1) of the dropped examples.
droppedExampleReasons[]string
Output only. For each index in droppedExampleIndices, the user-facing reason why the example was dropped.
dataset_examplesUnion type
user_dataset_examples field. dataset_examples can be only one of the following:Output only. Sample user dataset examples in the training dataset uri for Reinforcement Tuning.
Output only. Dataset distributions for the user output tokens.
| JSON representation |
|---|
{ "tuningDatasetExampleCount": string, "totalBillableTokenCount": string, "totalTuningCharacterCount": string, "totalBillableCharacterCount": string, "tuningStepCount": string, "userInputTokenDistribution": { object ( |
ReinforcementTuningUserDatasetExamples
Sample reinforcement tuning user data in the training dataset. The contents are truncated for better UI showing.
List of user datasset examples showing to user.
| JSON representation |
|---|
{
"userDatasetExamples": [
{
object ( |
ReinforcementTuningExample
user-facing format for Gemini Reinforcement Tuning examples on Vertex.
Multi-turn contents that represents the Prompt.
referencesmap (key: string, value: string)
References for the given prompt. The key is the name of the reference, and the value is the reference itself. Users can use this field together with the reward configurations to calculate rewards for reinforcement tuning. For example, users can set the following references:
{
"concise_answer": "Yes",
"verbose_answer": "The answer is <ans>Yes</ans>"
}
Then in a ReinforcementTuningCodeExecutionRewardScorer reward function config, for example, they can define a python code snippet as follows:
def evaluate(example, response) -> float:
response_str = response.get("parts", [])[0]["text"]
references = example.get("references", {})
if response_str == references.get("concise_answer"):
return 1.0
return -1.0
In this case, references can serve the purpose of holding the ground truth of this example in the training/validation dataset.
Corresponds to systemInstruction in user-facing GenerateContentRequest.
DatasetDistribution
Distribution computed over a tuning dataset.
sumnumber
Output only. Sum of a given population of values.
minnumber
Output only. The minimum of the population values.
maxnumber
Output only. The maximum of the population values.
meannumber
Output only. The arithmetic mean of the values in the population.
mediannumber
Output only. The median of the values in the population.
p5number
Output only. The 5th percentile of the values in the population.
p95number
Output only. The 95th percentile of the values in the population.
Output only. Defines the histogram bucket.
| JSON representation |
|---|
{
"sum": number,
"min": number,
"max": number,
"mean": number,
"median": number,
"p5": number,
"p95": number,
"buckets": [
{
object ( |
DistributionBucket
Dataset bucket used to create a histogram for the distribution given a population of values.
Output only. Number of values in the bucket.
leftnumber
Output only. left bound of the bucket.
rightnumber
Output only. Right bound of the bucket.
| JSON representation |
|---|
{ "count": string, "left": number, "right": number } |
EvaluateDatasetRun
Evaluate Dataset Run result for Tuning Job.
operationName
(deprecated)string
Output only. Deprecated: The updated architecture uses evaluationRun instead.
evaluationRunstring
Output only. The resource name of the evaluation run. Format: projects/{project}/locations/{location}/evaluationRuns/{evaluation_run_id}.
checkpointIdstring
Output only. The checkpoint id used in the evaluation run. Only populated when evaluating checkpoints.
Output only. Results for EvaluationService.
Output only. The error of the evaluation run if any.
| JSON representation |
|---|
{ "operationName": string, "evaluationRun": string, "checkpointId": string, "evaluateDatasetResponse": { object ( |
EvaluateDatasetResponse
The results from an evaluation run performed by the EvaluationService.
Output only. Aggregation statistics derived from results of EvaluationService.
Output only. Output info for EvaluationService.
| JSON representation |
|---|
{ "aggregationOutput": { object ( |
AggregationOutput
The aggregation result for the entire dataset and all metrics.
The dataset used for evaluation & aggregation.
One AggregationResult per metric.
| JSON representation |
|---|
{ "dataset": { object ( |
EvaluationDataset
The dataset used for evaluation.
sourceUnion type
source can be only one of the following:Cloud storage source holds the dataset. Currently only one Cloud Storage file path is supported.
BigQuery source holds the dataset.
| JSON representation |
|---|
{ // source "gcsSource": { object ( |
AggregationResult
The aggregation result for a single metric.
Aggregation metric.
aggregation_resultUnion type
aggregation_result can be only one of the following:result for pointwise metric.
result for pairwise metric.
Results for exact match metric.
Results for bleu metric.
Results for rouge metric.
result for code execution metric.
| JSON representation |
|---|
{ "aggregationMetric": enum ( |
PointwiseMetricResult
Spec for pointwise metric result.
explanationstring
Output only. Explanation for pointwise metric score.
Output only. Spec for custom output.
scorenumber
Output only. Pointwise metric score.
| JSON representation |
|---|
{
"explanation": string,
"customOutput": {
object ( |
CustomOutput
RawOutput
Raw output.
rawOutput[]string
Output only. Raw output string.
| JSON representation |
|---|
{ "rawOutput": [ string ] } |
PairwiseMetricResult
Spec for pairwise metric result.
Output only. Pairwise metric choice.
explanationstring
Output only. Explanation for pairwise metric score.
Output only. Spec for custom output.
| JSON representation |
|---|
{ "pairwiseChoice": enum ( |
PairwiseChoice
Pairwise prediction autorater preference.
| Enums | |
|---|---|
PAIRWISE_CHOICE_UNSPECIFIED |
Unspecified prediction choice. |
BASELINE |
baseline prediction wins |
CANDIDATE |
Candidate prediction wins |
TIE |
Winner cannot be determined |
ExactMatchMetricValue
Exact match metric value for an instance.
scorenumber
Output only. Exact match score.
| JSON representation |
|---|
{ "score": number } |
BleuMetricValue
Bleu metric value for an instance.
scorenumber
Output only. Bleu score.
| JSON representation |
|---|
{ "score": number } |
RougeMetricValue
Rouge metric value for an instance.
scorenumber
Output only. Rouge score.
| JSON representation |
|---|
{ "score": number } |
CustomCodeExecutionResult
result for custom code execution metric.
scorenumber
Output only. Custom code execution score.
| JSON representation |
|---|
{ "score": number } |
OutputInfo
Describes the info for output of EvaluationService.
output_locationUnion type
output_location can be only one of the following:gcsOutputDirectorystring
Output only. The full path of the Cloud Storage directory created, into which the evaluation results and aggregation results are written.
| JSON representation |
|---|
{ // output_location "gcsOutputDirectory": string // Union type } |
Methods |
|
|---|---|
|
Cancels a tuning job. |
|
Creates a tuning job. |
|
Gets a tuning job. |
|
Lists tuning jobs in a location. |
|
Rebase a tuned model. |
|
Validates a reward on a given example. |