Skip to content

สถาปัตยกรรมและกระบวนการฝึกสอนโมเดลปัญญาประดิษฐ์ (AI Model Training & Pipeline Guide)

โครงการ TaijiFlow AI - ดุษฎีนิพนธ์และระบบ DeepTech (Phase 3)


1. บทนำและภาพรวมเชิงสถาปัตยกรรม (Architectural Overview)

การพัฒนาโมเดล AI ในโครงการ TaijiFlow AI แบ่งออกเป็น 2 สภาพแวดล้อมหลัก (Two-Tier Ecosystem) ที่ทำงานสอดประสานกันอย่างเป็นระบบ:

text
┌─────────────────────────────────────────────────────────────────────────┐
│              1. ฝั่งการวิจัยและฝึกสอนโมเดล (Offline Training & R&D)        │
│                 [Python + PyTorch + ST-GCN + FastAPI]                   │
├─────────────────────────────────────────────────────────────────────────┤
│ • สกัดและทำความสะอาดชุดข้อมูลพิกัด 33 Landmarks จาก Supabase             │
│ • สร้าง Spatial-Temporal Graph และทำ Data Augmentation                  │
│ • ฝึกสอนโมเดล ST-GCN + Transformer ด้วย PyTorch (Loss & Attention)      │
│ • ตรวจสอบความถูกต้องเปรียบเทียบกับเกณฑ์อาจารย์ผู้เชี่ยวชาญ (Expert Benchmark)│
│ • แปลงและบีบอัดโมเดล: PyTorch (.pt) ➡️ ONNX (.onnx) ➡️ INT8/FP16 Quantize│
└────────────────────────────────────┬────────────────────────────────────┘
                                     │ Export .onnx (8-12 MB)

┌─────────────────────────────────────────────────────────────────────────┐
│              2. ฝั่งการให้บริการจริง (Production Client-Side Edge AI)      │
│                 [Vanilla JS + WebGPU + ONNX Runtime Web]                │
├─────────────────────────────────────────────────────────────────────────┤
│ • เบราว์เซอร์ดาวน์โหลดไฟล์โมเดล .onnx ครั้งเดียว (เก็บใน Cache/IndexedDB)  │
│ • ประมวลผลและอนุมานผลลัพธ์ (Inference) 100% บนเครื่องผู้ใช้ (Local GPU)    │
│ • 0 บาท ค่าเซิร์ฟเวอร์คลาวด์ GPU (Zero-Server Cost)                     │
│ • ปกป้องข้อมูลชีวมิติส่วนบุคคลสูงสุด 100% ตามมาตรฐานจริยธรรมวิจัย (IRB)   │
└─────────────────────────────────────────────────────────────────────────┘

2. เครื่องมือและเทคโนโลยีที่จำเป็นต้องใช้ (Technology Stack)

2.1 สภาพแวดล้อมฝั่งวิจัยและฝึกสอน (Model Training Environment)

หมวดหมู่เทคโนโลยี / ไลบรารีบทบาทและหน้าที่ในโครงการ
ภาษาหลักPython 3.10+ภาษามาตรฐานสำหรับการวิจัย Data Science และ Deep Learning
Deep Learning FrameworkPyTorch / PyTorch Lightningพัฒนาโครงสร้างโครงข่ายประสาทเทียมและกระบวนการ Optimization
Graph Neural NetworkPyTorch Geometric (PyG)สร้างและคำนวณกราฟชีวกลศาสตร์ (Spatial-Temporal Graph) ของข้อต่อ 33 จุด
Model OptimizationONNX & ONNX Runtime Toolsแปลงโมเดล PyTorch เป็น ONNX และทำ Graph Optimization / Quantization
Data ProcessingNumPy, Pandas, SciPyจัดการพิกัดทางคณิตศาสตร์, Normalization, คำนวณมุมจลนศาสตร์ และ DTW
API & WorkbenchFastAPI + Uvicornสร้าง Backend API สำหรับ Dashboard วิเคราะห์ผลการทดลอง, ตรวจสอบ Dataset และรัน Batch Benchmark
Tracking & LoggingWeights & Biases (W&B) / TensorBoardบันทึกกราฟ Loss, Accuracy, F1-Score และ Attention Heatmaps

3. ขั้นตอนการทำงานของการเทรนโมเดล (End-to-End Training Pipeline)

ขั้นที่ 1: การเตรียมข้อมูลและการทำให้เป็นบรรทัดฐาน (Preprocessing & Normalization)

  1. Coordinate Centering: ปรับจุดกึ่งกลางสะโพก (Mid-Hip) ให้เป็นจุดกำเนิด (0,0,0)
  2. Body Scale Normalization: ปรับสเกลระยะแขน-ขาด้วย Body Scale Factor เฉพาะบุคคล เพื่อลดผลกระทบจากความแตกต่างของสรีระ (Anthropometry)
  3. Temporal Resampling: ใช้ Linear Interpolation (Lerp) เพื่อปรับอัตราเฟรมเรตให้เป็นมาตรฐานสม่ำเสมอ (Standard Frame Length T=150 เฟรมต่อกระบวนท่า)

ขั้นที่ 2: โครงสร้างโมเดล Spatial-Temporal Graph Convolutional Network (ST-GCN)

  • โครงสร้างของร่างกายมนุษย์ 33 Landmarks ถูกแทนด้วยกราฟ G=(V,E) โดยที่:
    • V: จุดข้อต่อ (Joints) 33 จุด
    • E: เส้นเชื่อมกระดูกตามกายวิภาค (Skeletal Bones) และเส้นเชื่อมข้ามเวลา (Temporal Edges) ระหว่างเฟรม t และ t+1
  • Layer Composition:
    1. Spatial GCN Layers: สกัดความสัมพันธ์ของข้อต่อในมิติพื้นที่ (เช่น การเคลื่อนไหวของเอวสัมพันธ์กับข้อมือ)
    2. Temporal Convolution Layers: สกัดความเร็วและความเร่งในมิติเวลา (Dynamics & Rhythm)
    3. Multi-Head Self-Attention: สกัดน้ำหนักความสำคัญ (Attention Weights) เพื่อชี้ชัดว่าเฟรมใดและข้อต่อใดที่ผู้ฝึกทำผิดพลาด (Explainable AI)

ขั้นที่ 3: การแปลงเป็น ONNX และการบีบอัด (Export & Quantization)

  1. ส่งออกโมเดลด้วย torch.onnx.export() ในรูปแบบ Dynamic Batch Size
  2. ทำการ Quantize โมเดลจาก FP32 เป็น FP16 หรือ INT8
  3. ผลลัพธ์: ขนาดไฟล์โมเดลลดลงเหลือ 8–12 MB ซึ่งโหลดผ่านเบราว์เซอร์ได้ภายในเวลาไม่เกิน 1-2 วินาที

4. บทบาทของ FastAPI ในระบบงานวิจัย

ในการวิจัยระดับดุษฎีนิพนธ์ FastAPI จะถูกนำมาใช้ในบทบาท "Research & Evaluation Workbench" ดังนี้:

  1. Dataset Quality Inspection API: ให้บริการ API สำหรับตรวจสอบความสมบูรณ์ของข้อมูลที่อาสาสมัครอัปโหลดขึ้นมา (Data Integrity Validator)
  2. Automated Batch Benchmark: คำนวณค่าสถิติความแม่นยำ, ค่าความสอดคล้อง Cohen's Kappa (κ), และสร้างตารางเปรียบเทียบผลการวิจัยสำหรับตีพิมพ์ในวารสารวิชาการ Scopus Q1/Q2
  3. Ablation Study Controller: ควบคุมการทดสอบประสิทธิภาพเปรียบเทียบระหว่างสถาปัตยกรรมต่างๆ (เช่น ST-GCN เดี่ยวๆ เทียบกับ ST-GCN + Transformer)

5. สรุปเหตุผลเชิงยุทธศาสตร์ (Strategic Summary)

หัวข้อการตัดสินใจทางวิศวกรรมเหตุผลประกอบ
การเทรน AIใช้ Python + PyTorch + PyGเป็นมาตรฐานสูงสุดของวงการวิจัยด้าน Computer Vision และ GNN
การทดสอบ/วิเคราะห์ใช้ FastAPIรวดเร็ว เป็น Asynchronous และเชื่อมต่อกับ Python Data Science ได้อย่างไร้รอยต่อ
การใช้งานจริง (App)ใช้ Vanilla JS + WebGPU (ONNX Runtime)ได้ความเร็ว 60 FPS ไร้ต้นทุนคลาวด์ GPU และถูกต้องตามหลักจริยธรรมข้อมูลส่วนบุคคล (IRB)

TaijiFlow AI Research & Development Project (Chán Sī Jìng Biomechanics)