คู่มือทางเทคนิค

KServe และโมเดลที่ให้บริการบน Kubernetes

KServe เป็นแพลตฟอร์ม Kubernetes ที่ได้มาตรฐานสำหรับการให้บริการโมเดลแมชชีนเลิร์นนิงในวงกว้าง

ภาพรวม

KServe เป็นแพลตฟอร์ม Kubernetes ที่ได้มาตรฐานสำหรับการให้บริการโมเดลแมชชีนเลิร์นนิงในวงกว้าง ช่วยให้ทีมมีวิธีเดียวที่ประกาศอย่างชัดเจนในการปรับใช้โมเดลที่มีการปรับขนาดอัตโนมัติ การเปิดตัวแบบคานารี และการปรับขยายเป็นศูนย์ โดยแยกระบบท่อ Kubernetes ส่วนใหญ่ออกไป

KServe และ Model Serving บน Kubernetes เป็นองค์ประกอบทางเทคนิคที่ส่งผลต่อคุณภาพของโมเดล ต้นทุนโครงสร้างพื้นฐาน เวลาแฝง และความน่าเชื่อถือในวงกว้าง

เจาะลึก

เดิมชื่อ KFServing และเกิดจากโปรเจ็กต์ Kubeflow KServe กำหนดทรัพยากรที่กำหนดเองของ InferenceService คุณเขียนไฟล์ YAML สั้นๆ โดยชี้ไปที่โมเดลที่จัดเก็บไว้ในที่เก็บข้อมูลอ็อบเจ็กต์ (S3, GCS, Azure Blob) และ KServe จะจัดการส่วนที่เหลือ รองรับทั้งการอนุมานเชิงคาดการณ์และการให้บริการ LLM เชิงสร้างสรรค์ที่เพิ่มมากขึ้น KServe จัดส่ง 'รันไทม์การให้บริการ' ที่สร้างไว้ล่วงหน้าสำหรับเฟรมเวิร์กทั่วไป (TensorFlow Serving, TorchServe, Triton, scikit-learn, XGBoost, Hugging Face) และรองรับคอนเทนเนอร์แบบกำหนดเอง สร้างขึ้นบน Knative Serving และเลเยอร์เครือข่าย (Istio หรือที่คล้ายกัน) โดยให้การปรับขนาดอัตโนมัติที่ขับเคลื่อนด้วยคำขอ รวมถึงการปรับขนาดเป็นศูนย์อย่างแท้จริง ดังนั้นโมเดลที่ไม่ได้ใช้งานจึงไม่ต้องใช้การประมวลผล นอกจากนี้ยังสร้างมาตรฐานให้กับ API การทำนายรอบ Open Inference Protocol ดังนั้นลูกค้าจึงพูดคุยกับทุกโมเดลในลักษณะเดียวกันโดยไม่คำนึงถึงเฟรมเวิร์ก

ข้อมูลเชิงลึกทางเทคนิค

การปรับขนาดอัตโนมัติของ KServe อาศัย Knative ซึ่งปรับขนาดจำนวนการจำลองตามการทำงานพร้อมกันหรือคำขอต่อวินาที และสามารถลดการจำลองลงเหลือศูนย์เมื่อการรับส่งข้อมูลหยุด จากนั้นจึงสตาร์ทแบบ Cold ตามความต้องการ InferenceService จะสรุปไปป์ไลน์การอนุมานแบบสมบูรณ์ลงในตัวทำนาย หม้อแปลง (ก่อน/หลังการประมวลผล) และส่วนประกอบของตัวอธิบาย โมเดลโหลดจากพื้นที่จัดเก็บอ็อบเจ็กต์ผ่าน 'ตัวเริ่มต้นพื้นที่จัดเก็บ' ซึ่งจะดึงอาร์ติแฟกต์ลงในพ็อดเมื่อเริ่มต้นระบบ โดยจะแยกพื้นที่จัดเก็บโมเดลออกจากอิมเมจคอนเทนเนอร์ที่ให้บริการ

การเรียนรู้ KServe และ Model Serving บน Kubernetes

KServe เป็นแพลตฟอร์ม Kubernetes ที่ได้มาตรฐานสำหรับการให้บริการโมเดลแมชชีนเลิร์นนิงในวงกว้าง ช่วยให้ทีมมีวิธีเดียวที่ประกาศอย่างชัดเจนในการปรับใช้โมเดลที่มีการปรับขนาดอัตโนมัติ การเปิดตัวแบบคานารี และการปรับขยายเป็นศูนย์ โดยแยกระบบท่อ Kubernetes ส่วนใหญ่ออกไป KServe และ Model Serving บน Kubernetes เป็นองค์ประกอบทางเทคนิคที่ส่งผลต่อคุณภาพของโมเดล ต้นทุนโครงสร้างพื้นฐาน เวลาแฝง และความน่าเชื่อถือในวงกว้าง เพื่อสร้างความเข้าใจอย่างลึกซึ้ง ให้ถือว่า KServe และ Model Serving บน Kubernetes เป็นโมเดลการทำงาน ไม่ใช่ฟีเจอร์เดียว: กำหนดผลลัพธ์ที่ต้องการ ชี้แจงสมมติฐาน และแยกสิ่งที่ระบบสามารถทำได้อย่างน่าเชื่อถือจากสิ่งที่ยังต้องใช้วิจารณญาณจากผู้เชี่ยวชาญ

ในทางปฏิบัติ ทีมที่แข็งแกร่งที่ใช้ KServe และ Model Serving บน Kubernetes จะปรับตัวเลือกสถาปัตยกรรม ข้อมูล และโครงสร้างพื้นฐานให้เหมาะสมโดยเทียบกับความน่าเชื่อถือและต้นทุน โดยจะบันทึกเกณฑ์ความสำเร็จที่ชัดเจน ทดสอบกับข้อมูลและขั้นตอนการทำงานที่สมจริง และทำซ้ำตามรูปแบบความล้มเหลวที่สังเกตได้ แทนที่จะชนะการวัดประสิทธิภาพเพียงครั้งเดียว นี่คือจุดที่ความเข้าใจทางทฤษฎีกลายเป็นความสามารถที่คงทนของผลิตภัณฑ์ นโยบาย และการดำเนินงาน

การตัดสินใจด้านสถาปัตยกรรมขับเคลื่อนประสิทธิภาพและต้นทุนการดำเนินงานเป็นเวลาหลายปี ในเวลาเดียวกัน การเพิ่มประสิทธิภาพเกณฑ์มาตรฐานหนึ่งรายการสามารถซ่อนจุดอ่อนของระบบในวงกว้างได้ แนวทางที่ยืดหยุ่นที่สุดคือการรวมความเร็วของการทดลองเข้ากับวินัยในการกำกับดูแล: ดำเนินการนำร่อง จับหลักฐาน เผยแพร่บันทึกการตัดสินใจ และอัปเดตการป้องกันอย่างต่อเนื่องเมื่อพฤติกรรมของโมเดล ความคาดหวังของผู้ใช้ และข้อกำหนดด้านกฎระเบียบมีการเปลี่ยนแปลง

ผลกระทบเชิงกลยุทธ์

การตัดสินใจด้านสถาปัตยกรรมขับเคลื่อนประสิทธิภาพและต้นทุนการดำเนินงานเป็นเวลาหลายปี

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

การศึกษาด้านเทคนิคช่วยให้ทีมเลือกกลุ่มที่เหมาะสม ไม่ใช่แค่กลุ่มใหม่ล่าสุด

การศึกษาด้านเทคนิคช่วยให้ทีมเลือกกลุ่มที่เหมาะสม ไม่ใช่แค่กลุ่มใหม่ล่าสุด ในการปรับใช้คุณภาพสูง สิ่งนี้จะถูกแปลเป็นกฎการปฏิบัติงานที่วัดผลได้ ขอบเขตความเป็นเจ้าของ และขั้นตอนการตรวจสอบที่เกิดซ้ำ เพื่อให้ทีมสามารถปรับขนาดความมั่นใจแทนที่จะปรับขนาดความคลุมเครือ

ตัวเลือกทางวิศวกรรมที่ดีกว่าจะช่วยลดเหตุการณ์ด้านความน่าเชื่อถือในการผลิต

ตัวเลือกทางวิศวกรรมที่ดีกว่าจะช่วยลดเหตุการณ์ด้านความน่าเชื่อถือในการผลิต ในการปรับใช้คุณภาพสูง สิ่งนี้จะถูกแปลเป็นกฎการปฏิบัติงานที่วัดผลได้ ขอบเขตความเป็นเจ้าของ และขั้นตอนการตรวจสอบที่เกิดซ้ำ เพื่อให้ทีมสามารถปรับขนาดความมั่นใจแทนที่จะปรับขนาดความคลุมเครือ

อนาคตของ KServe และโมเดลการให้บริการบน Kubernetes

KServe กำลังพัฒนาอย่างรวดเร็วไปสู่ ​​generative AI โดยเพิ่มแทร็กที่เน้น LLM พร้อมฟีเจอร์ต่างๆ เช่น การกำหนดเส้นทาง KV-cache-aware การแคชโมเดล และการให้บริการการกรอก/ถอดรหัสล่วงหน้าแบบแยกส่วนสำหรับโมเดลภาษาขนาดใหญ่ คาดหวังการผสานรวมที่ลึกซึ้งยิ่งขึ้นกับกลไกการอนุมาน เช่น vLLM การให้บริการหลายโหนดที่ดีขึ้นสำหรับรุ่นที่มีขนาดใหญ่เกินไปสำหรับ GPU ตัวเดียว และการกำหนดเส้นทางระดับเกตเวย์สำหรับการปรับสมดุลโหลดตามโทเค็น เนื่องจากเป็นโครงการบ่มเพาะ CNCF จึงกลายเป็นมาตรฐานเปิดโดยพฤตินัยในการวางโมเดลไว้เบื้องหลัง Kubernetes ช่วยลดช่องว่างระหว่างสิ่งประดิษฐ์ในการวิจัยและจุดสิ้นสุดการผลิตที่ยืดหยุ่น

การใช้งานจริงในโลกแห่งความเป็นจริง

ธนาคารปรับใช้โมเดลการให้คะแนนเครดิตโดยการเขียน InferenceService YAML 10 บรรทัดโดยชี้ไปที่โมเดลใน S3 โดยที่ KServe จัดการการปรับขนาดอัตโนมัติและทางเข้า

ทีมอีคอมเมิร์ซใช้การเปิดตัว Canary ของ KServe เพื่อส่งปริมาณการเข้าชม 10 เปอร์เซ็นต์ไปยังโมเดลคำแนะนำใหม่ จากนั้นจะเพิ่มขึ้นเป็น 100 เปอร์เซ็นต์เมื่อตัวชี้วัดดูดี

ห้องปฏิบัติการวิจัยให้บริการโมเดลที่ไม่ค่อยได้ใช้หลายสิบโมเดลโดยปรับขนาดเป็นศูนย์ ดังนั้นแต่ละโมเดลจะหมุนเมื่อมีคำขอมาถึงเท่านั้น และไม่ต้องใช้ GPU ในขณะที่ไม่ได้ใช้งาน

ทีม MLOps ใช้ส่วนประกอบหม้อแปลง KServe เพื่อเรียกใช้การปรับขนาดรูปภาพและการทำให้เป็นมาตรฐาน ก่อนที่ตัวทำนายจะเรียกใช้โมเดลการมองเห็นที่ให้บริการ Triton

รูปแบบการดำเนินงาน

KServe และ Model Serving บน Kubernetes ในทางปฏิบัติ

ธนาคารปรับใช้โมเดลการให้คะแนนเครดิตโดยการเขียน InferenceService YAML 10 บรรทัดโดยชี้ไปที่โมเดลใน S3 โดยที่ KServe จัดการการปรับขนาดอัตโนมัติและทางเข้า

ธนาคารปรับใช้โมเดลการให้คะแนนเครดิตโดยการเขียน InferenceService YAML 10 บรรทัดโดยชี้ไปที่โมเดลใน S3 โดยที่ KServe จัดการการปรับขนาดอัตโนมัติและทางเข้า ทีมมักจะได้รับผลลัพธ์ที่ดีกว่าเมื่อพวกเขากำหนดเกณฑ์คุณภาพไว้ล่วงหน้า รักษาเส้นทางการยกระดับโดยมนุษย์สำหรับกรณี Edge และติดตามทั้งประสิทธิภาพการทำงานที่เพิ่มขึ้นและต้นทุนข้อผิดพลาดเมื่อเวลาผ่านไป

KServe และ Model Serving บน Kubernetes ในทางปฏิบัติ

ทีมอีคอมเมิร์ซใช้การเปิดตัว Canary ของ KServe เพื่อส่งปริมาณการเข้าชม 10 เปอร์เซ็นต์ไปยังโมเดลคำแนะนำใหม่ จากนั้นจะเพิ่มขึ้นเป็น 100 เปอร์เซ็นต์เมื่อตัวชี้วัดดูดี

ทีมอีคอมเมิร์ซใช้การเปิดตัว Canary ของ KServe เพื่อส่งทราฟฟิก 10 เปอร์เซ็นต์ไปยังโมเดลคำแนะนำใหม่ จากนั้นเพิ่มขึ้นเป็น 100 เปอร์เซ็นต์เมื่อตัวชี้วัดดูมีประสิทธิภาพ ทีมมักจะได้รับผลลัพธ์ที่ดีกว่าเมื่อพวกเขากำหนดเกณฑ์คุณภาพล่วงหน้า รักษาเส้นทางการยกระดับโดยมนุษย์สำหรับกรณี Edge และติดตามทั้งการเพิ่มผลิตภาพและต้นทุนข้อผิดพลาดเมื่อเวลาผ่านไป

KServe และ Model Serving บน Kubernetes ในทางปฏิบัติ

ห้องปฏิบัติการวิจัยให้บริการโมเดลที่ไม่ค่อยได้ใช้หลายสิบโมเดลโดยปรับขนาดเป็นศูนย์ ดังนั้นแต่ละโมเดลจะหมุนเมื่อมีคำขอมาถึงเท่านั้น และไม่ต้องใช้ GPU ในขณะที่ไม่ได้ใช้งาน

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

KServe และ Model Serving บน Kubernetes ในทางปฏิบัติ

ทีม MLOps ใช้ส่วนประกอบหม้อแปลง KServe เพื่อเรียกใช้การปรับขนาดรูปภาพและการทำให้เป็นมาตรฐาน ก่อนที่ตัวทำนายจะเรียกใช้โมเดลการมองเห็นที่ให้บริการ Triton

ทีม MLOps ใช้ส่วนประกอบหม้อแปลง KServe เพื่อเรียกใช้การปรับขนาดรูปภาพและการทำให้เป็นมาตรฐานก่อนที่ตัวทำนายจะเรียกใช้โมเดลการมองเห็นที่ใช้ Triton ทีมมักจะได้รับผลลัพธ์ที่ดีกว่าเมื่อพวกเขากำหนดเกณฑ์คุณภาพล่วงหน้า รักษาเส้นทางการยกระดับโดยมนุษย์สำหรับกรณี Edge และติดตามทั้งประสิทธิภาพการทำงานที่เพิ่มขึ้นและต้นทุนข้อผิดพลาดเมื่อเวลาผ่านไป

ความเสี่ยงและรั้ว

!

การเพิ่มประสิทธิภาพเกณฑ์มาตรฐานหนึ่งรายการสามารถซ่อนจุดอ่อนของระบบในวงกว้างได้

!

ต้นทุนโครงสร้างพื้นฐานและการบำรุงรักษามักถูกประเมินต่ำไป

!

ช่องว่างด้านความปลอดภัยและความสามารถในการสังเกตสามารถเพิ่มขึ้นได้เมื่อระบบมีความซับซ้อนมากขึ้น

แผนงานการดำเนินงาน

1

กำหนดเป้าหมายเวลาแฝง คุณภาพ และต้นทุนก่อนนำไปใช้งาน

กำหนดเป้าหมายเวลาแฝง คุณภาพ และต้นทุนก่อนนำไปใช้งาน ถือว่าแต่ละขั้นตอนเป็นเหมือนประตูหลักฐาน: หากไม่ตรงตามเกณฑ์ ให้หยุดการเปิดตัวชั่วคราว ปิดช่องว่าง จากนั้นจึงขยายการใช้งานเท่านั้น

2

เกณฑ์มาตรฐานภายใต้สภาวะโหลดและข้อมูลจริง

เกณฑ์มาตรฐานภายใต้สภาวะโหลดและข้อมูลจริง ถือว่าแต่ละขั้นตอนเป็นเหมือนประตูหลักฐาน: หากไม่ตรงตามเกณฑ์ ให้หยุดการเปิดตัวชั่วคราว ปิดช่องว่าง จากนั้นจึงขยายการใช้งานเท่านั้น

3

การตรวจสอบเครื่องมือเพื่อหาข้อผิดพลาด การเบี่ยงเบน และผลกระทบต่อผู้ใช้

การตรวจสอบเครื่องมือเพื่อหาข้อผิดพลาด การเบี่ยงเบน และผลกระทบต่อผู้ใช้ ถือว่าแต่ละขั้นตอนเป็นเหมือนประตูหลักฐาน: หากไม่ตรงตามเกณฑ์ ให้หยุดการเปิดตัวชั่วคราว ปิดช่องว่าง จากนั้นจึงขยายการใช้งานเท่านั้น

4

เตรียมเส้นทางการย้อนกลับและการตอบสนองต่อเหตุการณ์ก่อนปรับขนาด

เตรียมเส้นทางการย้อนกลับและการตอบสนองต่อเหตุการณ์ก่อนปรับขนาด ถือว่าแต่ละขั้นตอนเป็นเหมือนประตูหลักฐาน: หากไม่ตรงตามเกณฑ์ ให้หยุดการเปิดตัวชั่วคราว ปิดช่องว่าง จากนั้นจึงขยายการใช้งานเท่านั้น

สำรวจต่อไป