--- title: "데이터셋 준비" slug: "clovastudio-instructiondataset" tags: ["CLOVA Studio", "Instruction 데이터셋", "데이터셋"] updated: 2026-09-17T09:07:14Z published: 2026-09-17T09:07:14Z canonical: "guide.ncloud-docs.com/clovastudio-instructiondataset" stale: true --- > ## Documentation Index > Fetch the complete documentation index at: https://guide.ncloud-docs.com/llms.txt > Use this file to discover all available pages before exploring further. # 데이터셋 준비 Classic/VPC 환경에서 이용 가능합니다. 데이터셋 준비에서는 데이터셋의 규격과 데이터셋을 작성하는 방법, 작성 예시에 대해 설명합니다. 데이터셋은 언어 모델을 사용자가 원하는 작업에 최적화된 형태로 학습시키기 위해 사용하는 데이터의 묶음입니다. HyperCLOVA X 언어 모델로 학습시키려면 Instruction 데이터셋 가이드에 따라 데이터셋을 준비해야 합니다. 주의 개인 정보가 포함된 데이터셋을 업로드하여 발생하는 문제 및 결과에 대한 모든 책임은 사용자에게 있습니다. ## Instruction 데이터셋 Instruction 데이터셋은 HyperCLOVA X가 가진 능력을 일깨우는 데이터로, 데이터의 양보다 질이 중요합니다. 길고 자세하게 작성할수록, 원하는 답변 형식을 구체적으로 작성할수록 튜닝의 성능을 높일 수 있습니다. 사용자의 작업에 따라 필요한 데이터의 양이 달라질 수 있으나, 튜닝의 성능을 높이려면 1턴(Text, Completion 쌍) 기준 최소 400건 이상의 데이터가 필요합니다. HyperCLOVA X가 아직 학습하지 못한 분야인 경우에는 더 많은 양의 데이터가 필요합니다. ### Instruction 데이터셋 파일 규격 Instruction 데이터셋의 파일 규격은 다음과 같습니다. | 항목 | 설명 | | --- | --- | | 파일 확장자 | .csv 또는 .jsonl | | 파일 인코딩 형식 | UTF-8 | | 최소 데이터 | - 최소: 100행 - 권장: 1,000행 ~ 100,000행 | | 파일 용량 | 1TB 이하 (Ncloud Object Storage 가능 범위) | ### Instruction 데이터셋 템플릿 Instruction 데이터셋을 구성하는 필드는 다음과 같습니다. | 필드 | 설명 | | --- | --- | | System_Prompt | CLOVA Studio가 수행할 구체적인 지시문 (선택 항목) | | C_ID | Conversation ID. 동일한 주제로 구성된 대화 시나리오에 부여하는 숫자. 0부터 시작하여 1씩 증가 | | T_ID | Turn ID. 하나의 대화 시나리오 내에서 수행되는 질문(Text), 답변(Completion) 쌍에 부여하는 숫자. 0부터 시작하여 1씩 증가 | | Text | 사용자가 말할 것으로 기대되는 모든 발화 내용 | | Completion | CLOVA Studio가 답해야 할 것으로 기대되는 모든 발화 내용 | 참고 - 한 행(System_Prompt(선택), Text, Completion 쌍)의 데이터는 공백을 포함하여 8,000자 이하로 입력해 주십시오. 8,000자를 초과할 경우 데이터셋의 일부만 업로드됩니다. - 문서 분류 작업용 데이터셋인 경우, 각 분류의 범주당 최소 200행 이상의 데이터를 입력해 주십시오. <예시> 긍정 30%(300건), 부정 30%(300건), 중립 40%(400건) - 다중 분류 작업용 데이터셋인 경우, 분류 라벨을 최대 15개까지 입력할 수 있습니다. - 분류 라벨은 하나의 단어만 사용하는 것을 권장합니다. 띄어쓰기와 특수 문자를 허용하지 않습니다. ### Instruction 데이터셋 파일 형식 Instruction 데이터셋은 CSV 형식 또는 JSON 형식으로 작성합니다. 파일 형식이 CSV 파일인 경우에는 반드시 [Instruction 데이터셋 템플릿](https://cdn.document360.io/6998976f-9d95-4df8-b847-d375892b92c2/Images/Documentation/instruction_dataset_template.csv?sv=2026-02-06&spr=https&st=2026-10-29T11%3A14%3A58Z&se=2026-10-29T12%3A14%3A58Z&sr=c&sp=r&sig=8nQpJS1O0%2BT%2BEG7aK2oMai1g%2Bg05k6VwMbf42g%2F%2FBGY%3D)을 활용해 주십시오. 템플릿에 어긋나는 파일은 업로드할 수 없습니다. #### CSV 파일 CSV 파일로 데이터셋을 구성하려면 반드시 다음 내용을 확인해 주십시오. - 첫 번째 행에는 'C_ID', 'T_ID', 'Text', 'Completion'이 정확하게 입력되어야 하며, 4개의 열로만 구성되어야 합니다. - 빈 행과 열은 반드시 삭제해 주십시오. - 줄 바꿈이 필요할 경우, '\n'으로 구분해 주십시오. #### JSONL 파일 JSONL 파일로 데이터셋을 구성하려면 반드시 다음 내용을 확인해 주십시오. - 각 행은 {"C_ID": 순서, "T_ID": 순서, "Text": "입력값", "Completion": "원하는 결괏값"}으로 구성되어야 하며, "입력값"과 "원하는 결괏값"에는 적어도 한 글자 이상이 포함되어야 합니다. - 큰따옴표는 '"'로 표기해 주십시오. - 줄 바꿈이 필요할 경우, '\n'으로 구분해 주십시오. ### 대화 시나리오 방식 사용자의 목적에 따라 싱글턴 대화 시나리오 또는 멀티턴 대화 시나리오로 데이터셋을 구성할 수 있습니다. 싱글턴은 질문 하나로 답변을 얻는 방식이고 멀티턴은 대화를 주고 받으며 원하는 결과를 구체화하는 방식입니다. 참고 상세한 예제는 [싱글턴 예제 파일(.csv)](https://cdn.document360.io/6998976f-9d95-4df8-b847-d375892b92c2/Images/Documentation/singleturn_dataset_sample.csv?sv=2026-02-06&spr=https&st=2026-10-29T11%3A14%3A58Z&se=2026-10-29T12%3A14%3A58Z&sr=c&sp=r&sig=8nQpJS1O0%2BT%2BEG7aK2oMai1g%2Bg05k6VwMbf42g%2F%2FBGY%3D), [멀티턴 예제 파일(.csv)](https://cdn.document360.io/6998976f-9d95-4df8-b847-d375892b92c2/Images/Documentation/instruction_dataset_template.csv?sv=2026-02-06&spr=https&st=2026-10-29T11%3A14%3A58Z&se=2026-10-29T12%3A14%3A58Z&sr=c&sp=r&sig=8nQpJS1O0%2BT%2BEG7aK2oMai1g%2Bg05k6VwMbf42g%2F%2FBGY%3D)을 참고해 주십시오. #### 싱글턴 싱글턴 시나리오는 특정 C_ID에 대해 1개 턴(T_ID=0)으로만 구성합니다. 하나의 C_ID가 하나의 T_ID를 가지므로 모든 T_ID의 값은 '0'이 됩니다. ![clovastudio-dataset_singleturn_ko](https://cdn.document360.io/6998976f-9d95-4df8-b847-d375892b92c2/Images/Documentation/clovastudio-dataset_singleturn.png?sv=2026-02-06&spr=https&st=2026-10-29T11%3A14%3A58Z&se=2026-10-29T12%3A14%3A58Z&sr=c&sp=r&sig=8nQpJS1O0%2BT%2BEG7aK2oMai1g%2Bg05k6VwMbf42g%2F%2FBGY%3D) #### 멀티턴 멀티턴 시나리오는 특정 C_ID에 대해 2개 이상의 턴(T_ID=0)으로 구성합니다. 하나의 대화 주제에 3개 이상의 턴을 구성하는 것을 권고합니다. ![clovastudio-dataset_multiturn_ko](https://cdn.document360.io/6998976f-9d95-4df8-b847-d375892b92c2/Images/Documentation/clovastudio-dataset_multiturn.png?sv=2026-02-06&spr=https&st=2026-10-29T11%3A14%3A58Z&se=2026-10-29T12%3A14%3A58Z&sr=c&sp=r&sig=8nQpJS1O0%2BT%2BEG7aK2oMai1g%2Bg05k6VwMbf42g%2F%2FBGY%3D) ### 데이터셋 필드 작성 데이터셋의 각 필드를 작성하는 방법을 설명합니다. #### System_Prompt CLOVA Studio가 수행할 구체적인 지시문입니다. System_Prompt 필드는 선택 항목이지만 학습 시 데이터셋에 System_Prompt 필드를 추가하면 CLOVA Studio가 지시한 작업을 더욱 잘 수행할 수 있습니다. 데이터셋에 System_Prompt 필드를 포함시킬 경우, 첫 번째 열에 추가해야 합니다. 필드의 대소문자는 구분하지 않습니다. 동일한 C_ID에는 동일한 내용의 지시문(System Prompt)을 입력해야 하며, 인퍼런스 시에도 동일한 지시문을 적용해야 합니다. ``` AI 어시스턴트는 주어진 내용에 대해서 정확히 이해하고 질문에 대답합니다. ``` #### C_ID C_ID는 동일한 주제로 구성된 대화 시나리오에 부여하는 숫자입니다. 0부터 시작하여 1씩 증가합니다. #### T_ID T_ID는 하나의 대화 시나리오 내에서 수행되는 질문(Text), 답변(Completion) 쌍에 부여하는 숫자입니다. 0부터 시작하여 1씩 증가합니다. #### Text Text는 사용자의 요구 사항입니다. 다양한 주제와 말투로 작성합니다. 어떤 내용이든 상관 없으며 오타, 비문 등이 섞여 있어도 괜찮습니다. - 지시문으로만 구성하는 경우 ``` 오늘 정말 심심하네ㅠㅠ ``` ``` 바세린은 무엇으로 만듭니까? ``` ``` 내가 오늘 많이 아픈데, 직장 상사한테 출근이 늦을 것 같다는 문자를 써주세요오옹 ``` - 지시문과 부가 정보를 함께 구성하는 경우 ``` 다음 단락을 좀 더 공감가는 글로 다시 써 줘. {격식 있는 단락} ``` ``` 다음 문서를 읽고 질문에 대해 정확히 답해줘. {문서} {질문} ``` ``` 다음 코드가 수행하는 역할이 뭐야? {코드} ``` #### Completion Completion은 사용자 요구 사항에 대한 응답입니다. 길고 상세하게 작성합니다. 순서, 점 목록, 줄 바꿈, 마크다운 형식의 표 서식 등 원하는 답변 형식을 작성할수록 좋습니다. ``` 상의의 넥 라인 종류는 다양합니다. 일반적으로 다음과 같은 종류가 있습니다. 1. 라운드 넥 (Round Neck) 2. 브이넥 (V-neck) 3. 크루넥 (Crew Neck) 4. 스퀘어 넥 (Square Neck) 5. 보트 넥 (Boat Neck) ``` ``` 상의의 넥 라인 종류는 다양합니다. 다음과 같이 표로 정리할 수 있습니다. | 넥라인 종류 | 설명 | | 라운드 넥 (Round Neck) | 목을 부드럽게 감싸는 형태 | | 브이넥 (V-neck) | 목을 깊게 파서 시원한 느낌을 주는 형태 | | 크루넥 (Crew Neck) | 라운드 넥보다 약간 더 넓은 형태 | | 스퀘어 넥 (Square Neck) | 사각형 모양으로 목을 감싸는 형태 | | 보트 넥 (Boat Neck) | 옆으로 넓은 형태로 부드러운 느낌을 줌 | ``` ``` 여행을 떠날 떄는 다음과 같은 항목을 준비해야 합니다. - 여권 날짜 및 목적지 결정 - 여권, 비자 및 예방 접종 등 필요 서류 준비 - 여행 보험 가입 - 여행 가방 싸기 - 여행 중 필요한 물품 구매 - 항공사, 호텔, 교통 수단 예약 - 여행지 정보 수집 - 예상치 못한 상황에 대한 준비 ``` ## 데이터셋 업로드 Object Storage에 데이터셋을 업로드하여 학습 생성 API 호출 시 활용하는 방법을 설명합니다. ### 데이터셋 업로드 시나리오 학습 수행 시 필요한 데이터셋 업로드 시 Object Storage를 활용합니다. Object Storage에 데이터셋 전용 버킷을 생성하여 데이터셋을 업로드하면 학습 생성 API 호출 시 Object Storage에 업로드된 데이터셋을 불러와서 학습을 수행할 수 있습니다. 이 과정에서 안전하게 데이터셋을 관리하기 위해 데이터셋을 업로드하는 권한과 버킷 내 파일 목록을 조회할 수 있는 권한을 정책으로 생성하여 서브 계정에게 부여합니다. 데이터셋을 업로드하고 이를 활용하여 학습 생성 API를 호출하는 시나리오는 다음과 같습니다. 1. [버킷생성](/docs/clovastudio-instructiondataset#%EB%B2%84%ED%82%B7%EC%83%9D%EC%84%B1)을 참조하여 Object Storage에 데이터를 업로드할 버킷을 생성해 주십시오. 2. [서브 계정 생성](/docs/clovastudio-instructiondataset#%EC%84%9C%EB%B8%8C%EA%B3%84%EC%A0%95%EC%83%9D%EC%84%B1)을 참조하여 데이터 업로드용으로 사용할 서브 계정을 생성해 주십시오. 3. [서브 계정에 적용할 정책 생성](/docs/clovastudio-instructiondataset#%EC%84%9C%EB%B8%8C%EA%B3%84%EC%A0%95%EC%83%9D%EC%84%B1), [서브 계정에 정책 적용](/docs/clovastudio-instructiondataset#%EC%84%9C%EB%B8%8C%EA%B3%84%EC%A0%95%EC%97%90%EC%A0%95%EC%B1%85%EC%A0%81%EC%9A%A9)을 참조하여 서브 계정 정책을 생성한 후 적용해 주십시오. 4. 데이터셋 업로드를 참조하여 버킷에 데이터셋을 업로드해 주십시오. 5. 학습 생성 API 호출 시 필요한 정보 확인을 참조하여 다음 정보를 확인해 주십시오. - 학습에 활용할 데이터셋이 위치한 버킷명 - 학습에 활용할 데이터셋의 파일 경로 - 학습에 활용할 데이터셋에 접근 시 필요한 액세스 키 - 학습에 활용할 데이터셋에 접근 시 필요한 시크릿 키 6. 5번에서 확인한 정보를 활용하여 학습 생성 API 호출해 주십시오. 참고 - Sub Account는 여러 사용자가 같은 리소스를 이용하고 관리할 수 있는 서브 계정을 제공하는 서비스입니다. Sub Account에 대한 자세한 설명은 [Sub Account 가이드](/docs/subaccount-overview)를 참조해 주십시오. - Object Storage는 파일 저장 공간을 제공하는 서비스입니다. Object Storage에 대한 자세한 설명은 [Object Storage 가이드](/docs/storage-storage-6-1)를 참조해 주십시오. ### 버킷 생성 데이터셋을 업로드할 버킷을 생성하는 방법은 다음과 같습니다. 1. 네이버 클라우드 플랫폼 콘솔에서 **Menu** > **All Services** > **Storage** > **Object Storage** 메뉴를 차례대로 클릭해 주십시오. 2. **[이용 신청]** 버튼을 클릭하여 이용 신청을 완료해 주십시오. 3. **Bucket Management** 메뉴에서 **[버킷 생성]** 버튼을 클릭해 주십시오. 4. 생성할 버킷의 이름을 입력한 후 **[다음]** 버튼을 클릭해 주십시오. - 학습 생성 API 호출 시 버킷의 이름이 필요합니다. 5. 설정 관리 화면이 나타나면 설정을 변경하지 않은 상태로 **[다음]** 버튼을 클릭해 주십시오. 6. 권한 관리 화면이 나타나면 전체 공개 항목을 공개 안함으로 선택한 후 **[다음]** 버튼을 클릭해 주십시오. 7. 설정한 내용을 확인한 후 **[버킷 생성]** 버튼을 클릭해 주십시오. ### 서브 계정 생성 접근 권한이 제한된 서브 계정을 활용하면 데이터셋을 안전하게 업로드할 수 있습니다. 서브 계정을 생성하는 방법은 다음과 같습니다. 1. 네이버 클라우드 플랫폼 콘솔에서 **Menu** > **All Services** > **Management & Governance** > **Sub Account** 메뉴를 차례대로 클릭해 주십시오. 2. **Sub Accounts** 메뉴에서 **[서브 계정 생성]** 버튼을 클릭해 주십시오. 3. 서브 계정 정보를 입력해 주십시오. - **로그인 아이디**: 로그인 시 사용할 아이디 입력 - **사용자명**: 서브 계정 사용자의 이름 입력 - **접근 권한** - **콘솔 접근**의 체크 박스 해제 - **API Gateway 접근**의 체크 박스 선택 후 **모든 Source에서 접근 가능 선택** - **2차 인증 옵션**: 2차 인증 수단 사용 여부 선택 - **로그인 비밀번호**: 직접 입력 선택 후 비밀번호 설정 - **비밀번호 재설정 알림**: 체크 박스 해제 4. **[생성]** 버튼을 클릭해 주십시오. 5. 생성 완료 창이 나타나면 서브 계정 정보를 복사한 후 **[확인]** 버튼을 클릭해 주십시오. 6. 서브 계정 세부 정보 창이 나타나면 **[Access Key]** 탭에서 **[추가]** 버튼을 클릭해 주십시오. - Access Key Id와 Secret Key 정보가 생성됩니다. ### 서브 계정에 적용할 정책 생성 Object Storage의 특정 버킷에 데이터셋을 업로드하고 버킷의 파일 목록을 조회할 수 있는 권한을 정책으로 생성한 후 서브 계정에게 부여합니다. 서브 계정에게 적용할 정책을 생성하는 방법은 다음과 같습니다. 1. 네이버 클라우드 플랫폼 콘솔에서 **Menu** > **All Services** > **Management & Governance** > **Sub Account** 메뉴를 차례대로 클릭해 주십시오. 2. **Policies** 메뉴에서 **[정책 생성]** 버튼을 클릭해 주십시오. 3. 정책 정보와 정책 적용 대상을 설정해 주십시오. - **정책명**: 생성할 정책명 입력 - **플랫폼**: VPC 정책 선택 - **서비스**: Object Storage 선택 4. **액션명** 영역이 나타나면 **쓰기 권한**의 **[펼치기]** 버튼을 클릭한 후 **writeObject**를 선택해 주십시오. 5. **Resources** 영역에서 Bucket의 리소스 지정 여부를 활성화한 후 **[리소스 선택]** 버튼을 클릭해 주십시오. 6. Bucket 리소스 지정 창이 나타나면 데이터셋을 업로드할 버킷을 선택한 후 ![image.png](https://cdn.document360.io/6998976f-9d95-4df8-b847-d375892b92c2/Images/Documentation/image-DH4SZSU2.png?sv=2026-02-06&spr=https&st=2026-10-29T11%3A14%3A58Z&se=2026-10-29T12%3A14%3A58Z&sr=c&sp=r&sig=8nQpJS1O0%2BT%2BEG7aK2oMai1g%2Bg05k6VwMbf42g%2F%2FBGY%3D) 아이콘을 클릭해 주십시오. 7. 데이터셋을 업로드할 버킷이 지정된 리소스 목록에 추가되면 **[적용]** 버튼을 클릭해 주십시오. 8. **[적용 대상 추가]** 버튼을 클릭해 주십시오. 9. 적용 대상에 Object Storage가 추가된 것을 확인한 후 **[생성]** 버튼을 클릭해 주십시오. ### 서브 계정에 정책 적용 서브 계정에게 정책을 적용하는 방법은 다음과 같습니다. 1. 네이버 클라우드 플랫폼 콘솔에서 **Menu** > **All Services** > **Management & Governance** > **Sub Account** 메뉴를 차례대로 클릭해 주십시오. 2. 서브 계정 이름을 클릭해 주십시오. 3. 서브 계정 세부 정보 화면의 **[정책]** 탭에서 **[개별 권한 추가]** 버튼을 클릭해 주십시오. 4. 정책 추가 창이 나타나면 **[사용자 정의 정책]** 탭을 클릭한 후 생성한 정책의 체크 박스를 선택한 후 **[추가]** 버튼을 클릭해 주십시오. ### 데이터셋 업로드 Object Storage의 버킷에 데이터셋을 업로드하는 방법은 다음과 같습니다. 1. 데이터셋을 업로드할 사용자에게 서브 계정 정보와 Access Key Id, Secret Key 정보를 전달해 주십시오. 2. [Object Storage API 가이드](https://api.ncloud-docs.com/docs/storage-objectstorage-putobject)를 참조하여 데이터셋을 Object Storage에 업로드해 주십시오. ### 학습 생성 API 호출 시 필요한 정보 확인 Object Storage에 업로드한 데이터셋을 활용하여 학습 생성 API 호출 시 필요한 정보를 확인하는 방법은 다음과 같습니다. 1. 네이버 클라우드 플랫폼 콘솔에서 **Menu** > **All Services** > **Storage** > **Object Storage** 메뉴를 차례대로 클릭해 주십시오. 2. **Bucket Management** 메뉴에서 데이터셋이 업로드된 버킷의 이름을 복사하여 trainingDatasetBucket에 적용해 주십시오. 3. 버킷에 업로드된 파일을 클릭한 후 상세 정보의 Link 중 버킷명을 제외한 버킷 내 경로를 trainingDatasetFilePath에 적용해 주십시오. 4. 네이버 클라우드 플랫폼 콘솔에서 **Menu** > **All Services** > **Management & Governance** > **Sub Account** 메뉴를 차례대로 클릭해 주십시오. 5. 버킷에 접근 가능한 서브 계정을 클릭한 후 세부 정보에서 **[Access Key]** 탭을 클릭해 주십시오. 6. **Access Key Id** 정보를 trainingDatasetAccessKey에 적용해 주십시오. 7. **Secret Key** 정보를 trainingDatasetSecretKey에 적용해 주십시오. 참고 학습 생성 API에 대한 자세한 설명은 CLOVA Studio API 가이드를 참조해 주십시오.