본문으로 건너뛰기
버전: 1.0.0

Compile Option Optimizer

Compile Option Optimizer는 하나의 모델 Artifact에 대해 여러 compile option 후보를 만들고, 각 trial을 compile과 evaluation으로 검증해 주어진 데이터셋/환경에 가장 적합한 NPU artifact를 고르는 기능입니다.


사전 조건

  • 최적화할 Model Version과 원본 Artifact가 있어야 합니다.
  • Ready 상태의 DatasetVersion과 Evaluation Criteria가 있어야 합니다.
  • 지원 디바이스 : RNGD

Optimizer Run 생성

Model Version 상세 화면의 Optimizer 탭에서 Optimizer Run 생성을 클릭합니다.

Optimizer Run 생성

생성 마법사는 3단계로 구성됩니다.

1. Optimization Goal

대상

항목설명
Model / Version / Artifact현재 Model Version과 최적화할 원본 Artifact를 확인합니다.

Evaluation Criteria

입력설명
Dataset 선택evaluation에 사용할 Dataset을 선택합니다.
Dataset Version 선택Ready 상태이고 Evaluation Criteria를 가진 Dataset Version을 선택합니다.
Evaluation Criteria 선택trial 평가에 사용할 Evaluation Criteria를 선택합니다.
Criteria details선택한 Criteria의 result metrics, Field mapping, prompt template 정보를 확인합니다.

Metric Priority

입력설명
Primarybest trial을 고를 첫 번째 metric입니다.
정렬 방향metric 값을 오름차순 또는 내림차순으로 비교할지 선택합니다.
Tie-breakers접힌 섹션에서 동점일 때 순서대로 적용할 보조 metric을 확인하거나 조정합니다.

Evaluation Runtime

영역설명
Default Docker image선택한 Evaluation Criteria가 제공하는 기본 runner image입니다.
Target resourcesServing CPU, Serving memory, Serving accelerator 수, 병렬 evaluation 수를 설정합니다.
Runner overrides접힌 섹션에서 Container image, Limit, Batch size, 동시 요청 수, Few-shot 수 값을 필요할 때 덮어씁니다.

2. Search Space

Search Space는 compile 후보 범위를 지정합니다.

워크로드 프리셋

입력설명
Prompt 길이짧음 ~512 tokens, 보통 ~2K tokens, 긴 입력 ~8K tokens 중 하나를 선택합니다.
동시 요청 수1, 4, 8, 16 중 하나를 선택합니다.

프리셋은 초기 후보값을 채우는 용도입니다. 실제 trial은 아래 Compile candidatesBucket candidate sets 값으로 생성됩니다.

파생 워크로드 값

입력설명
Prompt P50 / Prompt P95최적화 대상 prompt 길이 기준값
Concurrency최적화 대상 동시 요청 수
Max Context최적화 대상 최대 context 길이

파생 워크로드 값은 참고용 workload profile입니다. 이 값을 직접 수정해도 compile 후보 목록은 다시 계산되지 않습니다. 후보 범위를 바꾸려면 아래 Compile candidates 또는 Bucket candidate sets 값을 수정합니다.

Compile candidates

입력설명
Tensor Parallel쉼표로 구분한 TP 후보. 예: 4,8
Pipeline Parallel쉼표로 구분한 PP 후보. 예: 1
Max Seq Len쉼표로 구분한 max sequence length 후보. RNGD는 현재 8192 이하만 입력할 수 있습니다.
병렬 compile 수컴파일 단계 동시 실행 trial 수
Total Trials현재 후보 조합으로 생성될 trial 수

Bucket candidate sets

입력설명
Prefill Bucketsprefill 단계 bucket 후보 set. batchxseq 형식으로 입력합니다.
Decode Bucketsdecode 단계 bucket 후보 set. batchxseq 형식으로 입력합니다.

한 set 안의 bucket은 쉼표로 구분하고, 여러 set은 세미콜론 또는 줄바꿈으로 구분합니다. 각 Max Seq Len 후보를 커버하지 못하는 prefill/decode bucket set 조합은 trial 후보에서 제외됩니다.

Optimizer는 TP x PP x MaxSeqLen x PrefillSet x DecodeSet 조합으로 trial 수를 계산합니다.

실행 예시

항목시작값 예시이유
Tensor Parallel4 또는 현재 artifact와 같은 TPcompile 실패 가능성을 줄입니다.
Pipeline Parallel1대부분의 첫 실행에서는 PP 후보를 늘릴 필요가 없습니다.
Max Seq Len기존 artifact의 max seq len 1개trial 수 폭증을 막습니다.
Prefill/Decode Bucket candidate setsUI 프리셋으로 채운 1-2개 set성능 차이를 보면서 점진적으로 넓힙니다.
병렬 compile/evaluation 수1cluster resource와 accelerator 부족 실패를 피합니다.

예: TP 2개, PP 1개, Max Seq Len 2개, Prefill/Decode set 각 3개면 최대 36개 trial이 생성됩니다. 실제 trial 수는 Max Seq Len을 커버하지 못하는 bucket set 조합을 제외한 값입니다.

Optimizer는 최적화하려는 대상 데이터셋이 존재하고 여러 아티팩트의 메트릭을 비교하면서 사용 목적에 맞는 최적의 아티팩트를 선택하고자 할 때 사용하세요. 단일 후보를 한 번 컴파일해 볼 목적이라면 Compile을 사용하세요.

RNGD Max Seq Len 제한

현재 RNGD 컴파일에서 Max Context Length는 최대 8192입니다. Max Seq Len 후보도 이 한도 안에서 설정하세요.

3. Review

Review 단계에서 상단 요약과 세부 설정을 마지막으로 확인한 뒤 실행합니다.

상단 요약

영역설명
실행 대상Model Version, Artifact, Dataset을 요약합니다.
Best trial 선정 기준Primary metric과 tie-breaker 기준을 요약합니다.
실행 규모trial 수와 accelerator, CPU, memory 값을 요약합니다.

세부 설정 확인

영역설명
대상 및 EvaluationModel Version, Artifact, Dataset, Dataset Version, Evaluation Criteria, Metric Priority를 확인합니다.
Runtime resourcesServing CPU, Serving memory, Serving accelerator 수, Image, Limit, Batch size, Num concurrent, Num fewshot, 병렬 evaluation 수를 확인합니다.
Search spaceTensor Parallel, Pipeline Parallel, Max Seq Len, Prefill Buckets, Decode Buckets, 병렬 compile 수, Total Trials를 확인합니다.
Workload profilePrompt P50, Prompt P95, Concurrency, Max Context를 확인합니다.

실행 방식

Run을 생성하면 Optimizer는 search space 조합마다 trial을 만듭니다. 각 trial은 NPU compile을 실행하고, 생성된 artifact로 evaluation을 실행합니다.

성공한 trial의 quality/runtime metric이 모이면 Metric Priority 기준으로 ranking과 best trial이 계산됩니다. Compile과 evaluation은 별도 queue로 관리되며, 생성 시 입력한 병렬 compile 수와 병렬 evaluation 수로 동시 실행량을 제한합니다.


Run 목록

Optimizer 목록에서는 run 상태와 best trial을 확인합니다.

Optimizer Run 목록

컬럼설명
RUNOptimizer Run ID
POLICYmetric ranking policy
PHASEPending, Running, Succeeded, Failed, Cancelled
BEST TRIAL현재 best trial
CREATED생성 시간
중단/삭제삭제 아이콘이 표시됩니다. Pending 또는 Running run에는 정지(원 안의 네모) 아이콘도 함께 표시됩니다.

Pending 또는 Running 상태의 run은 정지(원 안의 네모) 아이콘으로 중단할 수 있습니다. 중단은 대기 중이거나 실행 중인 trial을 중단하고 관련 compile/evaluation 취소를 요청합니다.

Run 행을 클릭하면 Optimizer Run 상세 화면으로 이동합니다.


Run 상세와 Trial Ranking

Run 상세 화면에서는 Run Summary, Best Trial, Result Readiness, Trials 목록을 확인합니다.

Optimizer Run 상세

영역설명
Run SummaryModel, Version, Artifact, Policy, Created, Completed 정보를 표시합니다.
Best Trial선택된 best trial의 Trial 번호, Ranking, Primary metric, Config hash를 표시합니다.
Result Readiness전체 trial 수, 성공 trial 수, compare 가능 여부를 표시합니다.
Trialstrial별 Ranking, Compile Config, Phase, Artifact, Evaluation, metric 값을 표시합니다.

Run이 Pending 또는 Running 상태이면 상세 화면 상단의 Cancel run 버튼으로 run 중단을 요청할 수 있습니다.

Trial table의 Compile Config 컬럼에서 보기 링크가 표시되면 해당 compile pipeline 상세로 이동합니다. Evaluation 컬럼의 링크는 trial에서 생성된 EvaluationRun 상세로 이동합니다.


Artifact 확인과 Promote

성공한 trial에 artifact가 있으면 Artifact 컬럼에 화살표 아이콘이 표시됩니다. 아이콘을 클릭하면 Trial Artifact Drawer가 열립니다.

Drawer에서는 Platform, TP × PP, MaxSeqLen, From 등 artifact metadata를 확인합니다.

Trial artifact가 Model Registry artifact로 연결되어 있어도 Optimizer의 promote 상태는 별도로 표시됩니다. Promote to Artifact 버튼이 보이면 해당 trial을 promoted artifact로 표시할 수 있고, 이미 승격된 trial은 **Promoted ✓**로 표시됩니다.


실패 대응

  • trial 수가 너무 많음: Review 단계의 trial count를 확인하고 TP/MaxSeqLen/Bucket 후보를 줄입니다.
  • compile 실패: compile pipeline 상세에서 compiler 로그와 artifact platform을 확인합니다.
  • evaluation 실패: EvaluationRun 상세의 Job logs와 Target logs를 먼저 확인합니다.
  • resource 부족: 병렬 compile/evaluation 수를 1로 낮추고 Target resources의 accelerator count와 memory를 줄이거나 cluster 여유를 확인합니다.
  • metric이 비어 있음: Evaluation Criteria가 DatasetVersion의 올바른 input/target field를 참조하는지 확인합니다.