# 데이터셋 준비

> CSV, JSON 또는 Excel 파일을 업로드하고 열을 확인한 뒤 행을 편집합니다.

데이터셋은 최적화 실행이 학습하고 채점 기준으로 삼는 예제의 표입니다. 이 가이드는 파일을 업로드하고, 행과 열을 편집하고, 열 역할을 설정하고, 데이터셋을 공유하는 방법을 보여 줍니다. 개념은 [데이터셋과 분할](/docs/ko/concepts/datasets)을 읽어 보세요.

## 지원하는 파일

Skynet은 다음 파일 형식을 읽습니다.

| 확장자          | Skynet이 읽는 방식                                                          |
| --------------- | --------------------------------------------------------------------------- |
| `.csv`          | 첫 줄이 헤더 행입니다. 파일에는 데이터 행이 최소 하나 있어야 합니다.        |
| `.json`         | 객체 배열 또는 객체 하나입니다. 첫 번째 객체의 키가 열이 됩니다.            |
| `.xlsx`, `.xls` | Skynet은 첫 번째 시트만 읽습니다.                                           |

다른 확장자는 "Unsupported file format" 메시지와 함께 거부됩니다.

> [!TIP]
> 기대 출력은 마지막 열에 두세요. 제출 마법사는 기본적으로 마지막 열을 출력으로 표시합니다.

### CSV 예제

```csv
question,answer
What is the capital of France?,Paris
How many legs does a spider have?,8
```

### JSON 예제

```json
[
  { "question": "What is the capital of France?", "answer": "Paris" },
  { "question": "How many legs does a spider have?", "answer": "8" }
]
```

## 데이터셋 업로드하기

1. **데이터셋**을 엽니다.
2. **데이터셋 업로드**를 클릭하거나 파일을 페이지로 끌어다 놓습니다. 끄는 동안 페이지에 "놓아서 업로드"가 표시됩니다.
3. "데이터셋이 라이브러리에 저장되었습니다" 알림이 나타날 때까지 기다립니다.

Skynet은 확장자를 뺀 파일 이름을 데이터셋 이름으로 사용합니다. 이름을 바꾸려면 데이터셋을 선택하고 **이름 바꾸기**를 클릭합니다.

> [!NOTE]
> 각 계정에는 스토리지 할당량이 있습니다. 업로드가 할당량을 넘으면 Skynet이 제한을 설명하는 대화상자를 엽니다. [제한](/docs/ko/limits)을 참고하세요.

제출 마법사("CSV, JSON 또는 Excel 파일 업로드")에서 파일을 업로드하거나 [에이전트 패널](/docs/ko/guides/agent-panel)에 첨부할 수도 있습니다.

## 데이터셋 찾기

라이브러리에는 내 데이터셋이 나열됩니다. 목록을 필터링하려면 **이름으로 검색**을 사용하세요. 다른 사람이 나와 공유한 데이터셋은 **나와 공유됨**에 나타납니다.

데이터셋 하나를 선택하면 다음 작업이 나타납니다.

- **이 데이터셋 태그 지정**은 이 데이터셋으로 [태거](/docs/ko/guides/tagger)를 엽니다.
- **데이터 편집**은 데이터셋 편집기를 엽니다.
- **공유**는 공유 대화상자를 엽니다.
- **이름 바꾸기**는 데이터셋 이름을 바꿉니다.

그 밖의 작업으로 **사본 저장**과 **삭제**가 있습니다.

> [!WARNING]
> 삭제하면 라이브러리에서 데이터셋이 영구적으로 제거됩니다. 되돌릴 수 없습니다. 이 데이터셋으로 만든 실행은 계속 유효하지만, 데이터셋으로 돌아가는 링크는 끊어집니다.

## 데이터셋 편집하기

편집기는 데이터셋을 그리드로 보여 줍니다. 페이지마다 100개 행을 보여 줍니다. 페이지 사이를 이동하려면 **다음 행**과 **이전 행**을 사용하세요.

### 행과 열 변경하기

- **행 추가**와 **열 추가**는 끝에 새 셀을 추가합니다.
- **위에 행 삽입**과 **아래에 행 삽입**은 선택한 행 옆에 행을 추가합니다.
- **행 복제**, **행 삭제**, **열 삭제**, **열 이름 변경**은 구조를 바꿉니다.
- **드래그하여 채우기**는 셀 값을 옆 셀로 복사합니다.
- **실행 취소**와 **다시 실행**은 마지막 변경을 되돌리거나 반복합니다.

행을 두 번 클릭하면 전체 내용을 볼 수 있습니다.

### 저장

편집기는 편집할 때마다 잠시 후 변경 사항을 자동으로 저장합니다. 저장하는 동안 상태에 **저장 중…**이 표시됩니다. 저장에 실패하면 상태에 **저장 실패**가 표시됩니다.

> [!NOTE]
> 편집기는 행이 없는 데이터셋을 저장할 수 없습니다. 행을 추가할 때까지 "변경 사항을 저장하려면 행을 추가하세요"가 표시됩니다.

작업을 마치면 **라이브러리로 돌아가기**를 클릭합니다.

### 읽기 전용 접근

공유된 데이터셋에서 뷰어 역할이라면 편집기는 읽기 전용 모드로 열립니다. 데이터를 바꾸려면 소유자에게 편집자 역할을 요청하거나 **사본 저장**을 사용하세요.

### AI로 태그 지정

편집기에는 **AI로 태그 지정** 작업이 있습니다. 이 작업은 AI 모델이 라벨 추가를 도와주는 태거를 엽니다. [태거로 데이터 라벨링](/docs/ko/guides/tagger)을 참고하세요.

## 열 역할 설정하기

실행은 어떤 열이 입력이고 어떤 열이 기대 출력인지 알아야 합니다. 이 역할은 데이터셋 편집기가 아니라 실행을 제출할 때 설정합니다.

제출 마법사의 "데이터를 읽는 방식" 단계는 각 열을 세 가지 선택지와 함께 보여 줍니다.

- **입력**: 프로그램이 이 값을 받습니다.
- **출력**: 채점기가 비교 기준으로 삼는 기대 답입니다.
- **건너뛰기**: 실행이 이 열을 무시합니다.

기본값은 다음과 같습니다.

- 모든 열이 입력이고, 마지막 열이 출력입니다.
- 열이 하나인 데이터셋은 입력 하나만 있고 출력은 없습니다.

출력 열이 없으면 Skynet은 첫 번째 행을 입력 하나로 사용합니다. 입력 열은 최소 하나 선택해야 합니다.

일부 열에는 이미지가 들어갈 수도 있습니다. 이런 열에서는 **이미지** 또는 **텍스트**를 선택해 Skynet이 값을 읽는 방식을 알려 주세요.

> [!TIP]
> 데이터셋 편집기는 출력 열에 "output" 배지를 표시합니다. 편집기에서 새로 추가한 열은 입력으로 시작합니다.

마법사는 행을 학습용과 평가용 부분으로도 분할합니다. 각 부분의 합은 1이어야 합니다. 합이 1이 아니면 마법사에 "분할 비율의 합은 1이어야 합니다."가 표시됩니다. 전체 흐름은 [마법사로 실행 시작](/docs/ko/guides/submit)을 읽어 보세요.

## 데이터셋 공유하기

데이터셋을 선택하고 **공유**를 클릭합니다. **공유 및 개인정보** 대화상자가 열립니다.

### 링크 접근 권한

| 옵션                          | 데이터셋을 열 수 있는 사람                                      |
| ----------------------------- | --------------------------------------------------------------- |
| **제한됨**                    | 소유자와 초대된 사람만.                                         |
| **링크가 있는 모든 사람**     | 링크를 가진 로그인한 모든 사람. 선택한 역할이 적용됩니다.       |

"링크가 있는 모든 사람" 데이터셋에서는 링크가 부여하는 역할을 **뷰어** 또는 **편집자** 중에서 선택합니다. URL을 복사하려면 **링크 복사**를 클릭합니다.

### 사람 초대하기

1. **사람 초대**에서 **사용자 이름으로 사람 추가**에 사용자 이름을 입력합니다.
2. **초대**를 클릭합니다.
3. **접근 권한이 있는 사람** 아래 목록을 확인합니다. 사람의 역할을 바꾸려면 **역할 변경**을 사용합니다.

역할은 다음과 같습니다.

| 역할   | 접근 권한                                                   |
| ------ | ----------------------------------------------------------- |
| 소유자 | 공유 관리와 삭제를 포함한 모든 권한.                        |
| 편집자 | 뷰어 권한 + 모델 실행, 채팅, 이름 바꾸기.                   |
| 뷰어   | 데이터셋을 엽니다. 편집기는 읽기 전용입니다.                |

### 소유권 이전

데이터셋을 다른 사람에게 넘기려면 **소유권 이전**을 사용합니다. Skynet이 확인을 요청합니다.

> [!WARNING]
> 이전한 후에는 편집자가 되며 소유자 권한을 잃습니다.

## 다음 단계

- 데이터셋으로 [실행을 제출합니다](/docs/ko/guides/submit).
- 행에 아직 라벨이 없다면 [태거로 데이터 라벨링](/docs/ko/guides/tagger)을 읽어 보세요.
- Skynet이 출력을 비교하는 방식을 고르려면 [채점기](/docs/ko/concepts/scorers)에 대해 읽어 보세요.

---

Source: https://staging.skynetml.com/docs/ko/guides/datasets
