매일 업데이트
2023-03-23 10:34 7 min

기계 학습 모델 훈련을 위한 합성 데이터 생성을 위한 13가지 도구

데이터의 새로운 지평: 합성 데이터

데이터는 머신러닝 모델의 개발, 애플리케이션 테스트, 그리고 비즈니스 통찰력 확보에 있어 핵심적인 요소로 자리매김하고 있습니다.

하지만, 데이터 보호 규정 준수를 위해 많은 기업들이 데이터를 엄격히 관리하고 보관해야 합니다. 이러한 데이터에 접근하기 위해서는 복잡한 승인 절차를 거쳐야 하며, 때로는 몇 달이나 소요될 수도 있습니다. 이러한 어려움을 해결하기 위한 대안으로 합성 데이터가 주목받고 있습니다.

합성 데이터란 무엇일까요?

사진 제공: 트윈파이

합성 데이터는 기존 데이터 세트의 통계적 특성을 모방하여 인위적으로 생성된 데이터입니다. 이 데이터는 AI 모델의 훈련 및 성능 향상을 위해 실제 데이터와 함께 사용되거나, 때로는 실제 데이터를 완전히 대체하기도 합니다.

합성 데이터는 개인 식별 정보나 민감한 데이터를 포함하지 않으며, 데이터 주체의 소유가 아니기 때문에 실제 데이터를 사용하는 것에 비해 개인 정보 보호에 더욱 안전한 대안이 될 수 있습니다.

실제 데이터와 합성 데이터의 주요 차이점

  • 가장 큰 차이점은 데이터 생성 방식에 있습니다. 실제 데이터는 설문 조사나 애플리케이션 사용과 같이 실제 환경에서 수집됩니다. 반면 합성 데이터는 원본 데이터 세트와 유사하게 인위적으로 만들어집니다.
  • 데이터 보호 규정 측면에서도 차이가 있습니다. 실제 데이터는 개인 정보 보호 규정을 준수해야 하며, 데이터 주체는 데이터 수집 목적 및 사용 방식에 대한 정보를 제공받아야 합니다. 하지만 합성 데이터는 데이터 주체에 귀속되지 않고 개인 정보가 포함되지 않으므로 이러한 규정의 적용을 받지 않습니다.
  • 데이터 가용량 또한 다릅니다. 실제 데이터는 수집된 양에 제한되지만, 합성 데이터는 필요에 따라 원하는 만큼 생성할 수 있습니다.

합성 데이터 활용을 고려해야 하는 이유

  • 비용 효율성: 기존 데이터 세트와 유사한 대규모 데이터를 생성할 수 있어 데이터 수집 비용을 절감하고 머신러닝 모델 학습에 필요한 데이터 양을 확보할 수 있습니다.
  • 데이터 준비 시간 단축: 합성 데이터는 자동으로 레이블링되고 정리되므로 데이터 전처리 작업 시간을 줄여 효율적인 분석 및 머신러닝을 가능하게 합니다.
  • 개인 정보 보호 강화: 개인 식별 정보가 포함되지 않아 데이터 공유 및 활용에 대한 제약이 적고, 개인 정보 침해 위험 없이 자유롭게 데이터를 활용할 수 있습니다.
  • AI 편향 감소: 소수 클래스를 균등하게 대표하여 AI 모델의 편향을 줄이고, 보다 공정하고 책임감 있는 AI 시스템 구축을 지원합니다.

합성 데이터 생성 방법

합성 데이터 생성 과정은 사용하는 도구에 따라 다르지만, 일반적으로 기존 데이터 세트를 기반으로 생성기를 연결하는 것으로 시작됩니다. 생성기는 데이터 세트에서 개인 식별 필드를 식별하고 제외하거나 난독화 처리합니다.

그 후 생성기는 나머지 열의 데이터 유형과 통계적 패턴을 분석하고, 이를 기반으로 필요한 양의 합성 데이터를 생성합니다.

생성된 합성 데이터는 원본 데이터와 비교하여 유사성을 검증합니다.

다음으로는 머신러닝 모델 훈련에 유용한 합성 데이터 생성 도구들을 살펴보겠습니다.

Mostly AI

Mostly AI는 원본 데이터 세트의 통계적 패턴을 학습하는 AI 기반 합성 데이터 생성기를 제공합니다. 학습된 패턴을 기반으로 가상 데이터를 생성하며, 참조 무결성을 갖춘 전체 데이터베이스를 구축할 수 있도록 지원합니다. 다양한 종류의 데이터를 합성하여 AI 모델 개발에 유용합니다.

Synthesized.io

Synthesized.io는 AI 이니셔티브를 위해 여러 선도 기업에서 사용하고 있습니다. YAML 구성 파일을 통해 데이터 요구 사항을 지정하고, 이를 바탕으로 데이터 파이프라인의 일부로 작업을 실행합니다. 데이터 요구 사항을 충족하는지 실험하고 확인할 수 있는 무료 플랜도 제공합니다.

YData

YData는 테이블 형식, 시계열, 트랜잭션, 다중 테이블 및 관계형 데이터 생성 기능을 제공합니다. 데이터 수집, 공유 및 품질 관련 문제를 해결하는 데 유용합니다. 플랫폼과 상호작용할 수 있는 AI 및 SDK와 함께 제공되며, 제품 시연을 위한 무료 플랜도 제공합니다.

그레텔 AI

Gretel AI는 무제한의 합성 데이터를 생성하는 API를 제공합니다. 오픈 소스 데이터 생성기를 설치하여 사용할 수도 있고, 유료 REST API나 CLI를 사용할 수도 있습니다. 가격은 합리적이며 비즈니스 규모에 따라 확장됩니다.

Copulas

Copulas는 코퓰러 함수를 활용하여 다변량 분포를 모델링하고, 동일한 통계 속성을 가진 합성 데이터를 생성하는 오픈 소스 Python 라이브러리입니다. 이 프로젝트는 MIT에서 2018년 합성 데이터 저장소 프로젝트의 일환으로 시작되었습니다.

CTGAN

CTGAN은 단일 테이블의 실제 데이터에서 학습하고, 식별된 패턴을 기반으로 합성 데이터를 생성하는 생성기로 구성됩니다. Copulas와 마찬가지로 오픈 소스 Python 라이브러리로 구현되었으며, 합성 데이터 저장소 프로젝트의 일부입니다.

도플갱어

DoppelGANger는 합성 데이터 생성을 위한 Generative Adversarial Networks의 오픈 소스 구현입니다. 시계열 데이터 생성에 특히 유용하며, Gretel AI와 같은 회사에서 사용됩니다. Python 라이브러리는 무료로 사용할 수 있으며 오픈 소스입니다.

Synth

Synth는 사양에 맞는 현실적인 데이터를 생성하고, 개인 식별 정보를 숨기며, 애플리케이션 테스트 데이터를 개발하는 데 도움을 주는 오픈 소스 데이터 생성기입니다. 실시간 시계열 및 관계형 데이터를 생성할 수 있으며, SQL 및 NoSQL 데이터베이스와 호환됩니다.

SDV.dev

SDV는 합성 데이터 저장소를 의미합니다. 2016년 MIT에서 시작된 소프트웨어 프로젝트로, 합성 데이터 생성을 위한 다양한 도구를 개발했습니다. 여기에는 Copulas, CTGAN, DeepEcho, RDT 등이 포함되며, 모두 오픈 소스 Python 라이브러리로 구현되었습니다.

Tofu

Tofu는 영국 바이오뱅크 데이터를 기반으로 합성 데이터를 생성하기 위한 오픈 소스 Python 라이브러리입니다. 다른 도구들과는 달리, Tofu는 특정 데이터 세트와 유사한 데이터, 특히 바이오뱅크와 유사한 데이터를 생성하는 데 특화되어 있습니다.

영국 바이오뱅크는 50만 명의 중년 성인의 표현형 및 유전자형 특성에 대한 연구입니다.

트윈파이

Twinify는 민감한 데이터를 쌍으로 만들기 위해 동일한 통계 분포를 가진 합성 데이터를 생성하는 데 사용되는 소프트웨어 패키지입니다. 라이브러리 또는 명령줄 도구로 사용할 수 있습니다.

Twinify는 실제 데이터를 CSV 파일로 제공하고, 데이터 학습을 통해 합성 데이터 생성 모델을 만들 수 있습니다. 완전 무료로 사용할 수 있습니다.

데이터나믹

Datanamic은 데이터 기반 및 머신러닝 애플리케이션을 위한 테스트 데이터를 생성하는 데 유용합니다. 이메일, 이름, 전화번호와 같은 열 특성을 기반으로 데이터를 생성하며, 대부분의 데이터베이스를 지원하고 생성된 데이터의 참조 무결성을 보장합니다.

베너레이터

Benerator는 테스트 및 교육용 데이터 난독화, 생성 및 마이그레이션을 위한 소프트웨어입니다. XML을 사용하여 데이터를 설명하고 명령줄 도구를 사용하여 데이터를 생성합니다. 개발자가 아닌 사용자도 쉽게 사용할 수 있으며, 수십억 행의 데이터를 생성할 수 있습니다. 무료 오픈 소스 소프트웨어입니다.

마지막으로

가트너는 2030년까지 실제 데이터보다 머신러닝에 사용되는 합성 데이터가 더 많을 것으로 예상하고 있습니다.

실제 데이터 사용 비용과 개인 정보 보호 문제를 고려할 때, 이는 당연한 결과입니다. 기업은 합성 데이터와 이를 생성하는 다양한 도구에 대해 관심을 갖고 학습해야 할 것입니다.

다음으로 온라인 비즈니스를 위한 합성 모니터링 도구를 확인하십시오.

저자
Korea

기술 트렌드와 실용적인 팁을 전하는 लेखक입니다.