สถาปัตยกรรมและกระบวนการฝึกสอนโมเดลปัญญาประดิษฐ์ (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 Framework | PyTorch / PyTorch Lightning | พัฒนาโครงสร้างโครงข่ายประสาทเทียมและกระบวนการ Optimization |
| Graph Neural Network | PyTorch Geometric (PyG) | สร้างและคำนวณกราฟชีวกลศาสตร์ (Spatial-Temporal Graph) ของข้อต่อ 33 จุด |
| Model Optimization | ONNX & ONNX Runtime Tools | แปลงโมเดล PyTorch เป็น ONNX และทำ Graph Optimization / Quantization |
| Data Processing | NumPy, Pandas, SciPy | จัดการพิกัดทางคณิตศาสตร์, Normalization, คำนวณมุมจลนศาสตร์ และ DTW |
| API & Workbench | FastAPI + Uvicorn | สร้าง Backend API สำหรับ Dashboard วิเคราะห์ผลการทดลอง, ตรวจสอบ Dataset และรัน Batch Benchmark |
| Tracking & Logging | Weights & Biases (W&B) / TensorBoard | บันทึกกราฟ Loss, Accuracy, F1-Score และ Attention Heatmaps |
3. ขั้นตอนการทำงานของการเทรนโมเดล (End-to-End Training Pipeline)
ขั้นที่ 1: การเตรียมข้อมูลและการทำให้เป็นบรรทัดฐาน (Preprocessing & Normalization)
- Coordinate Centering: ปรับจุดกึ่งกลางสะโพก (Mid-Hip) ให้เป็นจุดกำเนิด
- Body Scale Normalization: ปรับสเกลระยะแขน-ขาด้วย Body Scale Factor เฉพาะบุคคล เพื่อลดผลกระทบจากความแตกต่างของสรีระ (Anthropometry)
- Temporal Resampling: ใช้ Linear Interpolation (Lerp) เพื่อปรับอัตราเฟรมเรตให้เป็นมาตรฐานสม่ำเสมอ (Standard Frame Length
เฟรมต่อกระบวนท่า)
ขั้นที่ 2: โครงสร้างโมเดล Spatial-Temporal Graph Convolutional Network (ST-GCN)
- โครงสร้างของร่างกายมนุษย์ 33 Landmarks ถูกแทนด้วยกราฟ
โดยที่: : จุดข้อต่อ (Joints) 33 จุด : เส้นเชื่อมกระดูกตามกายวิภาค (Skeletal Bones) และเส้นเชื่อมข้ามเวลา (Temporal Edges) ระหว่างเฟรม และ
- Layer Composition:
- Spatial GCN Layers: สกัดความสัมพันธ์ของข้อต่อในมิติพื้นที่ (เช่น การเคลื่อนไหวของเอวสัมพันธ์กับข้อมือ)
- Temporal Convolution Layers: สกัดความเร็วและความเร่งในมิติเวลา (Dynamics & Rhythm)
- Multi-Head Self-Attention: สกัดน้ำหนักความสำคัญ (Attention Weights) เพื่อชี้ชัดว่าเฟรมใดและข้อต่อใดที่ผู้ฝึกทำผิดพลาด (Explainable AI)
ขั้นที่ 3: การแปลงเป็น ONNX และการบีบอัด (Export & Quantization)
- ส่งออกโมเดลด้วย
torch.onnx.export()ในรูปแบบ Dynamic Batch Size - ทำการ Quantize โมเดลจาก
FP32เป็นFP16หรือINT8 - ผลลัพธ์: ขนาดไฟล์โมเดลลดลงเหลือ 8–12 MB ซึ่งโหลดผ่านเบราว์เซอร์ได้ภายในเวลาไม่เกิน 1-2 วินาที
4. บทบาทของ FastAPI ในระบบงานวิจัย
ในการวิจัยระดับดุษฎีนิพนธ์ FastAPI จะถูกนำมาใช้ในบทบาท "Research & Evaluation Workbench" ดังนี้:
- Dataset Quality Inspection API: ให้บริการ API สำหรับตรวจสอบความสมบูรณ์ของข้อมูลที่อาสาสมัครอัปโหลดขึ้นมา (Data Integrity Validator)
- Automated Batch Benchmark: คำนวณค่าสถิติความแม่นยำ, ค่าความสอดคล้อง Cohen's Kappa (
), และสร้างตารางเปรียบเทียบผลการวิจัยสำหรับตีพิมพ์ในวารสารวิชาการ Scopus Q1/Q2 - 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) |