ไลบรารีข้อมูลสังเคราะห์ที่ได้รับอนุญาตจาก Gretel.ai
หากคุณต้องการค้นพบสารสังเคราะห์เกรเทลอย่างรวดเร็ว เพียงคลิกปุ่มด้านล่างและปฏิบัติตามบทช่วยสอน!
ดูตัวอย่างเพิ่มเติมได้ที่นี่
ส่วนนี้จะแนะนำคุณตลอดการติดตั้ง gretel-synthetics
และการขึ้นต่อกันที่ตัวจัดการแพ็คเกจ Python ไม่ได้ติดตั้งโดยตรง
ตามค่าเริ่มต้น เราไม่ได้ติดตั้งข้อกำหนดหลักบางประการ ควรติดตั้งการพึ่งพาต่อไปนี้ ภายนอกการติดตั้ง 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
จริง ให้ทำการโคลน repo ก่อน จากนั้น...
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 เท่านั้น คุณอาจต้องแก้ไขสำหรับระบบปฏิบัติการเวอร์ชันอื่น
โมดูล DGAN อนุกรมเวลาประกอบด้วยการใช้งาน PyTorch ของโมเดล DoppelGANger ที่ได้รับการปรับให้เหมาะสมสำหรับข้อมูลอนุกรมเวลา เช่นเดียวกับ tensorflow คุณจะต้องติดตั้ง pytorch ด้วยตนเอง:
pip install torch==1.13.1
สมุดบันทึกนี้แสดงการใช้งานพื้นฐานของชุดข้อมูลขนาดเล็กของการอ่านเซ็นเซอร์บ้านอัจฉริยะ
ACTGAN (อย่างไรก็ตาม CTGAN) เป็นส่วนเสริมของการใช้งาน CTGAN ยอดนิยมซึ่งมีฟังก์ชันเพิ่มเติมบางอย่างเพื่อปรับปรุงการใช้หน่วยความจำ การตรวจจับอัตโนมัติ และการแปลงคอลัมน์ และอื่นๆ
หากต้องการใช้โมเดลนี้ คุณจะต้องติดตั้ง SDV ด้วยตนเอง:
pip install sdv<0.18
โปรดทราบว่าการดำเนินการนี้จะติดตั้งการขึ้นต่อกันหลายอย่าง เช่น PyTorch ที่ SDV ใช้งาน ซึ่งอาจขัดแย้งกับเวอร์ชัน PyTorch ที่ติดตั้งเพื่อใช้กับรุ่นอื่นๆ เช่น Timeseries DGAN
อินเทอร์เฟซ ACTGAN เป็นชุดที่เหนือกว่าของอินเทอร์เฟซ CTGAN หากต้องการดูคุณสมบัติเพิ่มเติม โปรดดูสมุดบันทึกสาธิต ACTGAN ในไดเรกทอรี examples
ของ repo นี้
แพ็คเกจนี้ช่วยให้นักพัฒนาสามารถดื่มด่ำกับการสร้างข้อมูลสังเคราะห์ได้อย่างรวดเร็วผ่านการใช้โครงข่ายประสาทเทียม ส่วนที่ซับซ้อนมากขึ้นในการทำงานกับไลบรารีเช่น Tensorflow และ Differential Privacy นั้นรวมอยู่ในคลาสและฟังก์ชันของ Python ที่เป็นมิตร มีสองโหมดระดับสูงที่สามารถใช้ได้
โหมดธรรมดาจะฝึกบรรทัดต่อบรรทัดในไฟล์อินพุตของข้อความ เมื่อสร้างข้อมูล ตัวสร้างจะให้ออบเจ็กต์แบบกำหนดเองที่สามารถใช้งานได้หลากหลายวิธีขึ้นอยู่กับกรณีการใช้งานของคุณ สมุดบันทึกนี้สาธิตโหมดนี้
ไลบรารีนี้รองรับ CSV / DataFrames โดยใช้โหมด DataFrame "batch" โมดูลนี้เป็น wrapper ของโหมดธรรมดาของเราที่ออกแบบมาเพื่อการทำงานกับข้อมูลแบบตาราง นอกจากนี้ ยังสามารถจัดการคอลัมน์จำนวนมากโดยแบ่ง DataFrame อินพุตออกเป็น "ชุด" ของคอลัมน์ และฝึกอบรมโมเดลในแต่ละชุด สมุดบันทึกนี้แสดงภาพรวมของการใช้ไลบรารีนี้กับ DataFrames แบบเนทีฟ
มีองค์ประกอบหลักสี่ประการที่ต้องคำนึงถึงเมื่อใช้ไลบรารีนี้
การกำหนดค่า การกำหนดค่าคือคลาสที่เฉพาะเจาะจงสำหรับกลไก ML พื้นฐานที่ใช้ในการฝึกฝนและสร้างข้อมูล ตัวอย่างคือการใช้ TensorFlowConfig
เพื่อสร้างพารามิเตอร์ที่จำเป็นทั้งหมดเพื่อฝึกโมเดลตาม TF LocalConfig
มีนามแฝงว่า TensorFlowConfig
เพื่อความเข้ากันได้แบบย้อนหลังกับไลบรารีเวอร์ชันเก่า โมเดลจะถูกบันทึกลงในไดเร็กทอรีที่กำหนด ซึ่งสามารถเลือกเก็บถาวรและนำไปใช้ในภายหลังได้
โทเค็นไนเซอร์ Tokenizers แปลงข้อความอินพุตเป็น ID ที่ใช้จำนวนเต็มซึ่งใช้โดยกลไก ML พื้นฐาน โทเค็นเหล่านี้สามารถสร้างและส่งไปยังอินพุตการฝึกอบรมได้ นี่เป็นทางเลือก และหากไม่มีการระบุโทเค็นไนเซอร์เฉพาะ ระบบจะใช้โทเค็นเริ่มต้น คุณสามารถดูตัวอย่างได้ที่นี่ซึ่งใช้โทเค็นไนเซอร์แบบ char-by-char แบบธรรมดาเพื่อสร้างโมเดลจากอินพุต CSV เมื่อฝึกฝนในโหมดส่วนตัวที่ไม่มีส่วนต่าง เราขอแนะนำให้ใช้โทเค็น SentencePiece
เริ่มต้น ซึ่งเป็นโทเค็นที่ไม่ได้รับการดูแลซึ่งจะเรียนรู้หน่วยคำย่อย (เช่น การเข้ารหัสคู่ไบต์ (BPE) [Sennrich et al.]) และ โมเดลภาษายูนิแกรม [Kudo. ]) เพื่อการฝึกที่เร็วขึ้นและเพิ่มความแม่นยำของแบบจำลองสังเคราะห์
การฝึกอบรม. การฝึกโมเดลจะรวมการกำหนดค่าและโทเค็นไนเซอร์เข้าด้วยกัน และสร้างโมเดลซึ่งจัดเก็บไว้ในไดเร็กทอรีที่กำหนด ซึ่งสามารถใช้เพื่อสร้างเรกคอร์ดใหม่ได้
รุ่น. เมื่อแบบจำลองได้รับการฝึกฝนแล้ว จะสามารถสร้างบรรทัดหรือเรกคอร์ดใหม่จำนวนเท่าใดก็ได้ อีกทางหนึ่ง สามารถจัดเตรียมเครื่องมือตรวจสอบบันทึกเพื่อให้แน่ใจว่าข้อมูลที่สร้างขึ้นตรงตามข้อจำกัดใดๆ ที่จำเป็น ดูสมุดบันทึกของเราสำหรับตัวอย่างเกี่ยวกับเครื่องมือตรวจสอบความถูกต้อง
นอกเหนือจากองค์ประกอบหลักสี่ประการแล้ว แพ็คเกจ gretel-synthetics
ยังมาพร้อมกับชุดยูทิลิตี้ที่มีประโยชน์สำหรับการฝึกโมเดลการสังเคราะห์ขั้นสูงและการประเมินชุดข้อมูลสังเคราะห์
ฟังก์ชันบางอย่างมีการพึ่งพาอย่างมาก ดังนั้นจึงถูกจัดส่งในรูปแบบพิเศษที่เรียกว่า utils
หากต้องการติดตั้งการขึ้นต่อกันเหล่านี้ คุณอาจเรียกใช้
pip install gretel-synthetics[utils]
สำหรับรายละเอียดเพิ่มเติม โปรดดูเอกสาร API ของโมดูลยูทิลิตี้
การสนับสนุนความเป็นส่วนตัวที่แตกต่างสำหรับโหมด TensorFlow ของเราสร้างขึ้นจากผลงานที่ยอดเยี่ยมของทีม Google TF และไลบรารีความเป็นส่วนตัวของ TensorFlow
เมื่อใช้ DP ขณะนี้เราขอแนะนำให้ใช้โทเค็นอักขระ เนื่องจากจะสร้างคำศัพท์ของโทเค็นเดี่ยวเท่านั้น และขจัดความเสี่ยงที่ข้อมูลที่ละเอียดอ่อนจะถูกจดจำเป็นโทเค็นจริงที่สามารถเล่นซ้ำได้ระหว่างการสร้าง
นอกจากนี้ยังมีตัวเลือกการกำหนดค่าบางอย่างที่โดดเด่น เช่น:
predict_batch_size
ควรตั้งค่าเป็น 1dp
learning_rate
, dp_noise_multiplier
, dp_l2_norm_clip
และ dp_microbatches
สามารถปรับเปลี่ยนได้เพื่อให้ได้ค่า epsilon ต่างๆreset_states
ควรปิดการใช้งานโปรดดูตัวอย่าง Notebook ของเราสำหรับการฝึกโมเดล DP โดยอิงตามชุดข้อมูล Netflix Prize