ภาพรวม
BentoML เป็นเฟรมเวิร์ก Python แบบโอเพ่นซอร์สที่รวมโมเดลการเรียนรู้ของเครื่องที่ได้รับการฝึกมาไว้ในหน่วยมาตรฐานและปรับใช้ได้ที่เรียกว่า 'Bentos' โดยเชื่อมช่องว่างระหว่างโมเดลที่อยู่ในโน้ตบุ๊กและบริการที่ใช้งานจริงที่สามารถรองรับการคาดการณ์ผ่าน API ได้จริง
BentoML และ Model Packaging เป็นองค์ประกอบทางเทคนิคที่ส่งผลต่อคุณภาพของโมเดล ต้นทุนโครงสร้างพื้นฐาน เวลาแฝง และความน่าเชื่อถือในวงกว้าง
เจาะลึก
เมื่อนักวิทยาศาสตร์ด้านข้อมูลฝึกอบรมโมเดลเสร็จแล้ว การนำโมเดลไปใช้จริงมักจะหมายถึงการเขียนโค้ดที่ให้บริการด้วยตนเอง การปักหมุดการขึ้นต่อกัน การสร้างอิมเมจ Docker และการวางสาย API BentoML ดำเนินการนี้โดยอัตโนมัติ คุณบันทึกโมเดลลงในที่เก็บโมเดลในเครื่อง จากนั้นกำหนดคลาสบริการด้วยจุดสิ้นสุด API ที่ตกแต่งเพื่อจัดการการอนุมาน คำสั่ง 'bentoml build' จะรวมโมเดล, โค้ด Python, เวอร์ชันที่ขึ้นต่อกัน และการกำหนดค่ารันไทม์ไว้ใน Bento เวอร์ชันที่มีอยู่ในตัวเอง จากนั้น 'bentoml containerize' จะสร้างอิมเมจ OCI Docker BentoML รองรับเกือบทุกเฟรมเวิร์ก (PyTorch, TensorFlow, scikit-learn, XGBoost, Hugging Face Transformers, ONNX) และเพิ่มไมโครแบทช์ที่ปรับเปลี่ยนได้ ซึ่งจัดกลุ่มคำขอที่เข้ามาโดยอัตโนมัติเพื่อเพิ่มปริมาณงาน GPU สูงสุดโดยไม่ต้องเปลี่ยนโค้ดของคุณ
ข้อมูลเชิงลึกทางเทคนิค
BentoML แยก 'Runners' (การดำเนินการโมเดลที่เน้นการประมวลผล) ออกจากตรรกะของเซิร์ฟเวอร์ API ผู้รันสามารถปรับขนาดได้อย่างอิสระและทำงานในกระบวนการของผู้ปฏิบัติงานของตนเอง ในขณะที่เซิร์ฟเวอร์ HTTP/gRPC แบบน้ำหนักเบาจะจัดการการกำหนดเส้นทางคำขอและ I/O การประมวลผลแบบแบตช์แบบปรับเปลี่ยนได้จะปรับขนาดแบตช์และกรอบเวลาแฝง ณ รันไทม์แบบไดนามิก ดังนั้นจึงดูดซับการเข้าชมที่ล้นหลามและทำให้ตัวเร่งความเร็วราคาแพงยุ่งอยู่เสมอ รูปแบบ Bento ที่ได้มาตรฐานจะฝังรายการ ไฟล์โมเดล และสภาพแวดล้อมที่ทำซ้ำได้ ทำให้การสร้างบิลด์ถูกกำหนดไว้บนเครื่องต่างๆ
การเรียนรู้ BentoML และบรรจุภัณฑ์แบบจำลอง
BentoML เป็นเฟรมเวิร์ก Python แบบโอเพ่นซอร์สที่รวมโมเดลการเรียนรู้ของเครื่องที่ได้รับการฝึกมาไว้ในหน่วยมาตรฐานและปรับใช้ได้ที่เรียกว่า 'Bentos' โดยเชื่อมช่องว่างระหว่างโมเดลที่อยู่ในโน้ตบุ๊กและบริการที่ใช้งานจริงที่สามารถรองรับการคาดการณ์ผ่าน API ได้จริง BentoML และ Model Packaging เป็นองค์ประกอบทางเทคนิคที่ส่งผลต่อคุณภาพของโมเดล ต้นทุนโครงสร้างพื้นฐาน เวลาแฝง และความน่าเชื่อถือในวงกว้าง เพื่อสร้างความเข้าใจอย่างลึกซึ้ง ให้ถือว่า BentoML และ Model Packaging เป็นเพียงแบบจำลองการดำเนินงาน ไม่ใช่คุณลักษณะเดียว: กำหนดผลลัพธ์ที่ต้องการ ชี้แจงสมมติฐาน และแยกสิ่งที่ระบบสามารถทำได้อย่างน่าเชื่อถือจากสิ่งที่ยังต้องใช้วิจารณญาณจากผู้เชี่ยวชาญ
ในทางปฏิบัติ ทีมที่แข็งแกร่งที่ใช้ BentoML และ Model Packaging จะปรับสถาปัตยกรรม ข้อมูล และตัวเลือกโครงสร้างพื้นฐานให้เหมาะสมโดยเทียบกับความน่าเชื่อถือและต้นทุน โดยจะบันทึกเกณฑ์ความสำเร็จที่ชัดเจน ทดสอบกับข้อมูลและขั้นตอนการทำงานที่สมจริง และทำซ้ำตามรูปแบบความล้มเหลวที่สังเกตได้ แทนที่จะชนะการวัดประสิทธิภาพเพียงครั้งเดียว นี่คือจุดที่ความเข้าใจทางทฤษฎีกลายเป็นความสามารถที่คงทนของผลิตภัณฑ์ นโยบาย และการดำเนินงาน
การตัดสินใจด้านสถาปัตยกรรมขับเคลื่อนประสิทธิภาพและต้นทุนการดำเนินงานเป็นเวลาหลายปี ในเวลาเดียวกัน การเพิ่มประสิทธิภาพเกณฑ์มาตรฐานหนึ่งรายการสามารถซ่อนจุดอ่อนของระบบในวงกว้างได้ แนวทางที่ยืดหยุ่นที่สุดคือการรวมความเร็วของการทดลองเข้ากับวินัยในการกำกับดูแล: ดำเนินการนำร่อง จับหลักฐาน เผยแพร่บันทึกการตัดสินใจ และอัปเดตการป้องกันอย่างต่อเนื่องเมื่อพฤติกรรมของโมเดล ความคาดหวังของผู้ใช้ และข้อกำหนดด้านกฎระเบียบมีการเปลี่ยนแปลง
ผลกระทบเชิงกลยุทธ์
การตัดสินใจด้านสถาปัตยกรรมขับเคลื่อนประสิทธิภาพและต้นทุนการดำเนินงานเป็นเวลาหลายปี
การตัดสินใจด้านสถาปัตยกรรมขับเคลื่อนประสิทธิภาพและต้นทุนการดำเนินงานเป็นเวลาหลายปี ในการปรับใช้คุณภาพสูง สิ่งนี้จะถูกแปลเป็นกฎการปฏิบัติงานที่วัดผลได้ ขอบเขตความเป็นเจ้าของ และขั้นตอนการตรวจสอบที่เกิดซ้ำ เพื่อให้ทีมสามารถปรับขนาดความมั่นใจแทนที่จะปรับขนาดความคลุมเครือ
การศึกษาด้านเทคนิคช่วยให้ทีมเลือกกลุ่มที่เหมาะสม ไม่ใช่แค่กลุ่มใหม่ล่าสุด
การศึกษาด้านเทคนิคช่วยให้ทีมเลือกกลุ่มที่เหมาะสม ไม่ใช่แค่กลุ่มใหม่ล่าสุด ในการปรับใช้คุณภาพสูง สิ่งนี้จะถูกแปลเป็นกฎการปฏิบัติงานที่วัดผลได้ ขอบเขตความเป็นเจ้าของ และขั้นตอนการตรวจสอบที่เกิดซ้ำ เพื่อให้ทีมสามารถปรับขนาดความมั่นใจแทนที่จะปรับขนาดความคลุมเครือ
ตัวเลือกทางวิศวกรรมที่ดีกว่าจะช่วยลดเหตุการณ์ด้านความน่าเชื่อถือในการผลิต
ตัวเลือกทางวิศวกรรมที่ดีกว่าจะช่วยลดเหตุการณ์ด้านความน่าเชื่อถือในการผลิต ในการปรับใช้คุณภาพสูง สิ่งนี้จะถูกแปลเป็นกฎการปฏิบัติงานที่วัดผลได้ ขอบเขตความเป็นเจ้าของ และขั้นตอนการตรวจสอบที่เกิดซ้ำ เพื่อให้ทีมสามารถปรับขนาดความมั่นใจแทนที่จะปรับขนาดความคลุมเครือ
การใช้งานจริงในโลกแห่งความเป็นจริง
ทีมตรวจจับการฉ้อโกงบันทึกโมเดล XGBoost ลงในร้านค้า BentoML และสร้าง Bento ที่เปิดเผยตำแหน่งข้อมูล /คาดการณ์ REST สำหรับบริการการชำระเงินเพื่อโทรแบบเรียลไทม์
ทีมแพลตฟอร์ม ML ใช้ 'bentoml Containerize' เพื่อเปลี่ยนโมเดลความรู้สึกของ Hugging Face ให้เป็นอิมเมจ Docker ที่ปรับใช้กับคลัสเตอร์ Kubernetes ภายในของพวกเขา
สตาร์ทอัพให้บริการโมเดล Llama ที่ได้รับการปรับแต่งอย่างละเอียดด้วย OpenLLM (สร้างบน BentoML) โดยการสตรีมโทเค็นไปยัง UI การแชทด้วยชุดการทำงานที่ปรับเปลี่ยนได้ซึ่งทำให้ GPU อิ่มตัว
บริษัทคอมพิวเตอร์วิทัศน์แห่งหนึ่งจัดแพคเกจเครื่องแยกประเภทรูปภาพ PyTorch พร้อมไปป์ไลน์การประมวลผลล่วงหน้าไว้ใน Bento เดียว ดังนั้นการแปลงที่แน่นอนที่ใช้ในการฝึกจึงจัดส่งพร้อมกับโมเดล
รูปแบบการดำเนินงาน
BentoML และ Model Packaging ในทางปฏิบัติ
ทีมตรวจจับการฉ้อโกงบันทึกโมเดล XGBoost ลงในร้านค้า BentoML และสร้าง Bento ที่เปิดเผยตำแหน่งข้อมูล /คาดการณ์ REST สำหรับบริการการชำระเงินเพื่อโทรแบบเรียลไทม์
ทีมตรวจจับการฉ้อโกงบันทึกโมเดล XGBoost ลงในร้านค้า BentoML และสร้าง Bento ที่เปิดเผย /คาดการณ์ตำแหน่งข้อมูล REST สำหรับบริการการชำระเงินเพื่อเรียกใช้แบบเรียลไทม์ ทีมมักจะได้รับผลลัพธ์ที่ดีกว่าเมื่อพวกเขากำหนดเกณฑ์คุณภาพไว้ล่วงหน้า รักษาเส้นทางการยกระดับโดยมนุษย์สำหรับกรณี Edge และติดตามทั้งการเพิ่มผลผลิตและต้นทุนข้อผิดพลาดเมื่อเวลาผ่านไป
BentoML และ Model Packaging ในทางปฏิบัติ
ทีมแพลตฟอร์ม ML ใช้ 'bentoml Containerize' เพื่อเปลี่ยนโมเดลความรู้สึกของ Hugging Face ให้เป็นอิมเมจ Docker ที่ปรับใช้กับคลัสเตอร์ Kubernetes ภายในของพวกเขา
ทีมแพลตฟอร์ม ML ใช้ 'bentoml Containerize' เพื่อเปลี่ยนโมเดลความรู้สึกของ Hugging Face ให้เป็นอิมเมจ Docker ที่ปรับใช้กับคลัสเตอร์ Kubernetes ภายใน ทีมมักจะได้รับผลลัพธ์ที่ดีกว่าเมื่อพวกเขากำหนดเกณฑ์คุณภาพล่วงหน้า รักษาเส้นทางการยกระดับโดยมนุษย์สำหรับกรณี Edge และติดตามทั้งประสิทธิภาพการทำงานที่เพิ่มขึ้นและต้นทุนข้อผิดพลาดเมื่อเวลาผ่านไป
BentoML และ Model Packaging ในทางปฏิบัติ
สตาร์ทอัพให้บริการโมเดล Llama ที่ได้รับการปรับแต่งอย่างละเอียดด้วย OpenLLM (สร้างบน BentoML) โดยการสตรีมโทเค็นไปยัง UI การแชทด้วยชุดการทำงานที่ปรับเปลี่ยนได้ซึ่งทำให้ GPU อิ่มตัว
สตาร์ทอัพให้บริการโมเดล Llama ที่ได้รับการปรับแต่งอย่างละเอียดด้วย OpenLLM (สร้างบน BentoML) การสตรีมโทเค็นไปยัง UI การแชทด้วยการแบ่งกลุ่มแบบปรับเปลี่ยนได้ ทำให้ทีมที่ใช้ GPU อิ่มตัวมักจะได้รับผลลัพธ์ที่ดีขึ้น เมื่อพวกเขากำหนดเกณฑ์คุณภาพล่วงหน้า รักษาเส้นทางการยกระดับโดยมนุษย์สำหรับกรณี Edge และติดตามทั้งการเพิ่มผลิตภาพและต้นทุนข้อผิดพลาดเมื่อเวลาผ่านไป
BentoML และ Model Packaging ในทางปฏิบัติ
บริษัทคอมพิวเตอร์วิทัศน์แห่งหนึ่งจัดแพคเกจเครื่องแยกประเภทรูปภาพ PyTorch พร้อมไปป์ไลน์การประมวลผลล่วงหน้าไว้ใน Bento เดียว ดังนั้นการแปลงที่แน่นอนที่ใช้ในการฝึกจึงจัดส่งพร้อมกับโมเดล
บริษัทคอมพิวเตอร์วิทัศน์แห่งหนึ่งจัดแพคเกจตัวแยกประเภทภาพ PyTorch พร้อมไปป์ไลน์การประมวลผลล่วงหน้าไว้ใน Bento เดียว ดังนั้นการแปลงที่แน่นอนที่ใช้ในการฝึกจัดส่งด้วยทีมจำลองมักจะได้รับผลลัพธ์ที่ดีกว่า เมื่อพวกเขากำหนดเกณฑ์คุณภาพล่วงหน้า รักษาเส้นทางการยกระดับโดยมนุษย์สำหรับกรณี Edge และติดตามทั้งประสิทธิภาพการทำงานที่เพิ่มขึ้นและต้นทุนข้อผิดพลาดเมื่อเวลาผ่านไป
ความเสี่ยงและรั้ว
การเพิ่มประสิทธิภาพเกณฑ์มาตรฐานหนึ่งรายการสามารถซ่อนจุดอ่อนของระบบในวงกว้างได้
ต้นทุนโครงสร้างพื้นฐานและการบำรุงรักษามักถูกประเมินต่ำไป
ช่องว่างด้านความปลอดภัยและความสามารถในการสังเกตสามารถเพิ่มขึ้นได้เมื่อระบบมีความซับซ้อนมากขึ้น
แผนงานการดำเนินงาน
กำหนดเป้าหมายเวลาแฝง คุณภาพ และต้นทุนก่อนนำไปใช้งาน
กำหนดเป้าหมายเวลาแฝง คุณภาพ และต้นทุนก่อนนำไปใช้งาน ถือว่าแต่ละขั้นตอนเป็นเหมือนประตูหลักฐาน: หากไม่ตรงตามเกณฑ์ ให้หยุดการเปิดตัวชั่วคราว ปิดช่องว่าง จากนั้นจึงขยายการใช้งานเท่านั้น
เกณฑ์มาตรฐานภายใต้สภาวะโหลดและข้อมูลจริง
เกณฑ์มาตรฐานภายใต้สภาวะโหลดและข้อมูลจริง ถือว่าแต่ละขั้นตอนเป็นเหมือนประตูหลักฐาน: หากไม่ตรงตามเกณฑ์ ให้หยุดการเปิดตัวชั่วคราว ปิดช่องว่าง จากนั้นจึงขยายการใช้งานเท่านั้น
การตรวจสอบเครื่องมือเพื่อหาข้อผิดพลาด การเบี่ยงเบน และผลกระทบต่อผู้ใช้
การตรวจสอบเครื่องมือเพื่อหาข้อผิดพลาด การเบี่ยงเบน และผลกระทบต่อผู้ใช้ ถือว่าแต่ละขั้นตอนเป็นเหมือนประตูหลักฐาน: หากไม่ตรงตามเกณฑ์ ให้หยุดการเปิดตัวชั่วคราว ปิดช่องว่าง จากนั้นจึงขยายการใช้งานเท่านั้น
เตรียมเส้นทางการย้อนกลับและการตอบสนองต่อเหตุการณ์ก่อนปรับขนาด
เตรียมเส้นทางการย้อนกลับและการตอบสนองต่อเหตุการณ์ก่อนปรับขนาด ถือว่าแต่ละขั้นตอนเป็นเหมือนประตูหลักฐาน: หากไม่ตรงตามเกณฑ์ ให้หยุดการเปิดตัวชั่วคราว ปิดช่องว่าง จากนั้นจึงขยายการใช้งานเท่านั้น