Sisseehitatud PaddleOCR koos Amazon SageMakeri projektidega MLO-de jaoks, et teostada isikut tõendavate dokumentide optilist märgituvastust PlatoBlockchain Data Intelligence. Vertikaalne otsing. Ai.

Sisseehitatud PaddleOCR koos Amazon SageMakeri projektidega MLO-de jaoks, et teostada isikut tõendavate dokumentide optilist märgituvastust

Optiline märgituvastus (OCR) on ülesanne teisendada trükitud või käsitsi kirjutatud tekst masinkodeeritud tekstiks. OCR-i on laialdaselt kasutatud erinevates stsenaariumides, nagu dokumentide elektroniseerimine ja identiteedi autentimine. Kuna OCR võib oluliselt vähendada käsitsi tehtavaid jõupingutusi põhiteabe registreerimisel ja toimida sisenemisetapina suurte dokumentide mahu mõistmisel, on täpsel OCR-süsteemil digitaalse ümberkujundamise ajastul ülioluline roll.

Avatud lähtekoodiga kogukond ja teadlased keskenduvad sellele, kuidas parandada OCR-i täpsust, kasutuslihtsust, integreerimist eelkoolitatud mudelitega, laiendust ja paindlikkust. Paljude pakutud raamistike seas on viimasel ajal üha enam tähelepanu pälvinud PaddleOCR. Kavandatud raamistik keskendub suure täpsuse saavutamisele, tasakaalustades samal ajal arvutuslikku efektiivsust. Lisaks muudavad hiina ja inglise keele eelkoolitatud mudelid selle populaarseks hiina keelepõhisel turul. Vaadake PaddleOCR GitHubi repo rohkem üksikasju.

AWS-is oleme pakkunud ka integreeritud AI-teenuseid, mis on kasutamiseks valmis ilma masinõppe (ML) teadmisteta. Dokumentidest teksti ja struktureeritud andmete (nt tabelid ja vormid) eraldamiseks saate kasutada Amazoni tekst. See kasutab ML-tehnikaid mis tahes tüüpi dokumentide lugemiseks ja töötlemiseks, ekstraheerides täpselt teksti, käsitsikirja, tabelid ja muud andmed ilma käsitsi tehtud pingutusteta.

Andmeteadlastele, kes soovivad paindlikkust kasutada avatud lähtekoodiga raamistikku oma OCR-mudeli väljatöötamiseks, pakume ka täielikult hallatavat ML-teenust Amazon SageMaker. SageMaker võimaldab teil rakendada MLOps-i parimaid tavasid kogu ML-i elutsükli jooksul ning pakub malle ja tööriistakomplekte, et vähendada ML-projektide tootmisse viimisel eristamata rasket tõstmist.

Selles postituses keskendume kohandatud mudelite väljatöötamisele SageMakeri PaddleOCR raamistikus. Tutvustame ML-i arendamise elutsüklit, et illustreerida, kuidas SageMaker saab aidata teil mudelit luua ja koolitada ning lõpuks mudelit veebiteenusena kasutusele võtta. Kuigi illustreerime seda lahendust PaddleOCR-iga, kehtivad üldised juhised SageMakeris kasutatavate suvaliste raamistike kohta. Selle postituse juurde lisame ka näidiskoodi GitHubi hoidla.

PaddleOCR raamistik

Laialdaselt kasutusele võetud OCR-raamistikuna sisaldab PaddleOCR rikasteksti tuvastamist, tekstituvastust ja täielikke algoritme. See valib põhilisteks tuvastamis- ja tuvastamismudeliteks diferentseeritud binariseerimise (DB) ja konvolutsioonilise korduva närvivõrgu (CRNN) ning pakub pärast mitmeid optimeerimisstrateegiaid tööstuslikeks rakendusteks välja mudelite seeria nimega PP-OCR.

PP-OCR mudel on suunatud üldistele stsenaariumidele ja moodustab erinevate keelte mudeliteegi. See koosneb kolmest osast: tekstituvastus, kasti tuvastamine ja parandamine ning tekstituvastus, mida illustreerib järgmine PaddleOCR-i joonis ametlik GitHubi hoidla. Võite viidata ka uurimistööle PP-OCR: praktiline ülikerge OCR-süsteem rohkem informatsiooni.

Täpsemalt koosneb PaddleOCR kolmest järjestikusest ülesandest:

  • Teksti tuvastamine – Tekstituvastuse eesmärk on leida pildil tekstiala. Sellised ülesanded võivad põhineda lihtsal segmenteerimisvõrgul.
  • Kasti tuvastamine ja parandamine – Iga tekstikast tuleb hilisemaks tekstituvastuseks teisendada horisontaalseks ristkülikukujuliseks kastiks. Selleks teeb PaddleOCR ettepaneku koolitada teksti suuna klassifikaatorit (pildi klassifitseerimise ülesanne), et määrata tekstisuund.
  • Teksti tuvastamine – Pärast tekstivälja tuvastamist teeb tekstituvastusmudel iga tekstikasti kohta järeldusi ja väljastab tulemused vastavalt tekstikasti asukohale. PaddleOCR kasutab laialdaselt kasutatavat meetodit CRNN.

PaddleOCR pakub kvaliteetseid eelkoolitatud mudeleid, mis on võrreldavad kommertsefektidega. Saate kasutada eelkoolitatud mudelit tuvastusmudeli, suunaklassifikaatori või tuvastusmudeli jaoks või saate iga üksiku mudeli peenhäälestada ja ümber õpetada, et see teie kasutusjuhtumit rahuldaks. Traditsioonilise hiina ja inglise keele tuvastamise tõhususe ja tulemuslikkuse suurendamiseks illustreerime tekstituvastusmudeli peenhäälestamist. Eelkoolitatud mudel, mille valime, on ch_ppocr_mobile_v2.0_rec_train, mis on kerge mudel, mis toetab hiina, inglise ja numbrituvastust. Järgnevalt on toodud näide Hongkongi isikutunnistuse põhjal tehtud järeldustest.

Sisseehitatud PaddleOCR koos Amazon SageMakeri projektidega MLO-de jaoks, et teostada isikut tõendavate dokumentide optilist märgituvastust PlatoBlockchain Data Intelligence. Vertikaalne otsing. Ai.

Järgmistes osades käsitleme SageMakeri abil eelkoolitatud mudeli peenhäälestamist.

MLOps parimad tavad SageMakeriga

SageMaker on täielikult hallatav ML-teenus. SageMakeriga saavad andmeteadlased ja arendajad kiiresti ja lihtsalt luua ja koolitada ML-mudeleid ning seejärel juurutada need otse tootmisvalmis hallatavasse keskkonda.

Paljud andmeteadlased kasutavad SageMakerit ML elutsükli kiirendamiseks. Selles jaotises illustreerime, kuidas SageMaker saab teid aidata eksperimenteerimisest kuni ML-i tootmiseni. Järgides ML-projekti standardseid samme, alates eksperimentaalsest fraasist (koodiarendus ja katsed) kuni operatsioonifraasini (mudeli koostamise töövoo ja juurutamise torujuhtmete automatiseerimine), saab SageMaker tõhustada järgmisi etappe:

  1. Uurige andmeid ja koostage ML-kood Amazon SageMaker Studio sülearvutid
  2. Treenige ja häälestage mudelit SageMakeri koolitustööga.
  3. Juurutage mudel SageMakeri lõpp-punktiga mudelite teenindamiseks.
  4. Orkestreerige töövoogu rakendusega Amazon SageMakeri torujuhtmed.

Järgmine diagramm illustreerib seda arhitektuuri ja töövoogu.

Sisseehitatud PaddleOCR koos Amazon SageMakeri projektidega MLO-de jaoks, et teostada isikut tõendavate dokumentide optilist märgituvastust PlatoBlockchain Data Intelligence. Vertikaalne otsing. Ai.

Oluline on märkida, et saate SageMakerit kasutada modulaarselt. Näiteks saate luua oma koodi kohaliku integreeritud arenduskeskkonnaga (IDE) ning koolitada ja juurutada oma mudelit SageMakeris või arendada ja koolitada oma mudelit oma klastri arvutusallikates ning kasutada SageMakeri konveieri töövoo korraldamiseks ja juhtimiseks. juurutada SageMakeri lõpp-punktis. See tähendab, et SageMaker pakub avatud platvormi, mis sobib teie vajadustega.

Vaadake koodi meie lehelt GitHubi hoidla ja README, et mõista koodi struktuuri.

Pakkuge SageMakeri projekti

Võite kasutada Amazon SageMakeri projektid oma teekonna alustamiseks. SageMakeri projektiga saate hallata oma Giti hoidlate versioone, et saaksite tiimide vahel tõhusamalt koostööd teha, tagada koodi järjepidevus ning võimaldada pidevat integreerimist ja pidevat edastamist (CI/CD). Ehkki sülearvutitest on abi mudelite loomisel ja katsetamisel, on teil vaja ML-probleemi kallal andmeteadlastest ja ML-i inseneridest koosnevat meeskonda, et koodi järjepidevuse säilitamiseks ja rangema versioonikontrolli tagamiseks oleks vaja skaleeritavamat viisi.

SageMakeri projektid loovad eelkonfigureeritud MLOps malli, mis sisaldab olulisi komponente PaddleOCR-i integreerimise lihtsustamiseks:

  • Koodihoidla kohandatud konteinerpiltide loomiseks töötlemiseks, treenimiseks ja järelduste tegemiseks, integreeritud CI/CD tööriistadega. See võimaldab meil konfigureerida meie kohandatud Dockeri pilti ja seda edasi lükata Amazoni elastsete konteinerite register (Amazon ECR), et see oleks kasutusvalmis.
  • SageMakeri konveier, mis määrab andmete ettevalmistamise, koolituse, mudeli hindamise ja mudeli registreerimise etapid. See valmistab meid ette olema MLOps valmis, kui ML-projekt läheb tootmisse.
  • Muud kasulikud ressursid, nagu Giti hoidla koodi versioonide juhtimiseks, mudelirühm, mis sisaldab mudeliversioone, mudeli koostamise konveieri koodimuutmise päästik ja mudeli juurutamise konveieri sündmusepõhine päästik.

SageMakeri algkoodi abil saate luua standardseid SageMakeri projekte või konkreetset malli, mille teie organisatsioon on meeskonnaliikmete jaoks loonud. Selles postituses kasutame standardit MLOps mall pildi loomiseks, mudelite ehitamiseks ja mudeli juurutamiseks. Lisateavet Studios projekti loomise kohta leiate aadressilt Looge MLOps-projekt Amazon SageMaker Studio abil.

Uurige andmeid ja koostage ML-koodi SageMaker Studio sülearvutitega

SageMaker Studio märkmikud on ühismärkmikud, mille saate kiiresti käivitada, kuna te ei pea eelnevalt seadistama arvutusjuhtumeid ja failimälu. Paljud andmeteadlased eelistavad kasutada seda veebipõhist IDE-d ML-koodi väljatöötamiseks, teegi API kiireks silumiseks ja koolitusskripti kinnitamiseks väikese andmevalimiga asjade käitamiseks.

Studio sülearvutites saate kasutada eelehitatud keskkonda levinud raamistike jaoks, nagu TensorFlow, PyTorch, Pandas ja Scikit-Learn. Saate installida sõltuvused eelehitatud tuumale või luua oma püsiva kerneli kujutise. Lisateabe saamiseks vaadake Installige Amazon SageMaker Studiosse välised raamatukogud ja tuumad. Stuudiomärkmikud pakuvad ka Pythoni keskkonda SageMakeri koolitustööde, juurutamise või muude AWS-teenuste käivitamiseks. Järgmistes jaotistes illustreerime, kuidas kasutada Studio märkmikke koolitus- ja juurutustööde käivitamiseks.

SageMaker pakub võimsat IDE-d; see on avatud ML-platvorm, kus andmeteadlased saavad paindlikult kasutada oma eelistatud arenduskeskkonda. Andmeteadlased, kes eelistavad kohalikku IDE-d (nt PyCharm või Visual Studio Code), saate oma ML-koodi arendamiseks kasutada kohalikku Pythoni keskkonda ja hallata skaleeritavas keskkonnas treenimiseks kasutada SageMakerit. Lisateabe saamiseks vt Käivitage oma TensorFlow tööd Amazon SageMakeris PyCharm IDE-ga. Kui teil on kindel mudel, saate SageMakeriga MLOpsi parimaid tavasid kasutusele võtta.

Praegu pakub ka SageMaker SageMakeri märkmiku eksemplarid kui meie pärandlahendus Jupyteri sülearvuti keskkonnale. Saate paindlikult käitada Dockeri ehituskäsku ja kasutage SageMakeri kohalikku režiimi, et treenida sülearvuti eksemplaril. Pakume ka PaddleOCR-i näidiskoodi meie koodihoidlas: ./train_and_deploy/notebook.ipynb.

Koostage SageMakeri projektimalliga kohandatud pilt

SageMaker kasutab Dockeri konteinereid laialdaselt ehitamiseks ja käitustöödeks. Saate SageMakeriga hõlpsalt oma konteinerit käitada. Vaadake rohkem tehnilisi üksikasju aadressil Kasutage oma treeningalgoritme.

Andmeteadlasena ei pruugi konteineri ehitamine aga olla lihtne. SageMakeri projektid pakuvad lihtsat viisi kohandatud sõltuvuste haldamiseks pildi loomise CI/CD konveieri kaudu. Kui kasutate SageMakeri projekti, saate treeningpilti värskendada oma kohandatud konteineri Dockerfile abil. Üksikasjalike juhiste saamiseks vaadake Looge Amazon SageMakeri projekte pildi loomise CI/CD torujuhtmetega. Mallis esitatud struktuuri abil saate selles hoidlas esitatud koodi muuta, et luua PaddleOCR-i treeningkonteiner.

Selle postituse jaoks tutvustame töötlemiseks, treenimiseks ja järelduste tegemiseks kohandatud pildi loomise lihtsust. GitHubi repo sisaldab kolme kausta:

Need projektid järgivad sarnast struktuuri. Võtke näiteks treeningkonteineri pilt; a image-build-train/ hoidla sisaldab järgmisi faile:

  • Fail codebuild-buildspec.yml, mida kasutatakse konfigureerimiseks AWS CodeBuild et pilti saaks ehitada ja Amazon ECR-i lükata.
  • Dockeri järgu jaoks kasutatav Dockerfile, mis sisaldab kõiki sõltuvusi ja koolituskoodi.
  • Treeningskripti train.py sisendpunkt koos kõigi hüperparameetritega (nt õppimiskiirus ja partii suurus), mida saab argumendina konfigureerida. Need argumendid täpsustatakse koolitustöö alustamisel.
  • Sõltuvused.

Kui vajutate koodi vastavasse hoidlasse, siis see käivitub AWS CodePipeline et ehitada teile koolituskonteiner. Kohandatud konteineri pilt salvestatakse Amazon ECR-i hoidlasse, nagu on näidatud eelmisel joonisel. Järelduskujutise genereerimiseks kasutatakse sarnast protseduuri.

Treenige mudelit SageMakeri koolitus-SDK-ga

Kui teie algoritmi kood on valideeritud ja konteinerisse pakitud, saate mudeli koolitamiseks hallatava keskkonna loomiseks kasutada SageMakeri koolitustööd. See keskkond on lühiajaline, mis tähendab, et koodi käitamiseks võivad teil olla eraldi turvalised arvutusressursid (nt GPU) või mitme GPU-ga hajutatud keskkond. Kui koolitus on lõppenud, salvestab SageMaker saadud mudeli artefaktid an Amazoni lihtne salvestusteenus (Amazon S3) asukoht, mille määrate. Kõik logiandmed ja metaandmed jäävad alles AWS-i juhtimiskonsool, stuudio ja Amazon CloudWatch.

Koolitustöö sisaldab mitmeid olulisi andmeid:

  • Selle S3 ämbri URL, kuhu treeningandmed salvestasite
  • S3 ämbri URL, kuhu soovite töö väljundi salvestada
  • Hallatavad arvutusressursid, mida soovite, et SageMaker kasutaks mudelikoolituses
  • Amazon ECR tee, kus treeningkonteinerit hoitakse

Koolitustööde kohta lisateabe saamiseks vt Rongimudelid. Koolitustöö näidiskood on saadaval aadressil katsed-train-notebook.ipynb.

SageMaker teeb hüperparameetrid a CreateTrainingJob päring on saadaval Dockeri konteineris /opt/ml/input/config/hyperparameters.json faili.

Kasutame sisendpunktina kohandatud koolituskonteinerit ja määrame infrastruktuuri jaoks GPU keskkonna. Kõik asjakohased hüperparameetrid on parameetritena üksikasjalikud, mis võimaldab meil jälgida iga üksiku töö konfiguratsiooni ja võrrelda neid katse jälgimisega.

Kuna andmeteaduse protsess on väga uurimistööle orienteeritud, on tavaline, et paralleelselt tehakse mitu katset. See nõuab lähenemist, mis jälgib kõiki erinevaid katseid, erinevaid algoritme ning potentsiaalselt erinevaid katsetatud andmekogumeid ja hüperparameetreid. Amazon SageMaker Experiments võimaldab teil korraldada, jälgida, võrrelda ja hinnata oma ML-katseid. Näitame seda ka aastal katsed-train-notebook.ipynb. Lisateabe saamiseks vaadake Hallake masinõpet Amazon SageMakeri eksperimentidega.

Juurutage mudel mudelite esitamiseks

Mis puudutab juurutamist, eriti mudelite reaalajas teenindamist, siis paljudel andmeteadlastel võib ilma operatsioonimeeskondade abita olla raske seda teha. SageMaker muudab teie koolitatud mudeli tootmises kasutuselevõtu rakendusega lihtsaks SageMaker Python SDK. Saate oma mudeli juurutada SageMakeri hostimisteenustes ja hankida lõpp-punkti, mida kasutada reaalajas järelduste tegemiseks.

Paljudes organisatsioonides ei pruugi andmeteadlased lõpp-punkti infrastruktuuri hooldamise eest vastutada. Kuid oma mudeli testimine lõpp-punktina ja õige ennustamiskäitumise tagamine on tõepoolest andmeteadlaste ülesanne. Seetõttu lihtsustas SageMaker juurutamise ülesandeid, lisades selleks tööriistade komplekti ja SDK.

Postituse kasutusjuhtumi puhul soovime reaalajas, interaktiivseid ja madala latentsusajaga võimalusi. Reaalajas järeldus on selle järelduste töökoormuse jaoks ideaalne. Siiski on palju võimalusi, mis sobivad iga konkreetse nõudega. Lisateabe saamiseks vaadake Mudelite juurutamine järelduste tegemiseks.

Kohandatud pildi juurutamiseks saavad andmeteadlased kasutada SageMakeri SDK-d, mis on illustreeritud aadressil

experiments-deploy-notebook.ipynb.

aasta create_model päringut sisaldab konteineri määratlus ModelDataUrl parameeter, mis tuvastab Amazon S3 asukoha, kus mudeli artefakte salvestatakse. SageMaker kasutab seda teavet, et teha kindlaks, kust mudeli artefakte kopeerida. See kopeerib artefaktid /opt/ml/model kataloog teie järelduskoodi jaoks kasutamiseks. The serve ja predictor.py on teenindamise sisenemispunkt koos mudeliartefaktiga, mis laaditakse juurutamise alustamisel. Lisateabe saamiseks vt Kasutage hostimisteenustega oma järelduskoodi.

Korraldage oma töövoogu SageMakeri torujuhtmete abil

Viimane samm on koodi pakkimine täielike ML-i töövoogudena ja MLOpsi parimate tavade rakendamine. SageMakeris haldab mudeli koostamise töökoormust, suunatud atsüklilist graafikut (DAG), SageMaker Pipelines. Pipelines on täielikult hallatav teenus, mis toetab orkestreerimist ja andmeliinide jälgimist. Lisaks, kuna Pipelines on integreeritud SageMaker Pythoni SDK-ga, saate luua oma torujuhtmeid programmiliselt, kasutades kõrgetasemelist Pythoni liidest, mida kasutasime varem koolitusetapi ajal.

Toome juurutamise illustreerimiseks näite torujuhtme koodist torujuhe.py.

Konveier sisaldab andmestiku genereerimise eeltöötlusetappi, koolitusetappi, tingimusetappi ja mudeli registreerimise etappi. Iga konveieri käitamise lõpus võivad andmeteadlased soovida registreerida oma mudeli versioonikontrolli jaoks ja juurutada kõige paremini toimiva mudeli. SageMakeri mudeliregister on keskne koht mudeliversioonide, kataloogimudelite haldamiseks ja automaatse mudeli juurutamise käivitamiseks konkreetse mudeli kinnitusolekuga. Lisateabe saamiseks vaadake Registreerige ja juurutage mudelid mudeliregistriga.

ML-süsteemis aitab automatiseeritud töövoo orkestreerimine vältida mudeli jõudluse halvenemist, teisisõnu mudeli triivi. Andmete kõrvalekallete varajane ja ennetav tuvastamine võimaldab teil võtta parandusmeetmeid, näiteks mudeleid ümber õpetada. Saate käivitada SageMakeri konveieri, et pärast kõrvalekallete tuvastamist mudeli uus versioon ümber õpetada. Torujuhtme käivitamise saab määrata ka Amazon SageMakeri mudelimonitor, mis jälgib pidevalt tootmises olevate mudelite kvaliteeti. Andmete kogumise võimalusega teabe salvestamiseks toetab Model Monitor andmete ja mudelite kvaliteedi jälgimist, eelarvamusi ja funktsioonide omistamise triivi jälgimist. Täpsemalt vt Jälgige mudelite andmete ja mudelite kvaliteeti, eelarvamusi ja seletatavust.

Järeldus

Selles postituses illustreerisime, kuidas käivitada PaddleOCR-i raamistik SageMakeris OCR-i ülesannete jaoks. Andmeteadlastel hõlpsasti SageMakeri kasutusele võtmiseks käisime läbi ML-i arenduse elutsükli alates algoritmide loomisest kuni koolituseni kuni mudeli hostimiseni veebiteenusena reaalajas järelduste tegemiseks. Saate kasutada meie pakutud mallikoodi, et migreerida suvaline raamistik SageMakeri platvormile. Proovige seda oma ML-projekti jaoks ja andke meile teada oma edulugudest.


Autoritest

Sisseehitatud PaddleOCR koos Amazon SageMakeri projektidega MLO-de jaoks, et teostada isikut tõendavate dokumentide optilist märgituvastust PlatoBlockchain Data Intelligence. Vertikaalne otsing. Ai.Junyi(Jackie) LIU on AWSi vanemrakendusteadlane. Tal on mitmeaastane töökogemus masinõppe valdkonnas. Tal on rikkalik praktiline kogemus tarneahela ennustusalgoritmides, reklaamisoovitussüsteemides, OCR- ja NLP-valdkonnas masinõppemudelite konstrueerimisel lahenduste väljatöötamisel ja juurutamisel.

Sisseehitatud PaddleOCR koos Amazon SageMakeri projektidega MLO-de jaoks, et teostada isikut tõendavate dokumentide optilist märgituvastust PlatoBlockchain Data Intelligence. Vertikaalne otsing. Ai.Yanwei Cui, PhD, on AWS-i masinõppe spetsialisti lahenduste arhitekt. Ta alustas masinõppe uurimist IRISA-s (Research Institute of Computer Science and Random Systems) ning tal on mitmeaastane kogemus tehisintellekti toega tööstuslike rakenduste loomisel arvutinägemise, loomuliku keele töötlemise ja veebipõhise kasutaja käitumise ennustamise vallas. AWS-is jagab ta domeeniteadmisi ja aitab klientidel avada äripotentsiaali ning saavutada mastaapse masinõppega teostatavaid tulemusi. Väljaspool tööd naudib ta lugemist ja reisimist.

Sisseehitatud PaddleOCR koos Amazon SageMakeri projektidega MLO-de jaoks, et teostada isikut tõendavate dokumentide optilist märgituvastust PlatoBlockchain Data Intelligence. Vertikaalne otsing. Ai.Yi-An CHEN on Amazon Lab 126 tarkvaraarendaja. Tal on rohkem kui 10-aastane kogemus masinõppepõhiste toodete väljatöötamisel erinevates valdkondades, sealhulgas isikupärastamine, loomuliku keele töötlemine ja arvutinägemine. Väljaspool tööd meeldib talle pikka aega joosta ja rattaga sõita.

Ajatempel:

Veel alates AWS-i masinõpe