Study/Data Centric

데이터 구축 프로세스

김 도경 2025. 2. 18. 15:03
데이터 구축 프로세스
  • 데이터 구축 파이프라인

  • 데이터 수집 = 원시 데이터 수집 (Raw Data Collection)
    - 원시 데이터 수집 방법 : 직접 수집, 웹사이트로부터 크롤링, 오픈 소스 데이터 활용, 크라우드 소싱을 통한 데이터 수집

    - 데이터의 타당성 검토
       - 저작권을 침해하는 데이터를 포함하고 있는지 여부 검토
       - 개인정보를 포함하는 데이터를 포함하는지 여부 검토
       - 윤리적인 문제가 발생할 수 있는 데이터인지 여부 검토

       - 데이터 다양성 확보 획득하는 데이터가 일부 범주에만 치우치지 않고 가능한 다양한 시간, 공간, 집단 수준 등을 포함하도록 구성해야 함
       - 데이터 편향 방지 및 윤리 준수 인공지능 모델이 사회적 윤리를 준수할 수 있도록 비윤리적 내용, 편견, 편향된 데이터의 수집을 지양해야 함
       - 사실적 획득/수집 환경 구성 인위적인 환경이나 조건에서 수집해야 하는 경우, 실제 환경이나 상황적 특성을 최대한 반영하여 수집 환경을 구성해야 함
       - 법⋅제도 준수 원시 데이터 수집 시 관련 법이나 제도적 규정을 따라 수집해야 함 예) 개인정보가 포함된 데이터 수집 시 수집 및 활용에 동의받은 데이터만을 수집, 허가가 필요한 구역에서는 사전 허가를 받고 데이터를 수집

  • 데이터 전처리
    - 수집한 원시 데이터를 원천 데이터로 만들기 위해 가공 및 정제하는 단계

    - 데이터의 품질 확보
        - 수집된 원시 데이터를 양질의 원천 데이터로 만들기 위해 아래와 같은 전처리 과정을 수행하여 데이터의 품질을 확보
        - 품질 기준 마련 : 구축 목적에 알맞은 데이터를 선별하기 위한 명확한 기준을 수립하고, 기준미달의 데이터를 효과적으로 제거해야 함
        - 개인정보 비식별화 : 개인정보를 포함한 데이터의 경우, 데이터 내 정보의 손실이 일어나지 않도록 주의하며 해당 정보를 비식별화 처리함
        - 중복성 방지 : 유사한 데이터 및 특성이 없는 데이터를 제거하여 양질의 데이터를 추구함

    - 데이터 스키마 설계 (Design Data Schema)
        - 데이터를 데이터베이스에 어떻게 저장할 것인지의 구조(schema)를 설계하는 과정
        - 데이터를 구축하는 관점에서, 이는 어떻게 데이터 라벨링을 진행할지 등에 대해 기획하고 데이터셋이 필요로 하는 정보를 모두 담을 수 있도록 주석(annotation) 작업을 설계하는 과정
        - 의미 분할 (semantic segmentation) … 어느 정도 수준으로 분할할 것인지
             - 어느 정도의 양으로 정보를 압축할지
             - 추출 요약(extractive summarization)을 할 것인지, 추상 요약(abstractive summarization)을 할 것인지
             - 자동화할 수 있는 부분(→pseudo-labeling)과 인간이 직접 입력해야 하는 부분(→labeling)을 분리하는 것이 중요
        - 문서 요약 (document summarization) … 어느 정도 양으로 정보를 압축할 것인지, 추출 요약 vs. 추상 요약
        - 감성 분석 (sentiment analysis) … 전체 텍스트에 대한 한 개의 라벨링 vs. 텍스트에서 언급하는 요소별로 라벨링

  • 데이터 라벨링
    - 원천 데이터를 라벨링하기 위한 기준을 마련하고, 이를 바탕으로 체계적이고 통일된 라벨을 부여하는 단계
    - 가이드라인 작성 및 작업자 교육
         - 데이터 라벨링 체계를 설계하고, 이를 작업자(annotator)들에게 문서화하여 전달하는 단계
         - 데이터 구축 목적 정의, 사용 용어 정의, 데이터 구축 시 고려사항 등을 서술해야 함
         - 작업자에게 필수로 공개해야 하는 정보와 부가적인 정보가 무엇인지 사전에 고려해야 함
         - 라벨링 체계를 설명할 때 구체적인 예시를 첨부하는 것이 중요함
         - 구축과 검수 과정을 통해 지속적으로 개정하고, 어떤 것이 변화하였는지 버전 관리가 필요함

    - 데이터 라벨링 실시
         - 시범 구축 및 본 구축의 2단계로 나누어 진행하는 것이 데이터의 품질 향상에 많은 도움을 줌
         - 파일럿 테스트를 통한 소규모 데이터 구축 시 장점
               - 데이터 스키마 설계 시 발견하지 못한 이슈 및 문제점을 사전에 파악하고 개선
               - 가이드라인을 보완 및 개정한 후, 데이터셋의 구축 목적을 고려하여 작업자를 선정하는 것이 가능
         - 잘 설계된 Data Labeling Tool을 통해 데이터를 라벨링 하는 것이 핵심
               - Quality Control : 일관성 있고 정확한 데이터를 생성할 수 있는지
               - Efficiency : 시간을 단축하여 효율적으로 데이터를 쉽게 구축할 수 있는지
               - Scalability : 여러 작업자가 동시에, 대규모 데이터를 처리할 수 있는지

  • 데이터 클렌징
    - 라벨링된 데이터의 품질을 검수하고 기준 이하의 데이터를 정제하는 최종 클렌징 단계

    - 데이터 내재적 요소 검수
        - 최종 데이터가 가이드라인을 잘 따라 만들어졌는지, 작업자들 간 라벨링이 일치하는지를 평가하여
        - 이를 만족하지 못하는 데이터를 정제하는 단계
        - Inter Annotator Agreement(IAA)라는 평가 지표를 통해 확인 가능

    - 데이터 외재적 요소 검수
         - 데이터의 외재적 요소들을 확인 및 정제하는 단계
            - 데이터 다양성, 신뢰성, 충분성, 윤리 적합성 등 앞서 살펴본 모든 요소들
         - 외부 자문위원들을 통해서 진행하는 것이 가장 이상적
            - 기관생명윤리위원회 (Institutional Review Board, IRB) : 인간 대상 연구인 경우 IRB 기관 승인이 필요
            - 한국정보통신기술협회 (Telecommunications Technology Association, TTA) : 인공지능 학습용 데이터 구축 사업의 일환으로 수집되는 데이터들은 모두 TTA로부터 구축 계획서부터 완료 시점까지 지속적인 품질 검수 절차를 밟음


  • 데이터 스플릿
    -  원천 데이터 및 라벨링 데이터를 배포하기 위해 분할하는 단계
    - 학습, 검증 및 테스트 데이터로의 분할
        - 데이터 샘플링 기법을 활용하여 전체 데이터셋을 학습, 검증, 테스트 데이터로 3분할 진행

  • 데이터 릴리즈
    - 데이터의 구축 의도에 맞는 배포처를 정하고, 데이터의 활용에 필요한 정보를 담은 문서를 제작하여 배포하는 단계
       - 최종 데이터 배포 : 최종 데이터 산출물을 전달 혹은 배포하는 단계

    - 배포할 내용
        - 원천 데이터 및 라벨링 데이터
        - 버전 관리 체계에 맞는 버전 및 로그 기록
        - 데이터셋의 라벨 분포를 비롯한 샘플 데이터의 형태
        - 데이터 분석서 및 품질 평가서

    - 어디에 배포할 것인지?
        - 고객사 or 사내 모델개발팀
        - 저널 or 학회
        - 오픈소스 플랫폼(허깅페이스(Huggingface), 캐글(Kaggle), ...)

 

데이터 구축 프로세스의 진행
  • 데이터 구축 사이클
    - 소프트웨어 개발 사이클과 유사하게, 데이터 구축에도 데이터의 특성에 맞는 사이클이 존재함

    - 폭포수 모델 (Waterfall Model)
        - 순차적인 소프트웨어 개발 프로세스로, 개발의 흐름이 마치 폭포수처럼 지속적으로 아래로 향하는 것처럼 보이는 데서 유래됨
        - 이전 단계가 마무리되어야 다음 단계로 나아갈 수 있으며, 단계별 정의 및 산출물이 명확함
        - 대량의 리소스가 필요하여 빠른 이터레이션을 돌리기에 부적합한 데이터의 경우
        - 데이터 구축 과정에서 가이드라인 등의 변화가 생길 가능성이 적은 경우

    - 나선형 모델 (Spiral Model)
       - 순환적인 소프트웨어 개발 프로세스로, 일련의 개발 과정이 나선형을 그리며 반복된다는 점에서 유래됨
       - 단순히 순환하는 것이 아닌, 나선형으로 다루고자 하는 범주를 확장해 나가면서 리스크를 줄임
       - 소량의 고품질의 데이터를 만들어 빠르게 이터레이션을 돌리기에 적합한 경우
       - 리스크를 최대한 줄여야 하는 중요한 데이터 구축 사업인 경우
       - 데이터 구축을 장기간에 걸쳐 진행할 수 있는 경우


    - 프로토타입 모델 (Prototype Model)
    - 애자일 모델 (Agile Model)

  • 데이터 구축 프로세스의 특징
    - 일반적인 소프트웨어 구축 프로세스보다 유연성이 높음
    - 이전 프로세스 단계로 돌아가는 과정이 어렵지 않음
    - 예외 상황이 발생하기 쉬우며 이에 유연한 자세로 대처할 수 있어야 함

    - 어떤 모델을 사용하는지에 관계 없이 모든 데이터 구축 프로세스는 직렬적이지 않은 흐름으로 진행됨
         - 전처리를 하다가 충분한 양의 데이터가 확보되지 않으면 다시 데이터 수집 단계로 돌아갈 수도 있고,
         - 라벨링을 하다가도 데이터에 문제가 있으면 전처리로 돌아가야할 수도 있고,
         - 릴리즈를 했더라도 모델 성능이 낮으면 데이터 추가를 위해 수집 단계부터 재진행 할 수도 있음

'Study > Data Centric' 카테고리의 다른 글

데이터 수집  (3) 2025.03.06
데이터 구축 기획서  (0) 2025.03.06
Data-Centric AI의 미래  (1) 2025.02.18
Data-Centric AI가 산업에 미친 영향  (1) 2025.02.18
Data-Centric AI  (1) 2025.02.17