https://arxiv.org/pdf/2303.10158


Abstract:

  • 인공지능은 거의 모든 분야에서 큰 영향을 미치고 있으며, 그 성공의 핵심 요인 중 하나는 풍부하고 고품질의 데이터를 활용하여 머신러닝 모델을 구축하는 것임.
  • 최근 들어 데이터의 역할이 더욱 부각되면서 데이터 중심 AI라는 새로운 개념이 등장했음. 연구자들과 실무자들의 관심이 모델 설계의 발전에서 데이터의 품질과 양을 향상시키는 것으로 점차 이동하고 있음.
  • 논문에서는 왜 데이터 중심 접근법이 중요한지에 대해 설명함.
  • 그리고 3가지 데이터 중심 목표를 제시한다:
    • 훈련 데이터 개발: 모델 학습을 위한 데이터의 개선.
    • 추론 데이터 개발: 모델 적용 시 사용되는 데이터의 개선
    • 데이터 유지 관리: 데이터의 지속적인 관리와 업데이트
  • 논문과 연계된 데이터 중심 AI 리소스는 다음 github 를 참고:

 

Introduction:

  • 많은 주요 AI 돌파구는 적절한 학습 데이터에 접근한 후에야 발생했다고 함:
    • AlexNet: ImageNet 데이터셋을 기반으로 설계되어 컴퓨터 비전 분야에서 큰 발전을 이룸
    • AlphaFold: 주석이 달린 단백질 서열 데이터 없이는 불가능했을 과학적 발견을 이루었음.
    • 대규모 언어 모델: GPT-3, GPT-4와 같은 모델은 방대한 텍스트 데이터로 학습되어 자연어 처리 분야에서 혁신을 가져옴.
  • 학습 데이터뿐만 아니라, 잘 설계된 추론 데이터도 AI의 중요한 이슈를 인식하고 새로운 모델 능력을 발휘하는데 도움을 줌:
    • 적대적 샘플: 입력 데이터를 미세하게 조작하여 신경망을 혼란스럽게 만듦으로써 AI 보안 분야의 연구를 촉진함.
    • 프롬프트 엔지니어링: 모델을 변경하지 않고 입력 데이터를 조정하여 다양한 작업을 수행할 수 있게 해주었음.
  • 산업계에서도 데이터의 가치는 잘 인식되고 있으며, 대형 기술 기업들은 AI 시스템 구축을 위해 데이터를 조직하고 이해하며 디버깅할 수 있는 인프라를 구축하고 있음.
  • 데이터 중심 AI의 부상:
    • 전통적인 모델 중심 AI 라이프사이클에서는 연구자와 개발자가 데이터를 거의 변경하지 않고 더 효과적인 모델을 찾는 데 주로 집중함.
    • 그러나 이 모델 중심 접근법은 누락된 값, 잘못된 레이블, 이상치와 같은 데이터의 품질 문제를 간과한다.
    • 데이터 중심 AI는 AI 시스템을 구축하기 위해 데이터의 체계적인 엔지니어링을 강조하며, 초점을 모델에서 데이터로 이동시킴.
    • 여기서 “데이터 중심“은 단순히 데이터를 사용하는 “데이터 주도“와는 달리, 데이터 자체의 품질 향상과 엔지니어링에 중점을 둔다.
  • 여러 프로젝트와 연구가 데이터 중심 AI에 집중하고 있음:
    • Ng 등의 대회: 참가자들이 데이터셋만을 수정하여 모델 성능을 향상시키도록 유도
    • Snorkel: 수작업 라벨링 없이 휴리스틱 함수를 사용하여 자동으로 데이터를 주석 처리하는 시스템을 구축
  • 다양한 데이터 중심 AI 방법론의 등장:
    • 기존 연구 분야:
      • 데이터 증강: 데이터 다양성을 높이기 위한 방법으로 널리 연구되었음.
      • Feature Selection (특징 선택): 더 간결하고 유용한 데이터를 선택하기 위한 방법으로 오랫동안 연구되었음.
    • 새로운 연구 방향:
      • 데이터 프로그래밍: 빠르게 데이터를 라벨링하는 방법.
      • 알고리즘적 대응: 모델의 결정 과정을 이해하는 방법
      • 프롬프트 엔지니어링: 원하는 예측을 얻기 위해 대형 언어 모델의 입력을 수정하는 기술.
    • 자동화된 데이터 처리:
      • 자동 데이터 증강: 데이터 증강 과정을 자동화하여 효율성을 높임.
      • 자동화된 파이프라인 발견: 데이터 처리 파이프라인을 자동으로 생성
    • 인간-기계 협업:
      • 인간의 피드백을 통한 강화학습(RLHF)을 활용하여 모델이 인간의 의도와 일치하도록 함.
  • 논문의 구조:
    • 섹션 2: 데이터 중심 AI와 관련된 개념과 작업의 전반적인 개요를 제공합니다.
    • 섹션 3: 학습 데이터 개발의 필요성, 대표적인 방법, 도전 과제를 다룹니다.
    • 섹션 4: 추론 데이터 개발에 대해 논의합니다.
    • 섹션 5: 데이터 유지 관리에 관한 내용을 제공합니다.
    • 섹션 6: 다양한 작업에 대한 벤치마크를 요약합니다.
    • 섹션 7: 데이터 중심 AI를 전반적인 관점에서 논의하고 미래 방향을 강조합니다.
    • 섹션 8: 설문의 결론을 제시합니다.

 

Background:

  • 데이터 중심 AI에 대한 다양한 정의:
    • Ng et al.: “AI 시스템을 구축하기 위해 사용되는 데이터를 체계적으로 엔지니어링하는 학문” 으로 정의
    • Polyzotis와 Zaharia: “머신러닝을 위한 고품질 데이터셋을 구축하는 문제를 연구하는 흥미로운 새로운 연구 분야”라고 정의
    • Jarrahi et al.: 데이터 중심 AI는 “데이터 문제를 체계적이고 반복적인 접근 방식으로 다루는 것을 지지한다" 라고 정의
    • Miranda: 데이터 중심 AI는 “사용할 모델의 종류뿐만 아니라 현재 가진 데이터의 품질도 포함하는 문제들에 집중한다” 라고 정의
  • 주요 개념:
    • 학습 데이터(Training Data):
      • 학습 데이터는 머신러닝 모델의 학습 단계에서 사용되는 데이터
      • 모델은 학습 데이터를 활용하여 자신의 파라미터를 조정하고 예측을 수행하는 방법을 학습
    • 추론 데이터(Inference Data):
      • 추론 데이터는 머신러닝 모델의 추론 단계에서 사용되는 데이터
      • 모델 학습 후 성능을 평가하는 데 사용된다.
      • 추론 데이터를 조정하여 원하는 출력을 얻을 수 있다. 예를 들어, 언어 모델의 프롬프트를 조정하여 원하는 답변을 얻는 것이 이에 해당함.
    • 데이터 유지 관리(Data Maintenance):
      • 데이터의 품질과 신뢰성을 유지하는 과정을 말함.
      • 데이터를 이해하고 디버깅하기 위한 효율적인 알고리즘, 도구, 인프라를 포함함.
      • 데이터 유지 관리는 AI에서 매우 중요한 역할을 하며, 학습 데이터와 추론 데이터의 정확성과 일관성을 보장한다.
    • 데이터 중심 AI(Data-centric AI):
      • AI 시스템을 위해 데이터를 개발하고, 반복하며, 유지 관리하는 프레임워크를 말함.
      • 효과적인 학습 데이터를 구축하는 작업과 방법
      • 적절한 추론 데이터를 설계하는 방법.
      • 데이터를 지속적으로 유지 관리하는 절차와 도구.

 

 

Data Centric AI Tasks:

  • 세 가지 주요 목표로 분류:
    • 학습 데이터 개발(Training Data Development):
      • 머신러닝 모델의 학습을 지원하기 위해 풍부하고 고품질의 학습 데이터를 수집하고 생성하는 역할
      • 다섯 가지 하위 목표:
        • 데이터 수집(Data Collection): 원시 학습 데이터를 수집
        • 데이터 라벨링(Data Labeling): 정보가 담긴 레이블을 추가
        • 데이터 준비(Data Preparation): 데이터를 정제하고 변환
        • 데이터 축소(Data Reduction): 성능 향상을 목표로 데이터 크기를 감소시킴
        • 데이터 증강(Data Augmentation): 더 많은 데이터를 수집하지 않고도 데이터 다양성을 향상시킴.
    • 추론 데이터 개발(Inference Data Development):
      • 모델에 대한 더 세밀한 통찰력을 제공하거나, 엔지니어링된 데이터 입력을 통해 모델의 특정 능력을 유발하는 새로운 평가 세트를 생성
      • 세 가지 하위 목표:
        • 분포 내 평가(In-distribution Evaluation): 학습 데이터 분포를 따르는 샘플을 생성. 모델이 학습한 데이터와 유사한 분포의 데이터에서 모델을 평가하는 방식으로 모델이 얼마나 잘 일반화되는지 평가하기 위함임.
        • 분포 외 평가(Out-of-distribution Evaluation): 학습 데이터 분포와 다른 샘플을 생성. 모델이 학습한 데이터와 다른 상황에서 얼마나 잘 대응하는지를 평가하기 위함으로, 모델의 견고성을 확인하기 위함임.
        • 프롬프트 엔지니어링(Prompt Engineering): 언어 모델에서 원하는 예측을 얻기 위해 프롬프트를 조정
    • 데이터 유지 관리(Data Maintenance):
      • 동적 환경에서 데이터의 품질과 신뢰성을 보장하기 위해 지속적인 유지 관리가 필요함.
      • 데이터 이해(Data Understanding): 복잡한 데이터의 시각화와 평가를 제공하여 인간이 가치 있는 통찰력을 얻을 수 있도록 함.
      • 데이터 품질 보증(Data Quality Assurance): 데이터를 모니터링하고 수정하기 위한 정량적 측정 및 품질 개선 전략을 개발
      • 데이터 저장 및 검색(Data Storage & Retrieval): 적절한 자원 할당과 효율적인 쿼리 처리를 통해 필요한 데이터를 공급하기 위한 효율적인 알고리즘을 고안

 

 

데이터 중심 AI에서 자동화의 중요성:

  • 데이터 증강과 특징 변환 (Feature Transformation) 등에서 자동화에 대한 관심이 증가하고 있음.
  • 자동화는 결과의 일관성을 높이고 인간 오류의 가능성을 줄여줌.
  • 반면에 일부 작업에서는 데이터가 우리의 의도와 일치하도록 하는 인간 참여가 필수적:
    • 예를 들어, 데이터 라벨링 284에서는 인간이 머신러닝 알고리즘이 원하는 예측을 학습할 수 있도록 중요한 역할을 함.
    • 인간 참여의 필요성은 우리의 목표가 데이터를 인간의 기대와 일치시키는지 여부에 따라 달라짐.
  • 각 연구를 자동화 지향과 협업 지향 방법으로 분류한다:
    • 자동화 지향 방법: 프로세스의 자동화에 초점을 맞추며, 다양한 자동화 수준이 있음.
    • 협업 지향 방법: 인간의 참여를 필요로 하며, 인간 참여의 정도에 따라 구분됨.
  • 자동화의 여러 수준:
    • 프로그래밍적 자동화: 휴리스틱과 통계 정보를 기반으로 프로그램을 사용하여 데이터를 자동으로 처리함.
    • 학습 기반 자동화: 최적화를 통해 자동화 전략을 학습하며, 더 유연하고 적응적이지만 추가적인 학습 비용이 필요함.
    • 파이프라인 자동화: 여러 작업에 걸쳐 전략을 통합하고 조정하여 전반적으로 최적의 전략을 식별하지만 조정 비용이 높을 수 있음.

 

Training Data Development:

  • 학습 데이터는 머신러닝 모델의 기반을 형성하며, 그 품질과 양은 모델의 성능에 직접적인 영향을 미침. 따라서, 효과적이고 효율적인 학습 데이터의 생성과 처리가 중요.
  • 데이터 생성과 처리의 주요 단계:
    • 데이터 생성(Data Creation): 인간의 의도를 데이터셋에 효과적이고 효율적으로 인코딩하는 과정으로 데이터 수집(Data collection) 과 데이터 라벨링 (Data Labelling) 이 있다.
    • 데이터 처리(Data Processing): 데이터를 학습에 적합하게 만드는 과정으로 데이터 처리 (Data processing), 데이터 축소 (Data reduction), 데이터 증강 (Data Augmentation) 이 있다.
    • 파이프라인 검색 (Pipeline search) 는 위의 단계들을 연결하고 가장 효과적인 종단 간 솔루션을 찾기 위한 최신 동향임.

 

 

데이터 수집 (Data Collection):

  • 다양한 소스로부터 데이터를 수집하고 획득하는 과정으로, 데이터의 품질과 양을 근본적으로 결정한다.
  • 데이터 수집에서는 도메인 지식이 중요하다:
    • 추천 시스템을 구축할 때 어떤 사용자나 아이템 특징을 수집할지 결정하는 데 도메인 지식이 필요함.
    • 금융 시장과 거래 전략에 대한 지식은 더 현실적인 합성 이상치를 생성하는 데 도움이 됨.
    • 도메인 지식은 이해관계자의 의도와 일치하는 데이터를 수집하고, 데이터의 관련성과 대표성을 보장하는 데 필수적임.
  • 효율적인 데이터 수집 전략이 중요하다:
    • 데이터를 처음부터 수동으로 수집하는 것은 시간이 많이 소요되니까.
    • 대표적인 방법들은 다음과 같다:
      • 데이터셋 발견(Dataset Discovery):
        • 데이터 레이크(원시 형식으로 저장된 데이터셋 저장소)에서 사용자 지정 쿼리(예: 원하는 속성 이름)를 기반으로 관련 있고 유용한 데이터셋을 식별하는 방법.
        • 데이터셋을 그래프로 추상화하여 열(컬럼)을 노드로, 열 간의 관계를 엣지로 표현해서 발견
        • 사용자들이 복잡한 쿼리 논리를 표현할 수 있는 맞춤형 쿼리 언어를 설계해서 발견
        • 테이블 유니온 검색(Table Union Search)을 통해 속성 값의 중복을 기반으로 데이터셋의 결합 가능성을 측정
        • 최근 연구에서는 속성 이름, 값의 중복, 워드 임베딩, 형식, 도메인 분포 등을 고려하여 관련성을 더 포괄적으로 측정한다.
      • 데이터 통합(Data Integration):
        • 다른 소스의 여러 데이터셋을 하나의 통합된 데이터셋으로 결합하는 방법.
      • 원시 데이터 합성(Raw Data Synthesis):
        • 실제 데이터를 수집하는 대신, 특정 목적을 달성하기 위해 필요한 데이터를 인공적으로 생성하는 방법임.
        • 이는 데이터를 수집하기 어려운 상황에서 필요한 패턴이나 정보를 포함한 데이터셋을 만들기 위해 자주 사용된다.
        • 데이터 증강이 기존 데이터를 가지고 변형해서 다양한 데이터를 생성하는 것이라면, 데이터 합성은 도메인 지식과 특정 패턴을 이용해서 새로운 데이터를 만들어내는 것이 목적.
  • 도전 과제:
    • 데이터셋은 종종 다양하고 서로 잘 정렬되지 않아, 그 관련성을 측정하거나 적절하게 통합하는 것이 쉽지 않음.
    • 기존 데이터셋에서 데이터를 효과적으로 합성하는 것도 도메인 지식에 크게 의존하기 때문에 어려움.
    • 현실 상황에서 요구 사항에 맞는 적절한 데이터셋을 찾을 수 없을 수 있으며, 처음부터 데이터를 수집해야 할 수도 있음.
    • 새로운 데이터를 수집하는 것은 사전 동의, 데이터 프라이버시, 데이터 보안과 관련된 윤리적 고려 사항을 포함시킨다.

 

 

데이터 라벨링 (Data Labeling):

  • 데이터 라벨링은 데이터셋에 하나 이상의 설명적 태그나 라벨을 할당하여 알고리즘이 라벨링된 데이터로부터 학습하고 예측할 수 있도록 하는 과정임.
  • 대규모 데이터셋의 경우, 수동으로 라벨링하는 것은 시간과 자원이 많이 소요되는 작업이라서 인간의 노력을 줄이기 위한 효율적인 라벨링 방법들이 제안됨.
  • 라벨링의 중요성:
    • 모델의 인간 의도 반영: 라벨링은 모델이 학습 데이터에서 인간의 의도를 정확하게 반영하도록 보장하는 데 중요한 역할을 함.
    • 올바른 라벨링이 없으면 모델은 원하는 예측을 수행할 수 없음.
  • 효율적인 라벨링 전략:
    • 크라우드소싱 라벨링 (Crowdsourced Labeling):
      • 라벨링 작업을 더 작고 관리하기 쉬운 부분으로 분할하여 비전문가 주석자들에게 분산시키는 접근법임.
    • 반지도 학습 라벨링 (Semi-supervised Labeling):
      • 소량의 라벨링된 데이터를 활용하여 라벨이 없는 데이터의 라벨을 추론하는 방법
      • 자기 학습(Self-training): 라벨링된 데이터로 분류기를 학습하고, 이를 사용하여 가짜 라벨(pseudo labels)을 생성함.
    • 능동 학습 (Active Learning):
      • 알고리즘이 각 반복에서 라벨이 없는 샘플을 선택하여 인간에게 라벨링을 요청하는 전략임.
      • 샘플의 불확실성을 추정하여 가장 불확실한 샘플을 선택한다.
    • 데이터 프로그래밍 (Data Programming):
      • 인간이 설계한 라벨링 함수를 기반으로 라벨을 추론하는 약지도 학습 접근법임.
      • 라벨링 함수는 주로 휴리스틱 규칙이며, 데이터 유형에 따라 다르다.
      • 라벨링 함수가 항상 인간의 의도와 일치하지 않을 수 있음.
    • 원격 감독 (Distant Supervision):
      • 데이터 라벨링의 한 약지도 학습(Weakly Supervised Learning) 접근법으로, 외부 소스를 활용하여 자동으로 라벨을 할당하는 방법.
      • 예를 들어, Freebase와 같은 지식 그래프를 사용하여 텍스트 내의 엔티티 간의 관계를 식별해서 라벨링하는 방법임. 예를 들어, 문장에서 “스티브 잡스는 애플의 공동 창립자이다”라는 문장이 있을 때, Freebase를 참조하여 “스티브 잡스”와 “애플” 간의 “창립자” 관계를 자동으로 라벨링할 수 있음.
      • 이 방법은 특히 대규모 데이터셋에서 수동으로 라벨을 지정하는 것이 비효율적이거나 비용이 많이 들 때 유용하게 사용됨.
  • 도전 과제:
    • 주요 도전 과제는 라벨의 품질과 양, 그리고 재정적 비용 간의 균형을 맞추는 것임:
      • 충분한 재정 지원이 있다면 전문 주석자를 고용하여 고품질의 라벨을 충분히 얻을 수 있지만 다 그런 것은 아닐 것.
      • 그래서 재정에 맞게 효율적인 라벨링 전략을 고려해야 하 수 있다.
    • 지침이 디자이너에게는 명확해도 주석자가 잘못 해석하여 라벨링 노이즈가 발생할 수 있다는 것을 알고 있어야함.

 

 

데이터 준비 (Data Preparation):

  • 데이터 준비는 원시 데이터를 모델 학습에 적합한 형식으로 정리하고 변환하는 과정을 말함.
  • 전통적으로 이 과정은 많은 엔지니어링 작업과 반복적인 시행착오를 필요로 했는데 여기서는 자동화를 위해서 다양한 정제 및 변환 과정 전략을 탐색하는 검색 알고리즘을 사용한다. 그러니까 다양한 데이터 준비 전략 (e.g 결측치 처리 방법, Feature Transformation 등) 을 시도하고, 어떤 전략이 가장 나은지 찾아내는 것임. 이 검색을 위해서 강화 학습 또는 유전 알고리즘 또는 그리드 검색 같은 방법이 사용된다.
  • 원시 데이터는 노이즈, 불일치, 불필요한 정보 등의 문제로 인해 모델 학습에 바로 사용하기 어려움. 이러한 문제들은 부정확하고 편향된 결과를 초래할 수 있다. 예를 들어, 모델이 노이즈나 이상치, 관련 없는 특징에 과적합되어 일반화 능력이 감소할 수 있고, 민감한 정보(예: 인종, 성별)를 제거하지 않으면, 모델이 의도치 않게 편향된 예측을 학습할 수 있다. 특징 값들이 서로 다른 스케일이거나 편향된 분포를 따르면 모델 성능에 부정적인 영향을 줄 수 있음. 따라서 데이터를 정리하고 변환하는 것은 필수적이다. 데이터 준비가 데이터 과학자의 업무 중 약 80%를 차지한다고 함.
  • 데이터 준비의 세 가지 주요 목표인 데이터 정제, 특징 추출, 특징 변환을 달성하기 위한 기술들을 살펴보자:
    • 데이터 정제 (Data cleaning):
      • 데이터 정제는 데이터셋에서 오류, 불일치, 부정확성을 식별하고 수정하는 과정임.
      • 전통적인 방법은 평균이나 중앙값으로 결측치를 대체하거나, 모든 데이터를 스캔하여 중복을 찾는 등의 프로그래밍 자동화를 사용한다.
      • 그러나 이러한 휴리스틱은 부정확하거나 비효율적일 수 있음.
      • 이에 따라 학습 기반 방법들이 개발되었는데, 예를 들어 회귀 모델을 훈련하여 결측치를 예측하거나, 샘플링을 통해 중복을 효율적으로 추정하고, 레이블 오류를 수정하는 등의 방법이 있다.
      • 최근의 데이터 정제 방법들이 최종 모델 성능 향상에 초점을 맞추고 있고 있음. 데이터 자체를 깨끗하게 만드는 작업으로 보지 않고, 모델의 예측 성능을 최대한 높이는 것을 목표로 함.
      • 이러한 접근법은 데이터 정제를 모델 성능과 연결해서 생각하는 것. 즉, 데이터를 어떻게 정제하느냐에 따라 모델의 성능이 크게 달라질 수 있기 때문에, 최적의 데이터 정제 전략을 선택하는 것이 중요하기 떄문.
      • 검색 알고리즘을 사용한 데이터 정제의 최적화는 다음과 같은 과정을 포함할 것:
        • 여러 정제 전략 탐색: 결측치를 처리하거나 이상치를 제거하는 다양한 방법이 존재할 것. 예를 들어, 결측치를 평균값으로 채우거나, 회귀 모델을 사용해 예측하거나, 단순히 제거하는 방법 등이 있을 것이고, 검색 알고리즘은 이러한 다양한 전략들을 탐색한다.
        • 전략 조합 평가: 각 데이터 정제 전략을 적용한 후 모델을 학습시키고 검증 데이터에 대해 성능을 평가한다. 이 검증 데이터의 성능을 가지고 각 전략의 효율성을 평가함.
        • 최적 전략 선택: 검색 알고리즘은 검증 성능이 가장 높은 정제 전략을 선택한다.
    • 특징 추출 (Feature Extraction):
      • 특징 추출은 원시 데이터에서 관련 있는 특징을 추출하는 중요한 단계임.
      • 전통적인 머신러닝 모델을 훈련하기 위해서는 대상 데이터 유형에 대한 도메인 지식을 기반으로 특징을 추출해야 했다. 예를 들어, 이미지에서는 색상, 질감, 밝기 등의 특징이 사용되며, 시계열 데이터에서는 시간적, 통계적, 스펙트럼 특징이 고려되었음.
      • 반면에 딥러닝은 신경망의 가중치를 학습하여 특징을 자동으로 추출하므로 도메인 지식이 덜 필요했음. 예를 들어, 합성곱 신경망(CNN)은 이미지와 시계열 데이터는 모두에서 사용할 수 있다. 딥러닝 특징 추출기는 데이터와 모델의 경계를 모호하게 만드는데, 이는 데이터에 작용하면서도 모델의 일부분이기 때문이다.
      • 딥러닝은 고품질의 특징 표현을 학습할 수 있지만, 추출 과정이 해석하기 어렵고 학습된 표현에서 편향을 증폭시킬 수 있음.
      • 따라서 중요한 분야해서 해석 가능성과 편향 제거를 위해 전통적인 방법이 선호되기도 함. 금융이나 의료와 같은 고위험 분야에서는 모델이 어떤 이유로 특정 결정을 내렸는지를 명확히 이해할 수 있어야 하기 때문.
    • 특징 변환 (Feature Transformation):
      • 특징 변환은 원래의 특징을 새로운 특징 집합으로 변환하는 과정으로 모델의 성능을 향상시키기 위한 것임.
      • 일반적인 변환으로는 특징 값을 특정 범위로 스케일링하는 '정규화'와 평균이 0이고 표준편차가 1이 되도록 변환하는 '표준화'가 있음.
      • 그 외에도 긴 꼬리 분포를 완화하기 위한 로그 변환이나, 곱셈을 통해 새로운 특징을 생성하는 다항식 변환 등이 있다.
      • 이러한 변환 방법들은 모델 성능을 향상시키기 위해 다양한 방식으로 결합될 수 있음.
      • 예를 들어, 어떤 연구에서는 주어진 데이터셋에 대해 각 노드가 변환 유형인 변환 그래프를 구축하고, 강화 학습을 통해 최적의 변환 전략을 탐색했음.
  • 도전 과제:
    • 데이터를 적절히 정제하고 변환하는 것은 다양한 데이터셋의 고유한 특성 때문에 어려운 일이긴 함.
    • 예를 들어, 텍스트 데이터의 오류와 불일치는 시계열 데이터와 매우 다를 것.
    • 심지어 동일한 데이터 유형을 가진 두 데이터셋이라도 그들의 특징 값과 잠재적인 문제는 크게 다를 수 있다:
      • 같은 유형의 시계열 데이터라고 하더라도 다른 점이 있을 수 있음:
        • 데이터의 분포: 한 데이터셋은 상대적으로 일정한 패턴(예: 주식 가격)이 있을 수 있지만, 다른 데이터셋은 매우 불규칙적이거나 갑작스러운 변화(예: 지진 데이터)가 많을 수 있음.
        • 결측치와 이상치: 하나의 데이터셋에는 결측치가 거의 없고, 값들이 전반적으로 균일할 수 있지만, 다른 데이터셋에는 결측치가 많거나 이상치가 자주 나타날 수 있음.
        • 스케일 차이: 첫 번째 데이터셋의 값은 작은 범위(예: 0에서 10 사이)를 가질 수 있지만, 두 번째 데이터셋은 매우 큰 값의 범위를 가질 수 있음.
      • 이러한 차이로 인해, 데이터를 준비할 때 동일한 정제 및 변환 전략을 사용하면 각 데이터셋에서 효과가 다르게 나타날 수 있음:
        • 한 데이터셋에서는 결측치를 평균값으로 채우는 것이 효과적일 수 있지만, 다른 데이터셋에서는 중앙값으로 채우는 것이 적합할 수 있다.
        • 특정 데이터셋에서는 이상치를 제거하는 것이 모델 성능을 크게 향상시킬 수 있지만, 다른 데이터셋에서는 이상치가 중요한 정보를 포함하고 있어 제거하면 안 될 수 있다.
    • 적절한 검색 공간을 설계하는 것은 여전히 어려운 일이고, 검색 과정에서 많은 시간이 소요될 수 있음:
      • 그러니까 이건 자동화된 데이터 정제 및 변환 전략을 탐색하는 과정에서 어떤 전략들을 포함시킬지, 그리고 어떻게 이들을 탐색할지를 결정하는 것이 쉽지 않다는 것.
      • 검색 공간은 알고리즘이 최적의 데이터 준비 전략을 찾기 위해 탐색하는 가능한 모든 조합이나 옵션의 집합을 의미함.
      • 데이터 준비 과정에서 사용할 수 있는 전략이 매우 많기 때문에, 어떤 전략을 포함해야 할지 결정하는 것은 어려움.
      • 잘못된 검색 공간을 설계하면 효율적으로 탐색할 수 없거나 중요한 전략이 누락될 수 있음.

 

 

데이터 축소 (Data Reduction):

  • 주어진 데이터셋의 복잡성을 줄이면서도 핵심 정보를 유지하는 것이 목적임. 이는 주로 특징 수(feature size) 또는 샘플 수 (sample size) 를 줄임으로써 달성된다.
  • 데이터 축소의 필요성:
    • 데이터가 전례 없이 빠른 속도로 수집됨에 따라, 데이터 축소는 학습 효율성 향상에 중요한 역할을 함.
    • 샘플 수 관점에서, 샘플 수를 줄이면 메모리 및 계산 부담을 완화하는 동시에 간결하면서도 대표성 있는 데이터셋을 만들 수 있음.
      • 예를 들어, 다수 클래스의 샘플을 다운샘플링하여 데이터 불균형 문제를 완화할 수 있음.
    • 특징 수를 줄이는 것도 많은 이점을 제공한다:
      • 관련 없거나 중복된 특징을 제거하면 과적합(overfitting) 위험을 줄일 수 있음.
      • 특징 수가 적으면 모델 배포 시 더 빠른 학습과 추론이 가능함.
      • 일부 특징만 유지하면 모델이 더 해석 가능해짐.
  • 특징 크기 축소를 위한 방법:
    • 특징 선택(Feature Selection):
      • 특징 선택은 목표 작업에 가장 관련 있는 특징의 부분 집합을 선택하는 방법임.
      • 이는 크게 필터 방법, 래퍼(wrapper) 방법, 임베디드(embedded) 방법으로 분류됨:
        • 필터 방법:
          • 정보 이득(information gain)과 같은 통계적 속성을 기반으로 하는 점수 함수를 사용하여 특징을 독립적으로 평가하고 선택하는 것.
          • 효율적이지만, 특징 간의 의존성과 모델과의 상호 작용을 무시한다.
        • 래퍼 방법:
          • 모델의 성능을 활용하여 선택된 특징의 품질을 평가하고, 반복적으로 선택을 개선하는 것.
          • 더 나은 성능을 달성하지만 계산 비용이 높다.
        • 임베디드 방법:
          • 임베디드 방법은 특징 선택을 모델의 내부 메커니즘에 포함시켜, 학습 과정에서 자동으로 특징을 평가하고 선택하도록 하는 방법임.
          • 학습 과정에서 중요한 특징은 더 많은 가중치를 받으며, 덜 중요한 특징은 무시되거나 제외됨.
          • 학습 과정에서 특징 선택이 통합되어 있는 것임.
        • 능동 특징 선택(Active Feature Selection):
          • 인간의 지식을 고려하여, 가장 적합한 특징을 점진적으로 선택하는 것.
    • 차원 축소(Dimensionality Reduction):
      • 차원 축소는 고차원 특징을 가장 대표적인 정보를 유지하면서 저차원 공간으로 변환하는 것을 목표로 함.
      • 고차원 데이터는 종종 과적합(overfitting)을 초래할 수 있음. 차원 축소는 중요한 정보만 남겨두고 불필요한 특징을 제거하여 과적합을 방지.
      • 계산 효율성을 위해서도 사용되고, 모델의 해석 가능성도 높혀줌.
      • 기존의 방법은 주로 선형 기법과 비선형 기법으로 분류된다.
      • 선형 기법:
        • 원본 데이터의 특징들을 선형 결합하여 새로운 특징을 생성함.
        • 주성분 분석(PCA):
          • 분산을 기반으로 원본 특징의 직교 선형 결합을 수행하는 비지도 학습 방법임.
        • 선형 판별 분석(LDA):
          • 클래스 간 분리를 잘하는 선형 특징 결합을 통계적으로 학습하는 지도 학습 방법임.
        • 특징 간의 복잡하고 비선형적인 관계가 있을 때는 항상 좋은 성능을 내지 못할 수 있음.
      • 비선형 기법:
        • 비선형 매핑 함수를 활용하여 이 문제를 해결함.
        • 오토인코더(Autoencoder): 신경망을 사용하여 원본 특징을 저차원 공간으로 인코딩하고, 신경망 디코더로 특징을 재구성함.
  • 샘플 크기 축소를 위한 방법:
    • 샘플의 축소는 일반적으로 인스턴스 선택(Instance Selection) 을 통해 이뤄짐. 이는 데이터셋의 원래 속성을 유지하면서 대표적인 샘플 부분 집합을 선택하는 것.
    • 인스턴스 선택은 전체 데이터셋에서 가장 중요한 데이터 샘플의 부분 집합을 선택하는 것을 말함. 불필요한 샘플을 제거하여 데이터 크기를 줄임
    • 기존 연구는 래퍼 방법과 핕터 방법이 있다.
    • 필터 방법:
      • 점수 함수를 기반으로 인스턴스를 선택하는 것.
      • 예를 들면 경계 인스턴스(border instances) 를 선택하는 것. 경계 인스턴스는 데이터 셋 내에서 클래스간의 경계 근처에 위치한 데이터 포인트를 말함.
    • 래퍼 방법:
      • 모델 성능을 기반으로 인스턴스를 선택하며, 모델과의 상호 작용 효과를 고려하는 것.
    • 인스턴스 선택 기술은 다수 클래스의 샘플을 언더샘플링해서 데이터 불균형 문제를 완화하는 식으로도 사용될 수 있다.
    • 최근 연구에서는 강화 학습을 채택하여 최적의 언더샘플링 전략을 학습하기도 한다.
  • 도전 과제:
    • 대표성 있는 데이터 선택 또는 최소한의 정보 손실로 저차원 공간에 데이터 투영하는 것은 쉽지 않음. 학습 기반 방법으로 부분적으로 이 문제를 해결할 수 있지만, 매우 큰 데이터셋을 다룰 때는 상당한 계산 자원이 필요할 수 있을 것. 따라서 높은 정확도를 얻으려면 계산이 많이 들어갈 것임.
    • 데이터 축소는 잠재적으로 데이터 편향을 증폭시킬 수 있어 공정성 문제를 야기할 수 있음. 선택된 특징이 인종과 성별과 과도하게 연결될 수 있음.
    • 공정성을 고려한 데이터 축소는 중요한 동시에 아직 충분히 탐구되지 않은 연구 방향임.

 

 

데이터 증강 (Data Augmentation):

  • 데이터 증강(Data Augmentation) 은 기존 데이터에 인위적인 변형을 가하여 데이터의 양과 다양성을 증가시키는 기법으로, 모델의 성능을 향상시키는 목적으로 사용됨.
  • 비록 데이터 증강과 데이터 축소가 상반된 목표를 가진 것처럼 보이지만, 서로 함께 사용될 수 있음. 데이터 축소는 중복된 정보를 제거하는 데 초점을 맞추거나, 데이터 불균형 문제를 완화하기 위한 방법이라면 데이터 증강은 데이터의 다양성을 높이는 것을 목표로 함.
  • 데이터 증강의 필요성:
    • 딥러닝은 효과적으로 학습하기 위해 대량의 데이터를 필요로 함.
    • 그러나 특히 라벨이 있는 데이터를 수집하는 것은 노동 집약적이고 비용이 많이 든다.
    • 데이터 증강은 기존 데이터 포인트에 변화를 주어 유사하지만 변형된 데이터를 생성함으로써, 모델이 더 많은 학습 예시에 노출되도록 도와줌.
    • 모델의 정확도, 일반화 능력, 강건성을 높이기 위해서 데이터 증강을 사용한다.
    • 데이터 증강은 특히 제한된 데이터만 이용할 수 있는 응용 분야에서 특히 중요. 예를 들어, 의료 데이터는 잘 라벨링된 데이터를 획득하는 데 많은 비용과 시간이 소요된다.
    • 데이터 증강은 각 클래스의 학습 샘플 비율이 불균형한 경우, 소수 클래스의 데이터를 증강하여 클래스 불균형 문제를 완화할 수 있다.
  • 일반적인 데이터 증강 기법:
    • 일반적으로, 데이터 증강 방법은 기존 데이터를 조작하여 변형을 생성하거나 새로운 데이터를 합성하는 방법임.
    • 각 범주에서 대표적인 기법에 대해서 보자:
    • 기본적인 조작 방법 (Basic Manipulation):
      • 이 접근법은 원본 데이터 샘플에 작은 수정을 가하여 직접적으로 증강된 샘플을 생성하는 방법.
      • 컴퓨터 비전 분야에서는 확대, 회전, 뒤집기, 블러 처리 등의 다양한 전략이 제안됨.
      • 주목할 만한 방법으로 Mixup 이 있음. 기존의 두 개의 데이터 샘플과 그 라벨을 선형적으로 혼합하여 새로운 데이터 샘플을 생성하는 방법입.
      • 최근 연구에서는 학습 기반 알고리즘을 사용하여 증강 전략을 자동으로 탐색하는 AutoAugment 가 있음. 이는 강화 학습을 통해 증강 정책을 반복적으로 개선하는 방법임.
      • 이미지 데이터 외에도, 기본적인 조작 방법은 다른 데이터 유형에 맞게 조정되어야 할 것임:
        • 시계열 데이터 증강:
          • 시계열 데이터는 시간에 따라 순차적으로 기록된 데이터로, 금융 데이터, 센서 데이터, 의료 기록 등 다양한 분야에서 사용됨.
          • 시계열 데이터 증강은 데이터의 시간적 연속성과 패턴을 유지하면서 다양성을 증가시키는 것이 중요.
          • 이를 위한 주요 증강 기법은 다음과 같다:
            • 지터링(Jittering):
              • 원본 시계열 데이터에 작은 랜덤 노이즈를 추가하여 변형된 데이터를 생성하는 기법.
              • 모델의 강건성을 높임.
            • 스케일링(Scaling):
              • 시계열 데이터의 값을 특정 비율로 확대하거나 축소.
              • 모델의 강건성을 높임.
            • 시간 왜곡(Time Warping):
              • 시간 축을 늘리거나 줄여 시계열의 시간적 특성을 변형.
              • 다양한 속도로 발생하는 패턴을 학습하도록 함. 모델의 일반화를 높임.
            • 윈도우 슬라이싱(Window Slicing)
              • 시계열 데이터의 일부분을 잘라내어 새로운 샘플을 생성함.
              • 데이터의 다양한 부분을 학습하게 하여 모델의 일반화 능력을 향상시킴.
            • 역방향 재생(Reverse Playback)
              • 시계열 데이터를 반대로 재생하여 새로운 샘플을 생성함.
              • 데이터의 패턴이 방향에 무관하게 학습되도록 하는 방법임.
              • 모델이 특정 시간 순서나 패턴에 과도하게 적합되는 것을 방지하는 것이 목적.
              • 더 많은 패턴을 학습하도록 하기 위함임.
        • 텍스트 데이터(Text Data) 증강:
          • 텍스트 데이터는 자연어 처리(NLP)에서 많이 사용되며, 문장이나 단어의 순서, 의미를 유지하면서 데이터를 증강하는 것이 중요.
          • 주요 증강 기법은 다음과 같음:
            • 동의어 대체(Synonym Replacement):
              • 문장 내 일부 단어를 동의어로 교체하여 새로운 문장을 생성하는 것.
              • 문장의 의미를 유지하면서 다양한 표현을 학습하도록 하는 것.
            • 랜덤 삽입(Random Insertion):
              • 문장에 관련 단어를 랜덤하게 삽입하여 변형된 문장을 생성하는 것.
              • 문장의 길이를 다양하게 만들어 모델의 유연성을 높이는 것임.
            • 랜덤 교환(Random Swapping):
              • 문장 내 단어의 순서를 랜덤하게 교환하여 새로운 문장을 생성하는 것.
              • 단어의 순서에 대한 모델의 강건성을 높이는 것.
            • 백-번역(Back Translation):
              • 문장을 다른 언어로 번역한 후 다시 원래 언어로 번역하여 새로운 문장을 생성하는 것.
              • 자연스러운 문장 변형을 통해 데이터의 다양성을 증가시키는 것임.
        • 그래프 데이터(Graph Data) 증강:
          • 그래프 데이터는 노드와 엣지로 구성된 데이터로, 소셜 네트워크, 화학 구조, 지식 그래프 등 다양한 분야에서 사용됨.
          • 그래프 데이터 증강은 그래프의 구조적 특성을 유지하면서 다양성을 증가시키는 것이 중요
          • 주요 증강 기법은 다음과 같음:
            • 노드 드로핑(Node Dropping):
              • 그래프에서 일부 노드를 랜덤하게 제거하여 새로운 그래프를 생성하는 것.
            • 엣지 교란(Edge Perturbation):
              • 그래프의 일부 엣지를 추가하거나 제거하여 새로운 그래프를 생성하는 것.
            • 속성 마스킹(Attribute Masking):
              • 노드나 엣지의 속성을 랜덤하게 마스킹하여 새로운 그래프를 생성하는 것.
            • 서브그래프 샘플링(Subgraph Sampling):
              • 그래프에서 서브그래프를 추출하여 새로운 그래프를 생성하는 것.
            • 그래프론 믹싱(Graphon Mixing):
              • 그래프의 구조를 통계적으로 모델링한 그래프론(graphon)을 사용하여 두 그래프를 혼합하여 새로운 그래프를 생성하는 것.
  • 데이터 합성을 통한 증강:
    • 기존 데이터의 분포를 학습하여 새로운 학습 샘플을 합성하는 데 초점을 맞춘 전략. 주로 생성 모델링(generative modeling) 을 통해 이뤄짐.
    • 대표적인 예시로 GAN 이 있ㅇ므. GAN 의 핵심 아이디어는 생성자와 판별자가 나눠져있고, 생성자가 기존 데이터와 유사한 합성 데이터를 생성하는 기법임.
    • 기본적인 조작이 지역적으로 데이터를 증강하는 것과 달리, 데이터 합성은 전체적인 관점에서 데이터 패턴을 학습하여 학습된 모델로 새로운 샘플을 생성하는 방법이다.
    • Generative AI 를 이용해서 새로운 데이터를 생성하는 기법이기도 하다.
  • 클래스 불균형에 맞춘 방법:
    • 클래스 불균형은 다수 클래스의 샘플 수가 소수 클래스보다 훨씬 많은 경우 발생하는 머신러닝의 근본적인 문제임.
    • 데이터 증강은 소수 클래스를 업샘플링 (Upsampling) 해서 데이터 분포를 균형있게 만들 수 있다.
    • 널리 사용되는 방법 중 하나는 SMOTE 로, 이는 소수 클래스 인스턴스와 그 이웃 사이를 선형 보간하여 합성 샘플을 만듬.
    • ADASYN 은 SMOTE의 확장으로, 학습하기 어려운 데이터 포인트에 추가적인 합성 샘플을 생성하는 방법임.
    • 최근 연구에서는 AutoSMOTE를 제안하였는데, 이는 강화 학습을 통해 최적의 오버샘플링 전략을 탐색하는 학습 기반 알고리즘임.
  • 도전 과제:
    • 데이터 증강에서 중요한 도전 과제 중 하나는 모든 상황에 적합한 단일 증강 전략이 존재하지 않는다는 것임.
    • 다양한 데이터 유형에 따라 다른 전략이 필요 (e.g 텍스트 데이터, 시계열 데이터, 그래프 데이터)
    • 심지어 동일한 데이터 유형의 두 데이터셋이라도 최적의 전략이 다를 수 있다는 것도 알아야함.

 

 

파이프라인 검색 (Pipeline search):

  • 현실 세계에 존재하는 다양한 데이터 처리 기법들(예: 데이터 증강, 데이터 정제 등)을 조합하여 최적의 데이터 처리 파이프라인을 자동으로 찾아내는 기법임.
  • 현실 세계의 응용 분야에서는 각 파이프라인 단계가 앞서 언급된 하위 목표 중 하나와 관련된 작업에 해당하는 복잡한 데이터 파이프라인을 접할 수 있을거임.
  • 대표적인 파이프라인 검색 프레임워크 중 하나는 AutoSklearn 이다. 이 프레임워크는 전처리 모듈, 모델, 그리고 관련 하이퍼파라미터의 조합을 검색하여 검증 성능을 최적화한다. 그러나 AutoSklearn은 전처리 모듈에 대한 검색 공간이 매우 작다는 제한이 있음.
  • 파이프라인 검색은 여전히 높은 계산 오버헤드로 인해 상당한 도전에 직면해 있음. 검색 알고리즘이 다양한 모듈 조합을 반복적으로 시도해야 하기 때문.

Inference Data Development:

  • AI 시스템을 구축하는 데 있어 또 다른 중요한 요소는 추론 데이터를 설계하여 훈련된 모델을 평가하거나 모델의 특정 기능을 활용하는 것임.
  • 기존의 모델 중심 패러다임에서는 훈련 데이터에 포함되지 않은 홀드아웃 평가 세트를 사용하여 정확도와 같은 특정 지표로 모델 성능을 측정했었다.
  • 그러나 성능 지표에만 의존하면 모델의 강건성 (데이터에 노이즈나 변동성이 있을 때도 모델이 안정적으로 작동하는지 여부), 일반화 능력 (모델이 훈련되지 않은 새로운 데이터나 다른 분포의 데이터에서도 잘 작동하는지), 해석 가능성 (모델이 특정 예측이나 결정을 내린 이유를 인간이 이해할 수 있도록 설명하는 능력) 와 같은 중요한 속성을 완전히 파악하지 못할 수 있음.
  • 게다가 모델이 점점 커짐에 따라, 데이터 입력만을 조작하여 원하는 예측을 얻는 것이 가능해졌음.
  • 여기에서는 평가하거나 추론을 위한 데이터 입력을 설계하는 대표적인 방법들을 소개함.

 

 

In-distribution Evaluation:

  • 동일 분포 내 평가 데이터 구축은 훈련 데이터와 일치하는 샘플을 생성하는 것을 말함. 이를 통해 모델의 성능을 평가하기 위함임.
  • 동일 분포 내 평가는 모델의 훈련 분포 내에서의 능력을 반영하므로, 훈련된 모델의 품질을 평가하는 가장 직접적인 방법임.
  • 동일 분포 내 평가의 필요성은 두 가지로 요약됨:
    • 평균적으로 성능이 우수한 모델이라도 특정 하위 집단에서 성능이 저하될 수 있음. 이는 특히 고위험 응용 분야에서 편향과 오류를 방지하기 위해 과소 대표된 그룹을 식별하고 보정해야 함을 의미한다.
    • 과소 대표된 그룹은 데이터셋에서 충분히 반영되지 않거나, 소수로 존재하는 특정 인구 집단을 의미함. 이런 그룹에 대해서 모델이 편향을 생성해내거나 오류를 낼 수 있기 때문임.
    • 모델을 배포하기 전에 의사 결정 경계를 이해하고 모델의 윤리성을 검토하는 것이 중요하기 떄문임:
      • 의사 결정 경계는 분류 모델이 서로 다른 클래스(예: 긍정 vs. 부정, 승인 vs. 거절)를 구분하기 위해 설정한 경계선임.
      • 이 경계선을 기준으로 입력 데이터의 특성(feature) 공간에서 모델이 한 클래스를 다른 클래스로 분류하게 되는 기준선이 될거임.
      • 의사 결정 경계를 파악하면, 모델이 어떤 기준으로 데이터를 분류하는지 이해하면, 모델의 예측 결과를 더 잘 해석하고 신뢰할 수 있다. 이런 모델의 해석 가능성이 특히 중요한 분야가 있음. 의료나 금융 분야에서.
  • 데이터 슬라이싱(Data Slicing) 기법:
    • 데이터 슬라이싱은 데이터셋을 관련 있는 하위 집단으로 분할하고, 각 하위 집단에서 모델의 성능을 별도로 평가하는 방법임.
    • 일반적인 접근법: 연령, 성별, 인종과 같은 사전 정의된 기준을 사용하여 데이터를 분할함.
    • 복잡한 데이터: 실제 응용 분야의 데이터는 복잡하며, 적절한 분할 기준을 설계하는 데 도메인 지식이 필요할 수 있음.
    • 자동화된 슬라이싱 방법:
      • SliceFinder 를 이용하면 해석 가능하고, 모델 성능이 저하되는 문제적인 슬라이스를 식별할 수 있다.
      • 이외에도 SliceLine, GEORGE, Multiaccuracy 등이 있음.
  • 알고리즘적 구제(Algorithmic Recourse):
    • 알고리즘적 구제는 설명 가능한 AI 분야에서 “반사실(counterfactuals)" 로 알려져 있으며 모델의 결정을 원하는 결과로 뒤집을 수 있는 가상의 샘플 집합을 생성하는 것을 말함.
    • 예시: 대출이 거부된 개인에게 승인될 수 있었던 가장 가까운 샘플(예: 더 높은 계좌 잔액)을 찾아주는 것
    • 이렇게 가상의 샘플을 찾아주는 건 모델에게 해석 가능성을 보여주기 위함임. 편향을 감지하는데도 도움이 됨.
    • 방법론으로는 모델에 대한 완벽한 접근이 필요한 화이트 박스 방법 (e.g 내부 구조를 이용한 방법, 그레디언트 기울기를 이용하는 방법, 예측 함수를 이용한 방법 등) 이 있음.
    • 또 다른 방법으로는 블랙 박스 방법이 있음. 다익스트라 알고리즘(Dijkstra’s algorithm) 을 사용해서 최단 경로를 찾아서 구제를 얻는 방법과 특정 공간을 순수 영역(pure regions) 로 나누고 그래프 탐색 기법을 이요해서 가장 가까운 구제를 찾는 방법이 있음.
  • 도전 과제:
    • 동일 분포 내 평가 세트를 구축하는 주요 도전 과제는 목표 샘플을 효과적이고 효율적으로 식별하는 것임.
    • 데이터 슬라이싱 기법에서는 데이터 포인트가 늘어남에 따라 가능한 부분 집합의 수가 지수적으로 증가할거임. 최적의 데이터 부분 집합을 결정하는 건 어렵다.
    • 제한된 정보로 가장 가까운 구제를 식별하는 것도 상당한 노력이 필요함.

 

 

Out-of-distribution Evaluation:

  • 분포 밖 평가는 훈련 데이터에서 관찰된 분포와 다른 분포를 따르는 샘플 집합을 의미함.
  • 현대의 머신러닝 기법은 일반적으로 동일 분포 내 데이터셋에서 뛰어난 성능을 보임. 그러나 실제 배포 환경에서는 데이터 분포가 훈련 데이터와 일치하지 않을 수 있다. 분포 밖 평가는 훈련 중 사용된 데이터와 크게 다른 샘플을 활용하여 모델이 예기치 않은 시나리오에서 일반화할 수 있는 능력을 평가하기 위함임.
  • 이를 통해 예상치 못한 상황에서의 성능에 대한 신뢰를 높일 수 있기도 하다. (모델의 강건성도 파악할 수 있음)
  • 이런 분포 밖 평가는 모델이 실제 환경에서 안전하게 작동할 수 있는지를 판단하는 데 필수적일 것임.
  • 적대적 샘플 (Adversarial Samples) 생성 기법:
    • 모델이 잘못된 예측을 하도록 의도적으로 조작되거나 변형된 입력 데이터를 의미한다.
    • 이러한 샘플은 모델의 강건성을 이해하는 데 도움을 주며, 일반적으로 입력 데이터에 교란을 적용하여 생성됨.
    • 수동 교란 기법 (Manual Perturbation):
      • 원본 데이터에 합성적이고 제어 가능한 교란(예: 노이즈, 블러)을 추가하여 변형된 데이터를 생성하는 방법.
      • 이미지에 노이즈를 추가하거나 흐림 효과를 적용하는 기법을 말함.
    • 자동화된 방법(Automated Methods):
      • 학습 기반 전략을 사용하여 자동으로 교란을 생성하는 기법
      • 일반적으로 4가지로 분류됨:
        • 화이트 박스 공격(White-box Attacks):
          • 화이트 박스 공격은 공격자가 모델의 내부 구조, 파라미터, 가중치, 학습 데이터 등에 대한 완전한 접근 권한을 가진 상태에서 수행되는 공격 방법임.
          • 화이트 박스 공격은 주로 모델의 그레이디언트(gradient) 정보를 사용하여 입력 데이터에 미세한 변화를 가하는게 특징적이다.
        • 물리적 세계 공격(Physical World Attacks):
          • 물리적 세계 공격은 실제 물리적 환경에서 모델을 속이기 위해 물리적인 교란을 도입하는 공격 방법임.
          • 이는 모델이 실제 세계에서 동작할 때 발생할 수 있는 공격을 시뮬레이션한다.
          • 이 공격은 주로 실제 물체에 변형을 가하거나, 환경 조건을 변경하여 모델의 예측을 잘못 유도하는 방법임
          • 예를 들어, 도로 표지판에 스티커를 붙여 자율주행 자동차의 인식 시스템을 속이는 방식
        • 블랙 박스 공격(Black-box Attacks):
          • 공격자가 모델의 내부 구조나 파라미터에 접근할 수 없지만, 입력과 출력만을 이용하여 공격을 수행하는 방법임.
          • 블랙 박스 공격은 입력 데이터에 대한 모델의 반응을 관찰하면서 교란을 설계하는 방법이다. 공격자는 여러 번의 입력 시도를 통해 모델의 행동 패턴을 학습하고, 이를 기반으로 효과적인 교란을 생성한다.
        • 포이즈닝 공격(Poisoning Attacks):
          • 포이즈닝 공격은 모델의 학습 과정 전에 데이터셋에 악의적인 샘플을 삽입하여 모델의 성능이나 예측을 왜곡하는 공격 방법임.
          • 이는 주로 훈련 데이터의 무결성을 침해하여 모델이 잘못된 패턴을 학습하도록 하는 것.
          • 훈련 데이터에 특정한 패턴의 악성 데이터를 삽입하는 방법이다.
    • 훈련된 모델을 다양한 적대적 샘플로 평가함으로써, 모델이 배포될 때의 잠재적인 취약점을 더 잘 이해할 수 있을 것.
  • 분포 변화 샘플 생성:
    • 분포 변화 샘플 생성은 자연스러운 분포 변화와 합성된 분포 변화로 크게 나눌 수 있으며, 각 방법에는 다양한 기법이 있다.
    • 자연스러운 분포 변화(Natural Distribution Shifts) 는 실제 환경에서 발생하는 데이터 분포의 변화를 반영하는 방법임. 이는 주로 시간, 장소, 도메인 등의 요소에 따라 데이터 패턴이 달라지는 경우를 포함한다.
      • 시간에 따른 분포 변화(Time-based Shifts):
        • 사간의 흐름에 따라 데이터의 특성이 변화하는 경우임.
        • 날씨나 주식 시장 데이터 같은걸 말함.
        • 특정 기간의 데이터를 별도로 수집하거나, 슬라이딩 윈도우를 사용해서 샘플을 생성하는 방법을 말함.
      • 장소에 따른 분포 변화(Location-based Shifts):
        • 서로 다른 지리적 위치에서 수집된 데이터의 분포가 다른 경우를 말함.
        • 특정 지역의 데이터를 별도로 수집해서 분포 샘플을 구성하는 걸 말함.
      • 도메인에 따른 분포 변화(Domain-based Shifts):
        • 서로 다른 도메인에서 수집된 데이터의 특성이 다른 경우를 말함.
        • 서로 다른 병원이나 장비에서 촬영된 의료 영상의 품질이나 특성이 다를 수 있음.
        • 다중 도메인 데이터를 사용해서 훈련 및 테스트 세트를 구성하는 걸 말함.
    • 합성된 분포 변화(Synthetic Distribution Shifts) 는 인위적으로 데이터의 분포를 변경하여 다양한 시나리오를 시뮬레이션하는 방법을 말한다:
      • 입력 데이터 분포는 모델에 입력되는 데이터의 특성(feature)이 어떻게 분포되어 있는지를 나타내는 확률 분포임.
      • 라벨 분포는 데이터셋 내에서 각 클래스나 라벨이 얼마나 자주 나타나는지를 나타내는 확률 분포임.
      • 공변량 변화(Covariate Shift):
        • 입력 데이터의 분포가 변화하고, 라벨 분포는 동일하다는 가정
        • 입력 데이터에 노이즈, 스케일링, 회전 등을 적용하여 입력 분포를 변경하는 방법을 사용한다.
        • 특정 특징의 분포를 중앙으로 이동시키거나 변형시키는 기법을 이용함 (중앙 집중화 방법)
      • 라벨 변화(Label Shift):
        • 라벨의 분포가 변화하고, 입력 데이터의 분포는 동일하다고 가정
        • 클래스 비율 조정: 특정 클래스의 샘플 수를 증가시키거나 감소시켜 라벨 분포를 조정하는 기법
        • 데이터 재샘플링: 오버샘플링 또는 언더샘플링 기법을 사용하여 라벨 분포를 변화시키는 기법이 있음.
      • 일반 분포 변화(General Distribution Shift):
        • 입력 데이터의 분포와 라벨 분포가 모두 변화한다고 가정
        • 종합적인 도메인 변화: 이미지의 스타일뿐만 아니라, 라벨의 비율도 변화하는 경우를 말함.
        • 복합적인 환경 변화: 다양한 조건에서 수집된 데이터의 입력과 라벨 분포가 모두 다를 때 를 말하기도 한다.
        • GAN(Generative Adversarial Networks), VAE(Variational Autoencoders)와 같은 생성 모델을 사용하여 입력과 라벨의 분포를 동시에 변화시키는 기법이 있음.
        • 입력 데이터에 변형을 가하면서 동시에 라벨 분포도 조정하는 복합 변형 방법도 있다.
      • 편향된 데이터 샘플링을 통해 공변량 변화나 라벨 변화를 합성할 수 있고, 학습 기반 방법을 사용하면 일반 분포 변화에 사용할 수 있음.
      • 학습 기반 방법은 데이터의 복잡한 패턴과 구조를 학습하여, 기존의 데이터 분포와는 다른 새로운 데이터 샘플을 생성하는 방법임. 주로 생성 모델을 사용함.
  • 도전 과제:
    • 고품질의 분포 밖 데이터를 생성하는 것이 어렵다:
      • 훈련 데이터가 대표성이 없는 경우, 적절한 데이터를 생성하기 어려울 수 있음.
      • 또한, 생성 모델은 모드 붕괴(mode collapse) 문제에 직면할 수 있음:
        • 이는 유사한 소수의 샘플만 생성하고, 목표 분포의 다양성을 무시하는 현상임.
    • 분포 밖 생성의 품질을 평가하는 것이 어렵다:
      • 단일한 지표로는 생성된 샘플의 다양성과 품질을 모두 포착할 수 없음.
      • 일반적으로 사용되는 지표(예: 우도(likelihood), 정확도)는 훈련 데이터와 유사한 샘플을 생성하는 쪽으로 편향될 수 있어 적합하지 않을 수 있음.
      • 따라서, 동일 분포 내 샘플과 분포 밖 샘플 간의 거리를 평가하기 위한 다양한 평가 지표가 제안되기도 함. (e.g 프레셰 훈련 거리(Fréchet Inception Distance, FID)

 

 

Prompt Engineering:

  • 대형 언어 모델(Large Language Models, LLM)의 등장으로 인해, 모델 자체를 수정하지 않고도 입력을 세밀하게 조정하여 모델의 지식을 활용함으로써 특정 작업을 수행하는 것이 가능해졌음.
  • 프롬프트 엔지니어링은 이러한 맥락에서 등장한 새로운 과제로, 하위 작업(다운스트림 작업) 에서 최상의 성능을 달성하기 위해 고품질의 프롬프트를 설계하고 구성하는 것을 목표로 함.
  • 예를 들어, 텍스트 요약 작업을 수행할 때, 요약하고자 하는 텍스트 뒤에 “요약해줘” 또는 “TL;DR”과 같은 구체적인 지시를 제공하여 추론을 유도할 수 있다.
  • 프롬프트 엔지니어링은 모델 자체를 미세 조정하는 대신 입력 데이터를 미세 조정함으로써 전통적인 워크플로우에 혁신을 가져옴.
  • 가장 자연스러운 접근 방식은 템플릿을 생성하여 수동으로 프롬프트를 설계하는 것임.
  • 수동으로 템플릿을 작성하는 것은 단순한 작업에서는 효과적일 수 있지만, 복잡한 작업에 대해 최적의 프롬프트를 발견하는 데는 한계가 있다.
  • 자동화된 프롬프트 엔지니어링(Automated Prompt Engineering):
    • 수동으로 템플릿을 작성하는 것이 충분하지 않을 때, 자동화된 프롬프트 엔지니어링이 연구되고 있음.
    • 자동화된 방법은 프롬프트 생성 과정을 프로그래밍적으로 처리하여 더 효율적이고 최적화된 프롬프트를 생성하는 방법임.
    • 프로그램 기반 접근법(Programmatic Approaches):
      • 외부 코퍼스로부터 템플릿 마이닝(Mining Templates from External Corpus)
        • 프롬프트 템플릿 마이닝의 과정:
          • a) 외부 코퍼스 선택:
            • 특정 도메인이나 작업에 적합한 방대한 텍스트 데이터를 포함하는 외부 코퍼스를 선택한다. (e.g 뉴스 기사, 소셜 미디어, 기술 문서 등)
          • b) 패턴 인식 및 추출:
            • 자연어 처리(NLP) 기법을 사용하여 코퍼스 내에서 유용한 프롬프트 패턴을 인식하고 추출한다
            • 특정 작업(예: 텍스트 요약, 번역)에 적합한 문장 구조나 지시문을 식별하는 것.
          • c) 프롬프트 템플릿 생성:
            • 추출된 패턴을 바탕으로 프롬프트 템플릿을 생성한다.
          • d) 프롬프트 평가 및 선택:
            • 생성된 템플릿을 평가하여 가장 효과적인 프롬프트를 선택한다.
      • 시드 프롬프트를 이용한 패러프레이징(Paraphrasing with a Seed Prompt):
        • 시드 프롬프트(Seed Prompt)를 다양한 방식으로 패러프레이징해서 다양한 프롬프트를 생성하는 방법을 말함.
    • 학습 기반 방법(Learning-based Methods):
      • 그레이디언트 기반 검색(Gradient-based Search):
        • 모델의 그레이디언트를 활용하여 최적의 프롬프트 토큰을 자동으로생성하는 것
        • 특정 작업에 대해 모델의 손실을 최소화하는 프롬프트를 찾기 위해 그레이디언트 정보를 사용하는 것
      • 생성 모델(Generative Models)을 이용한 프롬프트 생성:
        • GAN이나 VAE와 같은 생성 모델을 사용하여 다양한 프롬프트를 생성하는 방법을 말한다.
        • 텍스트 생성 모델을 이용해서 프롬프트를 생성하는 걸 말함.

Data Maintenance:

  • 실제 환경에서는 데이터가 한 번 생성되고 끝나는 것이 아니라, 지속적으로 업데이트된다.
  • 이는 AI 시스템 구축 시 신뢰할 수 있고 즉각적인 데이터 공급을 보장하기 위해 데이터 유지관리가 중요한 도전 과제임을 나타냄.
  • 이섹션에서는 데이터 유지관리의 필요성, 대표적인 방법(그림 6에 표시됨), 그리고 도전 과제에 대해 개괄적으로 설명함:
    • 데이터 이해
    • 데이터 품질 보증
    • 데이터 저장 및 검색

 

 

Data Understanding:

  • 적절한 유지관리를 보장하기 위해서는 데이터를 먼저 이해하는 것이 필수적이다.
  • 실제 데이터는 종종 대용량이며 복잡성이 높아 이해하고 분석하기 어려운 것이 특징임. 데이터 이해 기술이 필요한 이유는 다음과 같다:
    • 대량의 원시 데이터 샘플을 인간이 이해하기 어려움: 데이터를 더 쉽게 관리하려면 데이터를 요약하고, 더 간결하고 접근하기 쉬운 방식으로 제공해야한다.
    • 고차원 데이터의 시각화 필요성: 실제 데이터는 고차원인 경우가 많지만, 인간의 지각은 2차원 또는 3차원 공간에 제한됨. 따라서 데이터를 저차원 공간에서 시각화하는 것이 데이터 이해에 필요한 기술임.
    • 데이터 자산의 가치 파악: 조직과 이해관계자는 데이터 자산의 가치와 각 데이터 샘플이 성능에 어떻게 기여하는지 이해하는 것이 중요함.
  • 데이터 시각화 (Data Visualization):
    • 인간은 시각적인 동물로, 이미지나 그래프 형식으로 제공되는 정보를 자연스럽게 처리하고 기억하는 경향이 있음.
    • 데이터 시각화는 이러한 인간의 본능을 활용하여 복잡한 데이터를 더 잘 이해하도록 돕는 것을 목표로 함.
    • 시각적 요약(Visual Summarization) 기법:
      • 원시 데이터를 그래픽 다이어그램 세트로 요약하면, 간결한 인터페이스를 통해 인간이 통찰력을 얻을 수 있음.
      • 하지만 신뢰할 수 있으면서도 사용자 친화적인 요약 다이어그램을 생성하는 것은 간단한 일이 아님.
      • 다양한 시각화 차트가 있음. 방사형 차트(Radial Charts), 선형 차트(Linear Charts) 등.
    • 시각화를 위한 클러스터링(Clustering for Visualization) 기법:
      • 고차원 데이터와 복잡한 다양체 구조를 가진 실제 데이터는 차원 축소 기법을 사용해서 더 간단하게 인지할 수 있는 2차원이나 3차원 공간에서 시각화하는 기술을 말함.
      • 자동화된 클러스터링 방법은 차원 축소 기법과 자주 결합되어, 데이터 포인트를 그룹화하고, 카테고리화하며, 종종 색상 코딩하여 조직화 하는 것임.
    • 시각화 추천(Visualization Recommendation):
      • 다양한 시각화 형식을 기반으로, 시각화 추천에 대한 관심이 높아지고 있음.
      • 이는 특정 사용자에게 가장 적합한 시각화 형식을 제안하는 것을 포함한다.
      • 프로그램 기반 자동화 접근법:
        • 미리 정의된 규칙에 따라 시각화 후보를 순위화해서 추천.
      • 학습 기반 접근법:
        • 머신러닝 기법을 이용해서 시각화 후보를 순위화하는 것.
      • 협업 시각화 기법:
        • 사용자로부터 지속적인 피드백과 요구사항을 받아 더 적응력 있는 사용자 경험을 제공하는 것.
  • 데이터 가치 평가(Data Valuation):
    • 데이터 가치 평가의 목표는 각 데이터 포인트가 최종 성능에 어떻게 기여하는지 이해하는 것임.
    • 이러한 정보는 이해관계자에게 귀중한 통찰력을 제공할 뿐만 아니라, 데이터 시장에서 데이터 포인트를 사고팔 때나 신용 할당에도 유용하다.
    • 기법으로는 연구자들은 데이터 포인트의 셰플리 값(Shapley Value) 을 추정하는 것임. 이는 각 데이터 포인트에 그 기여도에 따라 가중치를 할당하는 것.
    • 셰플리 값은 협력 게임 이론(Cooperative Game Theory)에서 유래한 개념으로, 개별 플레이어가 전체 협력에서 기여한 공정한 가치를 계산하는 방법을 제공하는 방법을 말함. 여러 플레이어가 협력하여 특정 목표를 달성할 때, 각 플레이어가 그 성과에 얼마나 기여했는지를 평가하는 게임 이론의 한 분야를 말한다.
    • 정확한 셰플리 값을 계산하는 것은 계산 비용이 많이 들 수 있음. 따라서 위의 방법들은 모두 효율적인 추정을 위해 학습 기반 알고리즘을 채택한다.
  • 도전 과제:
    • 가장 효과적인 데이터 시각화 형식과 알고리즘 선택의 어려움:
      • 시각화 형식과 알고리즘(예: 클러스터링 알고리즘)은 종종 도메인에 특화되어 있으며, 인간의 행동에 영향을 받음.
      • 최상의 옵션을 선택하기 어렵고, 이 선택 과정에는 인간의 입력이 필요하다.
      • 인간과의 상호작용을 최적화하는 방법을 결정하는 것도 추가적인 복잡성을 더할 수 있을 것.
    • 효율적인 데이터 가치 평가 알고리즘 개발의 어려움:
      • 셰플리 값을 추정하는 것은 계산 비용이 많이 들 수 있으며, 특히 데이터 크기가 계속 증가함에 따라 더 커짐.
      • 셰플리 값은 데이터 가치에 대한 제한된 관점만 제공할 수 있음.
      • 모델 성능 외에도, 데이터를 사용하여 훈련된 모델이 해결할 수 있는 문제와 같은 다른 중요한 요소들이 있긴 함.

 

 

Data Quality Assurance:

  • 신뢰할 수 있는 데이터 공급을 보장하기 위해서는 데이터 품질을 유지하는 것이 필수적임.
  • 실제 환경에서는 데이터와 데이터 처리를 위한 인프라가 빈번하고 지속적인 업데이트를 겪음. 따라서 한 번 고품질의 학습 또는 추론 데이터를 생성하는 것만으로는 충분하지 않으며, 동적인 환경에서 지속적으로 데이터의 우수성을 유지해야 한다.
  • 따라서 데이터 품질의 지속적인 모니터링과 데이터 품질 개선 전략이 중요하다.
    • 실제 응용에서의 데이터는 복잡하며, 의도한 결과와 일치하지 않는 다양한 이상치를 포함할 수 있음. 데이터 품질 평가를 정략적으로 측정할 수 있는 시스템 구축이 필요.
    • 모델이 저품질 데이터의 영향을 받으니까. 데이터 품질을 향상시키기 위한 전략을 구축해야함.
  • 품질 평가 (Quality Assessment):
    • 품질 평가는 데이터의 품질을 측정하고 잠재적인 결함과 위험을 감지하기 위한 평가 지표를 개발하는 걸 말함.
    • 이러한 지표는 크게 객관적 평가와 주관적 평가로 구분될 수 있다.
    • 객관적 및 주관적 평가는 인간 참여의 정도에 따라 다를 수 있지만, 조사한 각 논문에서는 두 가지 모두를 사용하고 있음.
    • 객관적 평가:
      • 특정 응용과 무관하게, 데이터의 내재적 속성을 사용하여 데이터 품질을 직접 측정.
      • 정확성:
        • 수집된 데이터의 정확성을 나타냄.
        • 수집된 데이터 값이 데이터베이스에 저장된 값과 일치하는지 여부.
      • 적시성:
        • 데이터가 최신 상태인지 평가
      • 일관성:
        • 데이터 항목 집합에 정의된 의미적 규칙을 위반했는지 여부를 따짐.
      • 완전성:
        • null이 아닌 값의 비율을 측정.
    • 주관적 평가(Subjective Assessments):
      • 인간의 관점에서 데이터 품질을 평가하며, 종종 특정 응용에 특화되어 있고 전문가의 외부 분석이 필요함.
      • 신뢰성:
        • 데이터 소스가 제공하는 정보의 정확성을 측정
      • 이해 가능성(Understandability):
        • 사용자가 수집된 데이터를 얼마나 쉽게 이해할 수 있는지를 측정
      • 접근성(Accessibility):
        • 사용자가 데이터에 접근할 수 있는 능력을 측정
  • 품질 개선(Quality Improvement):
    • 품질 개선은 데이터 파이프라인의 다양한 단계에서 데이터 품질을 향상시키기 위한 전략을 개발하는 것을 말함:
    • 프로그램 기반 자동화 방법(Programmatic Automation Methods):
      • 무결성 제약 조건(Integrity Constraints): 무결성 제약 조건은 데이터베이스 내 데이터의 정확성, 일관성, 신뢰성을 보장하기 위해 설정되는 규칙임.
      • 부정 제약 조건(Denial Constraints): 부정 제약 조건은 특정 조건을 만족하는 데이터의 삽입, 업데이트, 삭제를 금지하는 규칙임.
      • 조건부 함수적 종속성(Conditional Functional Dependencies) (컬럼 간의 관계): 조건부 함수적 종속성은 특정 조건 하에서 하나의 속성(attribute)이 다른 속성에 종속되는 관계를 말함.
    • 머신러닝 기반 자동화 접근법(Machine Learning-based Automation Approaches):
      • 데이터 품질을 향상시키기 위해 머신러닝 기법을 활용.
      • 데이터 검증 모듈:
        • 예상되는 데이터 스키마를 가진 훈련 세트로 머신러닝 모델을 학습
        • 이를 통해 보이지 않는 시나리오에서 잠재적인 문제를 식별할 수 있음.
    • 파이프라인을 이용한 방법:
      • 데이터 파이프라인의 여러 단계(데이터 통합, 데이터 정제 등)에서 데이터를 체계적으로 관리하는 것.
    • 협업적 접근법(Collaborative Approaches):
      • 전문가 참여를 장려하여 데이터 개선을 도모하는 것.
      • 인간의 주석을 지속적으로 사용해서 모델을 훈련시켜 훈련 데이터의 예측 품질을 향상시키도록 하는 것.
      • 불확실성을 보이는 데이터 포인트들을 식별하기도 함.
  • 도전 과제:
    • 데이터 품질을 보장하는 데에는 두 가지 주요 도전 과제가 있음:
      • 가장 적합한 평가 지표를 선택하는 것은 간단한 작업이 아니며, 도메인 지식에 크게 의존함.
      • 단일 지표로는 충분하지 않을 수 있음.
    • 품질 개선의 복잡성과 노동 집약성:
      • 품질 개선은 필수적이지만 노동 집약적인 과정임.
      • 자동화는 지속 가능한 데이터 품질을 보장하는 데 중요하지만, 데이터 품질이 인간의 기대를 충족하는지 확인하기 위해 인간의 참여도 필요할 수 있음.

 

 

Data Storage & Retrieval:

  • 데이터 저장 및 검색 시스템은 AI 시스템 구축에 필요한 데이터를 제공하는 데 필수적인 역할을 함.
  • 효율적인 데이터 저장 및 검색의 필요성:
    • 생성되는 데이터의 양이 기하급수적으로 증가함에 따라, 대용량 데이터의 속도와 규모에 맞게 효율적으로 처리할 수 있는 견고하고 확장 가능한 데이터 관리 시스템이 중요해지고 있음.
    • 데이터 관리 시스템의 자원 관리:
      • Hadoop 과 Spark 와 같은 데이터 관리 시스템은 다양한 소스로부터 데이터를 저장하고 병합해야 하며, 이는 메모리와 컴퓨팅 자원의 세심한 관리가 필요함.
    • 빠른 데이터 수집을 위한 쿼리 전략 설계:
      • 데이터의 신속하고 정확한 처리를 보장하기 위해서는 빠른 데이터 수집을 가능하게 하는 효율적인 쿼리 전략을 설계하는 것도 중요.
  • 리소스 할당(Resource Allocation):
    • 리소스 할당은 데이터 관리 시스템 내에서 운영 비용을 평가하고 균형을 맞추는 것을 목표로 하는 것임.
    • 데이터 관리 시스템에서의 두 가지 핵심 효율성 지표는 다음과 같다:
      • 처리량(Throughput): 새로운 데이터를 얼마나 빠르게 수집할 수 있는지를 나타냄.
      • 대기 시간 (Latency): 시스템이 요청에 얼마나 빠르게 응답할 수 있는지를 나타냄.
    • 이러한 지표를 최적화하기 위해 다양한 파라미터 튜닝 기술이 제안됨.
      • 데이터베이스 구성 설정을 따르는 것.
  • 쿼리 가속화(Query Acceleration):
    • 효율적인 데이터 검색은 효율적인 인덱스 선택과 쿼리 재작성 전략을 통해 달성할 수 있음.
    • 쿼리 인덱스 선택(Query Index Selection):
      • 쿼리 처리 중 필요한 디스크 액세스 수를 최소화하는 것
    • 쿼리 재작성(Query Rewriting):
      • 입력 쿼리에서 반복되는 서브 쿼리를 식별하여 작업 부하를 줄이는 것

Data benchmark:

  • 데이터 중심 AI의 맥락에서, 우리는 모델 벤치마크가 아니라 데이터 벤치마크에 특히 관심이 있을거임.
  • 데이터 벤치마크는 데이터의 우수성을 달성하기 위한 다양한 기술들을 평가해야 한다.
  • 이 섹션에서는 데이터 중심 AI의 다양한 목표에 대한 기존의 벤치마크들을 조사한다. 먼저 벤치마크 수집 전략을 소개하고, 그 후에 수집된 벤치마크들을 요약하고 분석해봄.
  • 벤치마크 수집 전략:
    • 주로 Google Scholar를 사용하여 벤치마크 논문을 검색해봤다고 함.
    • 많은 벤치마크들이 데이터가 아니라 모델을 평가하는데 사용했다고 한다.
  • 벤치마크 수집 요약 결과:
    • 다응 이미지에는 된 36개의 벤치마크가 포함되어 있으며, 그 중 23개는 오픈 소스 코드를 포함하고 있다고 함.
    • 주목할 만한 점은, 우리는 “분포 변화 샘플 생성(generating distribution shift samples)” 과제에 대한 벤치마크를 발견하지 못했다고 함.
    • 분포 변화된 샘플을 탐지하는 벤치마크들은 존재했다고 함. (주로 분포 변화에 대한 모델의 성능을 평가하며, 모델의 약점을 노출할 수 있는 분포 변화된 데이터를 생성하는 방법이라서 제외했다고 함.)
  • 해당 벤치마크를 자세하게 보려면 논문의 레퍼런스로 들어가서 봐야할듯.


Discussion and Future Direction:

  • AI를 데이터 중심으로 만들기 위해 필요한 과제는 무엇인가?
    • 데이터 중심 AI는 훈련 데이터 개발, 추론 데이터 개발, 그리고 데이터 유지관리를 포함하는 다양한 과제들을 포괄하고 있음:
    • 훈련 데이터 처리:
      • 데이터 클리닝(Cleaning): 데이터에서 오류나 이상치를 제거합니다.
      • 레이블링(Labeling): 데이터에 적절한 라벨을 부여합니다.
      • 준비(Preparing): 모델 학습에 적합하도록 데이터를 준비합니다.
      • 축소(Reducing): 데이터의 크기를 줄여 효율성을 높입니다.
      • 증강(Augmenting): 데이터 증강 기법을 통해 데이터셋을 확장합니다.
    • 평가를 위한 데이터 생성:
      • 분포 내 데이터(In-Distribution Data) 생성: 모델의 일반적인 성능을 평가하기 위한 데이터를 생성합니다.
      • 분포 밖 데이터(Out-of-Distribution Data) 생성: 모델의 강건성과 일반화 능력을 평가하기 위한 데이터를 생성합니다.
      • 프롬프트 튜닝(Prompt Tuning): 원하는 결과를 얻기 위해 프롬프트를 조정합니다.
    • 데이터 이해 및 관리 인프라 구축:
      • 데이터 이해: 데이터의 구조와 특성을 이해하기 위한 도구와 기법을 개발합니다.
      • 데이터 조직화: 효율적인 데이터 관리를 위해 데이터를 체계적으로 조직화합니다.
      • 디버깅(Debugging): 데이터 관련 문제를 식별하고 해결하기 위한 디버깅 도구를 구축합니다.
  • 데이터 개발 및 유지관리를 위해 자동화가 중요한 이유는 무엇인가?
    • 데이터의 양이 전례 없는 속도로 증가함에 따라, 데이터 개발 및 유지관리 프로세스를 간소화하기 위한 자동화 알고리즘을 개발하는 것이 필수적이 되었음.
    • 모든 하위 목표에 대해 자동화 알고리즘이 개발되기도 함. 이러한 자동화 알고리즘은 프로그램 기반 자동화, 학습 기반 자동화, 파이프라인 자동화 등 다양한 자동화 수준을 포함한다:
      • 프로그램 기반 자동화: 규칙 기반 스크립트나 프로그램을 사용하여 반복적인 작업을 자동화합니다
      • 학습 기반 자동화: 머신러닝 모델을 활용하여 데이터 처리 작업을 자동화하고, 데이터의 패턴을 학습하여 효율성을 높입니다.
      • 파이프라인 자동화: 데이터 파이프라인 전체를 자동화하여, 데이터 수집부터 처리, 저장까지의 과정을 효율적으로 관리합니다.
  • 데이터 중심 AI에서 어떤 경우에, 그리고 왜 인간의 참여가 필수적인가?
    • 다양한 방법들은 인간 참여의 정도가 다를 수 있습니다. 완전한 참여부터 최소한의 입력 제공까지 다양하다
    • 완전한 인간 참여: 데이터 라벨링, 주석 작업 등에서 인간이 직접 모든 작업을 수행
    • 부분적인 인간 참여: 모델이 제안한 결과를 검토하거나, 중요한 의사결정을 내릴 때 인간이 개입
    • 최소한의 인간 참여: 인간은 주로 시스템 설정이나 초기 지침 제공에 참여
    • 인간의 참여가 중요한 이유는 AI 시스템의 동작이 인간의 의도와 일치하도록 보장하는 유일한 방법이기 때문.
  • 데이터 중심 AI의 현재 진전은 어느 정도인가?
    • 세 가지 일반적인 데이터 중심 AI 목표 중에서, 훈련 데이터 개발이 상대적으로 더 많은 연구 관심을 받았음.
    • 새로운 연구 영역과 과제들이 계속해서 나타나야함.
  • 기초 모델(Foundation Models):
    • 기초 모델은 대량의 라벨이 없는 데이터로 훈련되어 다양한 작업에 적응할 수 있는 대규모 모델을 의미함.
    • 예로는 대형 언어 모델(예: GPT-3, GPT-4)과 스테이블 디퓨전(Stable Diffusion)이 있음.
    • 모델이 충분히 강력해짐에 따라, 데이터 레이블링이나 데이터 증강과 같은 많은 데이터 중심 AI 과제들을 모델로 수행하는 것이 가능해짐.
    • 최근의 기초 모델 트렌드는 데이터에 대한 우리의 이해를 근본적으로 변화시킬 가능성이 있기도 함. 기존에는 원시 데이터 값을 데이터셋에 저장하는 방식이었다면, 모델 자체가 데이터의 한 형태(또는 원시 데이터의 “컨테이너”) 가 될 수 있다는 것.
    • 기초 모델은 데이터와 모델 사이의 경계를 흐리게 만들 수 있음.
    • 하지만 이런 기초 모델의 훈련은 여전히 대규모의 고품질 데이터셋에 의존함.
  • 강화 학습(Reinforcement Learning):
    • 강화 학습은 초기 데이터 없이 지능형 에이전트를 훈련하여 보상을 최적화하는 연구 분야임.
    • 모델을 사용하여 데이터를 생성하고, 자체 생성한 데이터로 모델을 훈련하는 과정을 번갈아 하게 됨.
    • 강화 학습의 목표 지향적인 특성은 자동화에 적합하기 때문에 널리 사용되고 있다.
  • 데이터-모델 공동 설계(Data-model Co-design):
    • 데이터 중심 AI는 초점을 데이터로 전환할 것을 주장하지만, 이는 반드시 모델이 변경되지 않아야 한다는 것을 의미하지는 않음.
    • 다른 모델을 사용할 때 최적의 데이터 전략이 달라질 수 있으며, 그 반대도 마찬가지임.
  • 데이터 편향 제거(Debiasing Data):
    • 많은 중요한 응용 분야에서, AI 시스템이 특정 집단에 대해 차별적인 행동을 보이는 것으로 발견되었음.
    • 이는 공정성에 대한 우려를 불러일으킨다.
  • 데이터 벤치마크 개발(Data Benchmarks Development):
    • 모델 중심 AI의 발전은 벤치마크를 통해 모델 설계를 발전시키는 데 촉진되었음.
    • 데이터 중심 AI는 벤치마킹에 대한 더 많은 관심이 필요하다.
    • 전체 데이터 품질과 다양한 데이터 중심 AI 기술을 포괄적으로 평가할 수 있는 통합된 벤치마크를 구축하는 것이 중요함.
  • 과제 간 자동화(Cross-task Automation):
    • 데이터 중심 AI의 광범위한 관점에서, 훈련 데이터 개발, 추론 데이터 개발, 데이터 유지관리 등 다양한 목표를 위한 과제들을 공동으로 자동화할 수 있는 통합된 프레임워크가 필요함.
    • 전체 데이터 파이프라인에서 효율성을 높이고, 자동화를 극대화하기 위해서.

+ Recent posts