> For the complete documentation index, see [llms.txt](https://docs.roboflow.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.roboflow.com/roboflow/roboflow-ko/train/neural-architecture-search.md).

# Neural Architecture Search

<figure><img src="/files/20c79eed4a4dfc30b91f0d77f06009a8926d8646" alt="NAS results page showing a Pareto frontier of trained models plotted across latency and accuracy."><figcaption><p>NAS 결과 페이지에는 속도-정확도 Pareto frontier를 따라 학습된 모든 모델이 표시됩니다.</p></figcaption></figure>

Roboflow의 Neural Architecture Search(NAS)는 데이터셋에서 수십 개의 모델 아키텍처를 자동으로 학습하고, 속도-정확도 트레이드오프 곡선을 따라 최적의 옵션을 보여주는 강력한 새 기능으로, 기존 모델 학습 전략보다 모델당 비용이 더 낮으면서도 선택할 수 있는 다양한 모델 옵션을 생성합니다.

설명된 바와 같이 [RF-DETR 논문에서](https://arxiv.org/html/2511.09554v2)이 Neural Architecture Search 전략이 RF-DETR의 SOTA 모델 아키텍처를 만들어냈습니다. Roboflow는 이 전략을 모든 Roboflow 고객에게 제공하여, 누구나 자신의 사용 사례에 맞는 SOTA 모델을 만들 수 있도록 합니다.

Neural Architecture Search:

* 데이터 특성을 기반으로 사용 사례에 가장 적합한 모델 아키텍처를 식별합니다
* 그 아키텍처를 데이터에 맞게 미세 조정합니다
* 5,000개가 넘는 구성을 테스트하여, 각 지연 시간 지점마다 정확도가 최적화된 10\~100개의 학습된 모델을 생성합니다.

{% embed url="<https://youtu.be/ZtGXkuo1qiE>" %}

## Neural Architecture Search를 사용할 때

NAS는 프로덕션에 투입할 모델을 선택할 때 거의 항상 실행할 가치가 있습니다. Pareto frontier의 각 채굴된 모델은 모두 데이터로 완전히 학습되므로 단순히 크기만 고르는 것이 아니라, 특정 배포 대상에 가장 적합한 속도/정확도 트레이드오프를 선택하게 됩니다. 실제 고객 실행에서는 NAS가 동일한 지연 시간에서 단일 RF-DETR Medium fine-tune보다 꾸준히 더 좋은 성능을 보이며, 종종 큰 차이로 앞섭니다.

다음과 같은 경우 NAS를 사용하세요:

* 주어진 지연 시간 예산에서 더 높은 정확도, 또는 주어진 정확도 목표에서 더 낮은 지연 시간이 필요할 때.
* 프로덕션용 모델을 준비 중이며 속도/정확도 곡선에 따라 옵션을 비교하고 싶을 때.
* 그렇지 않으면 하이퍼파라미터 스윕을 실행하거나 여러 모델 크기를 연달아 학습하게 될 때.
* 최첨단 성능이 필요할 때.

다음과 같은 경우 NAS는 과할 수 있습니다:

* 사용 사례가 단순하고 "충분히 좋은" 모델이면 충분할 때(예: 밝은 환경에서 사람 감지). 탐색 단계이거나 초기 단계 프로젝트에서는 일반적으로 단일 fine-tune이 적절한 선택입니다.
* CPU 전용으로 배포할 계획일 때.
* 가장 큰 RF-DETR 체크포인트(예: RF-DETR XXL)만 원하고 더 작은 트레이드오프 지점은 중요하지 않을 때.

## 비용, 크레딧, 플랜 이용 가능 여부

NAS는 사용량 기반 과금이 포함된 모든 유료 Roboflow 플랜에서 사용할 수 있습니다. Trial, Free, Public 플랜 사용자는 NAS에 접근할 수 없습니다. 사용량 기반 과금이 없는 레거시 플랜 사용자는 NAS 실행을 시작하기 전에 이를 활성화하라는 안내를 받게 됩니다.

NAS 실행은 표준 Roboflow 학습 요율로 청구됩니다 — **학습 시간 30분당 1크레딧** — 다른 어떤 학습 작업과도 동일한 시간당 요율입니다. 한 번의 실행으로 수십 개의 학습된 모델이 생성되므로 비용은 *모델당* 개별적으로 각각 학습하는 것보다 낮지만, 단일 NAS 작업의 총 크레딧 사용량은 단일 fine-tune보다 높습니다.

예상 계획 범위의 일반적인 예:

* 약 2,500장 이미지의 객체 감지 데이터셋은 보통 약 18시간(약 36크레딧)이 걸립니다.
* **Instance Segmentation NAS** 는 객체 감지 NAS보다 GPU 집약적입니다 — 대략 1.5\~2배 더 긴 실행 시간을 예상하세요.

Train UI는 시작하기 전에 예상 소요 시간과 크레딧 비용을 보여줍니다. 예상 시간이 하루 분량의 학습을 초과하면, 작업을 시작하기 전에 확인하라는 메시지가 표시됩니다.

{% hint style="warning" %}
워크스페이스에서 flex billing이 비활성화되어 있고 포함된 크레딧이 실행 중에 소진되면 NAS는 자동으로 중지됩니다. 포함된 크레딧 잔액과 상관없이 실행을 완료하려면 시작하기 전에 flex billing을 활성화하세요.
{% endhint %}

## NAS vs. YOLO-NAS

{% hint style="info" %}
여기서 설명하는 "Neural Architecture Search" 엔진은 다음과 동일하지 않습니다 **YOLO-NAS**는 Roboflow 모델 목록에도 표시되는 단일 YOLO 기반 아키텍처입니다. NAS를 사용하려고 특별히 업그레이드했다면, Train 페이지에서 **Neural Architecture Search** 엔진을 선택하고 있는지 확인하세요 — YOLO-NAS 모델 아키텍처가 아니라.
{% endhint %}

Roboflow NAS는 백본에 더 많은 세계 지식을 통합한 RF-DETR을 사용함으로써 더 강력한 기반에서 시작합니다. 그다음 NAS는 데이터셋에 맞게 아키텍처를 조정합니다 — 예를 들어, 더 적은 decoder layer를 가진 모델이 데이터에 유리하다면 NAS는 그 아키텍처를 자동으로 찾아서 제공할 수 있습니다.

## 지원되는 작업 및 알려진 제한 사항

현재 NAS가 지원하는 항목:

* Object Detection
* Instance Segmentation

기타 현재 제한 사항:

* 원본 가중치(`.pt`, `.onnx`등)는 타사 추론 서버에서 사용하기 위해 다운로드할 수 없습니다. NAS 모델은 Roboflow Serverless Hosted API, Dedicated Deployments, Workflows, Batch Processing 및 자체 호스팅 [Roboflow Inference](https://inference.roboflow.com/install/)에서 실행됩니다. NAS 가중치를 다운로드하고 실행하려면 Roboflow Inference를 권장합니다.
* NAS가 찾아낸 모델 가중치는 Roboflow의 [Platform Model License](https://roboflow.com/platform-model-license-1-0)에 따라 라이선스가 부여되며, 정상 상태의 Roboflow 계정을 보유해야 합니다.

## NAS 학습 실행 시작하기

{% stepper %}
{% step %}
**Train 탭을 열고 Neural Architecture Search 엔진을 선택하세요**

프로젝트의 Train 탭(위치: `https://app.roboflow.com/YOUR_WORKSPACE/YOUR_PROJECT_NAME/train`)을 열고 **Neural Architecture Search** 엔진을 선택하세요.

<figure><img src="/files/83093586d53fcb7eb825ae7ec8f875e944ea2e51" alt="Train tab engine selector with Neural Architecture Search highlighted."><figcaption><p>Train 탭에서 Neural Architecture Search 엔진을 선택하세요.</p></figcaption></figure>
{% endstep %}

{% step %}
**백본 선택**

여러 모델 변형이 있는 프로젝트 유형(예: 객체 감지는 Standard와 Plus 제공)의 경우 계속하기 전에 백본을 선택해야 합니다. 사용 사례에 맞는 변형을 클릭하세요. 단일 변형이 있는 프로젝트 유형(예: instance segmentation)의 경우 이 항목은 자동으로 선택됩니다.
{% endstep %}

{% step %}
**데이터셋 버전을 선택하거나 생성하세요**

기존 데이터셋 버전을 선택하거나 새로 만드세요. 몇 가지 팁:

* NAS 학습을 위해 데이터셋에 증강을 추가하는 것은 권장하지 않습니다.
* 검증 분할에는 최소 **15장의 이미지가**포함되어야 합니다. NAS가 안정적인 Pareto frontier를 찾으려면 충분한 검증 데이터가 필요합니다. API는 검증 이미지가 15장 미만인 학습 요청을 거부합니다.

<figure><img src="/files/1ad56ae60490f1e50979798860875905b8613733" alt="Dataset version selector for a NAS training run."><figcaption><p>NAS 실행을 위한 데이터셋 버전을 선택하거나 생성하세요.</p></figcaption></figure>
{% endstep %}

{% step %}

#### 백본 선택(객체 감지 전용)

객체 감지 프로젝트에서는 두 가지 백본 옵션 중에서 선택할 수 있습니다:

* **표준** - 학습이 더 빠르고, 더 빠른 모델을 찾아냅니다. 엣지 디바이스에 배포할 계획일 때 가장 적합합니다.
* **Plus** - 더 정확한 모델을 찾아냅니다. 클라우드 GPU로 배포할 계획일 때 가장 적합합니다.

Instance segmentation 프로젝트는 단일 백본을 사용하므로 이 단계를 건너뜁니다.
{% endstep %}

{% step %}
**학습 시작**

클릭 **학습 시작** 하여 실행을 시작하세요.

<figure><img src="/files/e5f906568ac04eb54087ddfe982e8e9b8600a731" alt="Start Training button on the NAS configuration page."><figcaption><p>구성 페이지에서 NAS 실행을 시작하세요.</p></figcaption></figure>
{% endstep %}
{% endstepper %}

## NAS 결과 페이지 읽는 방법

<figure><img src="/files/20c79eed4a4dfc30b91f0d77f06009a8926d8646" alt="NAS results page with purple dots representing trained models along the Pareto frontier."><figcaption><p>각 보라색 점은 배포 가능한 완전히 학습된 모델입니다.</p></figcaption></figure>

결과 페이지에는 NAS가 데이터에서 찾아 학습한 모든 모델이 Pareto frontier를 따라 표시됩니다. 이는 각 지연 시간 지점에서 발견된 최상의 모델입니다. 각 보라색 점은 배포할 수 있는 완전히 학습된 모델입니다. 마이닝이 진행되는 동안 frontier는 실시간으로 업데이트되므로, 전체 실행이 끝나기 전에 후보 평가를 시작할 수 있습니다.

**지표 선택하기.** F1, mAP\@50, mAP\@50:95를 전환하여 사용 사례에 중요한 지표로 frontier를 평가하세요. 지표에 따라 frontier에 나타나는 모델이 달라질 수 있는데, 이는 정상입니다. 프로덕션에서 모델을 평가할 때 가장 가까운 지표를 선택한 다음, 목표 지연 시간에서 최상의 모델을 고르세요. 대부분의 사용 사례에는 F1을 권장합니다.

**모델에 별표 표시하기.** 사용하려는 모델에는 별표를 표시하세요. 별표 표시한 모델은 Workflow 모델 선택기에 나타나며, 별표를 해제한 모델은 결과 페이지에는 남아 있지만 선택기가 복잡해지지 않도록 숨겨집니다. 원하는 만큼 많이 또는 적게 별표를 표시하세요 — 별표 표시는 무료이며 되돌릴 수 있습니다.

**별표 표시한 모델 사용하기.** 다른 Roboflow 모델과 마찬가지로 Workflow의 모델 블록에서 선택하세요.

실행 중 NAS가 표시하는 라이브 학습 차트(Training Progress Band 및 Epoch Snapshot 보기)에 대한 자세한 내용은 [학습 결과 보기](/roboflow/roboflow-ko/train/training-results.md).

## NAS 실행 중지하기

NAS 작업은 두 단계로 구성됩니다 — **학습** 및 **마이닝** — 이 순서로 같은 작업에서 연속 실행됩니다. 실행을 중지하는 방법은 두 가지가 있습니다:

* **조기 중지** (현재 Pareto frontier에 만족한다면 권장됩니다). 단계에 따라 "Stop Training Early" 또는 "Stop Mining"을 클릭하세요. 그 시점까지 마이닝된 모델은 유지되며 배포할 수 있습니다. 완료된 작업에 사용된 크레딧은 청구됩니다. 자세한 내용은 [Early Stopping](/roboflow/roboflow-ko/train/stop-training-early.md) 를 참조하세요.
* **취소** (실행을 완전히 포기하고 싶을 때). "Cancel Training."을 클릭하세요. 가중치는 저장되지 않지만, 작업 초기에 취소하면 크레딧이 환불됩니다. 자세한 내용은 [학습 작업 취소하기](/roboflow/roboflow-ko/train/cancel-a-training-job.md).

{% hint style="info" %}
NAS 실행은 모델이 수렴할 때도 자동으로 중지됩니다. 즉, 모든 목표 epoch가 끝나기 전에 최고 성능에 도달하면 중지됩니다. 결과 페이지의 배너에 이 사실이 표시됩니다. 별도로 조치할 필요는 없습니다.
{% endhint %}

## NAS가 발견한 모델 배포하기

NAS가 발견한 모델은 다른 Roboflow 학습 모델과 동일하게 배포할 수 있습니다. 다음에서 실행할 수 있습니다:

* **Roboflow Serverless Hosted API** (아래 코드 예시를 참조하세요).
* **Dedicated Deployments** 더 높은 처리량 또는 예약 용량을 위해.
* **Workflows** 및 **Batch Processing** 비전 파이프라인을 구축하고 실행하기 위해.
* **자체 호스팅** [**Roboflow Inference**](https://inference.roboflow.com/install/) 자체 하드웨어에서(Docker, 엣지 또는 클라우드).

### Roboflow Inference로 NAS 모델을 로컬에서 실행하기

설치하고 시작 [Roboflow Inference](https://inference.roboflow.com/install/) 를 하드웨어에 설치한 다음, 다음을 가리키세요 `inference-sdk` 에 `http://localhost:9001` NAS 모델 ID로 다른 Roboflow 모델과 마찬가지로 호출하세요. 아래 코드 예시는 호스팅된 엔드포인트와 로컬 Inference 서버 모두에서 작동합니다 — 다음만 바꾸면 됩니다. `api_url`.

### Roboflow Serverless Hosted API

{% tabs %}
{% tab title="Python (requests)" %}

```python
import base64

import requests

API_KEY = "roboflow-API-KEY"
MODEL_ID = "your-workspace/the-model-id-here"
IMAGE_PATH = "your_image_path.png"

with open(IMAGE_PATH, "rb") as f:
    image_data = base64.b64encode(f.read()).decode("utf-8")

response = requests.post(
    f"https://serverless.roboflow.com/{MODEL_ID}",
    params={"api_key": API_KEY},
    headers={"Content-Type": "application/x-www-form-urlencoded"},
    data=image_data,
)

print(response.json())
```

{% endtab %}

{% tab title="Python (inference-sdk)" %}
종속성을 설치하려면, `pip install inference-sdk`.

```python
from inference_sdk import InferenceHTTPClient

CLIENT = InferenceHTTPClient(
    api_url="https://serverless.roboflow.com",
    api_key="roboflow-API-KEY"
)

result = CLIENT.infer("your_image_path.png", model_id="your-workspace/the-model-id-here")
print(result)
```

{% endtab %}

{% tab title="cURL" %}
**Linux 또는 MacOS**

로컬 파일의 JSON 예측을 가져오려면 `your_image_path.png`:

```bash
base64 your_image_path.png | curl -d @- \
"https://serverless.roboflow.com/your-workspace/the-model-id-here?api_key=roboflow-API-KEY"
```

웹의 다른 곳에 호스팅된 이미지에 대해 URL을 통해 추론할 때는 (잊지 말고 [URL 인코딩하세요](https://www.urlencoder.org/)):

```bash
curl -X POST "https://serverless.roboflow.com/your-workspace/the-model-id-here?\
api_key=roboflow-API-KEY&\
image=https%3A%2F%2Fi.imgur.com%2FPEEvqPN.png"
```

{% endtab %}

{% tab title="Javascript" %}
**Node.js**

이 예제에서는 POST 요청을 수행하기 위해 [axios](https://github.com/axios/axios) 를 사용하므로 먼저 `npm install axios` 를 설치하세요.

**로컬 이미지에 대해 추론하기**

```javascript
const axios = require("axios");
const fs = require("fs");

const image = fs.readFileSync("your_image_path.png", {
    encoding: "base64"
});

axios({
    method: "POST",
    url: "https://serverless.roboflow.com/your-workspace/the-model-id-here",
    params: {
        api_key: "roboflow-API-KEY"
    },
    data: image,
    headers: {
        "Content-Type": "application/x-www-form-urlencoded"
    }
})
.then(function(response) {
    console.log(response.data);
})
.catch(function(error) {
    console.log(error.message);
});
```

**URL을 통해 다른 곳에 호스팅된 이미지에 대해 추론하기**

```javascript
const axios = require("axios");

axios({
    method: "POST",
    url: "https://serverless.roboflow.com/your-workspace/the-model-id-here",
    params: {
        api_key: "roboflow-API-KEY",
        image: "https://i.imgur.com/PEEvqPN.png"
    }
})
.then(function(response) {
    console.log(response.data);
})
.catch(function(error) {
    console.log(error.message);
});
```

{% endtab %}
{% endtabs %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.roboflow.com/roboflow/roboflow-ko/train/neural-architecture-search.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
