> 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, Workflows를 사용하는 Batch Processing, 또는 모델 API 엔드포인트를 통해 배포할 수 있습니다.

{% hint style="info" %}
다음을 읽어보세요: [라이선스 안내](https://roboflow.com/licensing) Roboflow에서 학습된 모델의 라이선스 방식에 대해 자세히 알아보세요. 다음을 참조하세요: [모델 라이선스](/models/ko/model-licenses.md) 각 아키텍처의 라이선스와 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 옵션을 선택하세요. NAS에는 최소 15장의 검증 이미지가 필요합니다.

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

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

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

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

객체 탐지에서는 RF-DETR이 최고의 정확도를 제공합니다. 인스턴스 분할에서는 RF-DETR Seg (Preview)가 최고의 정확도를 제공합니다. 키포인트 탐지용으로는 RF-DETR Keypoint (Preview)도 사용할 수 있습니다.

RF-DETR은 Apache 2.0 라이선스로 제공되므로 바로 상업적으로 사용할 수 있습니다. 자체 호스팅 배포를 포함한 폐쇄 소스 상용 제품에 라이선스 비용을 지불하거나 코드를 오픈 소스로 공개하지 않고 포함할 수 있습니다. RF-DETR XL 및 2XL 탐지는 Roboflow Platform Model License(PML 1.0)를 사용합니다. Roboflow에 배포하면 상업적 사용이 포함되며, 상업적 자체 호스팅에는 Enterprise 애드온이 필요합니다. YOLO 아키텍처(예: YOLO11, YOLO26)는 AGPL-3.0입니다. Roboflow에 배포하면 각 사용자에 대한 상업용 라이선스가 포함되며, 상업적 자체 호스팅에는 Enterprise 애드온이 필요합니다. 다음을 참조하세요: [모델 라이선스](/models/ko/model-licenses.md).

모델 크기는 아키텍처에 따라 다릅니다. Free Tier를 포함한 Core에서는 더 큰 모델 크기를 지원합니다. 예를 들어 RF-DETR은 Nano, Small, Medium, Large, XL, 2XL을 제공합니다. 모델을 학습하는 것은 [SAM3](/models/ko/supported-models/sam3.md) 모델은 Core에서 다음으로 사용할 수 있습니다: [크레딧 기반 청구](https://docs.roboflow.com/platform/billing-and-plans/credits). SAM3는 아키텍처 목록에 "Request Feature" 버튼과 함께 표시되며, 이를 사용해 접근 권한을 요청할 수 있습니다.

프로젝트 유형에 사용할 수 있는 아키텍처를 선택하세요. 패밀리와 크기를 선택하면 페이지가 다음 단계로 넘어갑니다:

<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>

#### 데이터 선택

학습에 사용할 데이터를 선택하세요. 먼저 버전을 만들 필요는 없습니다.

* "Current Dataset"는 프로젝트의 최신 이미지와 주석을 사용합니다. 카드에서 버전 이름과 분할을 수정하세요. Roboflow는 학습이 시작되면 버전을 생성합니다.
* 저장된 [버전](https://docs.roboflow.com/datasets/versions/dataset-versions/create-a-dataset-version) 는 해당 버전에 고정된 데이터를 사용합니다.

카드에서 저장된 버전의 설정을 "Current Dataset"으로 복사할 수 있습니다. 클래스 재매핑과 태그 필터는 복사되지 않습니다.

#### 학습 레시피 사용자 지정

"Customize Training Recipe" 카드는 실행 설정을 포함합니다: "Training Preprocessing", "Online Augmentations", "Checkpoint", "Hyperparameters", 그리고 [신경망 아키텍처 탐색](/models/ko/train/neural-architecture-search.md), "Latency Band"입니다. 이 중 어느 것도 변경하지 않고 학습을 시작할 수 있습니다.

저장된 버전에서는 전처리 및 증강 행이 잠깁니다. 해당 단계는 버전이 생성될 때 적용되었습니다.

#### 체크포인트 선택

"Checkpoint" 섹션에서 체크포인트에서 학습할지 선택합니다. 아래 탭에는 각 모델 유형의 구성 옵션이 표시됩니다.

{% 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>

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

다음을 사용해 학습된 행동 인식 버전은 [Cosmos 3 Edge](/models/ko/supported-models/cosmos-3-edge.md) 비디오를 기준으로 추정되며, 이미지가 아닙니다. 이 추정치는 버전에 포함된 비디오 수, 각 비디오의 길이, 그리고 실행의 비디오 샘플링 설정을 기준으로 하므로, 해당 설정이 변경되면 추정치도 달라집니다. 버전에 비디오 세부 정보가 없으면 요약에 추정치가 표시되지 않습니다. V-JEPA 2.1 학습에는 추정치가 표시되지 않습니다.

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

#### 가격

Roboflow에서의 학습은 학습 작업의 길이에 따라 가격이 책정됩니다. 다음에서 더 많은 정보를 확인할 수 있습니다: [크레딧 페이지](https://www.roboflow.com/credits).

학생 또는 연구자이고 작업 중인 프로젝트에 필요한 크레딧이 있다면 다음을 할 수 있습니다: [추가 크레딧을 신청할 수 있습니다](https://roboflow.com/contribute).

### Agent에서 학습

동일한 학습 실행을 다음에서 시작할 수 있습니다: [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>문자열</td><td>아키텍처 식별자(예: <code>rfdetr-nano</code>, <code>yolov8</code>, <code>yolov11</code>). 잘못된 값을 전달하면 전체 목록이 오류로 반환됩니다.</td><td>true</td></tr><tr><td><code>checkpoint</code></td><td>문자열</td><td>학습을 계속할 선택적 체크포인트입니다.</td><td>false</td></tr><tr><td><code>epochs</code></td><td>정수</td><td>에포크 수입니다.</td><td>false</td></tr><tr><td><code>speed</code></td><td>문자열</td><td><code>빠름</code> (기본값) 또는 <code>정확함</code>. <code>정확함</code> 는 유료 기능입니다.</td><td>false</td></tr><tr><td><code>trainingCreditCap</code></td><td>숫자</td><td>학습이 중단되기 전에 사용할 수 있는 최대 크레딧입니다. 모델의 최소값 이상이어야 합니다.</td><td>false</td></tr><tr><td><code>nasMiningCreditCap</code></td><td>숫자</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) 또는 버전의 다음을 확인하세요: `모델` 필드에 학습된 모델이 나타나는지 확인하세요.

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

요금제 제한은 웹 앱과 동일하게 여기에 적용됩니다. 요금제에 요청한 아키텍처가 포함되어 있지 않으면 요청은 다음을 반환합니다: `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`) - 학습 진행 상황을 인라인으로 표시(노트북에서만).

### 학습 후

학습이 완료되면 `버전`의 `.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).
* 모델을 다음으로 배포하세요: [서버리스 클라우드 API](https://docs.roboflow.com/deployment/roboflow-cloud/serverless-api).
