AIMModel (v1alpha1)#
Deprecated
The v1alpha1 AIMModel shape (spec.custom, spec.modelSources, spec.customTemplates, spec.profileCopy, …) is deprecated. New deployments should use v1alpha2 AIMModel, which supports official, generated, fine-tuned, and custom flows. See Migrating to v1alpha2 for conversion recipes.
This page documents the legacy AIMModel spec fields and their replacements.
Overview#
v1alpha1 AIMModel had a wide spec that supported several overlapping flows:
Image-based —
spec.imagefor AMD-published AIM images.Custom-templates —
spec.custom+spec.customTemplatesfor bringing your own model architecture.Profile-copy —
spec.profileCopyfor replicating a published profile onto custom weights.Defaults —
spec.defaultServiceTemplate,spec.runtimeConfigName,spec.envto influence downstream resources.
v1alpha2 supports image discovery through spec.image, external derivation through spec.profiles.derivedFrom, and generated onboarding through spec.modelId. These flows are mutually exclusive.
v1alpha1 spec fields#
Field |
Purpose |
v1alpha2 equivalent |
|---|---|---|
|
AIM container image to discover |
|
|
Model architecture identifier |
Resolved from image discovery, supplied by |
|
Static model artifact sources |
Lives on |
|
Base image for a custom model |
|
|
Engine arguments for the custom model |
|
|
Inline runtime profiles for a custom model |
|
|
Select source profiles to copy |
|
|
Overrides applied to copies |
|
|
Version pin |
|
|
Disable image discovery |
Replaced by setting |
|
Default template name |
Profile |
|
Default runtime config |
|
|
Default env vars |
Profile |
|
Internal hints |
Removed — internal |
Custom-templates pattern (v1alpha1)#
The v1alpha1 way to deploy your own model:
apiVersion: aim.eai.amd.com/v1alpha1
kind: AIMModel
metadata:
name: acme-transformer
spec:
aimId: acme/custom-transformer
custom:
image: amdenterpriseai/aim-base:0.8.5
modelSources:
- modelId: acme/custom-transformer
sourceUri: s3://acme-models/custom-transformer
customTemplates:
- name: acme-transformer-mi300x-fp16
acceleratorModel: MI300X
acceleratorType: gpu
acceleratorCount: 1
precision: fp16
metric: throughput
engine: vllm
- name: acme-transformer-mi300x-fp8
acceleratorModel: MI300X
acceleratorType: gpu
acceleratorCount: 1
precision: fp8
metric: latency
engine: vllm
The v1alpha2 replacement uses a base-image AIMModel + custom-model derivation:
apiVersion: aim.eai.amd.com/v1alpha2
kind: AIMModel
metadata:
name: aim-base-vllm
spec:
image: amdenterpriseai/aim-base:0.11
---
apiVersion: aim.eai.amd.com/v1alpha2
kind: AIMModel
metadata:
name: acme-transformer
spec:
profiles:
derivedFrom:
selector:
role: base
modelRef:
name: aim-base-vllm
versionPolicy: all
overrides:
aimId: acme/custom-transformer
modelId: acme/custom-transformer
modelSources:
- modelId: acme/custom-transformer
sourceUri: s3://acme-models/custom-transformer
The base image’s profile YAMLs replace the hand-authored customTemplates entries. See Custom Models for the full walkthrough.
Profile-copy pattern (v1alpha1)#
The v1alpha1 way to fine-tune a published model:
apiVersion: aim.eai.amd.com/v1alpha1
kind: AIMModel
metadata:
name: qwen-finetune
spec:
profileCopy:
selector:
aimId: qwen/qwen3-32b
version: "0.8.5"
overrides:
modelSources:
- modelId: acme/qwen3-32b-finetune
sourceUri: hf://acme/qwen3-32b-finetune
The v1alpha2 replacement uses spec.profiles:
apiVersion: aim.eai.amd.com/v1alpha2
kind: AIMModel
metadata:
name: qwen-finetune
spec:
profiles:
derivedFrom:
selector:
aimId: qwen/qwen3-32b
versionPolicy: pinned
version: "0.8.5"
overrides:
modelSources:
- modelId: acme/qwen3-32b-finetune
sourceUri: hf://acme/qwen3-32b-finetune
The selector and overrides shape is unchanged — only the wrapping field name. See Fine-Tuned Models for the full walkthrough.
v1alpha2 admission rules#
v1alpha2 explicitly forbids the legacy fields. Admission rejects:
spec.aimIdwithspec.profiles(useprofiles.overrides.aimId; top-levelaimIdis valid with generatedspec.modelIdonboarding).spec.modelSources(now onAIMProfile.spec.modelSources).spec.customandspec.customTemplates(replaced by base-image + derivation).spec.profileCopy(replaced byderivedFrom).spec.discovery,spec.defaultServiceTemplate,spec.runtimeConfigName,spec.env,spec.imageMetadata.
Each rejection produces a targeted error message naming the v1alpha2 equivalent.
Coexistence#
Both API versions share one v1alpha2-rooted controller and may be applied to the same cluster simultaneously. Output follows the retained spec shape, not the endpoint used to read or write the object: legacy inputs continue to produce AIMServiceTemplate resources, native inputs produce AIMProfile resources, and a grandfathered image-backed object may retain both outputs when both paths apply. See Admin → Upgrading → Migration window for readiness and ownership behavior. The bridge does not authorize automatic template cleanup.