Gretel.ai의 허용 가능한 합성 데이터 라이브러리
gretel-synthetics를 빠르게 발견하고 싶다면 아래 버튼을 클릭하고 튜토리얼을 따르십시오!
여기에서 추가 예시를 확인해 보세요.
이 섹션에서는 Python 패키지 관리자가 직접 설치하지 않는 gretel-synthetics
및 종속 항목 설치 과정을 안내합니다.
기본적으로 우리는 특정 핵심 요구 사항을 설치하지 않습니다. 사용하려는 모델에 따라 gretel-synthetics
설치 외부에 다음 종속성을 설치해야 합니다.
이러한 종속성은 다음을 수행하여 설치할 수 있습니다.
pip install tensorflow==2.12.1 # for LSTM
pip install sdv<0.18 # for ACTGAN
pip install torch==2.0 # for Timeseries DGAN
실제 gretel-synthetics
패키지를 설치하려면 먼저 저장소를 복제한 다음...
pip install -U .
또는
pip install gretel-synthetics
그 다음에...
pip install jupyter
jupyter notebook
브라우저에서 UI가 시작되면 examples/synthetic_records.ipynb
로 이동하여 생성을 시작하세요!
gretel-synthetics
로컬에 설치하고 GPU를 사용하려는 경우(권장):
conda
사용) conda create --name tf python=3.9
conda activate tf
./setup-utils/setup-gretel-synthetics-tensorflow24-with-gpu.sh
를 실행합니다. 마지막 단계에서는 GPU 사용에 필요한 모든 소프트웨어 패키지 tensorflow=2.8
및 gretel-synthetics
를 설치합니다. 이 스크립트는 Ubuntu 18.04에서만 작동합니다. 다른 OS 버전에서는 수정해야 할 수도 있습니다.
시계열 DGAN 모듈에는 시계열 데이터에 최적화된 DoppelGANger 모델의 PyTorch 구현이 포함되어 있습니다. tensorflow와 유사하게 pytorch를 수동으로 설치해야 합니다.
pip install torch==1.13.1
이 노트북은 스마트 홈 센서 판독값의 작은 데이터 세트에 대한 기본 사용법을 보여줍니다.
ACTGAN(어쨌든 CTGAN)은 메모리 사용, 자동 감지 및 열 변환 등을 개선하기 위한 몇 가지 추가 기능을 제공하는 널리 사용되는 CTGAN 구현의 확장입니다.
이 모델을 사용하려면 SDV를 수동으로 설치해야 합니다.
pip install sdv<0.18
이렇게 하면 SDV가 의존하는 PyTorch와 같은 여러 종속 항목도 설치되므로 Timeseries DGAN과 같은 다른 모델과 함께 사용하기 위해 설치된 PyTorch 버전과 충돌할 수 있습니다.
ACTGAN 인터페이스는 CTGAN 인터페이스의 상위 집합입니다. 추가 기능을 보려면 이 저장소의 examples
디렉터리에 있는 ACTGAN 데모 노트북을 살펴보세요.
이 패키지를 사용하면 개발자는 신경망을 사용하여 합성 데이터 생성에 빠르게 몰입할 수 있습니다. Tensorflow 및 차등 개인 정보 보호와 같은 라이브러리를 사용한 보다 복잡한 작업은 친숙한 Python 클래스 및 함수로 번들로 제공됩니다. 활용할 수 있는 두 가지 고급 모드가 있습니다.
단순 모드는 텍스트 입력 파일에서 한 줄씩 학습합니다. 데이터를 생성할 때 생성기는 사용 사례에 따라 다양한 방법으로 사용할 수 있는 사용자 정의 개체를 생성합니다. 이 노트북은 이 모드를 보여줍니다.
이 라이브러리는 기본적으로 DataFrame "배치" 모드를 사용하여 CSV/DataFrame을 지원합니다. 이 모듈은 표 형식 데이터 작업에 적합한 단순 모드에 대한 래퍼를 제공했습니다. 또한 입력 DataFrame을 열의 "배치"로 나누고 각 배치에 대해 모델을 교육함으로써 많은 수의 열을 처리할 수 있습니다. 이 노트북은 기본적으로 DataFrames와 함께 이 라이브러리를 사용하는 방법에 대한 개요를 보여줍니다.
이 라이브러리를 사용할 때 알아야 할 네 가지 기본 구성 요소가 있습니다.
구성. 구성은 데이터를 훈련하고 생성하는 데 사용되는 기본 ML 엔진과 관련된 클래스입니다. 예를 들어 TensorFlowConfig
사용하여 TF 기반 모델을 훈련하는 데 필요한 모든 매개변수를 생성하는 것입니다. LocalConfig
는 이전 버전의 라이브러리와의 호환성을 위해 TensorFlowConfig
로 별칭이 지정되었습니다. 모델은 지정된 디렉토리에 저장되며 나중에 선택적으로 보관하고 활용할 수 있습니다.
토크나이저. 토크나이저는 입력 텍스트를 기본 ML 엔진에서 사용하는 정수 기반 ID로 변환합니다. 이러한 토크나이저를 생성하여 교육 입력으로 보낼 수 있습니다. 이는 선택 사항이며 특정 토크나이저가 지정되지 않은 경우 기본 토크나이저가 사용됩니다. 여기에서 간단한 문자별 토크나이저를 사용하여 입력 CSV에서 모델을 구축하는 예를 찾을 수 있습니다. 비차등 비공개 모드에서 훈련할 때 SentencePiece
단어 단위(예: 바이트 쌍 인코딩(BPE) [Sennrich et al.])와 유니그램 언어 모델 [Kudo. ]) 더 빠른 훈련과 합성 모델의 정확성 향상을 위해.
훈련. 모델 교육은 구성과 토크나이저를 결합하고 지정된 디렉터리에 저장되어 새 레코드를 생성하는 데 사용할 수 있는 모델을 구축합니다.
세대. 모델이 훈련되면 새로운 라인이나 레코드가 얼마든지 생성될 수 있습니다. 선택적으로 생성된 데이터가 필요한 제약 조건을 충족하는지 확인하기 위해 레코드 유효성 검사기를 제공할 수 있습니다. 검증인에 대한 예시는 노트북을 참조하세요.
4가지 기본 구성 요소 외에도 gretel-synthetics
패키지에는 고급 합성 모델을 교육하고 합성 데이터 세트를 평가하는 데 도움이 되는 유틸리티 세트도 함께 제공됩니다.
이 기능 중 일부는 큰 종속성을 갖고 있으므로 utils
라는 추가 기능으로 제공됩니다. 이러한 종속성을 설치하려면 다음을 실행할 수 있습니다.
pip install gretel-synthetics[utils]
자세한 내용은 유틸리티 모듈 API 문서를 참조하세요.
TensorFlow 모드에 대한 차등 개인 정보 보호 지원은 Google TF 팀과 TensorFlow 개인 정보 보호 라이브러리가 수행한 훌륭한 작업을 기반으로 구축되었습니다.
DP를 활용하는 경우 단일 토큰의 어휘만 생성하고 민감한 데이터가 생성 중에 재생될 수 있는 실제 토큰으로 기억될 위험을 제거하므로 현재 문자 토크나이저를 사용하는 것이 좋습니다.
다음과 같은 주목할만한 몇 가지 구성 옵션도 있습니다.
predict_batch_size
1로 설정되어야 합니다.dp
활성화해야 합니다learning_rate
, dp_noise_multiplier
, dp_l2_norm_clip
및 dp_microbatches
조정하여 다양한 엡실론 값을 얻을 수 있습니다.reset_states
비활성화해야 합니다Netflix Prize 데이터 세트를 기반으로 DP 모델을 교육하려면 예제 노트북을 참조하세요.