Beépített PaddleOCR az Amazon SageMaker projektekkel MLOps-okhoz, amelyek optikai karakterfelismerést hajtanak végre személyazonosító okmányokon, PlatoBlockchain Data Intelligence. Függőleges keresés. Ai.

Beépített PaddleOCR az Amazon SageMaker projektekkel MLOp-okhoz, amelyek optikai karakterfelismerést hajtanak végre a személyazonosító okmányokon

Az optikai karakterfelismerés (OCR) a nyomtatott vagy kézzel írt szövegek gépi kódolású szöveggé alakításának feladata. Az OCR-t széles körben használják különféle forgatókönyvekben, például a dokumentumok elektronizálásában és a személyazonosság-hitelesítésben. Mivel az OCR nagymértékben csökkentheti a kulcsfontosságú információk kézi rögzítésének erőfeszítéseit, és belépési lépésként szolgálhat nagy mennyiségű dokumentum megértéséhez, a pontos OCR-rendszer döntő szerepet játszik a digitális átalakulás korszakában.

A nyílt forráskódú közösség és a kutatók az OCR-pontosság, a könnyű használat, az előre betanított modellekkel való integráció, a bővítés és a rugalmasság javítására koncentrálnak. A számos javasolt keretrendszer közül a PaddleOCR az utóbbi időben egyre nagyobb figyelmet kapott. A javasolt keretrendszer a nagy pontosság elérésére összpontosít, miközben egyensúlyba hozza a számítási hatékonyságot. Ezenkívül a kínai és angol nyelvre előképzett modellek népszerűvé teszik a kínai nyelvű piacon. Lásd a PaddleOCR GitHub repo fül alatt találsz.

Az AWS-nél olyan integrált AI-szolgáltatásokat is javasoltunk, amelyek gépi tanulási (ML) szakértelem nélkül is használatra készek. Szöveg és strukturált adatok, például táblázatok és űrlapok dokumentumokból történő kinyeréséhez használhatja Amazon szöveg. ML technikákat használ bármilyen típusú dokumentum olvasására és feldolgozására, kézi erőfeszítés nélkül pontosan kivonja a szöveget, a kézírást, a táblázatokat és egyéb adatokat.

Azok az adattudósok számára, akik rugalmasságot szeretnének nyílt forráskódú keretrendszer használatával saját OCR-modelljük kidolgozásához, a teljesen felügyelt ML szolgáltatást is kínáljuk. Amazon SageMaker. A SageMaker lehetővé teszi az MLOps bevált gyakorlatainak megvalósítását az ML életciklusa során, és sablonokat és eszközkészleteket biztosít az ML projektek éles üzembe helyezéséhez szükséges differenciálatlan nehéz teher csökkentésére.

Ebben a bejegyzésben testreszabott modellek fejlesztésére összpontosítunk a SageMaker PaddleOCR keretrendszerében. Végigjárjuk az ML fejlesztési életciklust, hogy bemutassuk, hogyan tud a SageMaker segíteni egy modell felépítésében és betanításában, és végül a modell webszolgáltatásként történő üzembe helyezésében. Bár ezt a megoldást a PaddleOCR-rel illusztráljuk, az általános útmutatás igaz a SageMaker-en használható tetszőleges keretrendszerekre. A bejegyzéshez mintakódot is biztosítunk a GitHub tárház.

PaddleOCR keretrendszer

Széles körben alkalmazott OCR-keretrendszerként a PaddleOCR rich text észlelést, szövegfelismerést és végpontok közötti algoritmusokat tartalmaz. Alapvető észlelési és felismerési modellként a differenciálható binarizációt (DB) és a konvolúciós ismétlődő neurális hálózatot (CRNN) választja, és PP-OCR néven modellsorozatot javasol ipari alkalmazásokhoz egy sor optimalizálási stratégia után.

A PP-OCR modell általános forgatókönyvekre irányul, és különböző nyelvek modellkönyvtárát alkotja. Három részből áll: szövegészlelés, dobozfelismerés és -javítás, valamint szövegfelismerés, amelyet a PaddleOCR következő ábrája illusztrál. hivatalos GitHub tárház. A kutatási cikkre is hivatkozhat PP-OCR: Praktikus ultrakönnyű OCR rendszer további információért.

Pontosabban, a PaddleOCR három egymást követő feladatból áll:

  • Szövegészlelés – A szövegészlelés célja a képen a szövegterület megkeresése. Az ilyen feladatok egy egyszerű szegmentációs hálózaton alapulhatnak.
  • Dobozfelismerés és hibajavítás – Minden szövegdobozt vízszintes téglalap alakú mezővé kell alakítani a későbbi szövegfelismeréshez. Ehhez a PaddleOCR egy szövegirány-osztályozó betanítását (képosztályozási feladat) javasolja a szöveg irányának meghatározásához.
  • Szövegfelismerés – A szövegdoboz észlelése után a szövegfelismerő modell minden szövegdobozra következtetést hajt végre, és az eredményeket a szövegdoboz helyének megfelelően adja ki. A PaddleOCR a széles körben használt CRNN módszert alkalmazza.

A PaddleOCR kiváló minőségű, előre betanított modelleket kínál, amelyek összehasonlíthatók a kereskedelmi hatásokkal. Használhatja az előre betanított modellt észlelési modellhez, irányosztályozóhoz vagy felismerési modellhez, vagy finomhangolhat és áttaníthat minden egyes modellt, hogy megfeleljen az Ön használati esetének. A hagyományos kínai és angol nyelv észlelésének hatékonyságának és eredményességének növelése érdekében bemutatjuk a szövegfelismerő modell finomhangolását. Az általunk választott előre betanított modell az ch_ppocr_mobile_v2.0_rec_train, amely egy könnyű modell, amely támogatja a kínai, angol és számfelismerést. A következő példa egy hongkongi személyi igazolvány felhasználásával végzett következtetési eredményre.

Beépített PaddleOCR az Amazon SageMaker projektekkel MLOps-okhoz, amelyek optikai karakterfelismerést hajtanak végre személyazonosító okmányokon, PlatoBlockchain Data Intelligence. Függőleges keresés. Ai.

A következő részekben végigvezetjük, hogyan lehet finomhangolni az előre betanított modellt a SageMaker segítségével.

Az MLOps legjobb gyakorlatai a SageMakerrel

A SageMaker egy teljesen felügyelt ML szolgáltatás. A SageMaker segítségével az adattudósok és fejlesztők gyorsan és egyszerűen építhetnek és taníthatnak ML-modelleket, majd közvetlenül telepíthetik azokat egy termelésre kész felügyelt környezetben.

Sok adatkutató használja a SageMaker-t az ML életciklusának felgyorsítására. Ebben a részben bemutatjuk, hogyan segíthet a SageMaker a kísérletezéstől az ML produkciósításáig. Az ML projekt szabványos lépéseit követve, a kísérleti kifejezéstől (kódfejlesztés és kísérletek) a működési kifejezésig (a modell felépítési munkafolyamatának automatizálása és a telepítési folyamatok automatizálása) a SageMaker a következő lépésekben hozhat hatékonyságot:

  1. Fedezze fel az adatokat, és készítse el az ML kódot Amazon SageMaker Studio notebook.
  2. Tanítsa és hangolja a modellt egy SageMaker képzési feladattal.
  3. Telepítse a modellt egy SageMaker végponttal a modell kiszolgálásához.
  4. Hangszerelje a munkafolyamatot a Amazon SageMaker csővezetékek.

A következő diagram ezt az architektúrát és munkafolyamatot mutatja be.

Beépített PaddleOCR az Amazon SageMaker projektekkel MLOps-okhoz, amelyek optikai karakterfelismerést hajtanak végre személyazonosító okmányokon, PlatoBlockchain Data Intelligence. Függőleges keresés. Ai.

Fontos megjegyezni, hogy a SageMaker moduláris módon is használható. Például elkészítheti kódját egy helyi integrált fejlesztői környezettel (IDE), és betaníthatja és telepítheti a modellt a SageMaker-en, vagy fejlesztheti és betaníthatja a modellt a saját fürt számítási forrásaiban, és egy SageMaker folyamatot használhat a munkafolyamatok irányításához és telepíteni egy SageMaker végponton. Ez azt jelenti, hogy a SageMaker nyílt platformot biztosít az Ön igényeihez való alkalmazkodáshoz.

Tekintse meg a kódot nálunk GitHub tárház és README a kódstruktúra megértéséhez.

Biztosítson egy SageMaker projektet

Használhatja Amazon SageMaker projektek hogy megkezdje utazását. A SageMaker projekttel kezelheti a Git-tárolók verzióit, így hatékonyabban működhet együtt a csapatok között, biztosíthatja a kódkonzisztenciát, és lehetővé teszi a folyamatos integrációt és a folyamatos szállítást (CI/CD). Bár a notebookok hasznosak a modellépítésben és a kísérletezésben, ha adattudósokból és ML-mérnökökből álló csapat dolgozik egy ML-problémán, akkor skálázhatóbb módszerre van szüksége a kódkonzisztencia fenntartásához és a szigorúbb verziókezeléshez.

A SageMaker projektek egy előre konfigurált MLOps sablont hoznak létre, amely tartalmazza a PaddleOCR integráció egyszerűsítéséhez szükséges alapvető összetevőket:

  • A CI/CD eszközökkel integrált kódtár egyedi tárolóképek létrehozásához feldolgozáshoz, betanításhoz és következtetésekhez. Ez lehetővé teszi egyéni Docker-képünk konfigurálását és leküldését Amazon Elastic Container Registry (Amazon ECR), hogy használatra kész legyen.
  • Egy SageMaker folyamat, amely meghatározza az adatok előkészítésének, betanításának, modellértékelésének és a modell regisztrálásának lépéseit. Ez felkészít bennünket arra, hogy az MLOps-ok készen álljunk, amikor az ML projekt élesre indul.
  • Egyéb hasznos erőforrások, például egy Git-tárház a kódverzió-vezérléshez, a modellváltozatokat tartalmazó modellcsoport, a modell-összeállítási folyamat kódmódosítási eseményindítója és a modell-telepítési folyamat eseményalapú eseményindítója.

Használhatja a SageMaker kezdőkódot szabványos SageMaker projektek létrehozásához, vagy egy adott sablont, amelyet a szervezet a csapattagok számára hozott létre. Ebben a bejegyzésben a szabványt használjuk MLOps sablon képalkotáshoz, modellépítéshez és modelltelepítéshez. További információért a projekt Stúdióban történő létrehozásáról lásd: Hozzon létre egy MLOps-projektet az Amazon SageMaker Studio segítségével.

Fedezze fel az adatokat és készítsen ML-kódot a SageMaker Studio notebookokkal

A SageMaker Studio jegyzetfüzetek olyan kollaboratív jegyzetfüzetek, amelyeket gyorsan elindíthat, mivel nem kell előzetesen beállítania a számítási példányokat és a fájltárolást. Sok adatkutató szívesebben használja ezt a webalapú IDE-t az ML-kód fejlesztésére, a könyvtár API gyors hibakeresésére, valamint a dolgok egy kis adatmintával történő futtatására a betanító szkript érvényesítéséhez.

A Studio notebookokban előre beépített környezetet használhat olyan gyakori keretrendszerekhez, mint a TensorFlow, PyTorch, Pandas és Scikit-Learn. Telepítheti a függőségeket az előre beépített kernelre, vagy létrehozhatja saját állandó kernelképét. További információkért lásd: Telepítse a külső könyvtárakat és kerneleket az Amazon SageMaker Studio alkalmazásban. A Studio notebookok Python-környezetet is biztosítanak a SageMaker képzési feladatok, telepítési vagy egyéb AWS-szolgáltatások elindításához. A következő szakaszokban bemutatjuk, hogyan használhatja a Studio-jegyzetfüzeteket oktatási és telepítési feladatok kiváltására szolgáló környezetként.

A SageMaker hatékony IDE-t biztosít; ez egy nyílt ML platform, ahol az adattudósok rugalmasan használhatják kedvenc fejlesztői környezetüket. Azok az adattudósok, akik a helyi IDE-t, például a PyCharmot vagy a Visual Studio Code-ot részesítik előnyben, használhatják a helyi Python-környezetet az ML-kód fejlesztéséhez, a SageMaker-t pedig a felügyelt, méretezhető környezetben való képzéshez. További információkért lásd Futtassa TensorFlow-feladatát az Amazon SageMakeren egy PyCharm IDE segítségével. Miután szilárd modellje van, átveheti az MLOps legjobb gyakorlatait a SageMakerrel.

Jelenleg a SageMaker is rendelkezik SageMaker notebook példányok mint örökölt megoldásunk a Jupyter Notebook környezethez. Rugalmasan futtathatja a Docker build parancsot és használja a SageMaker helyi módot a notebook-példányon való betanításhoz. A PaddleOCR mintakódját is biztosítjuk a kódtárunkban: ./train_and_deploy/notebook.ipynb.

Hozzon létre egyéni képet a SageMaker projektsablonnal

A SageMaker széles körben használja a Docker-konténereket az építési és futásidejű feladatokhoz. A SageMakerrel egyszerűen futtathatja saját konténerét. További technikai részletek a címen Használja saját edzési algoritmusait.

Adattudósként azonban előfordulhat, hogy egy konténer felépítése nem egyszerű. A SageMaker projektek egyszerű módot kínálnak az egyéni függőségek kezelésére egy képalkotási CI/CD folyamaton keresztül. Ha SageMaker projektet használ, frissítheti a képzési képet az egyéni Dockerfile tárolójával. A lépésenkénti utasításokért lásd: Hozzon létre Amazon SageMaker projekteket képalkotási CI/CD folyamatokkal. A sablonban megadott struktúrával módosíthatja a megadott kódot ebben a lerakatban PaddleOCR képzési tároló létrehozásához.

Ebben a bejegyzésben bemutatjuk az egyéni kép elkészítésének egyszerűségét feldolgozáshoz, betanításhoz és következtetésekhez. A GitHub repo három mappát tartalmaz:

Ezek a projektek hasonló szerkezetet követnek. Vegyük példaként a képzési konténer képét; a image-build-train/ a tároló a következő fájlokat tartalmazza:

  • A konfiguráláshoz használt codebuild-buildspec.yml fájl AWS CodeBuild hogy a képet meg lehessen építeni és az Amazon ECR-re tolni.
  • A Docker-összeállításhoz használt Dockerfile, amely tartalmazza az összes függőséget és a tanítási kódot.
  • A train.py belépési pontja a betanítási parancsfájlhoz, minden argumentumként konfigurálható hiperparaméterrel (például tanulási sebességgel és kötegmérettel). Ezeket az argumentumokat a képzési feladat megkezdésekor adjuk meg.
  • A függőségek.

Amikor benyomja a kódot a megfelelő tárolóba, az aktiválódik AWS CodePipeline hogy építsenek neked egy képzési konténert. Az egyéni tárolókép egy Amazon ECR-tárban van tárolva, amint az az előző ábrán látható. Hasonló eljárást alkalmaznak a következtetési kép létrehozásához.

Tanítsd meg a modellt a SageMaker képzési SDK-val

Miután az algoritmuskód érvényesítése megtörtént, és egy tárolóba van csomagolva, egy SageMaker betanítási feladat segítségével felügyelt környezetet hozhat létre a modell betanításához. Ez a környezet átmeneti jellegű, ami azt jelenti, hogy különálló, biztonságos számítási erőforrásokkal (például GPU-val) vagy több GPU-s elosztott környezettel rendelkezhet a kód futtatásához. Amikor a betanítás befejeződött, a SageMaker elmenti az eredményül kapott modelltermékeket egy Amazon egyszerű tárolási szolgáltatás (Amazon S3) az Ön által megadott helyre. Az összes naplóadat és metaadat megmarad a AWS felügyeleti konzol, Stúdió és amazonfelhőóra.

A képzési munka több fontos információt tartalmaz:

  • Annak az S3 csoportnak az URL-je, ahol az edzési adatokat tárolta
  • Annak az S3-csoportnak az URL-címe, ahol a feladat kimenetét tárolni kívánja
  • Azok a felügyelt számítási erőforrások, amelyeket a SageMakernek a modellképzéshez használni szeretne
  • Az Amazon ECR elérési útja, ahol a képzési tárolót tárolják

A képzési munkákkal kapcsolatos további információkért lásd Vonatmodellek. A betanítási feladat mintakódja a címen érhető el kísérletek-vonat-notebook.ipynb.

A SageMaker a hiperparamétereket a CreateTrainingJob kérés elérhető a Docker konténerben a /opt/ml/input/config/hyperparameters.json fájlt.

Az egyéni képzési tárolót használjuk belépési pontként, és megadunk egy GPU-környezetet az infrastruktúrához. Az összes releváns hiperparamétert paraméterként részletezzük, ami lehetővé teszi az egyes munkakonfigurációk nyomon követését, és összehasonlítását a kísérletkövetéssel.

Mivel az adattudományi folyamat nagyon kutatásorientált, gyakori, hogy több kísérlet fut párhuzamosan. Ehhez olyan megközelítésre van szükség, amely nyomon követi az összes kísérletet, különböző algoritmusokat és potenciálisan eltérő adatkészleteket és hiperparamétereket. Az Amazon SageMaker Experiments segítségével rendszerezheti, nyomon követheti, összehasonlíthatja és értékelheti ML-kísérleteit. Ezt mutatjuk be is kísérletek-vonat-notebook.ipynb. További részletekért lásd: Kezelje a gépi tanulást az Amazon SageMaker Experiments segítségével.

Telepítse a modellt a modellszolgáltatáshoz

Ami a telepítést illeti, különösen a valós idejű modellkiszolgálás esetében, sok adattudós számára nehéz lehet a műveleti csoportok segítsége nélkül. A SageMaker segítségével egyszerűen telepítheti a betanított modellt a termelésbe SageMaker Python SDK. A modellt üzembe helyezheti a SageMaker tárhelyszolgáltatásokban, és egy végpontot kaphat valós idejű következtetésekhez.

Sok szervezetben előfordulhat, hogy az adattudósok nem felelősek a végpont-infrastruktúra karbantartásáért. A modell végpontként történő tesztelése és a helyes előrejelzési viselkedés garantálása azonban valóban az adatkutatók felelőssége. Ezért a SageMaker leegyszerűsítette a telepítési feladatokat, ehhez hozzáadott egy sor eszközt és SDK-t.

A bejegyzésben szereplő használati esethez valós idejű, interaktív, alacsony késleltetésű képességekkel szeretnénk rendelkezni. Valós idejű következtetés ideális ehhez a következtetési munkaterheléshez. Számos lehetőség van azonban az egyes követelményekhez igazodva. További információkért lásd: Következtetési modellek telepítése.

Az egyéni lemezkép üzembe helyezéséhez az adatkutatók a SageMaker SDK-t használhatják (lásd a címen).

experiments-deploy-notebook.ipynb.

A create_model kérés esetén a tároló definíció tartalmazza a ModelDataUrl paraméter, amely azonosítja az Amazon S3 helyét, ahol a modellműtermékek tárolásra kerülnek. A SageMaker ezen információk alapján határozza meg, honnan másolja a modellműtermékeket. Másolja a műtermékeket a /opt/ml/model könyvtárat a következtetési kóddal való használatra. A serve és a predictor.py a kiszolgálás belépési pontja a központi telepítés indításakor betöltődő modellműtermékkel. További információkért lásd Használja saját következtetési kódját a hosting szolgáltatásokkal.

Hangszerelje munkafolyamatát a SageMaker Pipelines segítségével

Az utolsó lépés a kód becsomagolása végpontok közötti ML munkafolyamatokba, és az MLOps bevált módszereinek alkalmazása. A SageMakerben a modellépítési munkaterhelést, egy irányított aciklikus gráfot (DAG) a SageMaker Pipelines kezeli. A Pipelines egy teljesen felügyelt szolgáltatás, amely támogatja a hangszerelést és az adatvonal követését. Ezenkívül, mivel a folyamatok integrálva vannak a SageMaker Python SDK-val, a folyamatokat programozottan is létrehozhatja egy magas szintű Python-felület használatával, amelyet korábban a betanítási lépés során használtunk.

Példát mutatunk be a folyamatkódra a megvalósítás illusztrálására pipeline.py.

A folyamat tartalmaz egy előfeldolgozási lépést az adatkészlet létrehozásához, a betanítási lépést, a feltétel lépést és a modell regisztrációs lépést. Minden egyes folyamat végén az adattudósok regisztrálhatják modelljüket a verzióvezérléshez, és telepíthetik a legjobban teljesítőt. A SageMaker modellnyilvántartás központi helyet biztosít a modellverziók, katalógusmodellek kezeléséhez, valamint egy adott modell jóváhagyási állapotával automatikus modelltelepítés indításához. További részletekért lásd: Regisztráljon és telepítsen modelleket a Model Registry segítségével.

Az ML rendszerekben az automatizált munkafolyamat-rendezés segít megelőzni a modell teljesítményének romlását, más szóval a modelleltolódást. Az adateltérések korai és proaktív észlelése lehetővé teszi a korrekciós intézkedések megtételét, például a modellek átképzését. Kiválthatja a SageMaker folyamatot, hogy az eltérések észlelése után újra betanítsa a modell új verzióját. A csővezeték triggerét az is meghatározhatja Amazon SageMaker Model Monitor, amely folyamatosan figyeli a gyártásban lévő modellek minőségét. Az adatok rögzítésére szolgáló adatrögzítési képességgel a Model Monitor támogatja az adatok és a modellek minőségének figyelését, a torzítást és a funkció-hozzárendelés eltolódásának figyelését. További részletekért lásd Figyelje a modelleket az adatok és a modellek minősége, torzítása és magyarázhatósága szempontjából.

Következtetés

Ebben a bejegyzésben bemutattuk, hogyan futtassa a PaddleOCR keretrendszert a SageMakeren az OCR-feladatokhoz. Annak érdekében, hogy az adattudósok könnyen beépülhessenek a SageMakerbe, végigjártuk az ML fejlesztési életciklust, az algoritmusok felépítésétől a képzésen át a modell webszolgáltatásként való tárolásáig, valós idejű következtetések levonásához. Az általunk biztosított sablonkód segítségével tetszőleges keretrendszert migrálhat a SageMaker platformra. Próbálja ki ML projektjéhez, és ossza meg velünk sikertörténeteit.


A szerzőkről

Beépített PaddleOCR az Amazon SageMaker projektekkel MLOps-okhoz, amelyek optikai karakterfelismerést hajtanak végre személyazonosító okmányokon, PlatoBlockchain Data Intelligence. Függőleges keresés. Ai.Junyi(Jackie) LIU az AWS vezető alkalmazott tudósa. Sok éves tapasztalattal rendelkezik a gépi tanulás területén. Gazdag gyakorlati tapasztalattal rendelkezik a gépi tanulási modellek felépítésében az ellátási lánc előrejelző algoritmusaiban, a reklámajánló rendszerekben, az OCR és az NLP területén.

Beépített PaddleOCR az Amazon SageMaker projektekkel MLOps-okhoz, amelyek optikai karakterfelismerést hajtanak végre személyazonosító okmányokon, PlatoBlockchain Data Intelligence. Függőleges keresés. Ai.Yanwei Cui, PhD, az AWS gépi tanulási megoldások szakértője. Gépi tanulási kutatásokat kezdett az IRISA-nál (Research Institute of Computer Science and Random Systems), és több éves tapasztalattal rendelkezik mesterséges intelligencia által hajtott ipari alkalmazások kiépítésében a számítógépes látás, a természetes nyelvi feldolgozás és az online felhasználói viselkedés előrejelzése terén. Az AWS-nél megosztja a domain szakértelmét, és segít ügyfeleinek abban, hogy kiaknázzák az üzleti lehetőségeket, és megvalósítható eredményeket érjenek el a nagyszabású gépi tanulással. Munkán kívül szeret olvasni és utazni.

Beépített PaddleOCR az Amazon SageMaker projektekkel MLOps-okhoz, amelyek optikai karakterfelismerést hajtanak végre személyazonosító okmányokon, PlatoBlockchain Data Intelligence. Függőleges keresés. Ai.Yi-An CHEN az Amazon Lab 126 szoftverfejlesztője. Több mint 10 éves tapasztalattal rendelkezik a gépi tanulás által vezérelt termékek fejlesztésében különböző tudományterületeken, beleértve a személyre szabást, a természetes nyelvi feldolgozást és a számítógépes látást. Munkán kívül szeret hosszasan futni és kerékpározni.

Időbélyeg:

Még több AWS gépi tanulás