合成資料是由電腦演算法人工生成,而非從實際事件收集而來。就像是人工智慧 (AI) 的飛行模擬模式。就像飛行員在模擬駕駛艙中學習飛行,不會危及真實飛機一樣,AI 模型可以使用模擬資料學習識別模式,不會危及使用者隱私。
合成資料與真實資料的主要差異在於,前者會模仿真實資料的統計屬性 (例如平均值、相關性和分布),但不含任何可識別真實人物的資訊。這類內容看起來和真實內容一模一樣,但並非由真人製作特定記錄。
生成合成資料並非複製貼上即可。這項技術會使用進階機器學習模型,瞭解真實資料的「樣貌」,然後建立符合該樣貌的全新原創樣本。
合成資料的用途不盡相同。您可以根據隱私權和準確度的需求,選擇不同類型。
這項資料完全從頭生成。這類資料不含原始使用者資料,因此合成記錄與真人之間沒有一對一的對應關係。由於不涉及任何特定個人,因此能提供最高等級的隱私保護。不過,這需要嚴格的驗證,確保資料仍夠準確,可用於訓練 AI。
有時,您需要保留一些真實資料,才能讓資料集發揮作用。部分合成資料是指從真實資料集著手,只將機密部分 (例如姓名、身分證字號或地址) 換成合成值。其餘資料則維持不變。這種做法兼顧隱私與實用性,但與完全合成資料相比,重新識別的風險略高。
這種做法會結合真實和合成記錄,建立「超級資料集」。通常用於充實較小的真實資料集。舉例來說,如果您有大量一般銀行交易資料,但詐欺資料很少,可以生成合成詐欺記錄,與真實資料混合。這有助於「增加取樣」罕見事件,讓 AI 模型有足夠的範例可學習。
真實資料是準確度的標準,但收集成本高昂,且通常雜亂或不完整,並受到 GDPR 或 HIPAA 等隱私權法律的嚴格限制。收集真實世界資料也可能需要數月或數年。
另一方面,合成資料的擴充成本較低。您可以在數小時內生成數百萬筆記錄。這類資料會完美標示 (因為是電腦建立,所以電腦完全瞭解內容),而且設計上符合隱私權規定。此外,合成資料可經過平衡處理,消除真實資料集中常見的自然偏誤。
功能 | 真實資料 | 合成資料 |
費用 | 偏高 (收集和加上標籤) | 偏低 (僅運算能力) |
速度 | 較慢 (數月/數年) | 更快 (數小時/數天) |
隱私權 | 限制較多 (PII 風險) | 更安全 (不含 PII) |
準確性 | 較高 (反映實際情況) | 不一定 (取決於模型品質) |
功能
真實資料
合成資料
費用
偏高 (收集和加上標籤)
偏低 (僅運算能力)
速度
較慢 (數月/數年)
更快 (數小時/數天)
隱私權
限制較多 (PII 風險)
更安全 (不含 PII)
準確性
較高 (反映實際情況)
不一定 (取決於模型品質)
自動駕駛車和機器人技術非常仰賴合成資料,因為收集真實世界的資訊相當緩慢。即使在道路上行駛數百萬英里,實體測試也不可能涵蓋所有獨特的事故情境。工程師可透過生成虛擬駕駛環境,讓汽車在數十億英里的模擬道路上訓練,並在沒有任何實體風險的情況下,測試汽車在危險情況 (例如兒童跑進街道) 下的反應。
醫療資料極為私密,難以分享。研究人員可利用合成資料,建立模仿真實疾病統計模式的假病患記錄。這樣一來,醫院就能分享資料,用於癌症研究或罕見疾病研究,同時遵守《健康保險流通與責任法案》(HIPAA)。ManageEngine 的調查顯示,81% 的醫療照護機構目前使用合成資料,在兼顧隱私權的同時推動創新。
由於詐欺行為很少發生,因此難以偵測。這會讓 AI 難以瞭解詐欺行為的樣貌。銀行可能會使用合成資料,生成數千種詐欺交易模式。這種「增加取樣」做法有助於訓練 AI 找出可疑活動,同時不會洩漏真實的客戶財務記錄。
開發人員需要大量資料,才能測試應用程式在壓力下的效能。這就是所謂的「測試資料管理」。DevOps 團隊不必使用危險的真實正式版資料庫副本,就能在測試環境中填入數百萬個合成使用者。他們可以安全地對新應用程式更新進行壓力測試,確保系統能處理大量流量。
隱私權和法規遵循
合成資料可大幅降低個人識別資訊 (PII) 外洩的風險。由於這類資料不涉及真實人物,通常不受 GDPR 和 CCPA 等嚴格法規的規範。全球團隊可以更輕鬆地跨國自由共用資料集,不必處理複雜的法律問題。
成本與速度
使用合成資料可大幅加快「資料到 AI」的生命週期。您不必聘請人員手動標記圖片,也不必等待現場收集資料。這項效率提升功能可降低成本並加快開發速度。
減少偏誤
真實世界的資料通常反映了真實世界的偏見。如果使用歷來聘僱資料訓練 AI,AI 可能會學到偏好某個群體。開發人員可透過合成資料,人為修正這些不平衡問題。您可以為代表性不足的群體生成更多資料,例如確保 AI 同等辨識所有膚色或性別,以建立更公平、更穩健的模型。
極端案例測試
有些情況太危險或太罕見,無法在現實生活中測試。舉例來說,不可能為了瞭解安全氣囊感應器的運作方式,就撞毀一千輛真車。合成資料可讓您安全地建立這些「極端案例」。您可以模擬罕見事件,例如鳳凰城暴風雪或特定引擎故障,來訓練系統應對真實世界資料中占比不到 0.01% 的情況,這些情況對安全至關重要。
對開發人員來說,如要快速生成中小型合成資料集 (例如用於單元測試或簡單的示範),通常不是訓練複雜的 GAN,而是運用大型語言模型 (LLM) 生成式功能。這些功能現已整合至 Gemini Enterprise Agent Platform (舊稱 Vertex AI)。這個平台提供全方位的環境,可用於建構、部署及擴充機器學習模型,包括存取 Gemini 等強大模型。
在本逐步操作說明中,我們將使用 Python 適用的 Agent Platform SDK (舊稱 Vertex AI SDK) 和 Gemini,從頭生成合成的「顧客交易」資料集。假設您是開發人員,正在建構金融科技資訊主頁。您需要 50 列「交易資料」來測試前端。
您需要下列特定欄位:transaction_id、timestamp、amount、merchant_category 和 is_fraud。
首先,請確認 Python 環境中已安裝 Agent Platform SDK。雖然平台已更名,但 Python 套件仍為 google-cloud-aiplatform。
匯入程式庫,並使用專案詳細資料進行初始化。 這是透過 Gemini Enterprise Agent Platform 的 Agent Platform SDK 使用 Gemini 模型的標準設定。
LLM 生成的合成資料品質,很大程度取決於提示詞。您必須明確說明結構定義、限制 (例如不得為負數) 和輸出格式 (CSV 或 JSON)。在 Gemini Enterprise Agent Platform 使用 Gemini 模型時,清楚明確的指示是有效提示工程的關鍵。
將提示詞傳送至模型,並將回覆直接載入 Pandas DataFrame。 generate_content 方法是 Agent Platform SDK 的一部分。
如果只是想取得「看似合理」的資料來測試軟體功能,使用 Gemini 等一般用途 LLM 來生成合成表格型資料,通常會比訓練自訂統計模型 (例如 VAE) 更快。
*企業規模注意事項:如需生成數百萬筆資料列,在統計上複製現有的大型私有資料集,您可能需要從簡單的 LLM 提示詞,改為使用 Gemini Enterprise Agent Platform Pipelines (舊稱 Vertex AI Pipelines),並與 Gretel.ai 或 MOSTLY AI 等專業合作夥伴整合,這些服務可直接在 Google Cloud Marketplace 取得。可在更廣泛的 Gemini Enterprise Agent Platform 中,自動調度和管理這些進階工作流程。
Google Cloud 提供多種工具,協助開發人員有效生成及管理合成資料。