Sommario[Nascondere][Spettacolo]
- 1. Cosa intendi per MLOps?
- 2. In che modo i data scientist, i data engineer e gli ingegneri ML variano l'uno dall'altro?
- 3. Cosa distingue MLOps da ModelOps e AIOps?
- 4. Puoi dirmi alcuni dei vantaggi di MLOps?
- 5. Puoi dirmi i componenti di MLOps?
- 6. Quali rischi comporta l'utilizzo della scienza dei dati?
- 7. Puoi spiegare cos'è la deriva del modello?
- 8. In quanti modi diversi possono essere applicati gli MLOps, secondo te?
- 9. Cosa separa la distribuzione statica dalla distribuzione dinamica?
- 10. Di quali tecniche di test di produzione sei a conoscenza?
- 11. Cosa distingue l'elaborazione in flusso dall'elaborazione in batch?
- 12. Cosa intendi con Training Servire Skew?
- 13. Cosa intendi per Model Registry?
- 14. Puoi approfondire i vantaggi di Model Registry?
- 15. Puoi spiegare che la tecnica Champion-Challenger funziona?
- 16. Descrivi le applicazioni a livello aziendale del ciclo di vita di MLOps?
- Conclusione
Le aziende utilizzano più spesso tecnologie emergenti come l'intelligenza artificiale (AI) e l'apprendimento automatico (ML) per aumentare l'accessibilità del pubblico alle informazioni e ai servizi.
Queste tecnologie vengono sempre più utilizzate in una varietà di settori, tra cui quello bancario, finanziario, al dettaglio, manifatturiero e persino sanitario.
Data scientist, ingegneri dell'apprendimento automatico e ingegneri dell'intelligenza artificiale sono richiesti da un numero crescente di aziende.
Conoscere il possibile machine learning Le domande del colloquio operativo che i responsabili delle assunzioni e i reclutatori potrebbero porre a te sono essenziali se vuoi lavorare nei campi ML o MLOps.
Puoi imparare come rispondere ad alcune delle domande dell'intervista MLOps in questo post mentre lavori per ottenere il lavoro dei tuoi sogni.
1. Cosa intendi per MLOps?
Il tema dell'operazionalizzazione dei modelli ML è al centro di MLOps, noto anche come Machine Learning Operations, un campo in via di sviluppo all'interno della più importante arena AI/DS/ML.
L'obiettivo principale dell'approccio e della cultura dell'ingegneria del software noto come MLOps è integrare la creazione di modelli di machine learning/data science e la loro successiva operazionalizzazione (Ops).
DevOps e MLOp convenzionali condividono alcune somiglianze, tuttavia, MLOps differisce anche notevolmente dai DevOps tradizionali.
MLOps aggiunge un nuovo livello di complessità concentrandosi sui dati, mentre DevOps si concentra principalmente sull'operazionalizzazione di codice e versioni software che non possono essere stateful.
La combinazione di ML, dati e operazioni è ciò che dà a MLOps il suo nome comune (apprendimento automatico, ingegneria dei dati e DevOps).
2. In che modo i data scientist, i data engineer e gli ingegneri ML variano l'uno dall'altro?
Varia, secondo me, a seconda dell'azienda. L'ambiente per il trasporto e la trasformazione dei dati, così come la loro archiviazione, è costruito da ingegneri dei dati.
I data scientist sono esperti nell'utilizzo di tecniche scientifiche e statistiche per analizzare i dati e trarre conclusioni, incluso fare previsioni sul comportamento futuro in base alle tendenze attualmente in atto.
Alcuni anni fa, gli ingegneri del software stavano studiando le operazioni e la gestione dell'infrastruttura di distribuzione. I team operativi, d'altra parte, stavano studiando lo sviluppo mentre utilizzavano l'infrastruttura come codice. Una posizione DevOps è stata prodotta da questi due flussi.
MLOps è nella stessa categoria di Dati Scientist e Data Engineer. I data engineer stanno acquisendo conoscenze sull'infrastruttura necessaria per supportare i cicli di vita dei modelli e creare pipeline per la formazione continua.
I data scientist cercano di sviluppare le loro capacità di distribuzione del modello e punteggio.
Una pipeline di dati di livello produttivo viene creata dagli ingegneri ML utilizzando l'infrastruttura che trasforma i dati grezzi nell'input necessario a un modello di data science, ospita ed esegue il modello e invia un set di dati con punteggio ai sistemi a valle.
Sia i data engineer che i data scientist sono in grado di diventare ingegneri ML.
3. Cosa distingue MLOps da ModelOps e AIOps?
Quando si costruisce end-to-end algoritmi di apprendimento automatico, MLOps è un'applicazione DevOps che include la raccolta dei dati, la pre-elaborazione dei dati, la creazione di modelli, l'implementazione del modello in produzione, il monitoraggio del modello in produzione e l'aggiornamento periodico del modello.
L'uso di DevOps nella gestione dell'intera implementazione di qualsiasi algoritmo, come i modelli basati su regole, è noto come ModelOps.
AIOps sta sfruttando i principi DevOps per creare app di intelligenza artificiale da zero.
4. Puoi dirmi alcuni dei vantaggi di MLOps?
- I data scientist e gli sviluppatori di MLOps possono rieseguire rapidamente le prove per garantire che i modelli siano addestrati e valutati in modo appropriato poiché MLOps aiuta ad automatizzare tutte o la maggior parte delle attività/fasi dell'MDLC (ciclo di vita dello sviluppo del modello). Permessi aggiuntivi versione dei dati e del modello.
- Mettere in pratica le idee di MLOps consente a Data Engineer e Data Scientist di avere accesso illimitato a set di dati coltivati e curati, il che accelera esponenzialmente lo sviluppo dei modelli.
- I data scientist potranno ricorrere al modello che ha funzionato meglio se l'attuale iterazione non è all'altezza delle aspettative, grazie alla possibilità di avere modelli e set di dati sottoposti a versionamento, il che migliorerà significativamente l'audit trail del modello.
- Poiché i metodi MLOps si basano fortemente su DevOps, incorporano anche una serie di concetti CI/CD, che migliorano la qualità e affidabilità del codice.
5. Puoi dirmi i componenti di MLOps?
Design: Gli MLOp includono pesantemente il design thinking. A partire dalla natura del problema, testare ipotesi, architettura e distribuzione
Modellismo: il test e la convalida del modello fanno parte di questo passaggio, insieme alle pipeline di ingegneria dei dati e alla sperimentazione per impostare i migliori sistemi di apprendimento automatico.
Operazioni: Il modello deve essere implementato nell'ambito delle operazioni e continuamente controllato e valutato. I processi CI/CD vengono quindi monitorati e avviati utilizzando uno strumento di orchestrazione.
6. Quali rischi comporta l'utilizzo della scienza dei dati?
- È difficile scalare il modello in tutta l'azienda.
- Senza preavviso, il modello si spegne e smette di funzionare.
- Per lo più, l'accuratezza dei modelli peggiora con il tempo.
- Il modello fa previsioni imprecise basate su un'osservazione specifica che non può essere ulteriormente esaminata.
- I data scientist dovrebbero anche mantenere i modelli, ma sono costosi.
- MLOps può essere utilizzato per ridurre questi rischi.
7. Puoi spiegare cos'è la deriva del modello?
Quando le prestazioni della fase di inferenza di un modello (utilizzando dati del mondo reale) si deteriorano rispetto alle prestazioni della fase di addestramento, ciò è noto come deriva del modello, nota anche come deriva dell'idea (utilizzando dati storici etichettati).
Le prestazioni del modello sono distorte rispetto alle fasi di addestramento e servizio, da qui il nome "train/serve skew".
Numerosi fattori, tra cui:
- Il modo fondamentale in cui i dati vengono distribuiti è cambiato.
- La formazione si è concentrata su un piccolo numero di categorie, tuttavia, un cambiamento ambientale appena avvenuto ha aggiunto un'altra area.
- Nelle difficoltà della PNL, i dati del mondo reale hanno una quantità sproporzionatamente maggiore di token numerici rispetto ai dati di addestramento.
- Eventi imprevisti, come un modello basato su dati pre-COVID che prevede prestazioni significativamente peggiori sui dati raccolti durante l'epidemia di COVID-19.
Il monitoraggio continuo delle prestazioni del modello è sempre necessario per identificare la deriva del modello.
La riqualificazione del modello è quasi sempre richiesta come rimedio quando si verifica un persistente calo delle prestazioni del modello; deve essere individuato il motivo del declino e devono essere utilizzate procedure terapeutiche adeguate.
8. In quanti modi diversi possono essere applicati gli MLOps, secondo te?
Esistono tre metodi per mettere in pratica MLOp:
MLOps livello 0 (Processo manuale): in questo livello, tutti i passaggi, inclusi la preparazione dei dati, l'analisi e l'addestramento, vengono eseguiti manualmente. Ogni fase deve essere eseguita manualmente, così come il passaggio da una all'altra.
La premessa di fondo è che il tuo team di data science gestisce solo un numero limitato di modelli che non vengono aggiornati frequentemente.
Di conseguenza, non esiste l'integrazione continua (CI) o la distribuzione continua (CD) e il test del codice è in genere integrato nell'esecuzione di script o notebook, con la distribuzione che avviene in un microservizio con un API REST.
MLOps livello 1 (automazione della pipeline ML): automatizzando il processo ML, l'obiettivo è addestrare continuamente il modello (CT). In questo modo è possibile eseguire la fornitura continua del servizio di previsione del modello.
La nostra distribuzione di un'intera pipeline di formazione garantisce che il modello venga addestrato automaticamente in produzione utilizzando nuovi dati basati su trigger di pipeline attivi.
MLOps livello 2 (automazione della pipeline CI/CD): Va un gradino sopra il livello MLOps. Se si desidera aggiornare le pipeline in produzione in modo rapido e affidabile è necessario un solido sistema CI/CD automatizzato:
- Crei codice sorgente ed esegui numerosi test durante la fase CI. Pacchetti, eseguibili e artefatti sono gli output della fase, che verranno distribuiti in un secondo momento.
- Gli artefatti creati dalla fase CI vengono distribuiti nell'ambiente di destinazione durante la fase CD. L'output della fase è una pipeline distribuita con l'implementazione del modello rivista.
- Prima che la pipeline inizi una nuova iterazione dell'esperimento, i data scientist devono comunque eseguire manualmente la fase di analisi dei dati e del modello.
9. Cosa separa la distribuzione statica dalla distribuzione dinamica?
Il modello è addestrato offline per Distribuzione statica. In altre parole, formiamo il modello esattamente una volta e poi lo utilizziamo per un po'. Dopo che il modello è stato addestrato localmente, viene archiviato e inviato al server per essere utilizzato per produrre previsioni in tempo reale.
Il modello viene quindi distribuito come software applicativo installabile. un programma che consente il punteggio batch delle richieste, a titolo illustrativo.
Il modello è addestrato online per Distribuzione dinamica. Cioè, nuovi dati vengono costantemente aggiunti al sistema e il modello viene aggiornato continuamente per tenerne conto.
Di conseguenza, puoi fare previsioni utilizzando un server su richiesta. Successivamente, il modello viene utilizzato fornendo come endpoint API che reagisce alle query degli utenti, utilizzando un framework Web come Boccetta o FastAPI.
10. Di quali tecniche di test di produzione sei a conoscenza?
Test batch: effettuando i test in un ambiente diverso da quello del suo ambiente di addestramento, verifica il modello. Utilizzando metriche di scelta, come accuratezza, RMSE, ecc., il test batch viene eseguito su un gruppo di campioni di dati per verificare l'inferenza del modello.
I test batch possono essere eseguiti su una varietà di piattaforme informatiche, come un server di test, un server remoto o il cloud. In genere, il modello viene fornito come file serializzato, che viene caricato come oggetto e dedotto dai dati di test.
A / B testing: Viene spesso utilizzato per l'analisi di campagne di marketing e per la progettazione di servizi (siti web, applicazioni mobili, ecc.).
Sulla base dell'azienda o delle operazioni, vengono utilizzati approcci statistici per analizzare i risultati dei test A/B per decidere quale modello funzionerà meglio in produzione. Di solito, il test A/B viene eseguito nel modo seguente:
- I dati in tempo reale o in tempo reale sono divisi o segmentati in due set, Set A e Set B.
- I dati del set A vengono inviati al modello obsoleto, mentre i dati del set B vengono inviati al modello aggiornato.
- A seconda del caso d'uso aziendale o dei processi, è possibile utilizzare diversi approcci statistici per valutare le prestazioni del modello (ad esempio, accuratezza, precisione, ecc.) per determinare se il nuovo modello (modello B) supera il vecchio modello (modello A).
- Quindi eseguiamo test di ipotesi statistiche: l'ipotesi nulla afferma che il nuovo modello non ha alcun effetto sul valore medio degli indicatori aziendali monitorati. Secondo l'ipotesi alternativa, il nuovo modello incrementa il valore medio degli indicatori aziendali di monitoraggio.
- Infine, valutiamo se il nuovo modello si traduce in un miglioramento significativo di alcuni KPI aziendali.
Un'ombra o una prova scenica: un modello viene valutato in un duplicato di un ambiente di produzione prima di essere utilizzato in produzione (ambiente di staging).
Questo è fondamentale per determinare le prestazioni del modello con dati in tempo reale e convalidare la resilienza del modello. viene effettuato deducendo gli stessi dati della pipeline di produzione e consegnando il ramo sviluppato o un modello da testare su un server di staging.
L'unico inconveniente è che nessuna scelta commerciale sarà fatta sul server di staging o visibile agli utenti finali come risultato del ramo di sviluppo.
La resilienza e le prestazioni del modello saranno valutate statisticamente utilizzando i risultati dell'ambiente di staging utilizzando le metriche appropriate.
11. Cosa distingue l'elaborazione in flusso dall'elaborazione in batch?
Possiamo manipolare le caratteristiche che utilizziamo per produrre le nostre previsioni in tempo reale utilizzando due metodi di elaborazione: batch e stream.
Processo batch caratteristiche di un momento precedente per un oggetto specifico, che viene quindi utilizzato per generare previsioni in tempo reale.
- Qui siamo in grado di eseguire calcoli intensivi di funzionalità offline e di preparare i dati per una rapida inferenza.
- Caratteristiche, tuttavia, un'età poiché erano predeterminate in passato. Questo potrebbe essere un grave inconveniente se la tua prognosi si basa su eventi recenti. (Ad esempio, identificare le transazioni fraudolente non appena possibile.)
Con funzionalità di streaming quasi in tempo reale per un'entità specifica, l'inferenza viene eseguita nell'elaborazione del flusso su un determinato insieme di input.
- In questo caso, fornendo al modello funzionalità di streaming in tempo reale, possiamo ottenere previsioni più accurate.
- Tuttavia, è necessaria un'infrastruttura aggiuntiva per l'elaborazione dei flussi e per mantenere i flussi di dati (Kafka, Kinesis, ecc.). (Apache Flink, Beam, ecc.)
12. Cosa intendi con Training Servire Skew?
La disparità tra le prestazioni durante il servizio e le prestazioni durante l'allenamento è nota come inclinazione al servizio dell'allenamento. Questa distorsione può essere indotta dai seguenti fattori:
- Una differenza nel modo in cui gestisci i dati tra le pipeline per l'elaborazione e la formazione.
- Uno spostamento dei dati dalla tua formazione al tuo servizio.
- Un canale di feedback tra l'algoritmo e il modello.
13. Cosa intendi per Model Registry?
Model Registry è un repository centrale in cui i creatori di modelli possono pubblicare modelli adatti all'uso in produzione.
Gli sviluppatori possono collaborare con altri team e parti interessate per gestire la durata di tutti i modelli all'interno dell'azienda utilizzando il registro. I modelli addestrati possono essere caricati nel registro dei modelli da un data scientist.
I modelli vengono preparati per il test, la convalida e l'implementazione in produzione una volta inseriti nel registro. Inoltre, i modelli addestrati vengono archiviati nei registri dei modelli per un rapido accesso da parte di qualsiasi applicazione o servizio integrato.
Per testare, valutare e distribuire il modello alla produzione, gli sviluppatori di software ei revisori possono riconoscere rapidamente e scegliere solo la versione migliore dei modelli addestrati (in base ai criteri di valutazione).
14. Puoi approfondire i vantaggi di Model Registry?
Di seguito sono riportati alcuni modi in cui il registro del modello semplifica la gestione del ciclo di vita del modello:
- Per semplificare la distribuzione, salva i requisiti di runtime e i metadati per i tuoi modelli addestrati.
- I tuoi modelli addestrati, distribuiti e ritirati devono essere registrati, tracciati e sottoposti a versionamento in un repository centralizzato e ricercabile.
- Crea pipeline automatizzate che consentono la fornitura continua, la formazione e l'integrazione del tuo modello di produzione.
- Confronta i modelli appena formati (o modelli sfidanti) nell'ambiente di staging con i modelli attualmente operativi in produzione (modelli campione).
15. Puoi spiegare che la tecnica Champion-Challenger funziona?
È possibile testare varie decisioni operative in produzione utilizzando una tecnica Champion Challenger. Probabilmente hai sentito parlare di test A/B nel contesto del marketing.
Ad esempio, potresti scrivere due righe di oggetto distinte e distribuirle in modo casuale al tuo gruppo demografico target per massimizzare il tasso di apertura per una campagna e-mail.
Il sistema registra le prestazioni di un'e-mail (ad esempio, l'azione di apertura dell'e-mail) in relazione alla riga dell'oggetto, consentendo di confrontare il tasso di apertura di ciascuna riga dell'oggetto per determinare quale sia la più efficace.
Champion-Challenger è paragonabile ai test A/B in questo senso. Puoi utilizzare la logica decisionale per valutare ogni risultato e selezionare quello più efficace mentre sperimenti vari metodi per arrivare a una scelta.
Il modello di maggior successo è correlato al campione. Il primo sfidante e l'elenco corrispondente di sfidanti ora sono tutto ciò che è presente nella prima fase di esecuzione al posto del campione.
Il campione viene scelto dal sistema per ulteriori esecuzioni di fasi di lavoro.
Gli sfidanti sono contrastati tra loro. Il nuovo campione viene quindi determinato dallo sfidante che produce i risultati migliori.
Le attività coinvolte nel processo di confronto campione-sfidante sono elencate di seguito in modo più dettagliato:
- Valutazione di ciascuno dei modelli rivali.
- Valutazione dei punteggi finali.
- Confrontando i risultati della valutazione per stabilire lo sfidante vittorioso.
- Aggiunta del nuovo campione all'archivio
16. Descrivi le applicazioni a livello aziendale del ciclo di vita di MLOps?
Dobbiamo smettere di considerare l'apprendimento automatico solo come un esperimento iterativo affinché i modelli di apprendimento automatico entrino in produzione. MLOps è l'unione dell'ingegneria del software con l'apprendimento automatico.
Il risultato finale va immaginato come tale. Pertanto, il codice per un prodotto tecnologico deve essere testato, funzionale e modulare.
MLOps ha una durata paragonabile a un flusso di apprendimento automatico convenzionale, con l'eccezione che il modello viene mantenuto nel processo fino alla produzione.
Gli ingegneri MLOps quindi tengono d'occhio questo aspetto per assicurarsi che la qualità del modello in produzione sia quella prevista.
Ecco alcuni casi d'uso per molte delle tecnologie MLOps:
- Registri modello: è quello che sembra essere. I team più grandi archiviano e tengono traccia dei modelli di versione nei registri dei modelli. Anche tornare a una versione precedente è un'opzione.
- Store di funzionalità: quando si tratta di set di dati più grandi, potrebbero esserci versioni distinte dei set di dati analitici e dei sottoinsiemi per attività specifiche. Un negozio di funzionalità è un modo all'avanguardia e di buon gusto per utilizzare il lavoro di preparazione dei dati di esecuzioni precedenti o anche di altri team.
- Archivi per metadati: è fondamentale monitorare correttamente i metadati durante la produzione se i dati non strutturati, come immagini e dati di testo, devono essere utilizzati con successo.
Conclusione
È fondamentale tenere presente che, nella maggior parte dei casi, l'intervistatore cerca un sistema, mentre il candidato cerca una soluzione.
Il primo si basa sulle tue capacità tecniche, mentre il secondo riguarda il metodo che utilizzi per dimostrare la tua competenza.
Ci sono diverse procedure che dovresti seguire quando rispondi alle domande dell'intervista MLOps per aiutare l'intervistatore a capire meglio come intendi valutare e affrontare il problema in questione.
La loro concentrazione è più sulla reazione sbagliata che su quella giusta. Una soluzione racconta una storia e il tuo sistema è la migliore illustrazione delle tue conoscenze e capacità di comunicazione.
Lascia un Commento