각 예시가 나타내는 것 정의하기
결정 문장으로 시작하세요. 새 티켓의 범주를 인식하거나, 문서에서 세 개의 필드를 추출하거나, 첨부 파일과 함께 질문에 답하는 것입니다. 예측 시점에 사용 가능한 입력, 기대되는 출력, 범위 밖의 사례를 설명하세요. 티켓 해결 후에 추가된 정보는 티켓 도착 시점을 나타내야 하는 입력에 포함되어서는 안 됩니다.
다음으로 행과 독립 단위를 구분합니다. 하나의 대화에 속한 다섯 개의 메시지는 문맥을 공유하고, 하나의 폴더에 속한 열 개의 페이지는 출처를 공유합니다. 목표가 새로운 폴더에 관한 것이라면 각 폴더를 하나의 파티션 안에 유지하세요. 사용자, 문서, 장비, 기간별 분리는 각각 다른 질문에 답합니다. 향후 사용 방식과 가장 유사한 기준을 선택한 뒤, 그 근거를 매니페스트에 기록하세요.
각 세트에 역할 할당
학습 세트는 모델 조정에 사용됩니다. 검증 세트는 프롬프트, 임계값, 하이퍼파라미터 또는 변형 선택과 같은 개발 결정을 안내합니다. 최종 테스트는 이미 정해진 질문에 답합니다. 최적의 설정을 선택하기 위해 테스트를 들여다보면, 그 위에서 그래디언트가 계산되지 않더라도 테스트는 점차 개발 도구로 변모합니다.
또한 변환을 학습하는 데 사용되는 데이터를 분리하세요. 전체 코퍼스에 맞춰 조정된 정규화, 변수 선택, 결측값 대체는 모델에 정보를 전달할 수 있습니다. 이러한 변환은 허용된 파티션에서 학습한 다음, 저장된 변환을 다른 데이터셋에 적용하세요. 파이프라인은 이러한 통제를 용이하게 하지만, 잘못 분리된 그룹을 그 자체만으로 바로잡지는 못합니다.
| 데이터셋 | 허용된 사용 | 피해야 할 결정 |
|---|---|---|
| 학습 | 학습된 매개변수와 변환 조정 | 최종 테스트의 답안을 여기에 불러오기 |
| 검증 | 설정, 프롬프트 및 임계값 선택 | 최고 탐색 점수를 최종 독립 결과로 제시 |
| 최종 테스트 | 고정된 규칙에 따라 선택된 구성을 평가 | 결과를 확인한 후 설정을 변경하고 동일한 점수를 확인용으로 재사용 |
| 필요 시 교정 | 이를 필요로 하는 양자화 방법 준비 | 최종 테스트를 사용해 평가할 변형을 만들기 |
어려운 사례를 지우지 않고 중복을 처리하기
원본 코퍼스를 보존한 다음, 식별자·출처·그룹과 함께 작업 인벤토리를 구축합니다. 콘텐츠 지문은 선택한 표현 방식에 따라 완전한 사본을 탐지합니다. 이 표현 방식을 문서화하세요. 모든 문장 부호를 제거하거나 텍스트를 소문자로 바꾸면 과제에서 차이가 중요한 항목들이 병합될 수 있습니다. 제외된 사본과 보존된 원본 간의 대응 관계를 유지하세요.
준중복은 추가 검토가 필요합니다. 수정된 내보내기, 재구성된 답변, 공통 구절 또는 재편집된 문서 등입니다. 높은 유사성은 검토할 신호이지 두 주석이 서로 교환 가능하다는 증거가 아닙니다. 데이터를 분배하기 전에 연관된 변형들을 그룹화하세요. 두 사본이 상충하는 참조를 가지고 있다면 주석 질문을 열고, 모델이 가장 잘 예측하는 것을 자동으로 선택하지 마세요.
예시: 1,200개 행이 1,200개의 독립적인 관측이 아닙니다
이 예시는 전적으로 설명을 위한 것입니다. 어떤 코퍼스나 모델도 측정되지 않았습니다. 240개의 대화가 있고, 각각 다섯 줄로 내보내졌다고 가정해 봅시다. 한 줄은 각 대화에서 정확히 동일한 복사본이고, 나머지 네 줄은 서로 다릅니다. 이 240개의 복사본을 제거하면 960개의 예시가 남고, 여전히 240개의 그룹으로 구성됩니다. 다음 교육적 선택은 그룹의 70%를 학습에, 15%를 검증에, 15%를 테스트에 배정합니다.
168개, 36개, 36개의 대화, 즉 672개, 144개, 144개의 예시가 나옵니다. 줄과 그룹의 비율이 여기서 일치하는 것은 대화당 네 개의 예시 때문입니다. 크기가 다양한 실제 코퍼스에서는 이것이 자동으로 성립하지 않습니다. 이 비율은 보편적인 규칙이 아니며, 각 세트에 충분한 그룹과 중요한 사례가 남아 있어야 합니다.
| 분할 | 전체 대화 | 예시 | 역할 |
|---|---|---|---|
| 학습 | 168 | 672 | 조정 |
| 검증 | 36 | 144 | 선택 |
| 최종 테스트 | 36 | 144 | 별도로 보관된 세트에서 확인 |
클래스, 길이, 시간 순서 확인
분할 후에는 클래스와 이를 포함하는 그룹을 계산하세요. 많은 행에 있지만 하나의 대화에만 있는 클래스는 독립적인 사례가 많지 않습니다. 또한 길이, 실제로 포함된 언어, 불완전한 문서, 결정에 중요한 카테고리를 조사하세요. 안심할 수 있는 평균은 중요한 사례의 예시가 전혀 없는 분할을 숨길 수 있습니다.
그룹과 함께하는 층화는 그룹을 분산시키지 않고 클래스 비율을 유지하려고 합니다. 그룹이 적거나 매우 불균형할 때 완벽한 균형을 보장하지는 않습니다. 과제가 미래 관측을 예측하는 것이라면 무작위 혼합보다 시간 순서 분리가 더 적절할 수 있습니다. 또한 변수가 예측 시점에 사용 가능했는지 확인하세요.
기술 출처: scikit-learn 1.9 — StratifiedGroupKFold와 그 한계 · scikit-learn 1.9 — 시계열 데이터 검증
출력을 판단할 수 있을 만큼 참조를 정확하게 만들기
예시와 경계 사례를 포함한 주석 지침을 작성하세요. 추출의 경우 누락된 필드의 의미, 날짜 형식, 통화, 허용되는 등가 표현을 명시하세요. 분류의 경우 카테고리 간의 경계를 설명하세요. 참조와 다른 답변이 항상 모델의 오류는 아닙니다. 참조가 모호하거나 잘못되었을 수 있습니다.
다양한 선택, 특히 불일치와 중요한 사례를 검토하게 하고, 결정을 기록하세요. 수정 사항은 데이터셋의 새 버전에 보관하세요. 수정이 비교 결과를 바꾸면, 동일한 참조에서 관련된 모든 변형을 재계산하세요. 선호하는 모델에 불리한 행만 수정하지 마세요.
GPU 캠페인 전에 평가 패키지 만들기
이 준비의 결과물은 규칙과 함께 식별 가능한 세트입니다. 노트북 기억에 의존하지 않고 데이터 선택을 재현할 수 있게 합니다. 임대 전에 이 패키지를 준비하면 파일이나 기준의 차이를 해결하는 데 계산 기간을 소모하는 것을 피할 수 있습니다.
- 식별자, 그룹, 분할 및 그 근거를 고정하세요. 이를 생성하는 스크립트나 목록을 보관하세요.
- 파티션 간 식별자, 그룹, 지문의 교차를 확인하세요. 예상치 못한 교차는 반드시 설명하거나 수정해야 합니다.
- 파티션, 클래스, 유용한 하위 그룹별 효과수를 내보내고, 제외 목록과 그 사유도 함께 내보내세요.
- 비교 전에 기준, 정규화 규칙, 주요 지표, 임계값을 확정하세요.
- 리비전, 지문, 사용 권한, 데이터 위치를 보존하세요. 지문은 식별을 보장할 뿐 익명성을 보장하지 않습니다.
- 최종 테스트에 대한 접근은 예정된 결정 시점까지 보류하고, 조회 및 프로토콜 변경 기록을 남기세요.
검증이 무엇을 입증하는지 파악하기
효과수가 인벤토리와 일치하고, 중복이 관리되며, 모든 출력이 명시적 규칙에 따라 판정될 수 있을 때 준비가 수용 가능합니다. 이는 모델이 성공할 것이라거나 모든 향후 용도가 대표된다는 것을 증명하지 않습니다. 작은 데이터셋은 특정 문제를 설명할 수 있지만 희귀 클래스에 대해 결론을 내리기에는 부족할 수 있습니다.
최종 테스트의 오류를 시스템 개선에 사용한다면, 해당 테스트는 이력으로 보존하고 새로운 독립적 확인을 준비하세요. 원본 데이터가 알려지지 않은 사전 학습 모델의 경우, 파티션으로는 이전 노출 여부를 입증할 수 없습니다. 데이터셋을 완전히 새로운 것으로 규정하기보다 이 한계를 문서화하세요.
실용적인 질문
항상 데이터의 20%를 테스트용으로 남겨야 하나요?
아니요. 유용한 비율은 독립 단위 수와 커버해야 할 사례에 따라 달라집니다. 그룹, 중요한 범주, 기대되는 결론의 정밀도를 확인하세요. 비율만으로는 정보 가치 있는 테스트를 보장하지 않습니다.
식별자가 다르면 중복을 제외하기에 충분한가요?
아니요. 두 내보내기가 식별자는 달라도 동일한 텍스트나 같은 문서의 변형을 포함할 수 있습니다. 내용과 출처를 확인한 뒤, 그룹화 규칙에 해당하는 파티션에 연관된 예시를 함께 두세요.
모델의 오류를 통해 모델을 수정한 뒤 테스트를 재사용해도 되나요?
이력 추적용으로 보존할 수는 있지만, 이미 개발에 참여한 것입니다. 별도로 보관된 데이터에서 개선을 확인하려면 새로운 독립 세트를 사용하고 각각의 역할을 명확히 밝히세요.