ข้ามไปเนื้อหาหลัก

เจาะลึกโมเดลจำแนกภาพ Zero-shot บน Lambda Container แบบไม่ต้องเทรน

มาดูเบื้องหลังการใช้โมเดล CLIP แยกประเภทการ์ดสะสมใน AWS Lambda โดยไม่ต้องฝึกสอนโมเดลใหม่และไม่ต้องใช้ GPU

เรียบเรียงโดย AI
Inewgen
11 Aug 2026ที่มา: Dev.to3 นาทีอ่าน (0 ครั้ง)อัปเดตล่าสุด 29 Aug 2026
แชร์
เจาะลึกโมเดลจำแนกภาพ Zero-shot บน Lambda Container แบบไม่ต้องเทรน

ภาพประกอบจากคลังภาพสต็อก ไม่ใช่ภาพจากเหตุการณ์จริง

ขนาดตัวอักษร
  • ระบบจำแนกภาพนี้ทำงานโดยไม่ต้องมีข้อมูลฝึกสอนและไม่ต้องใช้ GPU
  • เลือกใช้โมเดลตระกูล CLIP จาก Contrastive Language-Image Pre-training
  • ทำงานภายใน Lambda Container โดยใช้หน่วยความจำ 2048 MB และ onnxruntime
  • เพิ่มการ์ดประเภทใหม่ได้ทันทีเพียงแค่เขียนประโยคอธิบายด้วยมือ

บทความนี้จะพาไปเจาะลึกหัวใจสำคัญของระบบประมวลผลภาพ นั่นคือโมเดลจำแนกภาพราคาประหยัดที่ทำงานอยู่ภายใน Lambda Container เนื่องจากระบบเปิดรับอัปโหลดแบบสาธารณะและไม่ระบุตัวตน รูปภาพที่ส่งเข้ามาจึงอาจไม่ใช่แค่การ์ดสะสม AWS Builder Cards เท่านั้น แต่อาจเป็นรูปแมว การ์ดโปเกมอน การ์ดโป커 หรือของสะสมอื่นๆ การแยกแยะสิ่งเหล่านี้ออกจากกันอาจดูง่ายสำหรับมนุษย์ แต่ไม่ง่ายเลยสำหรับโมเดลแมชชีนเรียนรู้ที่ไม่ได้ถูกฝึกสอนมาเพื่อการ์ด AWS โดยเฉพาะ

แนวคิดหลักเปรียบเสมือนเส้นทางจากตาไปยังสมอง เช่นเดียวกับที่สมองมนุษย์สังเกตความแตกต่างของการ์ด AWS จากข้อมูลจำเพาะต่างๆ เราสามารถบอกให้โมเดลทำเช่นเดียวกันได้ผ่านข้อความบรรยายภาษาอังกฤษธรรมดา โดยโมเดลที่คว้าชัยชนะในเคสนี้คือ open_clip รุ่น ViT-B/32 ที่ผ่านการฝึกอบรมล่วงหน้าแบบ laion2b_s34b_b79k ซึ่งมีความสามารถในการจำแนกภาพภายในหน่วยความจำ 2 GB ได้อย่างรวดเร็ว

2048 MBหน่วยความจำ CPU ที่ต้องใช้
100%ผลรวมสัดส่วนความน่าจะเป็นจาก Softmax

การทำงานของ CLIP นั้นน่าทึ่งมากเพราะมันฝังภาพและข้อความไว้ในพื้นที่เดียวกัน ทำให้รูปแมวและคำว่าแมวอยู่ใกล้กัน โมเดลจะเปรียบเทียบรูปภาพกับชุดป้ายกำกับ (Labels) ที่กำหนดไว้ล่วงหน้า จากนั้นฟังก์ชัน softmax จะแปลงคะแนนออกมาเป็นเปอร์เซ็นต์ที่รวมกันได้ 100% ตัวอย่างเช่น การจำแนกประเภทการ์ดประกอบด้วยชุดป้ายกำกับ 3 กลุ่มหลัก ได้แก่:

  • AWS_LABELS: บรรยายการ์ดคลาวด์คอมพิวติ้งของ AWS และไอคอนพิกเซลอาร์ต
  • COMPETITOR_LABELS: บรรยายการ์ดเกมชื่อดังอย่าง Pokemon หรือ Magic: The Gathering
  • NONCARD_LABELS: บรรยายภาพถ่ายบุคคลหรือภาพเซลฟี่

artificial intelligence neural network data visualization

ภาพประกอบจากคลังภาพสต็อก ไม่ใช่ภาพจากเหตุการณ์จริง

ไม่อยากพลาดข่าวใหม่?

สมัครรับสรุปข่าวสารใหม่ทางอีเมล ไม่บ่อยจนรำคาญ

โฆษณา

ในเชิงสถาปัตยกรรม การเลือกใช้ AWS Lambda ในรูปแบบ ECR Container แทนที่จะเป็น Amazon Bedrock หรือ SageMaker ช่วยให้ผู้พัฒนาควบคุมทรัพยากรฮาร์ดแวร์ภายใต้ขีดจำกัดหน่วยความจำ 10 GB ได้อย่างแม่นยำ พร้อมทั้งตัดความจำเป็นในการติดตั้งไลบรารีขนาดใหญ่อย่าง PyTorch ออกไปในขั้นตอนรันไทม์โดยใช้ onnxruntime แทน ซึ่งเป็นเทคนิคสำคัญในการลดขนาดและเร่งความเร็วการประมวลผลแบบ Cold Start

สิ่งที่น่าสนใจคือ ในเวอร์ชันแรกผู้พัฒนาเคยใช้ป้ายกำกับกว้างๆ เช่นคำว่าการ์ดซื้อขาย ซึ่งส่งผลให้ทุกการ์ดได้คะแนนสูงใกล้เคียงกันทั้งหมด วิธีแก้ปัญหาจึงไม่ใช่การเขียนป้ายกำกับ AWS ให้ดีขึ้น แต่เป็นการระบุป้ายกำกับเฉพาะเจาะจงให้กับการ์ดคู่แข่ง เพื่อให้คะแนนความน่าจะเป็นของการ์ดคู่แข่งไปตกอยู่ที่หมวดหมู่ของตัวเอง และทำให้คะแนน AWS ลดลงเหลือเกือบศูนย์ เช่น 0.016%

"No training, no training data and no GPU. This classifier's whole brain is a list of English sentences I typed by hand - and I can teach it a new card type by writing one more."

AWS Builders

ที่มา: Dev.to

ความคิดเห็น

แสดงความคิดเห็น
0/2000

พบข้อมูลผิดพลาดในบทความนี้? แจ้งปัญหาบทความนี้