Műszaki ÚTMUTATÓ

BentoML és modellcsomagolás

A BentoML egy nyílt forráskódú Python-keretrendszer, amely a betanított gépi tanulási modelleket szabványosított, telepíthető „Bentos”-nak nevezett egységekbe csomagolja.

2 perc olvasásUtoljára frissítve

Áttekintés

It bridges the gap between a model sitting in a notebook and a production service that can actually serve predictions over an API.

Mély merülés

Amikor egy adattudós befejezi a modell betanítását, a termelésbe állítás általában azt jelenti, hogy manuálisan meg kell írni a kiszolgáló kódot, rögzíteni kell a függőségeket, fel kell építeni egy Docker-képet, és be kell kötni egy API-t. A BentoML ezt automatizálja. Ment egy modellt a helyi modelltárolójába, majd definiál egy szolgáltatási osztályt egy olyan API-végponttal, amely a következtetések kezelésére szolgál. A „bentoml build” parancs a modellt, a Python-kódot, a függőségi verziókat és a futásidejű konfigurációt egy önálló, verziószámmal ellátott Bento-ba csomagolja. Innentől a „bentoml containerize” egy OCI Docker képet hoz létre. A BentoML szinte minden keretrendszert támogat (PyTorch, TensorFlow, scikit-learn, XGBoost, Hugging Face Transformers, ONNX), és hozzáadja az adaptív mikro kötegelést, amely automatikusan csoportosítja a bejövő kéréseket a GPU átviteli sebességének maximalizálása érdekében a kód megváltoztatása nélkül.

Technikai betekintés

A BentoML elválasztja a „futókat” (a számításigényes modellvégrehajtás) az API szerver logikától. A futók önállóan méretezhetnek, és saját munkafolyamataikban futhatnak, míg a könnyű HTTP/gRPC szerver kezeli a kérések útválasztását és az I/O-t. Az adaptív kötegelés dinamikusan hangolja a kötegméretet és a késleltetési időtartamot futás közben, így elnyeli a forgalmi kitöréseket, és lefoglalja a drága gyorsítókat. A szabványosított Bento formátum manifestet, modellfájlokat és reprodukálható környezetet ágyaz be, így az összeállítások determinisztikussá válnak a gépeken.

Stratégiai hatás

Költség és költségvetés

Az építészeti döntések évekig növelik a teljesítményt és a működési költségeket.

Tisztább döntések

A technikai oktatás segít a csapatoknak a megfelelő verem kiválasztásában, nem csak a legújabb készletben.

Minőségellenőrzés

A jobb mérnöki döntések csökkentik a termelés megbízhatósági incidenseit.

A BentoML és a modellcsomagolás jövője

A BentoML keményen hajlott a nagy nyelvi modellekre és a generatív mesterséges intelligencia kiszolgálására, az OpenLLM és a BentoCloud streaming token válaszokat, automatikus skálázást és GPU-tudatos ütemezést kínál. Szorosabb integrációra számíthat az olyan következtetés-optimalizálókkal, mint a vLLM és a TensorRT-LLM, a többmodelles összetett AI-rendszerek jobb támogatása, valamint a csomagolt Bento-tól a kiszolgáló nélküli GPU-telepítésig gördülékenyebb út. Ahogy a csapatok az egyedi modellekről az ügynöki csővezetékek felé haladnak, a BentoML úgy pozicionálja magát, mint a csomagoló és kiszolgáló réteg, amely összeköti ezeket az összetevőket.

Valós megvalósítás

Egy csalásfelderítő csapat elment egy XGBoost modellt a BentoML áruházba, és létrehoz egy Bento-t, amely egy /predict REST végpontot tesz elérhetővé a fizetési szolgáltatás valós időben történő hívásához.

Egy ML platform csapata „bentoml containerize” segítségével alakítja át a Hugging Face hangulatmodellt a belső Kubernetes-fürtjükbe telepített Docker-képpé.

Egy startup egy finomhangolt Llama-modellt szolgál ki OpenLLM-mel (BentoML-re épülve), tokeneket streamelve egy chat-kezelőfelületre adaptív kötegeléssel, amely a GPU-t telítetten tartja.

Egy számítógépes látással foglalkozó cég egy PyTorch képosztályozót és annak előfeldolgozó folyamatát egy Bentoba csomagolja, így a képzés során használt pontos transzformációkat a modellel együtt szállítják.

Kockázatok és védőkorlátok

Egy benchmark optimalizálása elrejtheti a rendszer általános hiányosságait.

Az infrastrukturális és karbantartási költségeket gyakran alábecsülik.

A biztonsági és megfigyelhetőségi hiányosságok a rendszerek bonyolultabbá válásával nőhetnek.

Végrehajtási ütemterv

1

Határozza meg a késleltetési, minőségi és költségcélokat a megvalósítás előtt.

2

Benchmark reális terhelési és adatviszonyok mellett.

3

Műszerfigyelés a hibák, az eltolódás és a felhasználói hatások szempontjából.

4

A méretezés előtt készítse elő a visszagörgetési és az incidensre adott válaszútvonalakat.

Folytassa a felfedezést

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.

Kezdő kvíz

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

Következő útmutató

Spekulatív szerkesztések kódmodellekhez

Gyakran ismételt kérdések

What is BentoML and Model Packaging?

A BentoML egy nyílt forráskódú Python-keretrendszer, amely a betanított gépi tanulási modelleket szabványosított, telepíthető „Bentos”-nak nevezett egységekbe csomagolja. Áthidalja a szakadékot egy notebookban ülő modell és egy olyan éles szolgáltatás között, amely ténylegesen képes előrejelzéseket szolgálni egy API-n keresztül.

Mi az a szabványosított, telepíthető egység, amelyet a BentoML gyárt?

A BentoML egy modellt, annak kódját, függőségeit és futásidejű konfigurációját egy Bento nevű, változatos, önálló egységbe csomagolja.

Miben javít elsősorban a BentoML adaptív mikro-adagolása?

Az adaptív kötegelés futás közben csoportosítja a bejövő kéréseket, hogy a GPU-kat lefoglalva tartsa, és maximalizálja az átviteli sebességet kódmódosítások nélkül.

A BentoML architektúrájában mi kezeli az API-kiszolgálótól elkülönítve a számításigényes modellvégrehajtást?

A futók modellkövetkeztetést foglalnak magukba, és méretezhetnek saját munkafolyamataikban, leválasztva a könnyű API-kiszolgálóról.

Melyik parancs alakítja át a beépített Bento-t OCI Docker képpé?

A „bentoml containerize” szabványos OCI/Docker-képet hoz létre a Bento-ból a telepítéshez.

Ezek közül melyik a fő oka annak, hogy a BentoML függőségi verziókat ágyaz be a Bentoba?

A környezet rögzítése és beágyazása reprodukálhatóvá és konzisztenssé teszi a csomagolt szolgáltatást, bárhol is fut.