> 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/models/ko/train/train-a-model.md).

# 모델 학습

Roboflow 대시보드에서 최신 기술을 사용해 모델을 학습하세요.

## 소개

Roboflow 인터페이스에서 컴퓨터 비전 모델을 학습할 수 있습니다.

Roboflow는 두 가지 학습 옵션을 제공합니다:

* Roboflow Custom Train: 프로덕션용 모델을 만드는 데 이상적인, 대표적인 학습 서비스입니다.
* [신경망 아키텍처 탐색](/models/ko/train/neural-architecture-search.md): 새로운 모델 아키텍처를 발견하고 동시에 미세 조정할 수 있습니다.

또한, 첫 번째 이미지 주석 배치를 승인하면,  **Roboflow Instant Model** 은 자동으로 학습됩니다. 이러한 모델은 자동 라벨링 또는 배포에 즉시 사용할 수 있습니다.

Roboflow에서 학습된 모델은 온디바이스 추론 서버인 Inference로 배포하거나, Workflows를 사용하는 Serverless Cloud API와 Batch Processing, 또는 모델 API 엔드포인트를 사용해 클라우드에 배포할 수 있습니다.

{% hint style="info" %}
다음을 읽어보세요 [라이선스 안내](https://roboflow.com/licensing) Roboflow에서 학습된 모델의 라이선스에 대해 자세히 알아보세요.
{% endhint %}

## 웹 앱

### 모델 학습

컴퓨터 비전 모델을 학습하려면 프로젝트 탐색에서 "Train"을 방문하세요.

<figure><img src="https://2225311784-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fcmo9mhfIjYrvFFy1U7dk%2Fuploads%2Fgit-blob-2d1f17a9d0b43e75da368beb4042aae04ffb3c74%2Fimage%20(469).png?alt=media" alt=""><figcaption></figcaption></figure>

"Custom Training" 버튼을 클릭하여 학습 작업 구성을 시작하세요:

<figure><img src="https://2225311784-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fcmo9mhfIjYrvFFy1U7dk%2Fuploads%2Fgit-blob-1be2ba90f2fff0ea791352cb97bf033c4215651e%2Fimage%20(470).png?alt=media" alt=""><figcaption></figcaption></figure>

#### 신경망 아키텍처 탐색(NAS)

객체 탐지 및 인스턴스 분할 프로젝트의 경우, **신경망 아키텍처 탐색(NAS)** 를 사용하여 단일 모델 아키텍처를 선택하는 대신 학습할 수 있습니다. NAS는 여러 모델 구성을 자동으로 학습하고 평가한 다음, 정확도 및 지연 시간 요구 사항에 따라 최적의 구성을 추천합니다.

NAS를 사용하려면 학습 엔진을 선택할 때 NAS 옵션을 선택하세요. NAS에는 최소 15개의 검증 이미지가 필요합니다.

NAS 학습 차트에 대한 자세한 내용은 [학습 결과 보기](/models/ko/evaluate/training-results.md#nas-training-charts).

#### 모델 아키텍처 선택

다음으로, 모델 아키텍처와 크기를 선택해야 합니다. 이는 모델을 학습하는 데 사용되는 머신러닝 기술입니다.

학습할 수 있는 모델 아키텍처는 설정한 프로젝트 유형에 따라 다릅니다. [지원되는 모델 표](/models/ko/supported-models.md) 를 참조하여 학습 호환성에 대한 자세한 내용을 확인하세요.

객체 탐지의 경우 RF-DETR이 최고의 정확도를 제공합니다. 인스턴스 분할의 경우 RF-DETR Seg(미리보기)가 최고의 정확도를 제공합니다. 키포인트 탐지의 경우 RF-DETR Keypoint(미리보기)도 사용할 수 있습니다.

모델 크기는 선택한 모델 아키텍처에 따라 다릅니다. 예를 들어, 최첨단 객체 탐지 모델인 RF-DETR은 Nano, Small, Medium, Base를 제공합니다. Medium, Large, Extra Large는 유료 사용자만 사용할 수 있습니다.  [SAM3](/models/ko/supported-models/sam3.md) 모델은  [사용량 기반 청구](https://docs.roboflow.com/platform/billing-and-plans/credits)가 포함된 유료 요금제에서 사용할 수 있습니다. 그러면 SAM3는 아키텍처 목록에 "Request Feature" 버튼과 함께 표시되며, 이를 사용해 접근 권한을 요청할 수 있습니다.

프로젝트 유형에 사용할 수 있는 아키텍처를 선택한 다음 "Continue"를 클릭하세요:

<figure><img src="https://2225311784-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fcmo9mhfIjYrvFFy1U7dk%2Fuploads%2Fgit-blob-08cf55061739c4354386d454051aaa68ffbf5b02%2Fimage%20(472).png?alt=media" alt=""><figcaption></figcaption></figure>

#### 체크포인트 선택

학습 옵션을 선택하면 체크포인트에서 학습할지 묻게 됩니다. 아래 탭에는 각 모델 유형별 구성 옵션이 표시됩니다.

{% tabs %}
{% tab title="객체 탐지" %}
세 가지 옵션이 있습니다:

* **이전 체크포인트에서 학습:** 이미 작동하는 모델이 있고 이를 개선하고 싶을 때 이상적입니다.
* **공개 체크포인트에서 학습:** 첫 번째 모델이거나 이전 학습 실행에서 예상한 결과를 얻지 못했을 때 이상적입니다.
* **랜덤 초기화에서 학습:** **고급 사용자 전용**, 이 옵션은 학습을 시작할 수 있는 빈 상태를 제공합니다. 대부분의 사용자는 이 옵션을 사용할 때 더 나쁜 결과를 봅니다.
  {% endtab %}

{% tab title="분류/시맨틱 분할" %}
분류 및 시맨틱 분할 모델의 경우 하나의 체크포인트만 사용할 수 있습니다.
{% endtab %}
{% endtabs %}

<details>

<summary>학습 옵션은 어떻게 선택하나요?</summary>

새로운 객체 탐지 프로젝트에는 공개 체크포인트에서 학습하는 것을 권장합니다. 기본적으로 Microsoft COCO 데이터셋으로 학습된 모델에서 학습하도록 제공합니다. 분류 및 시맨틱 분할의 경우 ImageNet에서 학습하는 것만 지원합니다.

Universe에 호스팅된 프로젝트를 기반으로 한 체크포인트에서 학습할 수 있습니다(객체 탐지만 해당). 그렇게 하려면 먼저 [Universe에서 프로젝트에 별표를 표시하세요](https://blog.roboflow.com/launch-universe-model-checkpoint/). 그러면 해당 프로젝트가 Roboflow 웹 애플리케이션에서 학습 체크포인트로 사용 가능해집니다.

또한 이전 버전의 모델을 기반으로 한 체크포인트에서 학습할 수도 있습니다(객체 탐지, 인스턴스 분할, 키포인트 탐지만 해당). 이 방법은 더 빠른 학습 과정을 가능하게 합니다. 모델이 강한 성능을 보이는 경우에만 이전 체크포인트에서 학습하는 것을 권장합니다).

체크포인트에서 학습한다는 것은  [전이 학습](https://blog.roboflow.com/what-is-transfer-learning/)을 사용한다는 뜻입니다. 전이 학습은 선택한 모델에서 모델 학습을 시작합니다. 이는 학습 시간을 줄이고 학습 점수를 향상하는 데 도움이 될 수 있습니다.

처음부터 학습한다는 것은  *전이 학습을 사용하지*  않는 것입니다. 이는 모델 가중치의 초기값을 무작위로 설정하여 모델 학습을 시작합니다.

</details>

#### 크레딧 상한 설정

하나의 학습 실행이 사용할 수 있는 크레딧 수를 제한할 수 있습니다. 학습 옵션의 "Credit Cap"에 숫자를 입력하거나, 상한 없이 실행하려면 비워 두세요. 상한을 사용하려면 다음이 포함된 요금제가 필요합니다. [사용량 기반 청구](https://docs.roboflow.com/platform/billing-and-plans/credits).

실행이 상한에 도달하면 Roboflow가 이를 중지하고 모델 가중치는 유지합니다. 이는  [학습을 일찍 중지하는 것](/models/ko/train/cancel-a-training-job.md)과 같습니다. 작업이 실행되는 동안 학습은 상한으로 설정된 크레딧 중 얼마나 사용했는지 보여줍니다.

각 모델에는 입력 아래에 표시되는 최소 상한이 있습니다. 최소값은 여전히 모델을 생성할 수 있는 가장 짧은 실행의 비용이므로, 더 작은 상한은 거부됩니다. 비용 추정치보다 낮은 상한은 허용되지만, 실행이 완료되기 전에 중지될 가능성이 높습니다.

[신경망 아키텍처 탐색](/models/ko/train/neural-architecture-search.md) 학습과 아키텍처 탐색은 별도로 청구되므로 "Training Credit Cap"과 "Search Credit Cap" 두 개의 상한이 있습니다. 하나를 설정하면 다른 단계에는 상한이 적용되지 않습니다.

상한이 있는 실행이 크레딧을 남긴 채 중지되면 계속 진행할 수 있습니다. 새 실행은 상한 아래에서 남은 크레딧을 사용할 수 있습니다. 남은 크레딧이 모델의 최소값보다 적다면 대신 새 학습을 시작하세요.

#### 학습 작업 시작

학습할 체크포인트를 선택한 후 Start Training을 클릭하세요.

그러면 데이터셋이 압축되어 Roboflow 클라우드에서 학습할 수 있도록 준비됩니다.

학습이 시작되기 전에 학습 요약에 예상 기간과 크레딧 비용이 표시됩니다:

<figure><img src="https://2225311784-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fcmo9mhfIjYrvFFy1U7dk%2Fuploads%2Fgit-blob-18d9396cb8b4f7bf0e73319da14e3cb287251177%2FScreenshot%202025-05-14%20at%2014.12.53.png?alt=media" alt=""><figcaption></figcaption></figure>

데이터셋이 클수록, 그리고 데이터셋의 이미지가 클수록 모델 학습에 더 오래 걸립니다.

학습 과정이 끝나면 이메일을 받게 됩니다. 대부분의 경우 24시간 이내여야 합니다.

#### 가격

Roboflow에서의 학습 비용은 학습 작업의 길이를 기준으로 책정됩니다. 자세한 내용은 [크레딧 페이지](https://www.roboflow.com/credits).

를 참조하세요. 학생이거나 연구자로서 작업 중인 프로젝트에 크레딧이 필요하다면,  [추가 크레딧을 신청](https://roboflow.com/contribute).

### 에이전트에서 학습 시작

채팅을 벗어나지 않고 [Roboflow Agent](https://docs.roboflow.com/agents/roboflow-agent) 에서 동일한 학습 실행을 시작할 수 있습니다. Agent에서 프로젝트 탭을 열고 "Train"을 클릭하세요. 학습 단계가 탭 안에서 열립니다: 학습 엔진을 선택한 다음 아키텍처와 크기를 선택하고, 그다음 데이터셋 버전을 선택하세요.

선택한 버전이 아직 내보내지지 않았다면 Agent가 먼저 내보내기를 준비하고 진행 상황을 표시합니다. 내보내기가 준비되면 학습이 시작됩니다. 프로젝트에 버전이 없다면 같은 화면에서 생성할 수 있습니다.

Agent에 채팅으로 모델 학습을 요청하면, 확인을 요청하기 전에 정확한 설정에 대한 예상 기간과 크레딧 비용을 보여줍니다. 학습은 종종 일찍 중지되므로, Agent는 전체 에포크에 걸친 전체 실행 비용 옆에 일반적인 비용을 표시합니다. 확인하기 전까지는 아무것도 시작되지 않으며, 실행이 시작되기 전에 전체 실행 예상치가 바뀌면 Agent가 중지하고 새 숫자를 확인하도록 요청합니다.

이 방식으로 학습하려면 Train Model 및 List Versions 권한이 필요합니다.

### 버전에서 여러 모델 학습

동일한 데이터에 대해 아키텍처나 크기를 비교하기 위해 같은 데이터셋 버전에서 하나 이상의 모델을 학습할 수 있습니다. 각 학습은 독립적으로 실행되고 평가되며, 버전 페이지에는 모든 학습이 나열되어 전환할 수 있습니다.

## HTTP API

프로젝트에 생성된 데이터셋 버전이 있으면, 호스팅 모델을 생성하는 학습 작업을 예약할 수 있습니다.

### 학습 작업 시작

데이터셋 버전에서 학습 실행을 시작합니다. 데이터셋 버전은 URL 경로의 일부입니다.

```url
POST https://api.roboflow.com/:workspace/:project/:version/train
```

**본문**

<table data-search="false"><thead><tr><th width="180">이름</th><th width="140">유형</th><th>설명</th><th data-type="checkbox">필수</th></tr></thead><tbody><tr><td><code>model_type</code></td><td>string</td><td>아키텍처 식별자(예: <code>rfdetr-nano</code>, <code>yolov8</code>, <code>yolov11</code>). 잘못된 값을 전달하면 전체 목록이 오류로 반환됩니다.</td><td>true</td></tr><tr><td><code>checkpoint</code></td><td>string</td><td>학습을 이어서 진행할 선택적 체크포인트입니다.</td><td>false</td></tr><tr><td><code>epochs</code></td><td>integer</td><td>에포크 수.</td><td>false</td></tr><tr><td><code>speed</code></td><td>string</td><td><code>fast</code> (기본값) 또는 <code>accurate</code>. <code>accurate</code> 는 유료 기능입니다.</td><td>false</td></tr><tr><td><code>trainingCreditCap</code></td><td>number</td><td>학습이 중지되기 전에 사용할 수 있는 최대 크레딧입니다. 모델의 최소값 이상이어야 합니다.</td><td>false</td></tr><tr><td><code>nasMiningCreditCap</code></td><td>number</td><td>NAS 아키텍처 탐색이 사용할 수 있는 최대 크레딧입니다. NAS 모델 유형에서만 유효합니다.</td><td>false</td></tr></tbody></table>

```bash
curl "https://api.roboflow.com/my-workspace/my-detector/3/train?api_key=$ROBOFLOW_API_KEY" \\
  -X POST \\
  -H "Content-Type: application/json" \\
  -d '{"model_type": "rfdetr-base"}'
```

학습 실행은 비동기적으로 진행됩니다. 응답은 작업이 완료되었다는 것이 아니라 대기열에 추가되었다는 것을 확인해 줍니다. 진행 상황을 확인하려면 [학습 결과를](/models/ko/evaluate/training-results.md) 조회하거나 버전의 `model` 필드를 확인하여 학습된 모델이 나타나는지 보세요.

버전이 학습할 준비가 되지 않았다면, 요청은 `400` 를 `코드` 와 `해결 방법` 필드와 함께 반환합니다. 해결 방법은 수정 사항의 이름을 알려주므로 스크립트나 에이전트가 메시지를 읽을 필요가 없습니다: `재균형 조정` (이미지는 충분하지만 잘못된 분할에 있음), `업로드` (데이터셋에 더 많은 이미지가 필요함), `주석 추가` (이미지에 레이블이 필요함), `재생성` (버전 생성에 실패했으므로 새 버전을 생성해야 함), 또는 `대기` (재균형 조정 또는 생성이 아직 실행 중임). 계획 제한과 같이 데이터와 관련 없는 오류에는 `해결 방법`.

계획 제한은 웹 앱에서와 동일하게 여기에도 적용됩니다. 요금제에 요청한 아키텍처가 포함되어 있지 않으면 요청은 `400` 를 반환하고 작업은 시작되지 않습니다: `nas_not_available_for_plan` 는 [NAS](/models/ko/train/neural-architecture-search.md) 모델 유형에 대해 `sam3_not_available_for_plan` 는 [SAM3](/models/ko/supported-models/sam3.md) 모델 유형에 대해 적용됩니다.

모델의 최소값보다 낮은 크레딧 상한, 또는 크레딧 기반 청구를 하지 않는 워크스페이스의 모든 상한은 `400` 를 `invalid_credit_cap`코드와 함께 반환합니다. 오류 메시지에 최소값이 명시됩니다.

호출하는 API 키에는 `trainingJob:create` 스코프가 있어야 합니다.

## Python SDK

`Version.train()` 은 Roboflow 플랫폼에서 학습을 예약합니다. 이 호출은 작업이 대기열에 추가되면 반환되며, 학습 자체는 비동기적으로 실행됩니다.

```python
import roboflow

rf = roboflow.Roboflow(api_key="YOUR_API_KEY")
project = rf.workspace().project("my-detector")

# 아직 버전이 없다면 전처리와 증강이 포함된 버전을 생성하세요.
new_version = project.generate_version({
    "preprocessing": {
        "auto-orient": True,
        "resize": {"width": 640, "height": 640, "format": "Stretch to"},
    },
    "augmentation": {},
})
version = project.version(new_version)

# 학습을 예약합니다.
model = version.train(
    model_type="rfdetr-nano",   # 잘못된 값을 전달하면 전체 목록이 오류로 반환됩니다
    checkpoint=None,             # 선택 사항: 이전 체크포인트에서 재개
    epochs=100,                  # 선택 사항: 기본값은 모델 유형에 따라 다름
    plot_in_notebook=False,      # 학습 진행 상황 플롯 표시(노트북에서만)
)
```

### 매개변수

* `model_type` (str) - 아키텍처 식별자. 일반적인 값: `rfdetr-nano`, `rfdetr-base`, `yolov8`, `yolov11`. 프로젝트 유형에 따라 다릅니다. 잘못된 값을 전달하면 전체 목록이 오류로 반환됩니다.
* `speed` (str, 선택 사항) - `"fast"` (기본값) 또는 `"accurate"`. 정확한 학습은 유료 기능입니다.
* `checkpoint` (str, 선택 사항) - 재개할 체크포인트의 ID입니다.
* `epochs` (int, 선택 사항) - 에포크 수. 기본값은 모델 유형에 따라 다릅니다.
* `plot_in_notebook` (bool, 기본값 `False`) - 학습 진행 상황을 인라인으로 표시합니다(노트북에서만).

### 학습 후

학습이 완료되면 `Version`'s `.model` 속성은 호스팅된 모델을 반환합니다:

```python
predictions = version.model.predict("photo.jpg", confidence=40, overlap=30).json()
```

다음을 참조하세요 [이미지에서 모델 실행](https://docs.roboflow.com/deployment/roboflow-cloud/serverless-api#python-sdk) 에서 전체 추론 참조를 확인하세요.

## CLI

명령줄에서 모델 학습을 시작할 수 있습니다. 학습은 Roboflow의 클라우드 인프라에서 실행됩니다.

### 명령

```bash
roboflow train start -p <project> -v <version> -t <model-type>
```

또는 축약형을 사용하세요( `start`):

```bash
roboflow train -p <project> -v <version> -t <model-type>
```

#### 옵션

| 플래그               | 설명                                 |
| ----------------- | ---------------------------------- |
| `-p`, `--project` | 프로젝트 ID(필수)                        |
| `-v`, `--version` | 버전 번호(필수)                          |
| `-t`, `--type`    | 모델 유형, 예: `yolov8n`, `rfdetr-nano` |
| `--checkpoint`    | 학습을 재개할 체크포인트                      |
| `--speed`         | 학습 속도 프리셋                          |
| `--epochs`        | 학습 에포크 수                           |

### 예시

특정 모델 유형으로 학습 시작:

```bash
roboflow train start -p my-detector -v 3 -t yolov8n
```

체크포인트에서 재개:

```bash
roboflow train start -p my-detector -v 3 -t yolov8n --checkpoint my-checkpoint
```

### JSON 출력

```bash
roboflow train start -p my-detector -v 3 -t yolov8n --json
```

```json
{
  "status": "training_started",
  "project": "my-detector",
  "version": 3
}
```

## MCP 서버

AI 에이전트를 다음에 연결하면 [MCP 서버](https://docs.roboflow.com/agents/mcp-server) 다음 도구로 모델을 학습할 수 있습니다:

<table data-search="false"><thead><tr><th width="290">도구</th><th>설명</th></tr></thead><tbody><tr><td><code>trainings_describe_recipe</code></td><td>모델 유형의 조정 옵션을 설명하고 제출 가능한 레시피를 반환합니다.</td></tr><tr><td><code>trainings_create</code></td><td>데이터셋 버전에서 학습 실행을 시작합니다.</td></tr><tr><td><code>trainings_get</code></td><td>학습 상태, 생성된 모델, 메트릭을 가져옵니다.</td></tr><tr><td><code>trainings_list</code></td><td>데이터셋 버전의 학습 실행을 나열합니다.</td></tr></tbody></table>

## 다음 단계

* [학습 작업 중지 또는 취소](/models/ko/train/cancel-a-training-job.md).
* 모델 성능을 검토하고 학습 실행을 비교하세요.  [학습된 모델 평가](/models/ko/evaluate/evaluate-trained-models.md).
* 다음을 사용하여 모델을 배포하세요 [Serverless Cloud API](https://docs.roboflow.com/deployment/roboflow-cloud/serverless-api).
