Frequently asked questions
Syntho を配備するにはどのような権限が必要ですか?
Syntho のインストールには管理者ユーザーが必要です。もし Docker 展開のために, ユーザーのニーズ sudo 権利 docker/docker-compose.
データ生成のためにデータベースをどのようにプロビジョニングすればよいですか?
Syntho プラットフォームはソースデータベースとデスティネーションデータベースを使用します。
について source database は、データ生成ジョブの入力データを保存し、以下のことが可能です。 read-only.
について destination database テーブルとカラムが空でなければならない, と構造的には同じである。 source データベースが必要です。それには write access, 生成されたデータはそこに書き込まれるからだ。
その source そして destination データベースは同じサーバー上で実行できる, または別のサーバーでホスティングされる。
Syntho はデータベースの制約をどのように扱いますか?
Syntho はデータベースの制約をどのように処理しますか? source を生成するためのデータベースである。 destination データベースを使用します。例えば, 外部キー制約は、生成されたデータベースのテーブル関係を再現するために推測されます。
Syntho は、外部キー制約のシナリオを処理することができます。 destination データベースは有効か無効のどちらかである。
機密性のないテーブルがいくつかあるのですが、そのテーブルを保存先のデータベースに含めたいのです。これらはどうすればよいですか?
機密性のないテーブル(例えば'definition tables言語テーブルや商品テーブルなど)は、コピー先データベースにデータを書き込む際に、そのままコピーすることができます。これは Job configuration パネルに De-identify.
詳細はこちら, 訪問: Configure table settings > Table modes.
AIによる生成には何件のトレーニング記録が必要ですか?
プライバシーリスクを最小化し、学習アルゴリズムの汎化能力を向上させるために, 経験則として, 最低限 column-to-row ratio of 1:500 が推奨される。例えば, もし source テーブルは6列, 最低でも3000行が必要である。
まだデータがありません。ゼロからデータを生成することもできますか?
はい。, まだデータを持っていない場所, このような場合、空のデータベースを埋めるためにゼロからデータを生成したいと思うかもしれません。これは、Syntho プラットフォームを使用して、以下の方法で行うことができます。:
1.最初, 空の source データベースと destination データベースに、入力したいテーブルとカラムを追加します。ソース・データベースは、デスティネーション・データベースとは異なるものでなければなりません。 2.主キー・カラムと外部キー・カラムを、以下のようにしてください。 source データベースが正しく設定され、すでに some key values in there. 3.3. Job configuration パネル, すべてのテーブルを De-identify. 4.ショートカット CTRL + SHIFT + ALT + 0
の下に値を設定する。key_generation_method"から"generate". 5.各列, に移動する。 Column settings を選択する。 Mocker または Calculated Column を生成方法とする。 6.関連する Mocker そして Calculated Columns を設定する。 7.を選択する。 number of rows をテーブル設定の下に生成する。 8.最後に, 選ぶ Generate を使用してデータベースを生成します。
どうすれば合成データユーティリティを改善できますか?
生成された合成データの実用性(別名「品質」または「忠実度」)を向上させる方法はいくつかあります。以下のような方法があります。:
1.に記載されているデータ準備要件に従ってデータが準備されていることを確認する。 Preparing your data セクション 2.の値を大きくする。 Maximum rows used for training パラメータ, に設定し、すべての行を含めることを検討する。トレーニングに使用する行の最大数が、入力行の総数より小さい値に設定されている場合, を有効にすることができます。 Take random sample パラメータを使用することで、より代表的なサブセットを得ることができる。 3.複数の関連テーブルを合成する必要がある場合, の指示と制限に従ってください。 Synthesize table relationships with entity-table ranking が特徴だ。
データの非識別化や仮名化にも Syntho を使用できますか?
はい。, を合成している。, シンセオでは次のようなこともできます。 de-identify 最も機密性の高いカラム。次のセクションでは、この方法を説明します。:
https://github.com/syntho-ai/documentation/blob/main/Japanese/configure-a-data-%20Generation-job/table-relationships/de-identify-pii-columns.md。
どうすればデータ生成ジョブを高速化できますか?
SynthoプラットフォームとSynthoの生成AIモデルは、可能な限り高速かつ効率的にデータを生成するように最適化されています。例えば, タスクの並列化は、データ生成プロセスの各ステップで適用される。, を読んだ。 source を書き込むまで destination のデータがある。
以下は、データ作成作業のスピードを上げるためのヒントです。:
無効にする PII obfuscation for free text columns. 2.生成するテーブルの数を減らす。 3.テーブルの行数および高基数列数(すなわち、多くの明確な値を持つ列)を減らす。 4.複数のテーブルを扱う場合, を調整することができます。 Number of simultaneous connections 並列書き込みを可能にする。 5.Synthoは、接続先のデータベースのクエリー性能と書き込み性能によって制限されます。特に, データベースの書き込み速度は、テーブルが大きくなると、データベースの種類によっては大きな影響を与えることがあります。データベースの書き込み速度の制限を緩和するオプションには、次のようなものがあります。: 1.代表的な subset 合成する前に、それらの大きなテーブルの 2.生成されたデータを(Parquet)ファイルに書き出すことを検討する。 Azure Data Lake Storage または Amazon Simple Storage Service (S3). 3.3. Write batch size は、書き込み速度に若干の影響を与える可能性がある。
どうすればクラスタのメモリ使用率を最適化できますか?
Synthoプラットフォームは、データ生成時のメモリ利用を最適化するためのいくつかの機能を提供しています。これらの機能がどのように機能するかを理解することで、より効果的にメモリを管理し、メモリ不足(OOM)エラーなどの問題を防ぐことができます。
Batch Size: 1つのバッチで処理されるデータポイントの数。バッチ・サイズを大きくするとデータ生成速度が向上しますが、より多くのメモリを必要とします。クラスタで使用可能なメモリに基づいてバッチサイズを調整し、パフォーマンスとメモリ使用量の最適なバランスを見つけます。
Parallel Connections (N): このパラメータは、並行して読み書きできるテーブルの数を制御する。Nを増やすと、複数のテーブルを同時に処理できるようになる。, これはデータ生成のスピードを上げることができる。しかし, メモリ使用量も増える, したがって、利用可能なメモリとデータベース・スキーマの複雑さ(潜在的な外部キー関係を考慮する)に応じて、このパラメータを調整してください。
Training Rows (N): 生成モデルの学習に使用するソース・データの行数。より多くの行を使用すると、合成されたデータの品質が向上しますが、より多くのメモリを必要とします。メモリ使用量を監視し、メモリ制限を超えないように N を調整する。
Ray Dashboard: メモリの使用状況をリアルタイムで確認できる, CPU使用率, およびその他のリソースメトリックス。Rayダッシュボードを定期的に監視し、メモリ消費量を追跡し、バッチサイズに必要な調整を行う。, パラレル接続, とトレーニング畝。
OOM Error Logs: Workers (tasks/actors) killed due to memory pressure (OOM) "などのエラーは、クラスタがメモリ不足に陥ったことを示しています。OOMエラーが発生した場合, バッチサイズを小さくする, 並列接続数を減らす, またはトレーニング行数を減らして、メモリへの負担を軽減する。
Last updated