A modell magyarázhatósága arra a folyamatra utal, amely során a gépi tanulási (ML) modell előrejelzését egy példány bemeneti jellemzőihez kapcsolják emberileg érthető kifejezésekkel. Ezt a mezőt gyakran nevezik megmagyarázható mesterséges intelligencia (XAI). Amazon SageMaker Clarify jellemzője Amazon SageMaker amely lehetővé teszi az adattudósok és az ML mérnökök számára, hogy megmagyarázzák ML modelljeik előrejelzéseit. Modell agnosztikus módszereket használ, mint pl SHapely additív magyarázatok (SHAP) a funkciók hozzárendeléséhez. A táblázatos adatok magyarázatának támogatása mellett a Clarify támogatja a számítógépes látás (CV) és a természetes nyelvi feldolgozás (NLP) magyarázhatóságát is ugyanazon SHAP algoritmus használatával.
Ebben a bejegyzésben bemutatjuk a Clarify használatát az NLP-modellek magyarázatára. Konkrétan bemutatjuk, hogyan magyarázhatja el egy olyan szövegosztályozási modell előrejelzéseit, amelyet a segítségével betanítottak SageMaker BlazingText algoritmus. Ez segít megérteni, hogy a szöveg mely részei vagy szavai a legfontosabbak a modell által készített előrejelzések szempontjából. Többek között ezek a megfigyelések felhasználhatók különféle folyamatok fejlesztésére, például az adatgyűjtésre, amely csökkenti az adathalmaz torzítását és a modellellenőrzést, hogy biztosítsa a modellek rendeltetésszerű működését, és minden érdekelt fél bizalmát kivívja a modell üzembe helyezésekor. Ez kulcsfontosságú követelmény lehet számos alkalmazási területen, mint például a hangulatelemzés, a jogi felülvizsgálatok, az orvosi diagnózis stb.
Ezenkívül egy általános tervezési mintát is biztosítunk, amelyet használhat a Clarify bármelyikével SageMaker algoritmusok.
Megoldás áttekintése
A SageMaker algoritmusok rögzített bemeneti és kimeneti adatformátumokkal rendelkeznek. Például a BlazingText algoritmustároló JSON formátumú bemeneteket fogad el. Az ügyfelek azonban gyakran olyan speciális formátumokat igényelnek, amelyek kompatibilisek adatfolyamaikkal. Bemutatunk néhány lehetőséget, amelyeket követhet a Clarify használatához.
A lehetőség
Ebben az opcióban a SageMaker tárhely következtetési folyamat funkcióját használjuk. A következtetési folyamat egy SageMaker modell, amely konténerek sorozatát alkotja, amelyek feldolgozzák a következtetési kéréseket. A következő diagram egy példát mutat be.
Következtetési folyamatok segítségével telepítheti saját egyéni modelljeit és a különböző tárolókba csomagolt SageMaker beépített algoritmusait. További információkért lásd: Modellek tárolása előfeldolgozási logikával, soros következtetési folyamatként egy végpont mögött. Mivel a Clarify csak a CSV- és a JSON-vonalakat támogatja bemenetként, a következő lépéseket kell végrehajtania:
- Hozzon létre egy modellt és egy tárolót az adatok CSV-ből (vagy JSON-sorokból) JSON-ba konvertálásához.
- A BlazingText algoritmussal végzett modell betanítási lépés után közvetlenül telepítse a modellt. Ez a modellt a BlazingText tároló használatával telepíti, amely elfogadja a JSON-t bemenetként. Más algoritmus használata esetén a SageMaker az adott algoritmus tárolójával hozza létre a modellt.
- Használja az előző két modellt a létrehozásához PipelineModel. Ez a két modellt lineáris sorozatba láncolja, és egyetlen modellt hoz létre. Példaként lásd: Következtetési folyamat a Scikit-learn és a Linear Learner segítségével.
Ezzel a megoldással sikeresen létrehoztunk egy olyan modellt, amelynek bemenete kompatibilis a Clarify-val, és magyarázatok generálására használható.
B opció
Ez az opció bemutatja, hogyan integrálhatja a különböző adatformátumok használatát a Clarify és a SageMaker algoritmusok között azáltal, hogy saját tárolót hoz létre a SageMaker modell tárolására. Az alábbi ábra szemlélteti a megoldás architektúráját és lépéseit:
A lépések a következők:
- Használja a BlazingText algoritmust a SageMaker Becslőn keresztül a szövegosztályozási modell betanításához.
- A modell betanítása után hozzon létre egy egyéni Docker-tárolót, amely használható SageMaker-modell létrehozására, és opcionálisan telepítheti a modellt SageMaker-modell-végpontként.
- Konfiguráljon és hozzon létre egy Clarify-feladatot, hogy a tárhelytárolót magyarázhatósági jelentés generálására használja.
- Az egyéni tároló elfogadja a következtetési kérelmet CSV-ként, és lehetővé teszi a Clarify számára, hogy magyarázatokat generáljon.
Megjegyzendő, hogy ez a megoldás azt az ötletet mutatja be, hogy a BlazingText modellhez a Clarify segítségével offline magyarázatokat kapjunk. Az online magyarázhatóságról további információkért lásd: Online magyarázhatóság a SageMaker Clarify segítségével.
A bejegyzés további része elmagyarázza a második lehetőség egyes lépéseit.
Taníts egy BlazingText modellt
Először egy szövegosztályozási modellt tanítunk a BlazingText algoritmus segítségével. Ebben a példában a DBpedia ontológia adatkészlet. A DBpedia egy tömegből származó kezdeményezés, amelynek célja a strukturált tartalom kinyerése a különféle Wikimédia-projektekből, például a Wikipédiából származó információk felhasználásával. Pontosabban, a DBpedia ontológia adatkészletét használjuk, ahogyan azt létrehozta Zhang és munkatársai. A DBpedia 14-ből 2014 nem átfedő osztály kiválasztásával készült. A mezők egy Wikipédia-cikk absztraktját és a megfelelő osztályt tartalmazzák. A szövegosztályozási modell célja, hogy megjósolja egy cikk osztályát az absztrakt alapján.
A modell betanításának részletes, lépésenkénti folyamata az alábbiakban érhető el jegyzetfüzet. Miután betanította a modellt, vegye figyelembe a Amazon egyszerű tárolási szolgáltatás (Amazon S3) URI elérési út, ahol a modell melléktermékeit tárolják. A lépésenkénti útmutatóért lásd: Szövegosztályozás a SageMaker BlazingText segítségével.
Telepítse a betanított BlazingText modellt a SageMaker saját tárolójával
A Clarify segítségével két lehetőség van a modellinformációk megadására:
- Hozzon létre egy SageMaker-modellt anélkül, hogy egy végpontra telepítené – Ha egy SageMaker-modellt biztosít a Clarify számára, akkor a modell segítségével egy efemer végpontot hoz létre.
- Hozzon létre egy SageMaker-modellt, és helyezze üzembe egy végponton – Amikor egy végpont elérhetővé válik a Clarify számára, a végpontot használja magyarázatok beszerzésére. Ez elkerüli egy átmeneti végpont létrehozását, és csökkentheti a Clarify-feladat futási idejét.
Ebben a bejegyzésben az első opciót használjuk a Clarify funkcióval. Használjuk a SageMaker Python SDK erre a célra. További lehetőségekért és további részletekért lásd: Hozza létre a végpontot, és helyezze üzembe a modellt.
Hozd magaddal a saját konténeredet (BYOC)
Először készítünk egy egyéni Docker-képet, amelyet a létrehozásához használunk SageMaker modell. Használhatja a fájlokat és a kódot a forráskönyvtár GitHub adattárunkból.
A Dockerfile leírja az elkészíteni kívánt képet. Kezdjük egy szabványos Ubuntu telepítéssel, majd telepítjük a Scikit-learn programot. Mi is klónozunk gyorsszöveg és telepítse a csomagot. A BlazingText modell betöltésére szolgál előrejelzések készítéséhez. Végül hozzáadjuk az algoritmusunkat megvalósító kódot az előző fájlok formájában, és beállítjuk a környezetet a tárolóban. Az egész dockerfile az adattárunkban található, és úgy használhatja, ahogy van. Hivatkozni Használja saját következtetési kódját a hosting szolgáltatásokkal további részletekért arról, hogy a SageMaker hogyan működik együtt a Docker-tárolóval és annak követelményeivel.
Továbbá, prediktor.py tartalmazza a kódot a modell betöltéséhez és az előrejelzésekhez. A bemeneti adatokat CSV-ként fogadja el, így kompatibilis a Clarify-val.
Miután megvan a Dockerfile, készítse el a Docker-tárolót, és töltse fel ide Amazon Elastic Container Registry (Amazon ECR). A lépésről lépésre haladó folyamatot megtalálja a formában shellscript a GitHub-tárunkban, amellyel létrehozhatja és feltöltheti a Docker-képet az Amazon ECR-be.
Hozd létre a BlazingText modellt
A következő lépés egy modellobjektum létrehozása a SageMaker Python SDK-ból Modell osztály amely egy HTTPS-végpontra telepíthető. A Clarify-t úgy konfiguráljuk, hogy ezt a modellt használja magyarázatok generálására. A lépés kódjával és egyéb követelményeivel kapcsolatban lásd: Telepítse betanított SageMaker BlazingText modelljét saját tárolójával az Amazon SageMakerben.
A Clarify beállítása
A Clarify NLP kompatibilis a regressziós és osztályozási modellekkel. Segít megérteni, hogy a beviteli szöveg mely részei befolyásolják a modell előrejelzéseit. A Clarify 62 nyelvet támogat, és több nyelven is képes kezelni a szöveget. A SageMaker Python SDK-t használjuk a Clarify által a magyarázhatósági jelentés létrehozásához használt három konfiguráció meghatározására.
Először is létre kell hoznunk a processzorobjektumot, és meg kell adnunk a bemeneti adatkészlet helyét is, amelyet az előrejelzésekhez és a jellemzők hozzárendeléséhez használunk majd:
DataConfig
Itt kell konfigurálnia a bemeneti adatok helyét, a jellemzőoszlopot, és azt, hogy a Clarify job hol tárolja a kimenetet. Ez a megfelelő argumentumok átadásával történik egy DataConfig objektum létrehozásakor:
ModelConfig
A ModelConfig segítségével meg kell adnia a betanított modellre vonatkozó információkat. Itt megadjuk az előző lépésben létrehozott BlazingText SageMaker modell nevét, és beállítunk más paramétereket is, mint pl. Amazon rugalmas számítási felhő (Amazon EC2) példánytípus és a tartalom formátuma:
SHAPConfig
Ezt arra használjuk, hogy tájékoztassuk a Clarify-t arról, hogyan szerezheti be a funkció-hozzárendeléseket. A TextConfig a szöveg és a nyelv részletességének meghatározására szolgál. Adatkészletünkben, mivel a bemeneti szöveget szavakra szeretnénk bontani, és a nyelv az angol, ezeket az értékeket tokenre, illetve angolra állítjuk. Az adatkészlet természetétől függően beállíthatja a mondat vagy bekezdés részletességét. Az alapvonal egy speciális tokenre van állítva. Ez azt jelenti, hogy a Clarify eldobja a bemeneti szöveg részhalmazait, és lecseréli azokat az alapvonal értékeire, miközben előrejelzéseket kap az SHAP-értékek kiszámításához. Így határozza meg a tokenek hatását a modell előrejelzéseire, és így azonosítja azok fontosságát. A Kernel SHAP algoritmusban felhasználandó minták számát a num_samples
érv. A magasabb értékek robusztusabb funkció-hozzárendeléseket eredményeznek, de ez növelheti a feladat futási idejét is. Ezért kompromisszumot kell kötnie a kettő között. Lásd a következő kódot:
További információkért lásd: A Shapley-értékeket használó szolgáltatás-attribútumok és a Az Amazon AI méltányossági és megmagyarázhatósági fehér könyve.
ModelPredictedLabelConfig
Ahhoz, hogy a Clarify ki tudjon bontani egy előrejelzett címkét vagy a várható pontszámokat vagy valószínűségeket, be kell állítani ezt a konfigurációs objektumot. Lásd a következő kódot:
További részletekért lásd a dokumentáció az SDK-ban.
Futtasson egy Clarify feladatot
A különböző konfigurációk létrehozása után készen áll a Clarify feldolgozási feladat elindítására. A feldolgozási feladat érvényesíti a bemenetet és a paramétereket, létrehozza az efemer végpontot, és a SHAP-algoritmus segítségével kiszámítja a helyi és globális jellemző-attribútumokat. Ha ez kész, törli az efemer végpontot, és létrehozza a kimeneti fájlokat. Lásd a következő kódot:
Ennek a lépésnek a futási ideje az adatkészlet méretétől és az SHAP által generált minták számától függ.
Vizualizálja az eredményeket
Végül megjelenítjük a helyi jellemző-hozzárendelési jelentés eredményeinek vizualizációját, amelyet a Clarify feldolgozási feladat generált. A kimenet JSON Lines formátumú, és némi feldolgozással; a beviteli szövegben ábrázolhatja a tokenek pontszámait az alábbi példa szerint. A magasabb sávok nagyobb hatással vannak a célcímkére. Ezenkívül a pozitív értékek magasabb előrejelzésekkel járnak a célváltozóban, a negatív értékek pedig alacsonyabb előrejelzésekkel. Ebben a példában a modell előrejelzést ad a „Wesebach Hesse Németország folyója” bemeneti szöveghez. A megjósolt osztály a Natural Place, és a pontszámok azt mutatják, hogy a modell a „folyó” szót találta a leginformatívabbnak az előrejelzéshez. Ez az ember számára intuitív, és több minta vizsgálatával megállapíthatja, hogy a modell megtanulja-e a megfelelő tulajdonságokat, és a várt módon viselkedik-e.
Következtetés
Ebben a bejegyzésben elmagyaráztuk, hogyan magyarázhatja el a Clarify segítségével a SageMaker BlazingText segítségével betanított szövegosztályozási modellből származó előrejelzéseket. Kezdje el a szövegbesorolási modellekből származó előrejelzések magyarázatát a mintajegyzetfüzet segítségével A SageMaker BlazingText szövegének megmagyarázhatósága.
Megbeszéltünk egy általánosabb tervezési mintát is, amelyet a Clarify és a SageMaker beépített algoritmusai használatakor használhat. További információkért lásd: Mi az igazságosság és a modellmagyarázhatóság a gépi tanulási előrejelzéseknél?. Javasoljuk továbbá, hogy olvassa el a Az Amazon AI méltányossági és megmagyarázhatósági fehér könyve, amely áttekintést nyújt a témáról, valamint a legjobb gyakorlatokat és korlátokat tárgyalja.
A szerzőkről
Pinak Panigrahi együttműködik az ügyfelekkel, hogy gépi tanulásra támaszkodó megoldásokat építsenek a stratégiai üzleti problémák megoldására az AWS-en. Ha nem a gépi tanulással van elfoglalva, akkor kirándulni, könyvet olvasni vagy sportolni lehet.
Dhawal Patel az AWS vezető gépi tanulási építésze. Az elosztott számítástechnikával és a mesterséges intelligenciával kapcsolatos problémákon a nagyvállalatoktól a közepes méretű induló vállalkozásokig szervezetekkel dolgozott együtt. A mély tanulásra összpontosít, beleértve az NLP és a Computer Vision tartományokat. Segít az ügyfeleknek abban, hogy a SageMaker-en nagy teljesítményű modellkövetkeztetést érjenek el.
- SEO által támogatott tartalom és PR terjesztés. Erősödjön még ma.
- Platoblockchain. Web3 metaverzum intelligencia. Felerősített tudás. Hozzáférés itt.
- Forrás: https://aws.amazon.com/blogs/machine-learning/explain-text-classification-model-predictions-using-amazon-sagemaker-clarify/
- 100
- 2014
- 7
- 9
- a
- Rólunk
- KIVONAT
- elfogadja
- Elérése
- beszerzés
- Után
- AI
- algoritmus
- algoritmusok
- Minden termék
- amazon
- Amazon EC2
- Amazon SageMaker
- között
- elemzés
- és a
- külön
- Alkalmazás
- építészet
- érv
- érvek
- cikkben
- mesterséges
- mesterséges intelligencia
- társult
- elérhető
- AWS
- bárok
- kiindulási
- mert
- mögött
- BEST
- legjobb gyakorlatok
- között
- előítélet
- könyv
- szünet
- Bringing
- épít
- beépített
- üzleti
- láncok
- osztály
- osztályok
- besorolás
- kód
- Oszlop
- kombináció
- összeegyeztethető
- teljes
- Kiszámít
- számítógép
- Számítógépes látás
- számítástechnika
- Konténer
- Konténerek
- tartalmaz
- tartalom
- megtérít
- Megfelelő
- Pár
- teremt
- készítette
- teremt
- létrehozása
- teremtés
- szokás
- Ügyfelek
- dátum
- mély
- mély tanulás
- attól
- függ
- telepíteni
- telepített
- bevezetéséhez
- Design
- részletes
- részletek
- Határozzuk meg
- eltökélt
- meghatározza
- különböző
- közvetlenül
- tárgyalt
- megosztott
- elosztott számítástechnika
- Dokkmunkás
- domainek
- le-
- hajtott
- Csepp
- minden
- pénzt keres
- hatás
- lehetővé teszi
- ösztönzése
- Endpoint
- Mérnökök
- Angol
- biztosítására
- Vállalatok
- Egész
- Környezet
- vizsgálva
- példa
- várható
- Magyarázza
- magyarázható
- magyarázó
- Elmagyarázza
- kivonat
- méltányosság
- Funkció
- Jellemzők
- mező
- Fields
- Fájlok
- Végül
- Találjon
- vezetéknév
- rögzített
- koncentrál
- következik
- következő
- következik
- forma
- formátum
- talált
- ból ből
- Továbbá
- általános
- generál
- generált
- generál
- generáló
- Németország
- kap
- GitHub
- adott
- Globális
- cél
- útmutató
- fogantyú
- Kezelés
- segít
- itt
- Magas
- <p></p>
- Túra
- holding
- tárhely
- Hogyan
- How To
- HTML
- HTTPS
- emberi
- ötlet
- azonosítja
- kép
- Hatás
- munkagépek
- importál
- fontosság
- fontos
- javul
- in
- Beleértve
- Növelje
- jelez
- befolyás
- információ
- tájékoztató
- Kezdeményezés
- bemenet
- telepíteni
- példa
- integrálni
- Intelligencia
- kölcsönhatásba lép
- intuitív
- behívja
- részt
- IT
- Munka
- json
- Kulcs
- Címke
- nyelv
- Nyelvek
- nagy
- tanulás
- Jogi
- korlátozások
- vonalak
- kiszámításának
- betöltés
- helyi
- elhelyezkedés
- gép
- gépi tanulás
- készült
- csinál
- KÉSZÍT
- Gyártás
- sok
- eszközök
- orvosi
- mód
- ML
- modell
- modellek
- több
- a legtöbb
- többszörös
- név
- Természetes
- Természetes nyelvi feldolgozás
- Természet
- Szükség
- igények
- negatív
- következő
- NLP
- jegyzetfüzet
- neves
- szám
- tárgy
- megszerzése
- Nem elérhető
- ONE
- online
- ontológia
- opció
- Opciók
- szervezetek
- Más
- áttekintés
- saját
- csomag
- paraméterek
- alkatrészek
- Múló
- ösvény
- Mintás
- teljesítmény
- előadó
- csővezeték
- Hely
- Plató
- Platón adatintelligencia
- PlatoData
- pozitív
- állás
- gyakorlat
- előre
- jósolt
- előrejelzés
- Tippek
- be
- Fő
- Előzetes
- problémák
- folyamat
- Folyamatok
- feldolgozás
- Processzor
- projektek
- ad
- feltéve,
- biztosít
- cél
- Piton
- kezdve
- Olvass
- Olvasás
- kész
- csökkenteni
- csökkenti
- említett
- kifejezés
- összefüggő
- cserélni
- jelentést
- raktár
- kérni
- kéri
- szükség
- követelmény
- követelmények
- REST
- eredményez
- Eredmények
- Kritika
- Vélemények
- Folyó
- erős
- sagemaker
- azonos
- tudósok
- scikit elsajátítható
- sdk
- Második
- kiválasztása
- mondat
- érzés
- Sorozat
- sorozatszám
- készlet
- kellene
- előadás
- Egyszerű
- egyetlen
- Méret
- megoldások
- Megoldások
- SOLVE
- néhány
- speciális
- különleges
- kifejezetten
- Sport
- érdekeltek
- standard
- kezdet
- kezdődött
- Startups
- Lépés
- Lépései
- tárolás
- tárolni
- memorizált
- Stratégiai
- stratégiai üzlet
- szerkesztett
- sikeresen
- Támogató
- Támogatja
- Vesz
- bevétel
- cél
- feltételek
- Szöveg osztályozása
- A
- azok
- ebből adódóan
- dolgok
- három
- nak nek
- jelképes
- tokenek
- téma
- Vonat
- kiképzett
- Képzések
- kiváltó
- Bízzon
- FORDULAT
- Ubuntu
- megért
- érthető
- használ
- érvényesítés
- érték
- Értékek
- különféle
- keresztül
- látomás
- megjelenítés
- ami
- míg
- whitepaper
- Wikipedia
- lesz
- nélkül
- szó
- szavak
- dolgozott
- művek
- te
- A te
- zephyrnet