Synthetic data generation (TH)

From Systems analysis Wiki
Jump to navigation Jump to search

การสร้างข้อมูลสังเคราะห์ด้วย LLM คือเทคโนโลยีการสร้างข้อมูลขึ้นมาโดยเทียม ซึ่งมีคุณลักษณะทางสถิติและโครงสร้างที่เลียนแบบข้อมูลจริง แต่ไม่มีข้อมูลส่วนบุคคลที่แท้จริง แนวทางนี้ใช้ศักยภาพของโมเดลภาษาขนาดใหญ่ (LLM) และกลายเป็นเครื่องมือสำคัญใน Machine Learning สมัยใหม่เพื่อแก้ปัญหาการขาดแคลนข้อมูล ความเป็นส่วนตัว และต้นทุนสูงของการติดป้ายกำกับด้วยมือ[1]

คำนิยามและที่มา

ข้อมูลสังเคราะห์คืออะไร?

ข้อมูลสังเคราะห์ คือข้อมูลที่ถูกสร้างขึ้นโดยเทียม ซึ่งจำลองคุณสมบัติทางสถิติและรูปแบบของชุดข้อมูลจริงต้นฉบับ สถาบันมาตรฐานและเทคโนโลยีแห่งชาติของสหรัฐอเมริกา (NIST) นิยามว่าเป็นข้อมูลที่รักษาคุณสมบัติทางสถิติของต้นฉบับไว้ แต่ไม่เปิดเผยรายละเอียดส่วนบุคคล[2] แตกต่างจากการทำให้ไม่ระบุตัวตนทั่วไป (anonymization) การสังเคราะห์ข้อมูลสร้างระเบียนใหม่ทั้งหมด ซึ่งให้การปกป้องความเป็นส่วนตัวในระดับที่สูงกว่า

เหตุใดจึงเกิดความต้องการ?

ความสนใจที่เพิ่มขึ้นในการสร้างข้อมูลสังเคราะห์มีสาเหตุจากปัจจัยหลายประการ:

  • การขาดแคลนข้อมูล: ในหลายสาขา โดยเฉพาะสาขาเฉพาะทาง ข้อมูลที่ติดป้ายกำกับและมีคุณภาพมีไม่เพียงพอสำหรับการฝึก robust โมเดล
  • ต้นทุนการติดป้ายกำกับสูง: การติดป้ายกำกับข้อมูลด้วยมือเป็นกระบวนการที่ใช้แรงงานมากและมีค่าใช้จ่ายสูง
  • ข้อกำหนดด้านความเป็นส่วนตัว: บรรทัดฐานทางกฎหมายและจริยธรรม (เช่น GDPR) จำกัดการใช้ข้อมูลจริงที่มีข้อมูลส่วนบุคคล ทางการแพทย์ หรือทางการเงิน
  • ความไม่สมดุลของคลาส: ในข้อมูลจริง เหตุการณ์สำคัญบางอย่างที่หายาก (edge cases) อาจมีตัวแทนไม่เพียงพอ ทำให้โมเดลเรียนรู้ได้ไม่ดี

LLM ที่ฝึกบน corpus ขนาดใหญ่ของข้อความและโค้ดกลายเป็นเครื่องมือที่มีประสิทธิภาพในการแก้ปัญหาเหล่านี้ เนื่องจากสามารถสร้างเนื้อหาที่มีความสอดคล้องและหลากหลาย เลียนแบบรูปแบบและการกระจายของข้อมูลจริง

วิธีการสร้างหลักด้วย LLM

มีแนวทางสำคัญหลายประการในการสร้างข้อมูลสังเคราะห์โดยใช้ LLM

1. การสร้างตาม prompt (Prompt-based)

นี่คือวิธีการตรงไปตรงมา ซึ่ง LLM สร้างข้อมูลจากคำขอเป็นข้อความ (prompt)

  • Zero-shot (จากศูนย์): โมเดลสร้างตัวอย่างโดยอาศัยเพียงคำอธิบายของงาน โดยไม่มีตัวอย่างประกอบ แนวทางนี้ส่งเสริมความหลากหลาย แต่อาจให้ผลลัพธ์ที่เกี่ยวข้องน้อยกว่า
  • Few-shot (มีตัวอย่างสองสามชิ้น): รวมตัวอย่างผลลัพธ์ที่ต้องการไว้ใน prompt สองสามชิ้น ซึ่งช่วยชี้นำโมเดลและเพิ่มความเกี่ยวข้องของข้อมูลที่สร้าง แต่มีความเสี่ยงต่อการซ้ำซ้อนและการสูญเสียความหลากหลาย เนื่องจากโมเดลมีแนวโน้มจะคัดลอกรูปแบบ[1]

2. การสร้างด้วยการเสริมข้อมูลภายนอก (Retrieval-Augmented)

วิธีนี้มีจุดมุ่งหมายเพื่อเพิ่มความถูกต้องตามข้อเท็จจริงของข้อมูลสังเคราะห์และลดความเสี่ยงของการ hallucination โมเดลไม่ได้พึ่งพาเฉพาะความรู้ภายในของตัวเอง แต่ใช้บริบทที่ได้รับจากแหล่งภายนอกที่เชื่อถือได้ ตัวอย่างเช่น เพื่อสร้างคู่ "คำถาม-คำตอบ" จะดึงย่อหน้าที่เกี่ยวข้องจาก Wikipedia ก่อน จากนั้นขอให้ LLM กำหนดคำถามและคำตอบที่อิงตามข้อความนั้นอย่างเคร่งครัด

3. การปรับปรุงแบบวนซ้ำและการเรียนรู้ด้วยตัวเอง (Self-Refinement)

กลุ่มวิธีนี้ใช้การป้อนกลับแบบวนเวียนเพื่อปรับปรุงคุณภาพของข้อมูล ตัวอย่างที่เป็นที่รู้จักมากที่สุดคือวิธี Self-Instruct[1]

  1. โมเดลสร้างชุดข้อมูลเบื้องต้น
  2. ข้อมูลเหล่านี้ถูกใช้เพื่อ fine-tuning โมเดลเดิม (หรือสำเนาของมัน)
  3. วิเคราะห์ข้อผิดพลาดและจุดอ่อนของโมเดลจากข้อมูลที่สร้างขึ้น
  4. ขอให้โมเดลสร้างตัวอย่างใหม่ที่ซับซ้อนกว่า คล้ายกับตัวอย่างที่โมเดลทำผิดพลาด

ตามแนวทางนี้ ชุดข้อมูลที่มีชื่อเสียง Stanford Alpaca ถูกสร้างขึ้น ซึ่งประกอบด้วยคู่ "คำสั่ง-การตอบสนอง" 52,000 คู่ ที่สร้างโดยโมเดล GPT-3 ทำให้สามารถ fine-tune โมเดลเปิด LLaMA จนถึงระดับ assistant ที่ปฏิบัติตามคำสั่ง

4. การประมวลผลหลังและการกรอง

หลังจากสร้างข้อมูลแล้ว จะมีการกรองเสมอเพื่อตัดตัวอย่างที่มีคุณภาพต่ำออก วิธีการมีตั้งแต่แบบง่าย (การลบข้อมูลซ้ำ การตรวจสอบรูปแบบ) ไปจนถึงแบบซับซ้อน เช่น:

  • การใช้โมเดลวิจารณ์: ฝึก classifier แยกต่างหากที่แยกแยะข้อมูลจริงจากข้อมูลสังเคราะห์ และกรองตัวอย่างที่ดูไม่สมจริงออก
  • การกรองตามความมั่นใจ: เก็บเฉพาะตัวอย่างที่ LLM ทำนายคำตอบ/ป้ายกำกับที่ถูกต้องด้วยความมั่นใจสูง
  • การถ่วงน้ำหนักข้อมูล: ตัวอย่างที่สงสัยว่ามีข้อผิดพลาดหรือ hallucination จะได้รับน้ำหนักน้อยกว่าในฟังก์ชันการสูญเสียระหว่างการฝึก เพื่อลดผลกระทบเชิงลบ (วิธี SunGen)

5. การเรียนรู้ด้วยการป้อนกลับจากการรัน (Execution Feedback)

วิธีนี้มีประสิทธิภาพเป็นพิเศษสำหรับการสร้างโค้ดโปรแกรม ต่างจากข้อความภาษาธรรมชาติ โค้ดมีเกณฑ์ความถูกต้องที่เป็นทางการ นั่นคือสามารถรันได้ วงจรมีลักษณะดังนี้:

  1. LLM สร้างโค้ดเพื่อแก้ปัญหา
  2. โค้ดถูกรันอัตโนมัติและตรวจสอบว่าผ่านการทดสอบหรือไม่
  3. โซลูชันที่ถูกต้องจะถูกรวมในชุดการฝึก โซลูชันที่ไม่ถูกต้องจะถูกทิ้ง หรือโมเดลจะได้รับสัญญาณ (reward) เพื่อแก้ไขข้อผิดพลาด

การประยุกต์ใช้ข้อมูลสังเคราะห์

  • การปรับปรุงงานในสภาวะที่ขาดแคลนข้อมูล: ข้อมูลสังเคราะห์มีประสิทธิภาพสูงสุดเมื่อข้อมูลจริงที่ติดป้ายกำกับมีน้อย การวิจัยแสดงให้เห็นว่าการเพิ่มตัวอย่างสังเคราะห์ 100 ชิ้นเข้ากับตัวอย่างจริง 100 ชิ้น สามารถเพิ่มความแม่นยำของ classifier ได้ 3–26%[3]
  • การสร้างชุดคำสั่ง (Instruction Tuning): โครงการอย่าง Alpaca และ Code Alpaca แสดงให้เห็นว่าด้วย LLM สามารถสร้างชุดข้อมูลขนาดใหญ่และมีคุณภาพสำหรับฝึก assistant model ได้แทบจะจากศูนย์
  • การค้นหาข้อมูลและการตอบคำถาม (QA): วิธี InPars ใช้ LLM เพื่อสร้างคำค้นหาสำหรับเอกสารที่มีอยู่ ทำให้สามารถสร้างคู่ "คำถาม — เอกสารที่เกี่ยวข้อง" โดยอัตโนมัติสำหรับการฝึกระบบค้นหา
  • การปกป้องความเป็นส่วนตัว: ในทางการแพทย์และการเงิน ข้อมูลสังเคราะห์ถูกใช้เพื่อฝึกโมเดลโดยไม่ต้องเข้าถึงข้อมูลส่วนบุคคลจริง ตัวอย่างเช่น กระทรวงกิจการทหารผ่านศึกสหรัฐอเมริกาสร้างข้อมูลทางการแพทย์สังเคราะห์ในช่วงการระบาดของ COVID-19 เพื่อการแลกเปลี่ยนข้อมูล[2]

ข้อดีและความเสี่ยง

ข้อดี

  • ลดต้นทุนและเร่งการพัฒนา: การสร้างข้อมูลด้วยโมเดลถูกกว่าและเร็วกว่าการติดป้ายกำกับด้วยมืออย่างมาก
  • ความสามารถในการขยายขนาด: สามารถสร้างข้อมูลสังเคราะห์ได้ในปริมาณที่แทบไม่จำกัด
  • การควบคุมได้: นักพัฒนาสามารถปรับองค์ประกอบ รูปแบบ และความซับซ้อนของข้อมูลที่สร้างขึ้นได้อย่างยืดหยุ่น
  • การรักษาความเป็นส่วนตัว: มอบทางเลือกที่ไม่ระบุตัวตนสำหรับการทำงานกับข้อมูลที่อ่อนไหว
  • ความแข็งแกร่งของโมเดล (Robustness): การฝึกบนตัวอย่างสังเคราะห์ที่หลากหลายและแม้แต่ "ยุ่งยาก" ทำให้โมเดลมีแนวโน้ม overfitting น้อยลงและทนต่อข้อมูลนำเข้าที่ผิดปกติได้ดีขึ้น

ข้อจำกัดและความเสี่ยง

  • ความไม่ถูกต้องตามข้อเท็จจริง (hallucination): LLM อาจสร้างข้อเท็จจริงที่ผิดพลาด ซึ่งเมื่อถูกรวมไว้ในชุดการฝึกจะฝังตัวอยู่ในโมเดลใหม่
  • ความสมจริงไม่เพียงพอ: ข้อความสังเคราะห์อาจมีรูปแบบตายตัวเกินไป เป็นทางการเกินไป หรือไม่สะท้อนความหลากหลายของภาษาธรรมชาติ ซึ่งลดความสามารถในการนำไปใช้ทั่วไปของโมเดล
  • การขยาย bias ของระบบ: LLM สืบทอดและอาจขยายอคติทางสังคมและความเชื่อที่มีอยู่ในข้อมูลการฝึกของตน
  • ความเสี่ยงของ "การล่มสลายของโมเดล": ปรากฏการณ์ที่การฝึกโมเดลซ้ำบนข้อมูลที่สร้างโดยโมเดลเวอร์ชันก่อนหน้านำไปสู่การเสื่อมถอยของคุณภาพอย่างค่อยเป็นค่อยไปและ "การลืม" ปรากฏการณ์หายาก
  • ความเสี่ยงของการรั่วไหลของความเป็นส่วนตัว: หากไม่มีมาตรการพิเศษ (เช่น differential privacy) LLM อาจสร้างส่วนหนึ่งของข้อมูลจริงจากชุดการฝึกโดยไม่ตั้งใจ ซึ่งเป็นความเสี่ยงต่อการระบุตัวตนอีกครั้ง[4]

แนวโน้มและทิศทางการวิจัย

  • การทำให้การเลือก prompt อัตโนมัติ: การพัฒนาวิธีการที่ค้นหา prompt ที่เหมาะสมที่สุดโดยอัตโนมัติสำหรับการสร้างข้อมูลที่มีคุณภาพ
  • การสร้างสังเคราะห์หลายรูปแบบ (Multimodal): การขยายวิธีการไปสู่การสร้างข้อมูลแบบผสม (ข้อความ + ภาพ เสียง วิดีโอ)
  • การพัฒนาตัวชี้วัดคุณภาพ: การสร้าง benchmark มาตรฐานสำหรับประเมินประโยชน์ ความหลากหลาย และความสมจริงของข้อมูลสังเคราะห์
  • การจัดการ bias: การพัฒนาวิธีการควบคุมและลดความลำเอียงในข้อมูลที่สร้างขึ้น เช่น ผ่านการสร้างตัวอย่างที่ขัดแย้งกับข้อเท็จจริง (counterfactual)
  • การนำไปใช้อย่างปลอดภัยในอุตสาหกรรม: การพัฒนามาตรฐานทางกฎหมายและจริยธรรมสำหรับการใช้ข้อมูลสังเคราะห์ในสาขาที่มีความสำคัญ

ลิงก์

  • บทความสำรวจ: Synthetic Data Generation Using Large Language Models (2025)
  • บล็อก Google Research เกี่ยวกับการสร้างข้อมูลด้วย differential privacy

เอกสารอ้างอิง

  • Ye, J. et al. (2025). Synthetic Data Generation Using Large Language Models: Advances in Text and Code. arXiv:2503.14023.
  • Wang, Y. et al. (2022). Self-Instruct: Aligning Language Models with Self-Generated Instructions. arXiv:2212.10560.
  • Gao, J. et al. (2022). Self-Guided Noise-Free Data Generation for Efficient Zero-Shot Learning. arXiv:2205.12679.
  • Jeronymo, V. et al. (2023). InPars-v2: Large Language Models as Efficient Dataset Generators for Information Retrieval. arXiv:2301.01820.
  • Li, Z. et al. (2023). Synthetic Data Generation with Large Language Models for Text Classification: Potential and Limitations. ACL 2023.
  • Shumailov, I. et al. (2023). Nepotistically Trained Generative-AI Models Collapse. arXiv:2311.12202.
  • Long, L. et al. (2024). On LLMs-Driven Synthetic Data Generation, Curation, and Evaluation: A Survey. ACL Findings 2024.
  • Gao, J. C. et al. (2024). Not All LLM-Generated Data Are Equal: Rethinking Data Weighting in Synthetic Datasets. OpenReview.
  • Gehring, J. et al. (2025). RLEF: Grounding Code LLMs in Execution Feedback with Reinforcement Learning. arXiv:2410.02089.
  • Barr, A. A. et al. (2025). Large Language Models Generating Synthetic Clinical Datasets: A Feasibility and Comparative Analysis with Real-World Perioperative Data. Frontiers in AI.
  • Rao, H. et al. (2025). A Scoping Review of Synthetic Data Generation for Biomedical Research and Applications. arXiv:2506.16594.

หมายเหตุ

  1. 1.0 1.1 1.2 Ye, J., et al. «Synthetic Data Generation Using Large Language Models: Advances in Text and Code». arXiv:2503.14023 [cs.CL], 20 марта 2025 г. [1]
  2. 2.0 2.1 «Federal chief data officers seek information on synthetic data generation». FedScoop. [2]
  3. Li, Zhuoyan, et al. «Synthetic Data Generation with Large Language Models for Text Classification: Potential and Limitations». ACL Anthology, 2023. [3]
  4. Schoen, F. P., et al. «Large language models generating synthetic clinical datasets: a feasibility and comparative analysis with real-world perioperative data». Frontiers in Artificial Intelligence, 2025. [4]