言語を切り替える: 简体中文 | 最新の API ドキュメント | ロードマップ | 微信グループに参加する
Colab の例: LLM: データ合成 | LLM: オフテーブル推論 | 10億レベルのデータをサポートするCTGAN
合成データ ジェネレーター (SDG) は、高品質の構造化された表形式データを生成するように設計された特殊なフレームワークです。
合成データには機密情報は含まれていませんが、元のデータの重要な特性が保持されているため、GDPR や ADPPA などのプライバシー規制の対象から除外されます。
高品質の合成データは、データ共有、モデルのトレーニングとデバッグ、システム開発とテストなどのさまざまな領域で安全に利用できます。
皆様をお迎えできることを大変うれしく思います。皆様の貢献を楽しみにしています。この貢献概要ガイドを通じてプロジェクトを始めてください。
現在の主な成果とスケジュールは次のとおりです。
2024 年 11 月 21 日: 1) モデルの統合 - GaussianCopula
モデルをデータ プロセッサ システムに統合しました。この PR のコード例を確認してください。 2) 合成品質 - データ列の関係の自動検出を実装し、関係の指定を可能にし、合成データの品質を向上させました(コード例)。 3) パフォーマンスの強化 - 離散データを処理する際の GaussianCopula のメモリ使用量が大幅に削減され、 2C4G
セットアップで数千のカテゴリ データ エントリのトレーニングが可能になりました。
2024 年 5 月 30 日: データ プロセッサ モジュールが正式に統合されました。このモジュールは: 1) SDG がモデルにフィードされる前に一部のデータ列 (日時列など) の形式を変換し (離散型として扱われないようにするため)、モデルで生成されたデータを元の形式に逆変換するのに役立ちます。 ; 2) さまざまなデータ型に対して、よりカスタマイズされた前処理と後処理を実行します。 3) 元のデータの null 値などの問題に簡単に対処できます。 4) プラグインシステムをサポートします。
2024 年 2 月 20 日: LLM に基づく単一テーブル データ合成モデルが含まれています。colab の例を参照してください: LLM: データ合成および LLM: オフテーブル特徴推論。
2024 年 2 月 7 日: sdgx.data_models.metadata
改善して、単一テーブルと複数テーブルのメタデータ情報の記述をサポートし、複数のデータ型をサポートし、自動データ型推論をサポートしました。 colab の例を表示: SDG 単一テーブル メタデータ。
2023 年 12 月 20 日: v0.1.0 がリリースされました。数十億のデータ処理機能をサポートする CTGAN モデルが含まれています。SDG がメモリ消費量を削減し、トレーニング中のクラッシュを回避した SDV に対するベンチマークをご覧ください。具体的な使用方法については、colab の例を参照してください: 10 億レベルのデータをサポートする CTGAN。
2023 年 8 月 10 日: SDG コードの最初の行がコミットされました。
長い間、LLM はさまざまな種類のデータを理解して生成するために使用されてきました。実際、LLM には表形式データ生成における特定の機能もあります。また、従来の (GAN 手法や統計的手法に基づく) では達成できない機能もいくつか備えています。
sdgx.models.LLM.single_table.gpt.SingleTableGPTModel
は 2 つの新しい機能を実装しています。
トレーニング データは必要ありません。合成データはメタデータ データに基づいて生成できます (colab の例を参照)。
テーブル内の既存のデータと LLM によって習得された知識に基づいて新しい列データを推論します (colab の例を参照)。
技術の進歩:
幅広い統計データ合成アルゴリズムをサポートし、LLM ベースの合成データ生成モデルも統合されています。
ビッグデータ用に最適化されており、メモリ消費を効果的に削減します。
学界と産業界の最新の進歩を継続的に追跡し、優れたアルゴリズムとモデルのサポートをタイムリーに導入します。
プライバシーの強化:
SDG は、差分プライバシー、匿名化、および合成データのセキュリティを強化するその他の方法をサポートしています。
拡張が簡単:
モデルの拡張、データ処理、データコネクタなどをプラグインパッケージの形でサポートします。
事前に構築されたイメージを使用して、最新の機能をすぐに体験できます。
docker pull idsteam/sdgx:latest
pip インストール SDGX
SDG をソース コードからインストールして使用します。
git clone [email protected]:hitsz-ids/synthetic-data-generator.git pip install .# または gitpip install git+https://github.com/hitsz-ids/synthetic-data-generator.git からインストールします
from sdgx.data_connectors.csv_connector import CsvConnectorfrom sdgx.models.ml.single_table.ctgan import CTGANSynthesizerModelfrom sdgx.synthesizer import Synthesizerfrom sdgx.utils import download_demo_data# これにより、デモ データが ./datasetdataset_csv = download_demo_data()# にダウンロードされます。 csv 用のデータ コネクタを作成しますfiledata_connector = CsvConnector(path=dataset_csv)# シンセサイザーを初期化し、CTGAN モデルを使用しますynthesizer = Synthesizer(model=CTGANSynthesizerModel(epochs=1), # 簡単に説明するには、demodata_connector=data_connector, )# モデルをフィットする ynthesizer.fit()# Samplesampled_data = synthesizer.sample(1000)print(sampled_data)
実際のデータは次のとおりです。
>>> data_connector.read() 年齢 労働階級 fnlwgt 教育 ... 資本損失時間/週 母国クラス0 2 州政府 77516 学士 ... 0 2 米国 <=50K1 3 自営会社 83311 学士 .. 0 0 米国 <=50K2 2 私立 215646 高校卒業 ... 0 2 米国 <=50K3 3 私立 234721 11 位 ... 0 2 米国 <=50K4 1 私立 338409 学士 ... 0 2 キューバ <=50K... ... ... ... ... ... ... ... ... ...48837 2 私立 215419 学士 ... 0 2 米国<=50K48838 4 NaN 321403 高校卒業 ... 0 2 米国 <=50K48839 2 私立 374983 学士 ... 0 3 米国 <=50K48840 2 私立 83891 学士 ... 0 2 米国 <=50K48841 1 Self-emp-inc 182148 学士 ... 0 3 米国 >50K[48842 行 x 15 列]
合成データは以下のとおりです。
>>> サンプルデータの年齢 労働階級 fnlwgt 教育 ... 週当たりの資本損失時間 母国の階級 0 1 NaN 28219 大学 ... 0 2 プエルトリコ <=50K1 2 私立 250166 高校卒業 ... 0 2 米国 >50K2 2 私立 50304 高校卒業 ... 0 2 米国<=50K3 4 私立 89318 学士 ... 0 2 プエルトリコ >50K4 1 私立 172149 学士 ... 0 3 米国 <=50K.. ... ... ... ... 。 .. ... ... ...995 2 NaN 208938 学士 ... 0 1 米国 <=50K996 2 私立166416 学士 ... 2 2 米国 <=50K997 2 NaN 336022 高校卒業 ... 0 1 米国 <=50K998 3 私立 198051 修士 ... 0 2 米国 >50K999 1 NaN 41973 高校卒業... 0 2 米国<=50K[1000 行 x 15 列]
CTGAN:条件付きGANを使用した表形式データのモデリング
C3-TGAN: C3-TGAN - 明示的な相関とプロパティ制約を使用した制御可能な表形式データ合成
TVAE:条件付き GAN を使用した表形式データのモデリング
table-GAN:敵対的生成ネットワークに基づくデータ合成
CTAB-GAN:CTAB-GAN: 効果的なテーブル データの合成
OCT-GAN: OCT-GAN: ニューラル ODE ベースの条件付き表形式 GAN
SDG プロジェクトは、ハルビン工業大学データ セキュリティ研究所によって開始されました。 out プロジェクトにご興味がございましたら、ぜひコミュニティにご参加ください。私たちは、オープンソースを通じたデータ保護とセキュリティへの取り組みを共有する組織、チーム、個人を歓迎します。
プル リクエストを作成する前に CONTRIBUTING をお読みください。
「View Good First Issue」を表示して問題を送信するか、プル リクエストを送信します。
QR コードから Wechat グループに参加してください。