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

BentoML และบรรจุภัณฑ์แบบจำลอง

BentoML เป็นเฟรมเวิร์ก Python แบบโอเพ่นซอร์สที่รวมโมเดลการเรียนรู้ของเครื่องที่ได้รับการฝึกมาไว้ในหน่วยมาตรฐานและปรับใช้ได้ที่เรียกว่า 'Bentos'

อ่าน 2 นาทีอัปเดตล่าสุด

ภาพรวม

มันเชื่อมช่องว่างระหว่างโมเดลที่อยู่ในโน้ตบุ๊กกับบริการผลิตที่สามารถทํานายผลผ่าน API ได้จริง

เจาะลึก

เมื่อนักวิทยาศาสตร์ด้านข้อมูลฝึกอบรมโมเดลเสร็จแล้ว การนำโมเดลไปใช้จริงมักจะหมายถึงการเขียนโค้ดที่ให้บริการด้วยตนเอง การปักหมุดการขึ้นต่อกัน การสร้างอิมเมจ 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 ทุ่มเทอย่างหนักให้กับโมเดลภาษาขนาดใหญ่และการให้บริการ AI เชิงสร้างสรรค์ โดย OpenLLM และ BentoCloud นำเสนอการตอบสนองโทเค็นแบบสตรีม การปรับขนาดอัตโนมัติ และการกำหนดเวลาที่รับรู้ GPU คาดหวังการผสานรวมที่เข้มงวดมากขึ้นกับเครื่องมือเพิ่มประสิทธิภาพการอนุมาน เช่น vLLM และ TensorRT-LLM การรองรับที่ดีขึ้นสำหรับระบบ AI แบบผสมหลายรุ่น และเส้นทางที่ราบรื่นยิ่งขึ้นจาก Bento แพ็คเกจไปจนถึงการใช้งาน GPU แบบไร้เซิร์ฟเวอร์ ในขณะที่ทีมเปลี่ยนจากโมเดลเดี่ยวไปสู่ไปป์ไลน์แบบเอเจนต์ BentoML กำลังวางตำแหน่งตัวเองเป็นชั้นบรรจุภัณฑ์และการให้บริการที่เชื่อมโยงส่วนประกอบเหล่านั้นเข้าด้วยกัน

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

ทีมตรวจจับการฉ้อโกงบันทึกโมเดล XGBoost ลงในร้านค้า BentoML และสร้าง Bento ที่เปิดเผยตำแหน่งข้อมูล /คาดการณ์ REST สำหรับบริการการชำระเงินเพื่อโทรแบบเรียลไทม์

ทีมแพลตฟอร์ม ML ใช้ 'bentoml Containerize' เพื่อเปลี่ยนโมเดลความรู้สึกของ Hugging Face ให้เป็นอิมเมจ Docker ที่ปรับใช้กับคลัสเตอร์ Kubernetes ภายในของพวกเขา

สตาร์ทอัพให้บริการโมเดล Llama ที่ได้รับการปรับแต่งอย่างละเอียดด้วย OpenLLM (สร้างบน BentoML) โดยการสตรีมโทเค็นไปยัง UI การแชทด้วยชุดการทำงานที่ปรับเปลี่ยนได้ซึ่งทำให้ GPU อิ่มตัว

บริษัทคอมพิวเตอร์วิทัศน์แห่งหนึ่งจัดแพคเกจเครื่องแยกประเภทรูปภาพ PyTorch พร้อมไปป์ไลน์การประมวลผลล่วงหน้าไว้ใน Bento เดียว ดังนั้นการแปลงที่แน่นอนที่ใช้ในการฝึกจึงจัดส่งพร้อมกับโมเดล

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

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

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

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

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

1

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

2

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

3

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

4

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

สำรวจต่อไป

Free newsletter

Get the daily AI briefing

Three verified AI stories every weekday morning, written in plain English. Free forever, no ads.

One email each weekday. Unsubscribe in one click. We never sell or share your address.

Test yourself

Take the BentoML and Model Packaging quiz

Instant feedback on every answer, and a shareable certificate with a verifiable ID once you pass a course.

เริ่มแบบทดสอบ

Support free AI education. AI Understanding is a 501(c)(3) nonprofit — no ads, no paywall, ever. Make a donation

คำแนะนำต่อไป

การแก้ไขเชิงคาดเดาสำหรับโมเดลโค้ด

คำถามที่พบบ่อย

BentoML และบรรจุภัณฑ์โมเดลคืออะไร?

BentoML เป็นเฟรมเวิร์ก Python แบบโอเพ่นซอร์สที่รวมโมเดลการเรียนรู้ของเครื่องที่ได้รับการฝึกมาไว้ในหน่วยมาตรฐานและปรับใช้ได้ที่เรียกว่า 'Bentos' โดยเชื่อมช่องว่างระหว่างโมเดลที่อยู่ในโน้ตบุ๊กและบริการที่ใช้งานจริงที่สามารถรองรับการคาดการณ์ผ่าน API ได้จริง

หน่วยมาตรฐานและปรับใช้ได้ที่ BentoML ผลิตคืออะไร

BentoML จัดทำแพ็กเกจโมเดล โค้ด การขึ้นต่อกัน และการกำหนดค่ารันไทม์ลงในหน่วยที่มีเวอร์ชันในตัวเองที่เรียกว่า Bento

Adaptive Micro-Batching ของ BentoML ช่วยปรับปรุงอะไรเป็นหลัก

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

ในสถาปัตยกรรมของ BentoML อะไรจัดการการดำเนินการโมเดลที่เน้นการประมวลผลโดยแยกจากเซิร์ฟเวอร์ API

Runners สรุปการอนุมานโมเดลและสามารถปรับขนาดในกระบวนการของผู้ปฏิบัติงานของตนเอง ซึ่งแยกออกจากเซิร์ฟเวอร์ API น้ำหนักเบา

คำสั่งใดเปลี่ยน Bento ที่สร้างขึ้นให้เป็นอิมเมจ OCI Docker

'bentoml containerize' สร้างอิมเมจ OCI/Docker มาตรฐานจาก Bento เพื่อการปรับใช้

ข้อใดต่อไปนี้เป็นเหตุผลสำคัญที่ BentoML ฝังเวอร์ชันที่ต้องพึ่งพาไว้ใน Bento

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