AI อะไรเนี่ย

Tools

สร้าง Offline Feature Store ด้วย AWS SageMaker Unified Studio และ Catalog

สร้าง Offline Feature Store ด้วย AWS SageMaker Unified Studio และ Catalog

ในการพัฒนาโมเดล Machine Learning (ML) ในองค์กรใหญ่ ๆ เรามักเจอปัญหาเยอะแยะไปหมด เช่น การจัดการข้อมูลฟีเจอร์ที่กระจัดกระจาย, คำจำกัดความของข้อมูลไม่ตรงกัน, หรือทีมต่าง ๆ ต้องทำงานซ้ำซ้อนกันเพื่อเตรียมข้อมูล ทำให้เสียเวลาและทรัพยากรไปมาก และที่สำคัญคือ โมเดลอาจถูกเทรนด้วยข้อมูลที่ไม่สอดคล้องกันหรือไม่เป็นปัจจุบัน ซึ่งนำไปสู่ประสิทธิภาพของโมเดลที่ไม่ดีนัก

วันนี้ AWS มีโซลูชันที่น่าสนใจมานำเสนอ นั่นคือการสร้างและจัดการ Offline Feature Store โดยใช้ Amazon SageMaker Unified Studio และ SageMaker Catalog ซึ่งจะช่วยให้การทำงานด้าน ML ของเรามีประสิทธิภาพมากขึ้น ลดความซับซ้อน และเพิ่มความร่วมมือระหว่างทีมได้เป็นอย่างดีเลยล อยากรู้รายละเอียดเพิ่มเติม ลองอ่านบทความต้นฉบับได้ที่ AWS Blog: Offline Feature Store with SageMaker

ปัญหาที่เจอในการพัฒนา ML

ลองนึกภาพว่าคุณมีหลายทีมที่พัฒนา ML โมเดลต่างกันไป แต่ละทีมก็สร้างชุดฟีเจอร์ของตัวเอง เก็บข้อมูลแบบใครแบบมัน ทำให้เกิดปัญหาหลักๆ เช่น:

  • Pipeline ของฟีเจอร์แยกส่วน (fragmented feature pipelines): ไม่มีระบบรวมศูนย์ในการสร้างและจัดการฟีเจอร์
  • คำจำกัดความข้อมูลไม่สอดคล้องกัน (inconsistent data definitions): ฟีเจอร์เดียวกันอาจถูกนิยามต่างกันในแต่ละทีม
  • งานวิศวกรรมข้อมูลซ้ำซ้อน (redundant engineering efforts): ทีมต่าง ๆ ต้องเขียนโค้ดเพื่อเตรียมฟีเจอร์คล้าย ๆ กัน
  • ปัญหาการกำกับดูแลข้อมูล (governance issues): ขาดการควบคุมว่าใครเข้าถึงข้อมูลอะไร และข้อมูลมีความถูกต้องแค่ไหน

ปัญหาเหล่านี้ทำให้การเทรนโมเดลเป็นเรื่องยาก เสี่ยงต่อการใช้ข้อมูลที่ไม่ถูกต้อง และลดความน่าเชื่อถือของโมเดลลงไปมากเลยครับ

SageMaker ช่วยแก้ปัญหาอย่างไร?

AWS ได้นำเสนอวิธีแก้ไขปัญหาเหล่านี้ด้วยการสร้าง Offline Feature Store ที่ปรับขนาดได้ มีการกำกับดูแล และทำงานร่วมกันได้ โดยใช้ Amazon SageMaker Unified Studio และ SageMaker Catalog เป็นเครื่องมือหลัก

โซลูชันนี้ออกแบบมาเพื่อจัดการความท้าทายต่าง ๆ ข้างต้น โดยมีสถาปัตยกรรมที่สำคัญคือ:

  • Amazon S3 Tables with Apache Iceberg: ใช้สำหรับจัดเก็บข้อมูลฟีเจอร์ เพื่อให้มั่นใจได้ถึงความสอดคล้องของข้อมูลแบบ Transactional consistency รวมถึงความสามารถในการย้อนเวลาดูข้อมูลในอดีต (time-travel)
  • AWS Lake Formation: ช่วยในการควบคุมการเข้าถึงข้อมูลแบบละเอียด (fine-grained access control) ว่าใครสามารถดูหรือแก้ไขข้อมูลส่วนไหนได้บ้าง
  • Amazon SageMaker Studio: เป็นสภาพแวดล้อมแบบรวมศูนย์สำหรับการทำ Data Engineering ทั้งแบบ Visual และแบบเขียนโค้ด

หัวใจสำคัญของโซลูชันนี้คือการใช้ รูปแบบ Publish-Subscribe สำหรับการแชร์ตารางฟีเจอร์ที่ได้รับการคัดสรรและมีเวอร์ชัน (curated, versioned feature tables) ทำให้ Data Producers สามารถเผยแพร่ฟีเจอร์ที่เตรียมไว้ ส่วน Data Consumers ก็สามารถค้นหา สมัครรับ และนำฟีเจอร์เหล่านั้นไปใช้ซ้ำได้อย่างปลอดภัยสำหรับการพัฒนาโมเดล ช่วยให้การทำงานร่วมกันราบรื่นขึ้นเยอะเลยครับ

ส่วนประกอบสำคัญ

โซลูชัน Offline Feature Store นี้มีส่วนประกอบหลักๆ ที่ทำงานร่วมกันดังนี้:

  • SageMaker Unified Studio domain: ทำหน้าที่เป็นศูนย์กลางในการกำกับดูแลและทำงานร่วมกัน เป็นชั้นควบคุมหลักสำหรับการจัดการโปรเจกต์, ผู้ใช้งาน และ Assets ต่างๆ ของ ML ช่วยให้การเข้าถึงข้อมูลและการทำงานร่วมกันเป็นไปอย่างปลอดภัยและมีประสิทธิภาพ
  • S3 Tables ในรูปแบบ Apache Iceberg: เป็นฐานสำหรับการจัดเก็บและควบคุมเวอร์ชันของข้อมูลฟีเจอร์ ทำให้ข้อมูลมีความคงทน และสามารถสืบย้อนหลังได้
  • SageMaker Catalog: เปรียบเสมือนสมุดทะเบียนกลางสำหรับเผยแพร่และค้นหาตารางฟีเจอร์ทั่วทั้งองค์กร ทำให้ทีมต่าง ๆ สามารถค้นหาและนำฟีเจอร์ที่มีอยู่ไปใช้ได้อย่างง่ายดาย

ขั้นตอนการทำงานร่วมกัน

Workflow ของการใช้งานโซลูชันนี้จะเกี่ยวข้องกับผู้ใช้งานหลายบทบาท:

  1. Admin (ผู้ดูแลระบบ): มีหน้าที่ตั้งค่าและกำหนดค่าสภาพแวดล้อม รวมถึงการจัดเตรียม SageMaker Unified Studio domain และนำเข้าชุดข้อมูล เช่น airline_delay.csv และตาราง airline_features ไปยัง Project Catalog จากนั้นก็มอบหมายให้ Data Engineer เป็นเจ้าของโปรเจกต์
  2. Data Engineer (วิศวกรข้อมูล): จะเข้ามาในโปรเจกต์ ใช้เครื่องมือ Visual ETL หรือ Data Processing job เพื่อสร้าง Pipeline ของฟีเจอร์ และสร้างฟีเจอร์ลงในตาราง เช่น airline_features ใน Project Catalog หลังจากนั้นก็จะเพิ่ม Metadata เพื่อช่วยให้ค้นหาและกำกับดูแลได้ง่ายขึ้น เมื่อผ่านการตรวจสอบและอนุมัติแล้ว ก็จะเผยแพร่ตารางฟีเจอร์นี้ไปยัง SageMaker Catalog เพื่อให้ทั้งองค์กรเข้าถึงได้
  3. Data Scientist (นักวิทยาศาสตร์ข้อมูล): จะเปิด ML Project ขึ้นมา ใช้ AI powered search เพื่อค้นหาตารางฟีเจอร์ที่ต้องการใน Catalog และเมื่อพบตาราง airlines_features ที่เหมาะสมกับการพัฒนาโมเดลของตน ก็จะส่งคำขอสมัครรับข้อมูล หากไม่ตั้งค่าการอนุมัติอัตโนมัติ ผู้เผยแพร่ข้อมูลจะต้องตรวจสอบและอนุมัติคำขอ หลังจากอนุมัติแล้ว Data Scientist ก็จะเข้าถึงตารางฟีเจอร์ได้ทันทีผ่าน Project Catalog ทั้งจาก Data Explorer และ Jupyter Notebooks สำหรับการเทรนโมเดลและการทดลองต่าง ๆ

กระบวนการทำงานที่เป็นระบบนี้ช่วยให้เกิดการกำกับดูแลฟีเจอร์ที่สอดคล้องกัน ส่งเสริมการทำงานร่วมกัน และลดความซ้ำซ้อนในการทำ Feature Engineering โดยช่วยให้องค์กรนำฟีเจอร์ ML ที่เชื่อถือได้และมีเวอร์ชันไปใช้ซ้ำได้ทั่วทั้งองค์กร

ประโยชน์ที่จับต้องได้

การนำ Offline Feature Store ด้วย SageMaker Unified Studio และ SageMaker Catalog มาใช้งาน จะทำให้องค์กรของคุณได้รับประโยชน์ที่สำคัญหลายอย่าง:

  • การกำกับดูแลฟีเจอร์ที่สอดคล้องกัน: ทุกคนใช้ฟีเจอร์ที่มีมาตรฐานเดียวกัน ลดความผิดพลาด
  • เร่งการทดลอง ML: Data Scientists ไม่ต้องเสียเวลาสร้างฟีเจอร์เองบ่อยๆ สามารถโฟกัสไปที่การทดลองโมเดลได้เร็วขึ้น
  • ลดภาระการดำเนินงาน: ลดงานซ้ำซ้อนและลดความจำเป็นในการบำรุงรักษา Pipeline ฟีเจอร์ที่กระจัดกระจาย
  • การนำฟีเจอร์ ML ที่เชื่อถือได้กลับมาใช้ซ้ำทั่วทั้งองค์กร: ช่วยให้ลงทุนครั้งเดียวแต่ใช้งานได้หลายโปรเจกต์

โดยรวมแล้ว โซลูชันนี้ช่วยให้องค์กรสามารถจัดการฟีเจอร์ ML ได้อย่างมีประสิทธิภาพมากขึ้น ทำให้การพัฒนาโมเดลเร็วขึ้น แม่นยำขึ้น และทำงานร่วมกันได้ดีขึ้นมากครับ

อ่านต่อ: เรียนรู้ขั้นตอนการสร้าง Offline Feature Store อย่างละเอียดได้ที่ AWS Blog: Offline Feature Store with SageMaker