Man mano che sempre più organizzazioni passano all'apprendimento automatico (ML) per ottenere informazioni più approfondite, due ostacoli chiave in cui si imbattono sono l'etichettatura e la gestione del ciclo di vita. L'etichettatura è l'identificazione dei dati e l'aggiunta di etichette per fornire il contesto in modo che un modello ML possa imparare da esso. Le etichette potrebbero indicare una frase in un file audio, un'auto in una fotografia o un organo in una risonanza magnetica. L'etichettatura dei dati è necessaria per consentire ai modelli ML di lavorare con i dati. La gestione del ciclo di vita ha a che fare con il processo di impostazione di un esperimento ML e la documentazione del set di dati, della libreria, della versione e del modello utilizzati per ottenere risultati. Un team potrebbe eseguire centinaia di esperimenti prima di decidere su un approccio. Tornare indietro e ricreare quell'approccio può essere difficile senza registrazioni degli elementi di quell'esperimento.
Molti esempi ed esercitazioni di ML iniziano con un set di dati che include un valore target. Tuttavia, i dati del mondo reale non hanno sempre un tale valore target. Ad esempio, nell'analisi del sentimento, una persona di solito può esprimere un giudizio sul fatto che una recensione sia positiva, negativa o mista. Ma le recensioni sono costituite da una raccolta di testi a cui non è associato alcun valore di giudizio. Per creare un apprendimento supervisionato modello per risolvere questo problema, è essenziale un set di dati etichettato di alta qualità. Amazon SageMaker verità fondamentale è un servizio di etichettatura dei dati completamente gestito che semplifica la creazione di set di dati di addestramento altamente accurati per il machine learning.
Per le organizzazioni che utilizzano Databricks come piattaforma di dati e analisi su AWS per eseguire attività di estrazione, trasformazione e caricamento (ETL), l'obiettivo finale è spesso la formazione di un modello di apprendimento supervisionato. In questo post, mostriamo come Databricks si integra con Ground Truth e Amazon Sage Maker per l'etichettatura dei dati e la distribuzione del modello.
Panoramica della soluzione
Ground Truth è un servizio di etichettatura dei dati completamente gestito che semplifica la creazione di set di dati di addestramento altamente accurati per il machine learning. Attraverso la console Ground Truth, possiamo creare flussi di lavoro di etichettatura dei dati personalizzati o integrati in pochi minuti. Questi flussi di lavoro supportano una varietà di casi d'uso, tra cui nuvole di punti 3D, video, immagini e testo. Inoltre, Ground Truth offre l'etichettatura automatica dei dati, che utilizza un modello ML per etichettare i nostri dati.
Formiamo il nostro modello sul set di dati Amazon Customer Reviews pubblicamente disponibile. Ad alto livello, i passaggi sono i seguenti:
- Estrarre un set di dati non elaborato da etichettare e spostarlo Servizio di archiviazione semplice Amazon (Amazon S3).
- Eseguire l'etichettatura creando un processo di etichettatura in SageMaker.
- Costruisci e addestra un semplice modello di apprendimento lineare Scikit-learn per classificare il sentimento del testo di revisione sulla piattaforma Databricks utilizzando un campione taccuino.
- Usa il MLflow componenti per creare ed eseguire MLOp e salvare gli artefatti del modello.
- Distribuisci il modello come endpoint SageMaker utilizzando il file Libreria MLflow SageMaker per l'inferenza in tempo reale.
Il diagramma seguente illustra l'etichettatura e il percorso ML utilizzando Ground Truth e MLflow.
Crea un lavoro di etichettatura in SageMaker
Dal set di dati di Recensioni dei clienti Amazon, estraiamo solo le porzioni di testo, perché stiamo costruendo un modello di analisi del sentimento. Una volta estratto, inseriamo il testo in un bucket S3 e quindi creiamo un processo di etichettatura Ground Truth tramite la console SageMaker.
Sulla Crea lavoro di etichettatura pagina, compila tutti i campi obbligatori. Come parte del passaggio in questa pagina, Ground Truth ti consente di generare il file manifest del lavoro. Ground Truth utilizza il file manifest di input per identificare il numero di file o oggetti nel processo di etichettatura in modo che il numero corretto di attività venga creato e inviato a etichettatrici umane (o macchine). Il file viene salvato automaticamente nel bucket S3. Il passaggio successivo consiste nello specificare la categoria dell'attività e la selezione dell'attività. In questo caso d'uso, scegliamo Testo come categoria di attività e Classificazione del testo con un'unica etichetta per la selezione dell'attività, il che significa che un testo di revisione avrà un unico sentimento: positivo, negativo o neutro.
Infine, scriviamo istruzioni semplici ma concise per etichettatori su come etichettare i dati di testo. Le istruzioni vengono visualizzate sullo strumento di etichettatura e puoi facoltativamente rivedere la vista dell'annotatore in questo momento. Infine, inviamo il lavoro e monitoriamo lo stato di avanzamento sulla console.
Mentre il lavoro di etichettatura è in corso, possiamo anche guardare i dati etichettati sul file Uscita scheda. Siamo in grado di monitorare ogni testo ed etichetta di revisione e se il lavoro è stato svolto da un essere umano o da una macchina. Possiamo selezionare il 100% dei lavori di etichettatura che devono essere eseguiti dall'uomo o scegliere l'annotazione della macchina, che velocizza il lavoro e riduce i costi di manodopera.
Al termine del processo, il riepilogo del processo di etichettatura contiene collegamenti al manifesto di output e al set di dati etichettato. Possiamo anche andare su Amazon S3 e scaricarli entrambi dalla nostra cartella del bucket S3.
Nei passaggi successivi, utilizziamo un notebook Databricks, MLflowe set di dati etichettati da Ground Truth per costruire a Scikit-learn modello.
Scarica un set di dati etichettato da Amazon S3
Iniziamo scaricando il set di dati etichettato da Amazon S3. Il manifest viene salvato in formato JSON e lo carichiamo in un Spark DataFrame in Databricks. Per addestrare il modello di analisi del sentimento, abbiamo solo bisogno del testo di revisione e del sentimento che è stato annotato dal lavoro di etichettatura Ground Truth. Usiamo select() per estrarre queste due funzionalità. Quindi convertiamo il set di dati da un PySpark DataFrame a un Pandas DataFrame, perché l'algoritmo Scikit-learn richiede il formato Pandas DataFrame.
Successivamente, utilizziamo Scikit-learn CountVectorizer
per trasformare il testo della recensione in un vettore bigram impostando il ngram_range
valore massimo a 2. CountVectorizer
converte il testo in una matrice di conteggi di token. Allora usiamo TfidfTransformer
per trasformare il vettore bigram in un formato TF-IDF (frequenza inversa del documento).
Confrontiamo i punteggi di precisione per l'allenamento eseguito con un vettore bigram rispetto a bigram con TF-IDF. TF-IDF è una misura statistica che valuta quanto sia rilevante una parola per un documento in una raccolta di documenti. Poiché il testo di revisione tende ad essere relativamente breve, possiamo osservare come TF-IDF influenzi le prestazioni del modello predittivo.
Configura un esperimento MLflow
MLflow è stato sviluppato da Databricks ed è ora un progetto open-source. MLflow gestisce il ciclo di vita di ML, così puoi monitorare, ricreare e pubblicare facilmente gli esperimenti.
Per impostare gli esperimenti MLflow, utilizziamo mlflow.sklearn.autolog()
per abilitare la registrazione automatica di iperparametri, metriche e artefatti del modello in qualsiasi momento estimator.fit()
, estimator.fit_predict()
, ed estimator.fit_transform()
sono chiamati. In alternativa, puoi farlo manualmente chiamando mlflow.log_param()
ed mlflow.log_metric()
.
Adattiamo il set di dati trasformato a un classificatore lineare con l'apprendimento Stochastic Gradient Descent (SGD). Con SGD, il gradiente della perdita viene stimato un campione alla volta e il modello viene aggiornato lungo il percorso con un programma di forza decrescente.
Quei due set di dati che abbiamo preparato in precedenza vengono passati al train_and_show_scores()
funzione per l'allenamento. Dopo l'addestramento, dobbiamo registrare un modello e salvarne gli artefatti. Noi usiamo mlflow.sklearn.log_model()
per farlo.
Prima della distribuzione, osserviamo i risultati dell'esperimento e scegliamo due esperimenti (uno per bigram e l'altro per bigram con TF-IDF) da confrontare. Nel nostro caso d'uso, il secondo modello addestrato con bigram TF-IDF ha funzionato leggermente meglio, quindi scegliamo quel modello da implementare. Dopo che il modello è stato registrato, lo distribuiamo, cambiando la fase del modello in produzione. Possiamo farlo sull'interfaccia utente di MLflow o nel codice usando transition_model_version_stage()
.
Distribuire e testare il modello come endpoint SageMaker
Prima di distribuire il modello addestrato, è necessario creare un contenitore Docker per ospitare il modello in SageMaker. Lo facciamo eseguendo un semplice comando MLflow che compila ed esegue il push del contenitore Registro dei contenitori Amazon Elastic (Amazon ECR) nel nostro account AWS.
Ora possiamo trovare l'URI dell'immagine sulla console Amazon ECR. Passiamo l'URI dell'immagine come an image_url
parametro e uso DEPLOYMENT_MODE_CREATE
per il parametro mode se si tratta di una nuova distribuzione. Se si aggiorna un endpoint esistente con una nuova versione, utilizzare DEPLOYMENT_MODE_REPLACE
.
Per testare l'endpoint SageMaker, creiamo una funzione che prende il nome dell'endpoint e i dati di input come parametri.
Conclusione
In questo post, ti abbiamo mostrato come utilizzare Ground Truth per etichettare un set di dati grezzo e come utilizzare i dati etichettati per addestrare un semplice classificatore lineare usando Scikit-learn. In questo esempio, utilizziamo MLflow per tenere traccia di iperparametri e metriche, registrare un modello di livello di produzione e distribuire il modello addestrato a SageMaker come endpoint. Insieme a Databricks per elaborare i dati, puoi automatizzare l'intero caso d'uso, in modo che quando vengono introdotti nuovi dati, possano essere etichettati ed elaborati nel modello. Automatizzando queste pipeline e modelli, i team di data science possono concentrarsi su nuovi casi d'uso e scoprire più approfondimenti invece di dedicare il loro tempo alla gestione degli aggiornamenti dei dati su base giornaliera.
Per iniziare, dai un'occhiata Usa Amazon SageMaker Ground Truth per etichettare i dati e iscriviti a a 14 giorni di prova gratuita di Databricks su AWS. Per saperne di più su come Databricks si integra con SageMaker, così come altri servizi AWS come Colla AWS ed Amazon RedShift, visita Databrick su AWS.
Inoltre, controlla le seguenti risorse utilizzate in questo post:
Utilizza il seguente taccuino per iniziare.
Informazioni sugli autori
Rumi Olsen è un Solutions Architect nell'AWS Partner Program. È specializzata in soluzioni serverless e di machine learning nel suo ruolo attuale e ha un background nelle tecnologie di elaborazione del linguaggio naturale. Trascorre la maggior parte del suo tempo libero con sua figlia ad esplorare la natura del Pacifico nord-occidentale.
Igor Alekseev è Partner Solution Architect presso AWS in Data and Analytics. Igor collabora con partner strategici aiutandoli a costruire architetture complesse e ottimizzate per AWS. Prima di entrare in AWS, come Data/Solution Architect, ha implementato molti progetti nei Big Data, inclusi diversi data lake nell'ecosistema Hadoop. In qualità di Data Engineer, è stato coinvolto nell'applicazione dell'IA/ML al rilevamento delle frodi e all'automazione dell'ufficio. I progetti di Igor riguardavano una varietà di settori tra cui comunicazioni, finanza, sicurezza pubblica, produzione e assistenza sanitaria. In precedenza, Igor ha lavorato come full stack engineer/tech lead.
Naseer Ahmed è un Sr. Partner Solutions Architect presso Databricks che supporta la sua attività AWS. Naseer è specializzato in Data Warehousing, Business Intelligence, Sviluppo di app, Container, Serverless, Architetture di Machine Learning su AWS. È stato votato come PMI dell'anno 2021 da Databricks ed è un appassionato di criptovalute.
- Coinsmart. Il miglior scambio di bitcoin e criptovalute d'Europa.
- Platoblockchain. Web3 Metaverse Intelligence. Conoscenza amplificata. ACCESSO LIBERO.
- Criptofalco. Radar Altcoin. Prova gratuita.
- Fonte: https://aws.amazon.com/blogs/machine-learning/build-an-mlops-sentiment-analysis-pipeline-using-amazon-sagemaker-ground-truth-and-databricks-mlflow/
- "
- 100
- 2021
- 3d
- Chi siamo
- Il mio account
- preciso
- aggiunta
- algoritmo
- Tutti
- Amazon
- .
- analitica
- App
- Sviluppo di app
- AMMISSIONE
- approccio
- Audio
- auto
- Automazione
- disponibile
- AWS
- sfondo
- base
- Big Data
- costruire
- Costruzione
- costruisce
- incassato
- affari
- business intelligence
- auto
- casi
- Categoria
- Scegli
- classificazione
- codice
- collezione
- Comunicazioni
- complesso
- consolle
- Contenitore
- contiene
- Costi
- creato
- Creazione
- crypto
- Corrente
- costume
- dati
- scienza dei dati
- più profondo
- schierare
- distribuzione
- deployment
- rivelazione
- sviluppato
- Mercato
- difficile
- distribuzione
- docker
- documenti
- non
- guidare
- facilmente
- ecosistema
- enable
- endpoint
- ingegnere
- essential
- stimato
- esempio
- esperimento
- Caratteristiche
- campi
- Infine
- finanziare
- in forma
- Focus
- i seguenti
- formato
- frode
- Gratis
- pieno
- function
- generare
- scopo
- andando
- assistenza sanitaria
- Alta
- vivamente
- Come
- Tutorial
- HTTPS
- umano
- Gli esseri umani
- centinaia
- Identificazione
- identificare
- Immagine
- implementato
- Compreso
- industrie
- ingresso
- intuizioni
- Intelligence
- coinvolto
- IT
- Lavoro
- Offerte di lavoro
- Le
- etichettatura
- per il tuo brand
- lavoro
- Lingua
- portare
- IMPARARE
- apprendimento
- Livello
- Biblioteca
- Collegamento
- caricare
- macchina
- machine learning
- fatto
- FA
- gestito
- gestione
- gestione
- manualmente
- consigliato per la
- Matrice
- misurare
- Metrica
- misto
- ML
- modello
- modelli
- Monitorare
- Scopri di più
- maggior parte
- cambiano
- Naturale
- Natura
- taccuino
- numero
- Offerte
- minimo
- organizzazioni
- Altro
- Pacifico
- partner
- partner
- performance
- persona
- piattaforma
- punto
- positivo
- Problema
- processi
- Produzione
- Programma
- progetti
- fornire
- la percezione
- pubblicare
- Crudo
- tempo reale
- record
- registro
- registrato
- pertinente
- necessario
- Risorse
- Risultati
- recensioni
- Recensioni
- Correre
- running
- Sicurezza
- Scienze
- sentimento
- serverless
- servizio
- Servizi
- set
- regolazione
- Corti
- Un'espansione
- So
- soluzione
- Soluzioni
- RISOLVERE
- specializzata
- Spendere
- pila
- Stage
- inizia a
- iniziato
- statistiche
- conservazione
- Strategico
- supporto
- Supporto
- Target
- task
- team
- Tecnologie
- test
- Attraverso
- tempo
- token
- pista
- Training
- Trasformare
- prova
- esercitazioni
- ui
- ultimo
- scoprire
- Aggiornamenti
- uso
- generalmente
- APPREZZIAMO
- varietà
- Video
- Visualizza
- se
- senza
- Lavora
- lavorato
- lavori
- anno