The AI Foundry Sweep Job job type submits an Azure Machine Learning Sweep job (hyperparameter sweep over a trial command) in an Azure AI Foundry workspace. The template Sweep Job is identified by its job name — Polysync stores that in the External Id.
This job type is supported on the Azure AI Foundry platform.
name.AI Foundry Sweep Job (set automatically on import).Required / optional job attributes:
AI Foundry Compute Name — overrides properties.computeId.AI Foundry Environment Name — overrides
properties.trial.environmentId.AI Foundry Command — overrides properties.trial.command.AI Foundry Objective Metric — properties.objective.primaryMetric
(e.g., accuracy).AI Foundry Objective Goal — properties.objective.goal
(maximize / minimize).GET /jobs?api-version=2024-10-01&$filter=jobType eq 'Sweep'&$top=100
Input parameters are mapped into the sweep's search space — each
becomes a choice over [value]:
{
"properties": {
"jobType": "Sweep",
"displayName": "<polysync-name>",
"computeId": "<from-attr-or-template>",
"trial": {
"command": "<from-attr-or-template>",
"environmentId": "<from-attr-or-template>"
},
"objective": {
"primaryMetric": "<AI Foundry Objective Metric>",
"goal": "<AI Foundry Objective Goal>"
},
"samplingAlgorithm": { "samplingAlgorithmType": "Random" },
"limits": { "maxTotalTrials": 10, "maxConcurrentTrials": 2 },
"searchSpace": {
"<name>": { "type": "choice", "values": [<typed-value>] }
}
}
}
| Direction | Sent in searchSpace |
Updated from properties.outputs |
|---|---|---|
Input |
✅ | ❌ |
Output |
❌ | ✅ |
Input&Output |
✅ | ✅ |
Polysync currently submits only
Randomsampling withmaxTotalTrials = 10/maxConcurrentTrials = 2and wraps each input as a one-elementchoice— to use richer distributions (uniform,loguniform, multi-value choices), edit the template Sweep Job in AI Foundry and use its definition unchanged.
Identical to AI Foundry Pipeline Job:
PUT /jobs/{newJobName} with the Sweep body.GET /jobs/{runId} — same Azure ML mapping
table.POST /jobs/{runId}/cancel.Same as AI Foundry Pipeline Job
— https://ml.azure.com/runs/{runId}?wsid=…. The sweep landing page
shows trial-by-trial metrics.
mlflow.log_metric("accuracy", …) → use accuracy).maxTotalTrials budget and grow once the
Pipeline / Command form of the job is proven.No trials completed — every trial failed; open the Monitor URL
to inspect a single trial's logs.PrimaryMetricNotFound — the metric name does not match what
the trial logs; align the AI Foundry Objective Metric job
attribute with the actual MLflow / AzureML metric key.