분류 체계에서 데이터를 생성하여 Red Hat AI 추론
데이터 생성이란 QNA 파일에 포함된 질문과 답변을 바탕으로 합성 질문과 답변을 자동으로 생성하는 과정을 말합니다. Red Hat AI Inference 가 데이터를 생성하는 과정은 콘텐츠의 품질과 관련성에 중점을 둡니다.
Red Hat 에서 데이터 생성 과정에 대해 자세히 알아보세요.
Red Hat AI Inference 모델 정렬, 합성 데이터 생성 및 분류 체계 관리 기능은 더 이상 지원되지 않으며, 2026년 9월 25일에 제거될 예정입니다. 모델 사용자 지정 및 정렬 워크플로를 계속 진행하려면 OpenShift 에서 Red Hat® OpenShift® AI On으로 마이그레이션하십시오. Red Hat® OpenShift® AI에 대해 자세히 알아보세요.
전제조건
콘솔을 사용하여 데이터 생성하기
-
콘솔에서 ‘ Red Hat AI Inference ’ 서비스를 엽니다.
-
Red Hat AI 추론 프로젝트 > 해당 프로젝트 > 훈련 데이터 > 생성을 클릭합니다.
-
훈련 데이터의 영숫자 이름을 입력하고 사용할 분류 체계를 선택하십시오.
-
선택 사항: 데이터 생성 과정을 시작하기 전에 제공된 예상 비용을 확인하십시오.
-
생성을 클릭하십시오. 상태는
queued이고, 그 다음은running입니다. -
상태가
completed``가 될 때까지 기다립니다. 데이터 생성이 완료되면, 로그 파일이 포함된 ‘synthetic_data’ 디렉터리가 ‘ Object Storage ’ 버킷에 생성됩니다. 문제 해결이나 확인을 위해 이 로그들을 검토할 수 있습니다.
콘솔에서 자체 훈련 데이터 가져오기
Red Hat AI 추론 에서 데이터 생성을 보완하기 위해 이전에 생성한 자체 데이터를 가져올 수 있습니다. 다음 중 하나 이상의 작업을 수행해야 하는 경우, 직접 데이터를 가져오기를 원할 수 있습니다.
- 데이터를 생성할 때 하나 또는 여러 개의 지식 및 기술 문서를 가져옵니다.
- 여러 개의 훈련 데이터 세트를 하나로 합칩니다.
- 데이터를 생성하고, 다운로드한 다음, 데이터의 일부를 조작한 후 다시 생성합니다.
- 이전에 생성한 데이터와 새로 가져온 데이터를 결합하십시오.
- 데이터를 가져오고, 훈련 데이터를 생성한 다음, 해당 데이터를 다른 데이터 생성 결과와 결합합니다.
- 리플레이 버퍼와 분류 체계에서 가져온 데이터를 결합합니다. 이 기능은 API 또는 CLI를 통해서만 사용할 수 있습니다.
- 데이터를 가져오고 분류 체계에서 훈련 데이터를 생성합니다. 이 기능은 API 또는 CLI를 통해서만 사용할 수 있습니다.
자신만의 데이터를 가져오려면, 이전 데이터 생성 실행 결과를 참조하거나, Object Storage 버킷에서 파일을 가져오거나, 로컬 컴퓨터에서 파일을 업로드할 수 있습니다.
다음 단계를 따라 직접 수집한 훈련 데이터를 가져오십시오.
-
콘솔에서 ‘ Red Hat AI Inference ’ 서비스를 엽니다.
-
Red Hat AI 추론 프로젝트 > 해당 프로젝트 > 훈련 데이터 > 가져오기를 클릭합니다.
-
데이터에 사용할 영숫자 이름을 입력하세요.
-
다음 옵션 중 하나를 선택하십시오.
-
Object Storage: Object Storage 버킷에 있는 기존 파일을 선택하세요.
- 기존 데이터가 저장된 인스턴스와 버킷을 선택하십시오.
- 다음 을 클릭하십시오.
- 가져오려는 파일을 선택하세요.
-
파일 업로드: 로컬 컴퓨터에서 파일을 선택하세요. 파일 업로드 시 40 Mb의 제한이 있으니 유의하시기 바랍니다.
- Object Storage 인스턴스와 버킷을 선택하거나, 데이터를 저장할 새로운 인스턴스와 버킷을 생성하세요.
- 버킷에 대해 ‘ Red Hat AI 추론 Writer’ 권한을 부여합니다.
- 선택 사항: 저장소 설정. 데이터 저장 방법에 대해 다음과 같은 추가 세부 정보를 명시해 주십시오.
- 버킷 파일 경로.
- 버킷 내의 디렉터리.
- Object Storage 인스턴스 이름.
- 리소스 그룹.
- Object Storage 버킷 이름.
- 버킷의 복원력.
- 다음 을 클릭하십시오.
- 로컬 컴퓨터에서 업로드할 지식 및 기술 파일을 선택하십시오.
-
-
가져오기를 클릭하십시오.
콘솔에서 훈련 데이터 병합하기
타임아웃이나 시스템 제한을 피하기 위해, 데이터를 더 작고 관리하기 쉬운 단위로 생성할 수 있습니다. 그런 다음 이러한 작은 데이터 세트들을 하나의 데이터 세트로 통합하여 학습에 활용할 수 있습니다.
콘솔에서 데이터를 병합하려면 다음 단계를 따르십시오.
-
콘솔에서 ‘ Red Hat AI Inference ’ 서비스를 엽니다.
-
Red Hat AI 추론 프로젝트 > 해당 프로젝트 > 훈련 데이터를 클릭하세요.
-
목록에서 훈련 데이터 항목 중 최대 20개를 선택한 다음 ‘병합’을 클릭하세요.
-
데이터에 사용할 영숫자 이름을 입력하세요.
-
병합된 데이터를 저장할 Object Storage 인스턴스와 버킷을 선택하십시오.
-
작성을 클릭하십시오.
CLI를 사용하여 데이터 생성하기
-
사용 중인 분류 체계를 나열하고, 사용하고자 하는 분류 체계를 기록해 두십시오.
ibmcloud ilab taxonomy list출력 예.
id name taxonomy_path 669a88c9488ee7b95ce8fe05 test-tax taxonomy.tar.gz -
분류 체계에서 데이터를 생성합니다. 다음 단계에서 사용할 데이터의 ID를 메모해 두세요. 이름에는 영문자와 숫자를 사용하십시오.
ibmcloud ilab data generate [--name NAME] [--taxonomy-id TAXONOMY-ID]명령어 예시.
ibmcloud ilab data generate --name testdata --taxonomy-id 669a88c9488ee7b95ce8fe05출력 예.
id 66a268c170dcb21150050e8e name test-data state queued status created_at 2024-07-19T15:40:29.000Z taxonomy_id 669a88c9488ee7b95ce8fe05 -
데이터 생성 내역을 확인해 주세요. 데이터의 ID를 포함하십시오. 상태는
queued이고, 그 다음은running입니다. 상태가completed``가 될 때까지 기다립니다. 상태가 ‘completed’일 때, ‘ Object Storage ’ 버킷 내에 문제 해결용 로그가 포함된 ‘synthetic_data’ 디렉터리가 생성됩니다.ibmcloud ilab data get --id DATA_IDdata get명령어의 예시.ibmcloud ilab data get --id 66a268c170dcb21150050e8e출력 예.
id 66a268c170dcb21150050e8e name test-data state running status Generating data for taxonomy path compositional_skills->STEM->math->area: 12% 12/100 (total qna processed 1/147) created_at 2024-07-19T15:40:29.000Z taxonomy_id 669a88c9488ee7b95ce8fe05 -
선택 사항: 상태가 ‘
completed’일 때, 예상 비용을 계산하기 위해 토큰 추정치와 같은 지표를 확인할 수 있습니다.--output json옵션이 포함된data get명령어 예시ibmcloud ilab data get --id 66a268c170dcb21150050e8e --output jsonJSON 출력 예시
{ "created_at": "2026-08-04T15:40:29.000Z", "data_metrics": { "samples": { "knowledge": 30, "skills": 70, "total": 100 }, "tokens": { "data_leaf_nodes": { "compositional_<taxonomy_path>": 26196, "knowledge_<taxonomy_path>": 1228930, }, "data_tokens_total": 5993486, "training_estimated": 411435913, "training_phases": { "phase_1_knowledge": 1389992, "phase_2_skills": 410045921 } } }, "id": "66a268c170dcb21150050e8e", "last_signal_at": "2026-08-04T17:20:32.000Z", "name": "test-data", "state": "completed", "status": "completed", "taxonomy_id": "669a88c9488ee7b95ce8fe05" }
CLI를 사용하여 자체 훈련 데이터 가져오기
다음 중 하나 이상의 이유로 직접 데이터를 가져오고 싶을 수 있습니다.
- 데이터를 생성할 때 하나 또는 여러 개의 지식 및 기술 문서를 가져옵니다.
- 여러 개의 훈련 데이터 세트를 하나로 합칩니다.
- 데이터를 생성하고, 다운로드한 다음, 데이터의 일부를 조작한 후 다시 생성합니다.
- 이전에 생성한 데이터와 새로 가져온 데이터를 결합하십시오.
- 데이터를 가져오고, 훈련 데이터를 생성한 다음, 해당 데이터를 다른 데이터 생성 결과와 결합합니다.
- 리플레이 버퍼와 분류 체계에서 가져온 데이터를 결합합니다. 이 기능은 API 또는 CLI를 통해서만 사용할 수 있습니다.
- 데이터를 가져오고 분류 체계에서 훈련 데이터를 생성합니다. 이 기능은 API 또는 CLI를 통해서만 사용할 수 있습니다.
Red Hat AI 추론 에서 데이터 생성을 보완하기 위해 직접 훈련 데이터를 가져올 수 있습니다. 이전에 생성한 사용자 데이터를 가져오려면 다음 중 하나 이상을 지정하십시오
- 이전 실행의 데이터 생성 ID.
.jsonl의 지식 및 기술 관련 파일이 포함된 Object Storage 버킷.
데이터를 가져오려면 다음 단계를 완료하십시오.
- 사용 중인 분류 체계를 나열하고, 사용하고자 하는 분류 체계를 기록해 두십시오.
출력 예.ibmcloud ilab taxonomy listid name taxonomy_path 669a88c9488ee7b95ce8fe05 test-tax taxonomy.tar.gz - 이전에 생성한 데이터 중 사용하고자 하는 것이 있다면, 해당 데이터를 나열하고 사용하려는 UUID를 기록해 두십시오. 최대 20개의 데이터 소스를 포함할 수 있습니다.
ibmcloud ilab data list - 분류 체계에서 데이터를 생성합니다. 다음 단계에서 사용할 데이터의 ID를 메모해 두세요. 이름에는 영문자와 숫자를 사용하십시오.
데이터 생성을 위해 여러 내부 ID(데이터 소스)를 포함하는 명령어 예시.ibmcloud ilab data generate [--name NAME] [--taxonomy-id TAXONOMY-ID] [--internal-ids INTERNAL-IDs]ibmcloud ilab data generate --name testdata --taxonomy-id 65005b67-7de4-4216-b23c-ed4342f99c88 --internal-ids 8c6b9224-a4f1-4649-907c-0f11d14cfc59,299ee20c-0b04-4d8e-ad12-a3d98feece40
더 많은 예제를 보려면 다음 섹션인 ‘자체 훈련 데이터 가져오기 명령어 예제’를 참조하십시오.
사용자 정의 훈련 데이터를 가져오기 위한 명령어 예시
사용자 고유의 훈련 데이터를 가져오거나 데이터 생성 작업에 지식 및 기술 파일을 추가하려면 다음 예제 명령어를 확인해 보십시오.
여러 개의 내부 ID를 포함하는 명령어 예시.
ibmcloud ilab data generate --name testdata --taxonomy-id 65005b67-7de4-4216-b23c-ed4342f99c88 --internal-ids 8c6b9224-a4f1-4649-907c-0f11d14cfc59,299ee20c-0b04-4d8e-ad12-a3d98feece40
Object Storage 버킷에 있는 여러 개의 기존 데이터 소스(내부 ID)와 .jsonl 파일을 결합하는 명령어 예시입니다.
ibmcloud ilab data generate \
--name testdata \
--taxonomy-id 669a88c9488ee7b95ce8fe05 \
--internal-ids 8c6b9224-a4f1-4649-907c-0f11d14cfc59,299ee20c-0b04-4d8e-ad12-a3d98feece40 \
--knowledge-paths PATH \
--skills-paths PATH \
--skills-knowledge-cos-bucket STRING \
--skills-knowledge-cos-bucket-endpoint ENDPOINT
Object Storage 버킷에 저장된 ‘ .jsonl ’ 지식 및 기술 파일과 이전에 생성된 데이터를 결합하는 명령어 예시입니다. 선택적으로, 생성된 데이터(SDG) 출력을 저장할 출력 Object Storage 버킷을 지정할 수도 있습니다.
ibmcloud ilab data generate \
--name testdata \
--taxonomy-id 669a88c9488ee7b95ce8fe05 \
--internal-ids 8c6b9224-a4f1-4649-907c-0f11d14cfc59 \
--knowledge-paths PATH \
--skills-paths PATH \
--skills-knowledge-cos-bucket STRING \
--skills-knowledge-cos-bucket-endpoint ENDPOINT
--output-cos-bucket-string STRING \
--output-cos-bucket-endpoint ENDPOINT
내부 ID를 지정하여 데이터를 병합하는 명령어 예시.
ibmcloud ilab data generate \
--name testdata \
--internal-ids 8c6b9224-a4f1-4649-907c-0f11d14cfc59,299ee20c-0b04-4d8e-ad12-a3d98feece40 \
--output-cos-bucket-string STRING \
--output-cos-bucket-endpoint ENDPOINT
내부 ID를 지정하여 이전에 생성된 데이터를 병합하고, ‘ Object Storage ’ 버킷의 기술 및 지식 정보를 포함하는 명령어 예시입니다.
ibmcloud ilab data generate \
--name testdata \
--internal-ids 8c6b9224-a4f1-4649-907c-0f11d14cfc59 \
--knowledge-paths PATH \
--skills-paths PATH \
--skills-knowledge-cos-bucket STRING \
--skills-knowledge-cos-bucket-endpoint ENDPOINT
--output-cos-bucket-string STRING \
--output-cos-bucket-endpoint ENDPOINT
Object Storage 버킷의 기술 및 지식 데이터를 병합하는 명령어 예시.
ibmcloud ilab data generate \
--name testdata \
--knowledge-paths PATH \
--skills-paths PATH \
--skills-knowledge-cos-bucket STRING \
--skills-knowledge-cos-bucket-endpoint ENDPOINT
--output-cos-bucket-string STRING \
--output-cos-bucket-endpoint ENDPOINT
API를 사용하여 데이터 생성하기
-
사용 중인 분류 체계를 나열하고, 사용하고자 하는 분류 체계를 기록해 두십시오.
명령어 예시.
curl -X 'GET' \ 'https://us-east.instructlab.ibm.com/v1/taxonomies' \ -H 'accept: application/json`출력 예.
{ "taxonomies": [ { "id": "202a03c4-dcf1-432a-82b7-abecb2e019f7", "name": "example-taxonomy-name-1", "taxonomy_path_cos": "taxonomies/taxonomy.tar.gz", "created_at": "2024-10-23T02:58:50.000Z" } ] } -
분류 체계에서 데이터를 생성합니다. 다음 단계에서 사용할 데이터의 ID를 메모해 두세요. 이름에는 영문자와 숫자를 사용하십시오.
명령어 예시.
curl -X 'POST' \ 'https://us-east.instructlab.ibm.com/v1/data' \ -H 'accept: application/json' \ -H 'Content-Type: application/json' \ -d '{ "name": "example-data-1", "taxonomy_id": "202a03c4-dcf1-432a-82b7-abecb2e019f7" }'출력 예.
{ "id": "add785e6-a8c3-4f5f-ab89-c506a3f115da", "name": "example-data-1", "state": "", "status": "queued", "created_at": "2024-10-23T02:58:50.000Z", "last_signal_at": "2026-08-04T17:20:32.000Z", "taxonomy_id": "202a03c4-dcf1-432a-82b7-abecb2e019f7", "data_metrics": { "samples": { "additionalProp1": 1, "additionalProp2": 2, "additionalProp3": 3 } } } -
데이터 생성 내역을 확인해 주세요. 데이터의 ID를 포함하십시오. 상태는
queued이고, 그 다음은running입니다. 상태가completed``가 될 때까지 기다립니다.명령어 예시.
curl -X 'GET' \ 'https://us-east.instructlab.ibm.com/v1/data/add785e6-a8c3-4f5f-ab89-c506a3f115da' \ -H 'accept: application/json'출력 예.
{ "id": "add785e6-a8c3-4f5f-ab89-c506a3f115da", "name": "example-data-1", "state": "", "status": "queued", "created_at": "2024-10-23T02:58:50.000Z", "last_signal_at": "2026-08-04T17:20:32.000Z", "taxonomy_id": "202a03c4-dcf1-432a-82b7-abecb2e019f7", "data_metrics": { "samples": { "additionalProp1": 1, "additionalProp2": 2, "additionalProp3": 3 } } }
상태가 ‘ completed ’일 때, ‘ Object Storage ’ 버킷 내에 문제 해결용 로그가 포함된 ‘ synthetic_data ’ 디렉터리가 생성됩니다.
데이터를 생성한 후, 내 ‘ Object Storage ’ 버킷에는 어떤 내용이 들어 있나요?
데이터를 생성하면, Object Storage 버킷 내에 synthetic_data 디렉터리가 생성되며, 여기에는 다음 파일들이 포함됩니다.
Artifacts- 이 파일들에는 각 리프 노드의 샘플이 포함되어 있습니다. 이 데이터는 모델 훈련에 사용되지는 않지만, 가독성을 높이기 위해 제공되며, QNA가 예상된 수의 샘플을 생성하고 있는지 확인하는 데 활용할 수 있습니다.
Logs- 이 파일들에는 ‘ Red Hat AI Inference ’의 실행 로그와 시스템 세부 정보가 포함되어 있습니다.
knowledge_train_msgs.jsonl및skills_train_msgs.jsonl- 이 파일들은 1단계 및 2단계 훈련 파일이며, 모델 훈련에 사용된 샘플이 포함되어 있습니다.
데이터가 왜, 어떻게 생성되는지 이해하려면 SDG FAQ 커뮤니티 문서를 참조하세요.
.jsonl 형식의 예시
기술 및 지식에 대한 다음 예시 .jsonl 의 구조를 검토해 보십시오.
{
"messages": [
{
"content": "string", // The text of the message
"role": "string" // The role of the sender (e.g., "system", "user", "assistant")
}
],
"metadata": "string", // A JSON-encoded string containing additional info (e.g., num_turns, group, dataset)
"id": "string" // A unique identifier for the conversation
}
다음 단계
분류 체계에서 데이터를 생성한 후에는 모델 훈련을 시작할 수 있습니다.