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 생성을 클릭합니다.

생성 마법사는 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
| 입력 | 설명 |
|---|---|
| Primary | best trial을 고를 첫 번째 metric입니다. |
| 정렬 방향 | metric 값을 오름차순 또는 내림차순으로 비교할지 선택합니다. |
| Tie-breakers | 접힌 섹션에서 동점일 때 순서대로 적용할 보조 metric을 확인하거나 조정합니다. |
Evaluation Runtime
| 영역 | 설명 |
|---|---|
| Default Docker image | 선택한 Evaluation Criteria가 제공하는 기본 runner image입니다. |
| Target resources | Serving 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 candidates와 Bucket 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 Buckets | prefill 단계 bucket 후보 set. batchxseq 형식으로 입력합니다. |
| Decode Buckets | decode 단계 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 Parallel | 4 또는 현재 artifact와 같은 TP | compile 실패 가능성을 줄입니다. |
| Pipeline Parallel | 1 | 대부분의 첫 실행에서는 PP 후보를 늘릴 필요가 없습니다. |
| Max Seq Len | 기존 artifact의 max seq len 1개 | trial 수 폭증을 막습니다. |
| Prefill/Decode Bucket candidate sets | UI 프리셋으로 채운 1-2개 set | 성능 차이를 보면서 점진적으로 넓힙니다. |
| 병렬 compile/evaluation 수 | 1 | cluster 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 Context Length는 최대 8192입니다. Max Seq Len 후보도 이 한도 안에서 설정하세요.
3. Review
Review 단계에서 상단 요약과 세부 설정을 마지막으로 확인한 뒤 실행합니다.
상단 요약
| 영역 | 설명 |
|---|---|
| 실행 대상 | Model Version, Artifact, Dataset을 요약합니다. |
| Best trial 선정 기준 | Primary metric과 tie-breaker 기준을 요약합니다. |
| 실행 규모 | trial 수와 accelerator, CPU, memory 값을 요약합니다. |
세부 설정 확인
| 영역 | 설명 |
|---|---|
| 대상 및 Evaluation | Model Version, Artifact, Dataset, Dataset Version, Evaluation Criteria, Metric Priority를 확인합니다. |
| Runtime resources | Serving CPU, Serving memory, Serving accelerator 수, Image, Limit, Batch size, Num concurrent, Num fewshot, 병렬 evaluation 수를 확인합니다. |
| Search space | Tensor Parallel, Pipeline Parallel, Max Seq Len, Prefill Buckets, Decode Buckets, 병렬 compile 수, Total Trials를 확인합니다. |
| Workload profile | Prompt 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을 확인합니다.

| 컬럼 | 설명 |
|---|---|
| RUN | Optimizer Run ID |
| POLICY | metric ranking policy |
| PHASE | Pending, 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 목록을 확인합니다.

| 영역 | 설명 |
|---|---|
| Run Summary | Model, Version, Artifact, Policy, Created, Completed 정보를 표시합니다. |
| Best Trial | 선택된 best trial의 Trial 번호, Ranking, Primary metric, Config hash를 표시합니다. |
| Result Readiness | 전체 trial 수, 성공 trial 수, compare 가능 여부를 표시합니다. |
| Trials | trial별 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를 참조하는지 확인합니다.