Pe măsură ce tot mai multe organizații trec la machine learning (ML) pentru a obține informații mai profunde, două obstacole cheie în care se confruntă sunt etichetarea și managementul ciclului de viață. Etichetarea este identificarea datelor și adăugarea de etichete pentru a oferi context, astfel încât un model ML să poată învăța din el. Etichetele pot indica o frază într-un fișier audio, o mașină într-o fotografie sau un organ într-un RMN. Etichetarea datelor este necesară pentru a permite modelelor ML să funcționeze împotriva datelor. Managementul ciclului de viață are de-a face cu procesul de configurare a unui experiment ML și de documentare a setului de date, biblioteca, versiunea și modelul utilizat pentru a obține rezultate. O echipă ar putea desfășura sute de experimente înainte de a se decide pe o singură abordare. Revenirea și recrearea acestei abordări poate fi dificilă fără înregistrări ale elementelor acelui experiment.
Multe exemple și tutoriale ML încep cu un set de date care include o valoare țintă. Cu toate acestea, datele din lumea reală nu au întotdeauna o astfel de valoare țintă. De exemplu, în analiza sentimentelor, o persoană poate de obicei să emită o judecată dacă o recenzie este pozitivă, negativă sau mixtă. Dar recenziile sunt alcătuite dintr-o colecție de text fără nicio valoare de judecată atașată. Pentru a crea un învățare supravegheată model pentru a rezolva această problemă, un set de date etichetat de înaltă calitate este esențial. Amazon SageMaker Ground Adevăr este un serviciu de etichetare a datelor complet gestionat, care facilitează construirea de seturi de date de antrenament foarte precise pentru ML.
Pentru organizațiile care utilizează Databricks ca platformă de date și analiză pe AWS pentru a efectua sarcini de extragere, transformare și încărcare (ETL), scopul final este adesea antrenarea unui model de învățare supravegheat. În această postare, arătăm cum se integrează Databricks cu Ground Truth și Amazon SageMaker pentru etichetarea datelor și distribuția modelelor.
Prezentare generală a soluțiilor
Ground Truth este un serviciu de etichetare a datelor complet gestionat, care facilitează construirea de seturi de date de antrenament foarte precise pentru ML. Prin consola Ground Truth, putem crea fluxuri de lucru de etichetare a datelor personalizate sau încorporate în câteva minute. Aceste fluxuri de lucru acceptă o varietate de cazuri de utilizare, inclusiv nori de puncte 3D, videoclipuri, imagini și text. În plus, Ground Truth oferă etichetare automată a datelor, care utilizează un model ML pentru a ne eticheta datele.
Ne instruim modelul pe setul de date Amazon Customer Reviews disponibil public. La un nivel înalt, pașii sunt următorii:
- Extrageți un set de date brute pentru a fi etichetat și mutați-l Serviciul Amazon de stocare simplă (Amazon S3).
- Efectuați etichetarea creând un job de etichetare în SageMaker.
- Construiți și antrenați un model de învățare liniar Scikit-learn simplu pentru a clasifica sentimentul textului de revizuire pe platforma Databricks folosind un eșantion caiet.
- Utilizare MLflow componente pentru a crea și a efectua MLOps și a salva artefactele modelului.
- Implementați modelul ca punct final SageMaker utilizând Biblioteca MLflow SageMaker pentru inferență în timp real.
Următoarea diagramă ilustrează etichetarea și călătoria ML folosind Ground Truth și MLflow.
Creați un job de etichetare în SageMaker
Din setul de date Amazon Customer Reviews, extragem doar porțiunile de text, deoarece construim un model de analiză a sentimentelor. Odată extras, punem textul într-o găleată S3 și apoi creăm o lucrare de etichetare Ground Truth prin consola SageMaker.
Pe Creați un job de etichetare pagina, completați toate câmpurile obligatorii. Ca parte a pasului de pe această pagină, Ground Truth vă permite să generați fișierul manifest job. Ground Truth folosește fișierul manifest de intrare pentru a identifica numărul de fișiere sau obiecte din jobul de etichetare, astfel încât numărul potrivit de sarcini să fie creat și trimis către etichetatorii umani (sau mașini). Fișierul este salvat automat în compartimentul S3. Următorul pas este să specificați categoria sarcinii și selecția sarcinii. În acest caz de utilizare, alegem Text ca categorie de sarcini și Clasificarea textului cu o singură etichetă pentru selectarea sarcinii, ceea ce înseamnă că un text de recenzie va avea un singur sentiment: pozitiv, negativ sau neutru.
În cele din urmă, scriem instrucțiuni simple, dar concise pentru etichetatori despre cum să eticheteze datele text. Instrucțiunile sunt afișate pe instrumentul de etichetare și, opțional, puteți consulta vizualizarea adnotatorului în acest moment. În cele din urmă, trimitem jobul și monitorizăm progresul pe consolă.
În timp ce lucrarea de etichetare este în desfășurare, putem analiza și datele etichetate de pe producție fila. Putem monitoriza fiecare text de recenzie și etichetă și dacă lucrarea a fost făcută de un om sau de o mașină. Putem selecta 100% din lucrările de etichetare care urmează să fie făcute de oameni sau putem alege adnotarea mașinii, ceea ce accelerează munca și reduce costurile forței de muncă.
Când lucrarea este finalizată, rezumatul jobului de etichetare conține linkuri către manifestul de ieșire și setul de date etichetat. De asemenea, putem merge la Amazon S3 și le putem descărca pe ambele din folderul nostru bucket S3.
În următorii pași, folosim un notebook Databricks, MLflow, și seturi de date etichetate de Ground Truth pentru a construi a Scikit-învață model.
Descărcați un set de date etichetat de pe Amazon S3
Începem prin a descărca setul de date etichetat de pe Amazon S3. Manifestul este salvat în format JSON și îl încărcăm într-un Spark DataFrame în Databricks. Pentru antrenarea modelului de analiză a sentimentelor, avem nevoie doar de textul de revizuire și de sentimentul care a fost adnotat de jobul de etichetare Ground Truth. Folosim select() pentru a extrage aceste două caracteristici. Apoi convertim setul de date dintr-un PySpark DataFrame într-un Pandas DataFrame, deoarece algoritmul Scikit-learn necesită formatul Pandas DataFrame.
Apoi, folosim Scikit-learn CountVectorizer
pentru a transforma textul de recenzie într-un vector bigram prin setarea ngram_range
valoarea maxima la 2. CountVectorizer
convertește textul într-o matrice a numărului de simboluri. Apoi folosim TfidfTransformer
pentru a transforma vectorul bigram într-un format de frecvență inversă a documentului (TF-IDF).
Comparăm scorurile de precizie pentru antrenamentul efectuat cu un vector bigram vs. bigram cu TF-IDF. TF-IDF este o măsură statistică care evaluează cât de relevant este un cuvânt pentru un document dintr-o colecție de documente. Deoarece textul de revizuire tinde să fie relativ scurt, putem observa cum TF-IDF afectează performanța modelului predictiv.
Configurați un experiment MLflow
MLflow a fost dezvoltat de Databricks și este acum un proiect open-source. MLflow gestionează ciclul de viață ML, astfel încât să puteți urmări, recrea și publica experimente cu ușurință.
Pentru a configura experimente MLflow, folosim mlflow.sklearn.autolog()
pentru a activa înregistrarea automată a hiperparametrilor, a valorilor și a artefactelor modelului oricând estimator.fit()
, estimator.fit_predict()
, și estimator.fit_transform()
sunt numite. Alternativ, puteți face acest lucru manual sunând mlflow.log_param()
și mlflow.log_metric()
.
Potrivim setul de date transformat la un clasificator liniar cu învățare Stochastic Gradient Descent (SGD). Cu SGD, gradientul pierderii este estimat o probă la un moment dat și modelul este actualizat pe parcurs cu un program de rezistență descrescător.
Cele două seturi de date pe care le-am pregătit mai devreme sunt trecute la train_and_show_scores()
functie pentru antrenament. După antrenament, trebuie să înregistrăm un model și să-i salvăm artefactele. Folosim mlflow.sklearn.log_model()
să facă acest lucru.
Înainte de implementare, ne uităm la rezultatele experimentului și alegem două experimente (unul pentru bigram și celălalt pentru bigram cu TF-IDF) pentru a le compara. În cazul nostru de utilizare, al doilea model antrenat cu bigram TF-IDF a funcționat puțin mai bine, așa că alegem acel model pentru a fi implementat. După ce modelul este înregistrat, implementăm modelul, schimbând stadiul modelului în producție. Putem realiza acest lucru pe MLflow UI sau în codul folosind transition_model_version_stage()
.
Implementați și testați modelul ca punct final SageMaker
Înainte de a implementa modelul antrenat, trebuie să construim un container Docker pentru a găzdui modelul în SageMaker. Facem acest lucru rulând o comandă simplă MLflow care construiește și împinge containerul la Registrul Amazon de containere elastice (Amazon ECR) în contul nostru AWS.
Acum putem găsi URI-ul imaginii pe consola Amazon ECR. Transmitem URI-ul imaginii ca un image_url
parametru și utilizare DEPLOYMENT_MODE_CREATE
pentru parametrul mode dacă aceasta este o nouă implementare. Dacă actualizați un punct final existent cu o versiune nouă, utilizați DEPLOYMENT_MODE_REPLACE
.
Pentru a testa punctul final SageMaker, creăm o funcție care ia ca parametri numele punctului final și datele de intrare.
Concluzie
În această postare, v-am arătat cum să utilizați Ground Truth pentru a eticheta un set de date brute și cum să folosiți datele etichetate pentru a antrena un clasificator liniar simplu folosind Scikit-learn. În acest exemplu, folosim MLflow pentru a urmări hiperparametrii și valorile, pentru a înregistra un model de producție și pentru a implementa modelul antrenat în SageMaker ca punct final. Împreună cu Databricks pentru procesarea datelor, puteți automatiza întreg acest caz de utilizare, astfel încât, pe măsură ce sunt introduse date noi, acestea pot fi etichetate și procesate în model. Prin automatizarea acestor conducte și modele, echipele de știință a datelor se pot concentra pe noi cazuri de utilizare și se pot descoperi mai multe informații în loc să-și petreacă timpul gestionând actualizările de date de zi cu zi.
Pentru a începe, verificați Utilizați Amazon SageMaker Ground Truth pentru a eticheta datele și înscrieți-vă pentru un Probă gratuită de 14 zile a Databricks pe AWS. Pentru a afla mai multe despre cum se integrează Databricks cu SageMaker, precum și despre alte servicii AWS, cum ar fi AWS Adeziv și Amazon RedShift, Vizitaţi Databricks pe AWS.
În plus, consultați următoarele resurse utilizate în această postare:
Foloseste urmatoarele caiet pentru a începe.
Despre Autori
Rumi Olsen este arhitect de soluții în Programul de parteneriat AWS. Ea este specializată în soluții de învățare automată și fără server în rolul ei actual și are experiență în tehnologiile de procesare a limbajului natural. Ea își petrece cea mai mare parte a timpului liber cu fiica ei explorând natura Pacificului de Nord-Vest.
Igor Alekseev este arhitect de soluții partener la AWS în domeniul datelor și analizei. Igor lucrează cu parteneri strategici, ajutându-i să construiască arhitecturi complexe, optimizate pentru AWS. Înainte de a se alătura AWS, ca arhitect de date/soluții, a implementat multe proiecte în Big Data, inclusiv mai multe lacuri de date din ecosistemul Hadoop. În calitate de inginer de date, a fost implicat în aplicarea AI/ML pentru detectarea fraudelor și automatizarea biroului. Proiectele lui Igor au fost într-o varietate de industrii, inclusiv comunicații, finanțe, siguranță publică, producție și asistență medicală. Anterior, Igor a lucrat ca inginer full stack/leader tehnologic.
Naseer Ahmed este un arhitect senior de soluții partener la Databricks și sprijină afacerea sa AWS. Naseer este specializat în Data Warehousing, Business Intelligence, Dezvoltare de aplicații, Container, Serverless, Arhitecturi de învățare automată pe AWS. El a fost votat IMM-ul anului 2021 la Databricks și este un pasionat de cripto entuziast.
- Coinsmart. Cel mai bun schimb de Bitcoin și Crypto din Europa.
- Platoblockchain. Web3 Metaverse Intelligence. Cunoștințe amplificate. ACCES LIBER.
- CryptoHawk. Radar Altcoin. Încercare gratuită.
- Sursa: https://aws.amazon.com/blogs/machine-learning/build-an-mlops-sentiment-analysis-pipeline-using-amazon-sagemaker-ground-truth-and-databricks-mlflow/
- "
- 100
- 2021
- 3d
- Despre Noi
- Cont
- precis
- plus
- Algoritmul
- TOATE
- Amazon
- analiză
- Google Analytics
- aplicaţia
- Dezvoltarea aplicațiilor
- Aplicarea
- abordare
- audio
- Auto
- Automatizare
- disponibil
- AWS
- fundal
- bază
- Datele mari
- construi
- Clădire
- construiește
- construit-in
- afaceri
- business intelligence
- mașină
- cazuri
- Categorii
- Alege
- clasificare
- cod
- colectare
- Comunicații
- complex
- Consoleze
- Recipient
- conține
- Cheltuieli
- a creat
- Crearea
- cripto
- Curent
- personalizat
- de date
- știința datelor
- Mai adânc
- implementa
- Implementarea
- desfășurarea
- Detectare
- dezvoltat
- Dezvoltare
- dificil
- distribuire
- Docher
- documente
- Nu
- conduce
- cu ușurință
- ecosistem
- permite
- Punct final
- inginer
- esenţial
- estimativ
- exemplu
- experiment
- DESCRIERE
- Domenii
- În cele din urmă
- finanţa
- potrivi
- Concentra
- următor
- format
- fraudă
- Gratuit
- Complet
- funcţie
- genera
- scop
- merge
- de asistență medicală
- Înalt
- extrem de
- Cum
- Cum Pentru a
- HTTPS
- uman
- Oamenii
- sute
- Identificare
- identifica
- imagine
- implementat
- Inclusiv
- industrii
- intrare
- perspective
- Inteligență
- implicat
- IT
- Loc de munca
- Locuri de munca
- Cheie
- etichetarea
- etichete
- muncă
- limbă
- conduce
- AFLAȚI
- învăţare
- Nivel
- Bibliotecă
- Link-uri
- încărca
- maşină
- masina de învățare
- făcut
- FACE
- gestionate
- administrare
- de conducere
- manual
- de fabricaţie
- Matrice
- măsura
- Metrici
- mixt
- ML
- model
- Modele
- monitor
- mai mult
- cele mai multe
- muta
- Natural
- Natură
- caiet
- număr
- promoții
- comandă
- organizații
- Altele
- Pacific
- partener
- parteneri
- performanță
- persoană
- platformă
- Punct
- pozitiv
- Problemă
- proces
- producere
- Program
- Proiecte
- furniza
- public
- publica
- Crud
- în timp real
- înregistrări
- Inregistreaza-te
- înregistrată
- necesar
- Resurse
- REZULTATE
- revizuiască
- Recenzii
- Alerga
- funcţionare
- Siguranţă
- Ştiinţă
- sentiment
- serverless
- serviciu
- Servicii
- set
- instalare
- Pantaloni scurți
- simplu
- So
- soluţie
- soluţii
- REZOLVAREA
- specializată
- Cheltuire
- stivui
- Etapă
- Începe
- început
- statistic
- depozitare
- Strategic
- a sustine
- De sprijin
- Ţintă
- sarcini
- echipă
- Tehnologii
- test
- Prin
- timp
- semn
- instrument
- urmări
- Pregătire
- Transforma
- proces
- tutoriale
- ui
- final
- descoperi
- actualizări
- utilizare
- obișnuit
- valoare
- varietate
- Video
- Vizualizare
- dacă
- fără
- Apartamente
- a lucrat
- fabrică
- an