허깅 페이스(Hugging Face)의 데이터셋(Datasets) 라이브러리와 데이터셋 허브는 머신러닝 실무자들이 인공지능 모델을 훈련하고 평가하는 데 사용되는 데이터 모음을 발견하고, 다운로드하며, 공유할 수 있는 중앙 플랫폼을 구성한다. 2019년에 처음 출시된 이 라이브러리는 데이터셋 작업 과정을 단순화하며, 대규모 언어 모델 개발 및 연구를 위한 광범위한 도구 생태계와 완벽하게 통합된다. 허깅 페이스 플랫폼의 일부로서, Datasets는 텍스트 및 이미지 데이터에서 오디오 및 비디오에 이르기까지 100,000개 이상의 공개 데이터셋에 대한 표준화된 인터페이스를 제공한다.
이 프로젝트는 자연어 처리를 더욱 접근 가능하고 재현 가능하게 만들겠다는 허깅 페이스의 목표에서 비롯되었다. CSV, JSON, Parquet 등을 포함한 파일 형식 간의 차이를 추상화하는 단일 API를 제공함으로써, Datasets 라이브러리는 사용자가 최소한의 설정 코드로 방대한 데이터 모음을 관리할 수 있게 한다. 웹 인터페이스와 라이브러리를 통한 프로그래밍 방식 모두로 접근 가능한 기본 허브는 큐레이션된 데이터셋과 커뮤니티 기여 데이터셋을 모두 호스팅한다. 허깅 페이스는 또한 웹 허브에서 사용자가 브라우저에서 직접 샘플, 메타데이터 및 문서를 검사할 수 있는 동반 데이터셋 뷰어를 제공한다.
핵심 기능
Datasets 라이브러리는 효율성과 사용 편의성을 위해 설계된 다양한 기능을 제공한다. 자동 메모리 매핑을 포함하여 대규모 데이터셋을 디스크나 원격 허브에서 스트리밍할 수 있으므로, 사용자는 모든 데이터를 랜덤 액세스 메모리에 로드하지 않고도 수십억 개의 행을 반복 처리할 수 있다. 또한 이 라이브러리는 내장 변환 메서드를 통해 PyTorch, TensorFlow, JAX와 같은 딥러닝 프레임워크와 통합되어 모델 훈련 파이프라인에 직접 통합할 수 있다.
중요한 측면 중 하나는 분할, 샤딩, 인터리빙과 같은 일반적인 연산을 통해 데이터셋을 결합하는 기능이다. 또한 내장 캐싱을 제공하여 반복적인 변환 및 로딩 단계가 자동으로 디스크에 저장되어 중복 작업을 줄인다. 데이터셋 뷰어는 열 이름, 데이터 유형 및 데이터 분포를 표시하는 상세한 통계 및 스키마 뷰어를 제공하며, 라이브러리 자체에는 중복 예시나 누락된 값 감지와 같은 데이터 품질 검사 유틸리티가 포함되어 있다.
데이터셋 허브 및 커뮤니티 기여
허깅 페이스의 데이터셋 허브는 수만 개의 데이터셋을 호스팅하는 온라인 서비스이다. 기여는 개별 연구자, 학술 기관 및 기업에서 이루어지며, 자연어 처리, 컴퓨터 비전, 오디오 처리, 그리고 의학, 금융, 기후 과학과 같은 전문 분야에 이르기까지 다양한 영역을 반영한다. 데이터셋에는 종종 원시 데이터 증강 및 전처리 코드가 모두 포함되는데, 이는 라이브러리가 변환을 일급 객체로 취급하기 때문이다. 버전 관리 시스템을 통해 사용자는 시간에 따른 변경 사항을 추적할 수 있으며, 허브는 라이선스가 부여되거나 독점적인 데이터를 위한 비공개 데이터셋을 지원한다.
GLUE, SQuAD, ImageNet, Common Crawl과 같은 많은 인기 있는 벤치마크 데이터셋은 허브를 통해 직접 사용할 수 있으며, 이러한 소스를 정리하거나 필터링하는 커뮤니티 제작 파생 데이터셋도 함께 제공된다. 따라서 이 허브는 데이터셋 기여자들이 파케이 파일을 업로드하거나 허브의 명령줄 도구를 통해 업데이트를 푸시할 수 있는 표준 배포 지점 역할을 한다. 또한 허브 데이터 뷰어는 메타데이터를 자동으로 색인하고 웹 API를 통해 행 샘플링을 가능하게 한다.
허깅 페이스 생태계와의 통합
Datasets는 주로 transformers 라이브러리 및 tokenizers 라이브러리와 같은 다른 허깅 페이스 도구와 함께 작동한다. 일반적인 워크플로우에서 사용자는 허브에서 데이터셋을 로드하고, 선택한 모델에 맞는 토크나이저를 사용하여 토큰화 과정을 적용한 다음, 출력을 훈련 루프에 직접 공급한다. 이러한 상호 운용성은 Datasets가 머신러닝 커뮤니티에서 널리 사용되는 주요 이유이며, 호환되지 않는 여러 데이터 로딩 파이프라인의 필요성을 제거한다.
또한 모델 카드 시스템과도 연계된다: 각 데이터셋 페이지에는 제안된 모델 평가 작업, 주제 태그 및 알려진 편향을 포함한 메타데이터와 문서가 포함될 수 있다. 이는 모델 가지치기, 모델 모니터링 및 재현성 개선을 위한 광범위한 산업 이니셔티브와 일치하며, 데이터셋은 모델 실험의 핵심 구성 요소로 추적된다. 사용자는 또한 허깅 페이스가 구축한 evaluate 라이브러리를 활용할 수 있는데, 이 라이브러리는 Datasets 형식에서 직접 실행되는 메트릭을 제공하여 벤치마크에 대한 빠른 점수를 가능하게 한다.
주요 하위 프로젝트 및 API
Datasets 라이브러리에는 전문 하위 프로젝트도 포함되어 있다. 예를 들어, streaming 모드는 사용자가 전체 데이터셋을 다운로드하지 않고도 반복할 수 있도록 추가되었으며, 이는 매우 큰 말뭉치에 중요하다. DatasetDict는 분할(훈련, 검증, 테스트) 그룹을 하나의 객체로 관리하고, load_dataset() 함수는 허브의 데이터셋 이름이나 로컬 경로를 모두 허용하는 주요 진입점 역할을 한다. 사용자는 또한 사용자 정의 함수를 정의하고 Features API를 통해 메타데이터를 수정할 수 있으며, 이 API는 열 유형(int, text, image 등)을 지정하고 유형 정확성을 보장한다. 또한 datasets는 스트리밍에 특히 적합한 빠른 반복을 위한 IterableDataset를 지원한다.
또 다른 주목할 만한 유틸리티는 Apache Arrow를 기반으로 하는 datasets.arrow_dataset 형식으로, 데이터 열 저장소를 통해 라이브러리의 성능을 뒷받침하며 pandas 및 NumPy와 같은 데이터 과학 도구와의 빠른 데이터 접근 및 상호 운용성을 가능하게 한다. 이는 때로는 매우 현대적인 하드웨어에 의존하여 속도를 달성하고, RAM 급증을 방지하는 직렬 반복자를 제공한다.
사용 및 산업계 채택
허깅 페이스 Datasets는 연구 및 산업 분야에서 표준 도구가 되었다. 주요 AI 기업의 프리프린트 팀, 학계, 스타트업 및 개인 개발자는 다양한 작업을 위해 데이터셋을 통합한다. 대규모 언어 모델 및 이미지 생성 모델 훈련과 같은 대규모 집단 작업은 종종 방대한 말뭉치를 위한 데이터셋 로딩을 활용한다. 이 라이브러리는 또한 아마존 웹 서비스, 애저, 구글 클라우드를 포함한 클라우드 서비스 제공업체에 채택되었으며, 이들은 관리형 AI 도구 스택에서 이를 호스팅하거나 제공하여 데이터 스토리지 및 GPU 인스턴스와의 통합을 가능하게 한다.
주목할 만한 점은 AWS 트레이니엄 및 AI 중심 클라우드 플랫폼의 기타 제품이 데이터셋 라이브러리에서 데이터를 검색하는 모델을 훈련한다는 것이다. 라이브러리의 이기종 접근 방식은 고성능 워크로드의 성장과 일치하며, 분산 컴퓨팅 지원(멀티프로세싱 또는 Ray 통합을 통해)은 훈련 시스템의 중심에 있다. 또한 애플은 데이터 처리 모델을 위해 연구 커뮤니티에서 허브를 사용해 왔다. Groq과 같은 하드웨어 스타트업도 SDK 내에서 허깅 페이스 데이터셋을 지원하여 추론 및 미세 조정을 가능하게 한다.
윤리적 및 사회적 고려 사항
중앙 집중식 데이터셋 허브에 대한 의존은 데이터 거버넌스 및 개인정보 보호와 관련된 타당한 문제를 제기한다. 허깅 페이스는 커뮤니티를 보호하기 위한 기능을 포함한다: "안전하지 않음"으로 표시된 데이터셋에 대한 접근 제어는 게이트 접근을 요구하거나, 사용자가 허브에 접근할 수 있지만 인증을 요구할 수 있다. 일반적인 라이선스 및 이용 약관은 데이터셋이 특정 조건 뒤에 숨겨져 있음을 의미한다. 그러나 무제한으로 공개된 데이터셋은 웹에서 동의 없이 스크래핑되어 오용될 수 있으며, 저작권 또는 라이선스 법률을 준수해야 하는 과제가 남아 있다.
허깅 페이스는 "데이터셋 카드"와 같은 윤리적 지표를 만들어 이에 대응했으며, 여기에는 데이터의 출처, 편향 및 민감한 내용에 대한 메타데이터가 포함된다. 허브는 또한 논의 및 이슈 보고를 허용한다. 그러나 데이터셋이 다양한 커뮤니티에 업로드됨에 따라 광범위한 AI 커뮤니티의 조사가 필요하며, 거버넌스는 계속 진화 중이다.
커뮤니티 및 거버넌스
허깅 페이스는 Datasets 소프트웨어 뒤에서 상당한 팀을 운영하며, Apache License 2.0에 따라 소프트웨어를 출시한다. 이 프로젝트는 활발히 개발 중이며, 빈번한 릴리스와 전 세계 수백 명의 기여자를 보유하고 있다. 로드맵은 공개적으로 논의되며, 모든 사용자는 GitHub 저장소를 포크하고 변경을 제안할 수 있다. 허깅 페이스는 또한 데이터셋 사용 방법을 가르치는 데이터셋-쿡북 및 Jupyter 노트북 튜토리얼을 제공한다.
조직 및 유지보수자 관점에서 버그 수정은 이슈 트래커를 통해 관리되며, 커뮤니티 지침은 기여자의 존중과 윤리적 공유를 우선시한다. 이러한 광범위한 생태계 덕분에 채택은 계속 성장하고 있으며, 수년간 AI 실무에 필수적인 도구로 자리매김했다.