데이터 처리에 관한 모든 것, Dataverse
2024/03/26 | 작성자: 최유정(테크니컬 라이터), 박찬준(AI 연구 엔지니어)
데이터버스는 Python을 사용해 추출, 변환, 로드(ETL) 파이프라인을 간소화하도록 설계된 무료로 액세스 가능한 오픈 소스 프로젝트입니다. 이 콘텐츠에서는 Dataverse 프로젝트가 시작된 계기를 소개하며 오픈소스 데이터 처리 영역의 미래 전망에 대해서도 함께 살펴봅니다.
데이터버스의 시작
LLM 생태계의 기본이 되는 데이터 처리
거대 언어 모델(LLM) 시대에서 대규모 데이터를 바탕으로 양질의 데이터를 선별하는 데이터 전처리 작업은 매우 중요합니다. 이러한 중요성에도 불구하고 오픈 소스를 활용한 전처리 모델은 여전히 부족합니다. 이에 업스테이지는 건강한 오픈소스 생태계를 육성하고자 첫 번째 오픈소스 프로젝트인 Dataverse를 공개했습니다. 진화하는 데이터 엔지니어링 기술을 공유하여 커뮤니티의 격차를 해소하고 손쉽게 데이터 전처리 작업을 이행할 수 있는 Dataverse에 대해 자세히 살펴봅니다.
투명성을 통한 공정성 증진
이 오픈 소스의 또 다른 원동력은 수익 분배의 투명성을 보장하는 것이었습니다. 그간 언어에 따라 달라지는 LLM API의 비용에 대해 우려의 목소리가 있곤 했습니다. "Language Model Tokenizers Introduce Unfairness Between Languages"라는 논문에 따르면 이러한 문제는 주로 API의 가격 구조에서 기인하는데 문자 수준과 바이트 수준 모델은 일부 언어 쌍의 경우 인코딩 길이에서 4배 이상의 차이를 보이는 것으로 나타나고 있습니다. 이러한 차이는 액세스 비용, 처리 시간, 지연 시간, 모델에 대한 컨텍스트 콘텐츠 제공 측면에서 특정 언어 커뮤니티에 불투명함을 야기할 수도 있습니다. 투명성은 특히 데이터 전처리 내 수익 공유 노력에서 매우 중요합니다. Dataverse는 전처리 방법론의 투명성을 우선시하여 이해관계자, 특히 업스테이지의 생태계 내에서 언어에 관계없이 공정하고 공평하게 이익을 분배할 수 있도록 합니다.
Dataverse란 무엇인가요?
개요
Dataverse는 데이터 처리 및 관리를 위한 사용자 친화적이고 표준화된 솔루션으로, LLM 시대의 데이터 사이언티스트, 분석가 및 개발자의 요구 사항을 충족하도록 맞춤화되어 있습니다. Spark와 같은 복잡한 프레임워크에 익숙하지 않은 사용자도 데이터 전처리 작업을 할 수 있도록 간단한 접근 방식을 제공하고 있습니다.
주요 기능
데이터버스의 가장 두드러진 특징은 유연성입니다. 사용자는 사용자 정의 함수를 자유롭게 정의할 수 있어 보다 맞춤화되고 적응력 있는 전처리 환경을 구현할 수 있습니다.
Block-Based: 데이터버스에서 블록은 Spark에서 실행되는 등록된 ETL 함수를 의미합니다. 퍼즐 조각을 맞추듯 Spark 코드를 작성할 수 있습니다. 구성을 통해 원하는 결과를 얻기 위해 조각을 쉽게 추가, 제거 또는 재배열할 수 있습니다.
Configure-Based: Spark의 모든 설정과 블록 단계는 구성으로 정의할 수 있습니다. 모든 코드를 알지 못하더라도 옵션만 설정하면 바로 사용할 수 있습니다.
확장성: 특정 요구 사항을 충족하도록 설계되어 프로젝트에 완벽하게 맞는 사용자 지정 기능을 사용할 수 있습니다.
라이선스
데이터버스는 Apache 라이선스 2.0에 따라 운영됩니다.
자세한 내용은 데이터버스 문서 페이지를 참조하세요: 데이터버스 문서
사용 사례
데이터버스는 대규모 텍스트 데이터 전처리 작업을 처리할 때 가장 빛을 발합니다. 또한 여러 라이브러리에 흩어져 있는 수많은 전처리 기능을 통합하는 중앙 집중식 허브 역할을 합니다.
업스테이지에는 Solar Mini 및 Up 1T 토큰 클럽 과 같은 프로젝트의 데이터셋 전처리 작업에 Dataverse를 활용했습니다. 예를 들어, 파트너 기업에서 제공한 방대한 텍스트 데이터를 체계적으로 정리하고 개선하기 위해 데이터버스를 사용하여 중복을 제거했습니다. 데이터 사전 처리의 한 예로는 품질이나 배포에 영향을 주지 않으면서 특허 데이터세트를 원래 크기의 30%로 축소한 것이 있습니다. 데이터 세트의 품질이 대규모 언어 모델(LLM) 학습 요건에 부합하도록 보장함으로써 모델 학습을 위한 기초 데이터를 만드는 데 도움이 되었을 뿐만 아니라 표준화된 처리 코드를 통해 일관된 결과를 제공함으로써 팀의 협업을 위한 기반이 되었습니다. Dataverse는 팀을 위한 안정적인 전처리 기반을 구축하며, 사용자 지정이 가능한 특성으로 인해 추가적인 개선이 가능합니다.
향후 계획 및 기여(Contribution)
앞으로 Dataverse는 이미지와 동영상을 포함한 멀티모달 데이터 유형을 포괄할 수 있도록 전처리 기능의 레퍼토리를 확장할 야심찬 계획을 가지고 있습니다. Dataverse의 비전은 형식에 관계없이 비정형 데이터를 처리하는 것으로 확장되어 다양한 데이터 유형과 형식에 걸쳐 균일한 처리를 보장합니다.
요약
결론적으로, Dataverse는 투명성, 유연성, 커뮤니티 협업에 대한 꾸준한 노력에 힘입어 오픈 소스 데이터 전처리 영역에서 유망한 경쟁자로 부상하고 있습니다.
Dataverse의 잠재력을 최대한 발휘할 수 있도록 맞춤형 전처리 기능 및 Spark 최적화의 형태로 커뮤니티에서 많은 참여가 이루어지길 기대합니다.
깃허브를 통해 Dataverse 생태계에서 데이터 전처리의 미래를 함께 만들어가세요. GitHub!