Apprendere dal Machine Learning | Vincent Warmerdam Calmcode, Explosion, Data Science
Machine Learning learning | Vincent Warmerdam.
Il secondo incontro di “Learning from Machine Learning” presenta Vincent Warmerdam, ML Engineer di Explosion e creatore di calmcode

Benvenuti di nuovo a “Learning from Machine Learning”, una serie di interviste che approfondisce il mondo affascinante dell’apprendimento automatico. Poiché l’IA rivoluziona il nostro mondo, ogni episodio offre approfondimenti tecnici insieme a consigli professionali e lezioni di vita da professionisti leader nel campo.
In questo episodio, Vincent Warmerdam, creatore di calmcode e koaning.io, ML Engineer presso Explosion e ex Research Advocate presso Rasa, condividerà le sue esperienze e i suoi consigli. Ha ricoperto numerosi ruoli nel mondo della scienza dei dati, tra cui consulente, sostenitore, formatore, responsabile, educatore e reclutatore. Il suo lavoro si è concentrato sulla semplificazione dei processi, sull’utilizzo efficace dei modelli e sulla formazione degli altri.
Il suo sito calmcode fornisce contenuti didattici di alta qualità e facilmente consumabili sulla scienza dei dati ed è diventato una risorsa preziosa per gli scienziati dei dati. Vincent ha aiutato nell’organizzazione di PyData Amsterdam ed è stato costantemente relatore a PyData e NormConf. I suoi interventi sono piacevoli e coinvolgenti (guardateli su YouTube).
Vincent ha creato decine di strumenti per aiutare nello sviluppo dell’apprendimento automatico, nel processamento dei dati, nei test e nell’elaborazione del linguaggio naturale.
- Funzioni di Finestra Un Must-Know per gli Ingegneri e gli Scienziati dei Dati.
- Rendi i tuoi grafici fantastici con UTF-8
- MLOps Tempo come gli obiettivi strategici creano iterazioni più veloci?
koaning – Panoramica
🙂Vincent D.
github.com
La passione di Vincent per la costruzione di strumenti pratici, la condivisione aperta del suo lavoro e l’affrontare i problemi del mondo reale con semplicità e calma ha influenzato il modo in cui faccio il mio lavoro.
Sommario
Vincent ha avuto un percorso di carriera non convenzionale ed è entrato nella scienza dei dati quando era ancora emergente. Attribuisce il suo successo a una combinazione di fortuna, alla popolarità del suo blog, all’organizzazione di incontri e ai suoi contributi open source, che hanno portato offerte di lavoro direttamente da CEO e CTO invece di passare attraverso i processi di reclutamento tradizionali. Il suo background accademico include lo studio dell’ottimizzazione delle operazioni e del design, che gli ha dato una prospettiva unica sugli algoritmi e i vincoli. Ha anche menzionato che il suo lavoro come barista in un Comedy Club ha affinato le sue capacità di presentazione.
Ispirato dalla diagnosi medica errata di un familiare, Vincent è stato attratto dall’apprendimento automatico per utilizzare gli algoritmi per prendere decisioni e previsioni migliori. Durante la sua tesi di laurea magistrale ha avuto l’opportunità di concentrarsi sull’apprendimento automatico.
Il suo lavoro open source è stato guidato dal desiderio di risolvere problemi specifici e a volte di soddisfare i suoi stessi bisogni. Ha iniziato con il suo primo progetto PyPI, evol, e ha sviluppato librerie come scikit-lego, human-learn, whatlies e doubtlab basate sulle sue esigenze e le sue esperienze in diverse aziende.
La libreria bulk è emersa come risultato del suo lavoro su human-learn e whatlies. Sfrutta l’incorporamento, la riduzione della dimensionalità e il clustering per facilitare l’etichettatura e l’esplorazione dei dati su larga scala. Sebbene lo strumento non fornisca etichette perfette, aiuta a abbassare la barriera all’ingresso e a sviluppare l’intuizione quando si lavora su nuovi dataset.
Ha avviato calmcode come risposta alla mancanza di contenuti didattici di qualità nella scienza dei dati, mirando a fornire tutorial concisi e opinati che si concentrino sull’idea di comunicare in modo efficace. Le sue lezioni consistono in una serie di brevi video facilmente digeribili. Si concentra sull’insegnamento di strumenti e approcci per migliorare il lavoro quotidiano della scienza dei dati.
L’esperienza di Vincent nel campo ha fornito una grande prospettiva sullo stato attuale dell’apprendimento automatico. Siamo stati in grado di discutere i limiti dei modelli generativi, il ruolo dei sistemi basati su regole per integrare i modelli di apprendimento automatico, le complessità dell’etichettatura della verità fondamentale.
Il consiglio di Vincent è reale e pungente. Mette in guardia contro l’attribuire troppa importanza ai guadagni monetari all’inizio della propria carriera e di dare la priorità alla scoperta della propria passione e delle motivazioni vere. Lotta con i sentimenti contrastanti dell’utilità del campo dell’apprendimento automatico e della necessità di professionisti qualificati in esso, riconoscendo anche l’abbondanza dell’hype. Più importante ancora, Vincent enfatizza l’importanza di acquisire una chiara comprensione di ciò che si può e non si può influenzare e di concentrare la propria energia sulle aree in cui si può fare la differenza.
Consigli e approfondimenti
- Comprendere correttamente il problema è la cosa più importante: un algoritmo migliore non sempre garantisce risultati migliori se applicato al problema sbagliato.
- Riformulare i problemi può essere vantaggioso: pensare in modo olistico all’ottimizzazione del sistema anziché concentrarsi solo sul miglioramento dei singoli componenti.
- “Spesso le persone dimenticano che l’algoritmo è solitamente solo un ingranaggio del sistema. E siamo interessati a costruire un sistema migliore, non un ingranaggio migliore. Quindi, se stai costruendo un ingranaggio migliore ma non si adatta al resto, non è un ingranaggio migliore perché non ottieni un sistema migliore.”
- Considerare di avviare un blog in cui condividere ciò che si impara. Scrivere brevi appunti su “oggi ho imparato” può essere un modo facile per costruire una presenza online e dimostrare il proprio apprendimento continuo.
- Non sentire la pressione di sapere tutto all’inizio. Considerare ruoli correlati come quello di analista, che possono fornire competenze e conoscenze preziose che beneficeranno il percorso di scienza dei dati.
- “Puoi creare pacchetti Python più spesso di quanto pensi, quindi crea uno”. Più persone dovrebbero creare i propri pacchetti Python, anche per strumenti interni o piccole funzioni ausiliarie. Non abbastanza persone ne approfittano dei vantaggi dell’imballaggio e del riutilizzo del proprio codice.
- Uscire dalla bolla dell’apprendimento automatico può essere rinfrescante e fornire ispirazione. Interagire con persone che non sono nel campo e comprendere le loro prospettive può aiutare a creare applicazioni migliori e concentrarsi sull’aspetto umano del proprio lavoro.
- Stare attenti a concentrarsi troppo sul denaro all’inizio della propria carriera. È importante capire ciò che si ama e ciò che ci fa scattare anziché inseguire solo un salario più alto.
- “Sono un po’ un mix quando si tratta dell’intero discorso sull’apprendimento automatico. Parte della mia opinione è che sia uno strumento super utile e abbiamo bisogno di più persone brave a fare apprendimento automatico. Ma allo stesso tempo, è come un secchio di hype disgustoso che vogliamo davvero avere meno. E il mio giorno per giorno è affrontare entrambi questi sentimenti.”
- “Chiamare .fit e .predict sono le parti facili. Tutto il resto intorno a questo. È molto più difficile. Specialmente quando si considerano temi di equità, tutte le cose che possono andare storte, possiamo davvero saperlo in anticipo? Non so se sia sempre possibile.”
- “C’è qualcosa che puoi controllare, qualcosa che non puoi. Assicurati solo di capire ciò che puoi e non puoi controllare e poi vai avanti da lì.”
Tabella dei contenuti
Sommario Introduzione Consigli e suggerimenti Intervista completa — Benvenuto — Background — Sfondo accademico — Attrazione per il machine learning — Calmcode — Open Source — Bulk — Comprendere il problema — Domande senza risposta nel machine learning — Machine learning generativo e predittivo — Influenze — Consigli sulla carriera — Consigli per nuovi data scientist — Imparare dal video intervista sul machine learning Spotify Audio Episodio precedente con Maarten Grootendorst Riferimenti
Intervista completa
(Nota: questa intervista è stata leggermente modificata per chiarezza)
Benvenuto
Seth : Benvenuti a “Imparare dal machine learning”. In questo episodio, ho il piacere di avere Vincent Warmerdam. Attualmente è ingegnere di machine learning presso Explosion, l’azienda dietro SpaCy e Prodigy. Vincent è un educatore, un blogger, un relatore PyData costante.
Ha creato molti strumenti open source preziosi. È stato raccomandato per l’eccezionalità su LinkedIn per oltre cento volte. È veramente una forza ispiratrice nella comunità della scienza dei dati. Benvenuto al podcast.
Vincent : Ciao. Quel commento. Mi fa controllare. Ho cento raccomandazioni? Non lo sapevo.
Seth : Oltre.
Vincent : Oh, ok, cool.
È uno scherzo interno che ho con un ex collega, chi ne prende di più. Ho più di novantanove raccomandazioni per l’eccellenza su LinkedIn ora, bello!
Background
Seth : Perché non ci dai qualche informazione sul tuo percorso di carriera? Come sei arrivato dove sei oggi?
Vincent : È un po’ difficile dare consigli di carriera appropriati perché voglio solo riconoscere che sono un po’ privilegiato e ho avuto molta fortuna perché quando ho iniziato questa cosa della scienza dei dati, era l’era in cui le foreste casuali erano un po’ nuove. E se potevi solo usare una foresta casuale, eri già molto meglio di tutte le tradizioni economiche con i voli lineari. Quindi puoi eseguire il fit e la previsione – bang. Hai un lavoro. Ero un po’ in quell’era al momento giusto.
Dopo questo, ho iniziato a fare blogging. Ho iniziato ad aiutare organizzando alcuni meetups. C’è un meetup di machine learning ad Amsterdam – ho aiutato a organizzare PyData Amsterdam.
E ho anche avuto un blog abbastanza popolare, quindi le persone hanno iniziato a riconoscere me per quello. E, ad un certo punto, quel riconoscimento ti porta in posti, sei invitato a parlare, e poi le persone ti vedono come una figura di autorità. Non lo sono, mi piace pensare di avere idee sensate, ma cerco di essere modesto al riguardo. Ma questa è stata un po’ la storia della mia carriera perché le persone conoscevano il mio blog, che di solito includeva un CTO di un’azienda. E poi un CTO diceva, “Hey, mi piace il tuo blog. Possiamo solo avere una birra?”
E di solito, questo portava all’offerta di lavoro. Non ho ancora parlato con un reclutatore. Onestamente. Non sono mai stato assunto tramite il pipeline di reclutamento fino ad ora nella mia carriera.
È sempre stato tramite il CEO o il CTO perché conoscevano il mio lavoro in precedenza. E questo è molto strano, questa è una storia molto brutta perché è molto difficile da replicare per gli altri perché ho avuto molta fortuna riguardo questo. Penso che avere un blog e poter essere riconosciuto sia molto utile, ma molto difficile da replicare. Ma mi piace anche pensare che alcuni dei progetti collaterali che ho fatto per l’open source abbiano sicuramente aiutato. Calmcode è qualcosa che la gente mi conosce oggi. C’è un detto, pianta mille fiori e uno di essi sarà un loto.
…pianta mille fiori e uno di essi sarà un loto

Sono d’accordo con quell’idea, ma molto dipende anche dalla fortuna e un po’ di privilegio. Voglio solo essere onesto su questo. Essere riconoscibili si è dimostrato utile per me.
Seth: Sì, sicuramente. Voglio dire, il percorso di ognuno è unico. Quali sono i ruoli che hai avuto in diverse aziende?
So che sei stato consulente in un momento, un sostenitore. Hai avuto alcuni titoli interessanti. Giusto?
Vincent: C’era una fase in una precedente azienda in cui ti permettevano di scegliere qualsiasi nome e io e un paio di colleghi pensavamo che fosse divertente vedere fino a che punto potevamo spingerci. Quindi mi sono chiamato maestro Pokemon perché pensavo che fosse divertente. Il mio titolo preferito era “persona anziana” perché a un certo punto, sono solo uno dei vecchi della compagnia. Quindi mi sono chiamato così.
Per quanto riguarda i ruoli, ho fatto molti corsi di formazione, quindi a un certo punto ti chiami formatore. Poiché stai facendo consulenza, hai ruoli diversi all’interno di diverse squadre. Quindi sono stato un capo in un certo momento.
Stavo anche aiutando una società di reclutamento a reclutare persone in aziende per un team di dati specifici. A volte il mio ruolo era super temporaneo. A volte sarebbe stato per due anni. Ma di solito, sono stato una persona in un team di dati che cercava di rendere la squadra produttiva, facendo qualsiasi cosa. Di solito, le cose che mi piace pensare di essere abbastanza bravo sono mantenere le cose molto semplici.
Riesco ad ottenere molto da modelli lineari, che tendono a funzionare molto bene. E prima di questo, ho anche avuto molti lavori diversi al college, e mi piace pensare che questo abbia aiutato anche. La mia formazione è in ricerca operativa, ma prima di questo, ho studiato design. E il mio lavoro serale, ero un barista in un teatro comico nei Paesi Bassi, il che mi fa pensare che abbia potuto aiutare le mie capacità di presentazione in un certo senso. Aver studiato design per un po’ mi fa anche pensare in modo diverso sugli algoritmi.
E come la ricerca operativa mi fa pensare molto alle restrizioni quando faccio cose di scienza dei dati. Mi piace pensare di avere una formazione abbastanza diversa, ed è quella formazione abbastanza diversa che rende facile per me fare le cose che sto facendo ora. Questa è una sintesi.
Formazione accademica
Seth: Ha senso. Quindi, approfondiamo la tua formazione accademica, qual è stata? Quindi, c’è stata un po’ di ricerca operativa e un po’ di design? Sembra abbastanza unico.
Vincent: Sì, ho studiato ingegneria del design industriale per un anno, poi ho scoperto che non era per me. Quindi ho dovuto cambiare facoltà. E poi la laurea triennale è stata in econometria e ricerca operativa, e la magistrale è stata in ricerca operativa. E ho pensato che fosse la più interessante delle due. Ma anche perché aveva un piccolo passaggio alla scienza informatica.
Quindi se volevo fare i corsi di informatica, sarebbe stato abbastanza facile per me prendere i corsi che volevo. Ma, stavo anche remando quando ero al college e facevo un po’ di festa, quindi non mi è stato permesso di iniziare la magistrale subito. Quindi ho avuto questo anno in cui ho seguito qualsiasi corso mi interessasse. Ho fatto un paio di corsi di neuroscienze, che erano abbastanza interessanti, un po’ di psicologia e biologia e così via.
Di nuovo, mi piace pensare che la diversificazione della conoscenza si sia dimostrata piuttosto utile, ma il titolo ufficiale della mia formazione accademica è ricerca operativa. Quindi è la matematica dietro l’ottimizzazione dei sistemi. Questa è la cosa che ti viene insegnata lì.
Seth: Molto interessante. Qual è il problema quintessenziale o canonico nella ricerca operativa che le persone cercano di risolvere?
Vincent: Quindi, un esempio molto classico nell’apprendimento automatico, di solito cerchi di ottimizzare verso qualcosa. Vuoi avere la perdita più bassa possibile o l’accuratezza più alta possibile. E hai degli algoritmi per questo. Di solito prendi i tuoi dati e l’etichetta che vuoi prevedere e crei una sorta di funzione di perdita, cerchi di farla il più piccola possibile. E nella ricerca operativa, fai una cosa molto simile.
È solo che nella ricerca operativa, di solito non stai lavorando con un algoritmo di apprendimento automatico, ma stai affrontando, diciamo, “Ehi, abbiamo azioni in cui vorremmo investire e oh, tra l’altro, questo introduce anche delle restrizioni. Perché sì, vogliamo ottenere il massimo rendimento, ma ovviamente non vogliamo sorpassare il budget, e abbiamo anche una preferenza per il rischio”. E questi sono definiti come vincoli matematici rigorosi. Poi, se vuoi ottimizzare, è un gioco completamente diverso perché se il tuo algoritmo supera i limiti del vincolo, allora sei in una sorta di situazione difficile. Quindi direi che è la cosa principale.
Se stai facendo della ricerca operativa, ti viene insegnato che i vincoli sono molto importanti e che devi affrontarli in modo matematicamente corretto. Ed è un gioco completamente diverso. Ma questo è il principale problema con cui si confrontano, questa ottimizzazione vincolata. Ecco quello che fanno.
Seth : Molto interessante. Sì, sembra che sia necessaria una forte base matematica. C’è anche un po’ di algebra lineare?
Vincent : Molto di calcolo e algebra lineare. Anche se, come dire, dipende un po’ da ciò che fai. Quando fai la laurea magistrale, ovviamente, fai corsi teorici e devi fare le dimostrazioni. Ma il momento in cui inizi a fare la tua tesi [le cose cambiano]. Ho avuto un professore che mi ha detto: “Non so nulla di machine learning Vincent, ma sembri così desideroso. Fai machine learning e insegnami come funziona perché non ho idea”.
E questo è stato fantastico. I professori mi hanno lasciato fare ciò che volevo e sono stato anche in grado di imparare da solo in questo modo. Ma se vuoi davvero fare la ricerca operativa adeguata e soprattutto se vuoi fare un dottorato di ricerca, è molto pesante in matematica. Questo è vero.
Un po’ troppo pesante per la mia comodità, per essere onesti. Sono un po’ più orientato verso l’applicazione delle cose, ma conosco comunque persone che finiscono per fare un dottorato di ricerca e sono sicuramente persone che dimostrano la matematica. Sono il tipo di persone che conoscono bene l’algebra lineare. Questo è sicuramente nel campo.
Attrazione per il Machine Learning
Seth : Cosa ti ha attratto del machine learning? Cosa ti ha interessato inizialmente?
Vincent : C’è sempre qualcosa di interessante nel fare previsioni. Giusto? Quindi c’è qualcosa di interessante che ho pensato. Penso che la storia più lunga, però, ricordo che un membro molto vicino della mia famiglia ha ricevuto una diagnosi medica errata.
La diagnosi sbagliata era che avevano detto alla persona che aveva una malattia molto grave e la persona invece non ce l’aveva. E lo abbiamo scoperto appena in tempo, grazie a Dio. Ma avrebbero potuto prendere alcune decisioni molto strane nella vita, come vendere immediatamente la casa a causa di quella decisione. Così mi ha fatto pensare, ok, c’è una conseguenza definita nel prendere decisioni sbagliate. Qualsiasi cosa possiamo fare per prendere decisioni migliori è interessante.
E forse c’è qualcosa in questo machine learning. L’intera idea che si cerca di imparare di più dai dati usando una macchina, c’è qualcosa di plausibile in questo. Sembra molto interessante. Quindi è stato intorno al momento in cui ho pensato: “Ehi, sì, vediamo se questi algoritmi potrebbero essere in grado di fare qualcosa”.
E poi le prospettive di carriera si sono rivelate incredibili. Quindi questa è un’altra motivazione per entrare in quel campo. Ma la scintilla iniziale è stata una decisione sbagliata. Ecco come ho iniziato a pensare che forse ci sono sistemi che possiamo migliorare qui.
Calmcode
Seth : Molto interessante, e parleremo di machine learning tra poco. Ma avere il creatore e il manutentore di calmcode, che è una risorsa incredibile.
[Vincent ride]
Seth: No, non c’è niente di cui ridere. Calmcode è incredibile.
È nelle prime due o tre cose che consiglio a ogni nuovo data scientist. Il modo in cui scomponi cose davvero complesse in un modo bello, calmo, logico e razionale è estremamente prezioso.
Vincent: Felice di sentirlo.
Seth: Quindi puoi parlare un po’ di calmcode e perché l’hai creato? E bene, cos’è? Dai a tutti una panoramica.
Vincent : Quindi innanzitutto, felice di sentirlo – che ti piace calmcode. Sono felice di sentire che aiuta. Quindi, fondamentalmente, la storia dietro calmcode è che, ad un certo punto, stavo guardando il contenuto educativo intorno alla scienza dei dati. E, come educatore, ho iniziato a notare che c’è così tanto schifo.
Per dare un esempio, il tutorial numero uno, forse quattro o cinque anni fa, su come funziona scikit-learn, cosa è successo con questo dataset chiamato Load Boston, che riguarda i prezzi delle case di Boston. Ci sono così tanti tutorial che usano quel dataset, dai libri O’Reily a molti pacchetti open source. Ma poi guardi i dati e scopri che una delle variabili che usano per prevedere il prezzo delle case è il colore della pelle.
Ho dimenticato il nome esatto, ma era qualcosa come la percentuale di neri nella città. Non vuoi metterlo nel modello predittivo. È davvero, veramente una cattiva idea. Inoltre, perché questo dataset è su scikit-learn? Perché così tante persone lo usano?
Quindi ciò ha portato a molta frustrazione da parte mia. E poi ho anche notato che ci sono questi corsi aziendali che usano Load Boston che addebitano mille dollari al giorno. E guardi, vai un po’ a pensare, questo è un casino. E poi ho pensato che se sono così frustrato, forse posso ottenere energia mettendo queste cose a disposizione gratuitamente.
Sapevo di avere conoscenze sufficienti per poter insegnare questi argomenti perché li ho già insegnati. Ma ho anche notato che gran parte di questo contenuto educativo sembra concentrarsi più sul creatore e meno sull’idea stessa. Quindi ho pensato che sarebbe stato un po’ come un divertente piccolo esperimento. Se dovessi creare una piattaforma di apprendimento, come farei? Ed è così che è stato creato CalmCode.
L’idea è che tu abbia un massimo di cinque video di un minuto per spiegare un singolo argomento e la sequenza di quelli può essere un piccolo corso su pandas o un piccolo corso su qualsiasi cosa.
…per ogni singolo argomento posso dire, è questo uno strumento tranquillo? È qualcosa che rende la tua giornata migliore? E se la risposta è forse no, allora semplicemente non lo insegno.
Ciò che mi piace di fare la cosa di calmcode è che per ogni singolo argomento posso dire, è questo uno strumento tranquillo? È qualcosa che rende la tua giornata migliore? E se la risposta è forse no, allora semplicemente non lo insegno, il che è anche uno dei motivi per cui non insegno Spark, ad essere onesto. Perché installarlo è solo un tale dolore. E a volte ci sono modi più semplici per analizzare i dati anziché ricorrere a uno strumento di big data molto grande.
Quindi è solo un ambiente di apprendimento molto opinabile che le persone sembrano apprezzare molto. Ho ricevuto molte risposte molto gentili. Da quando è arrivato il bambino, faccio molto meno.
Ma è stato molto bello vedere solo questo mio piccolo progetto di hobby senza distrazioni che è molto tranquillo. Sembra che stia attirando tra dieci e ventimila persone al mese. E ottengo molte persone che mi comprano birre alle conferenze fuori dal blu. Questo tipo di cose è abbastanza cool.
Seth: Sì. È una grande risorsa. Sicuramente restituire, creare un luogo in cui i data scientist possono andare per imparare qualsiasi cosa. Ti sei mai trovato a tornare a un vecchio calmcode per rinfrescarti su alcune di queste competenze?
Vincent: Sì. Questo è un altro motivo. Quindi una cosa che calmcode ha dimostrato di essere abbastanza utile per me è che è un po’ come una libreria di frammenti. Perché conoscevo il corso che avevo fatto e sapevo di aver menzionato questo corso e ho bisogno di un file di configurazione, dove si trova?
Oggi stesso, stavo guardando il mio corso di typer perché avevo bisogno di “oh, come funzionano di nuovo le opzioni? Copia e incolla.” Quindi è anche quasi uno strumento di frammenti da me in questo momento. Non l’obiettivo originale, ma è qualcosa che sembra stia succedendo.
E anche, sto costruendo una ricerca per calmcode adesso. È un po’ come un progetto di hobby. Sto contemplando, hey, forse la cosa principale che la funzione di ricerca dovrebbe fare è semplicemente trovare i frammenti giusti, che è un problema di ricerca interessante di per sé.
Ma sì, totalmente, ho bisogno di un promemoria anche io. Ci sono molti corsi. Non li ho tutti in testa, tutto il tempo. Guardo ancora le mie cose in questo senso. Sì.
Seth: Sì. È una buona risorsa per te che puoi consumare e che è diventata anche qualcosa che molte altre persone possono usare. Sto cercando di pensare al mio primo utilizzo. Credo fosse, tipo, args kwargs, che è uno dei primi lì. Sì. Lo ripasso ogni tanto.
Vincent: Bello. Sì. Bello.
Seth: Grazie.
Vincent: Beh, allora mi piacerebbe farne di più.
Ma il semplice fatto della questione è che la mia vita è un po’ diversa ora a causa del bambino. Quindi, ci sono così tante idee che ho che potrei fare con calmcode. Una cosa che mi piace anche del progetto è che non posso dedicare alcuno sforzo ad esso e il sito funzionerà comunque. Giusto. Quindi è anche il design tranquillo di esso.
Mi piace molto avere un progetto di hobby in cui è impossibile rompere nulla. E se qualcosa si rompe, è super facile da riparare perché si tratta solo di un sito web statico. Quindi questo lo rende super facile.
Seth : Se non ci fossero vincoli di tempo o di risorse, cosa faresti per migliorare calmcode?
Vincent : Ci sono un paio di corsi in particolare che mi piacerebbe fare. Uno di essi riguarda solo gli embedding, penso che ci sia un po’ di hype intorno ad essi, ma anche solo il fatto che gli embedding possano fare cose diverse e ci siano ragioni per cui funzionano. Ma non risolvono ogni problema e posso fare un corso divertente in cui si parte dagli embedding delle lettere e si passa ad altri embedding e immagini, e poi si mostra anche come possono fallire. Penso che potrebbe essere super cool.
Anche le cose del Bayesian MCMC [Markov Chain Monte Carlo] sarebbero belle da avere perché si possono creare modelli molto articolati, che è un trucco che non abbastanza persone apprezzano abbastanza.
E poi mi piacerebbe avere una nuova sezione sul sito, che riguarda tutte le demo e i benchmark. E questo perché penso che sia molto difficile sbagliare un benchmark. Tutti i benchmark sono sbagliati, ma alcuni di essi possono essere molto illuminanti. E penso che celebrare un po’ di più questo aspetto sarebbe anche divertente. Ho alcuni esempi pronti, ma non ho tempo per produrli.
Ma cose come, hey, cosa puoi fare per far convergere un po’ più velocemente gli algoritmi numerici. La standardizzazione aiuta davvero o no? E, esplorare questo un po’ potrebbe essere solo super divertente.
Cose del genere sono nella mia mente. C’è sempre qualcosa da fare. E, come, un’altra cosa su cui sto giocando è, come sarebbe divertente collaborare a quel progetto? Forse. Non lo so. Ma ovviamente, non c’è fretta. Quindi va bene anche se non dedico tempo ad esso in questo momento. Va bene anche così.
Open Source
Seth : Sì. Fantastico. Cambiando un po’ argomento, parliamo di alcuni dei tuoi lavori open source. Penso che la prima libreria tua a cui sono stato esposto sia stata bulk. Forse qualcos’altro prima di quella, ma quella era la prima che usavo veramente. E poi hai anche embetter, human-learn, whatlies, doubtlab, cluestar. Quelle sono quelle con cui sono più familiare. So che ce ne sono altre due o tre dozzine.
Vincent : Sì. Una piccola dozzina a questo punto.
Seth : Quando decidi che – questo progetto merita una libreria open source? Quando pensi che sia uno strumento?
Vincent : Aiuta un po’ spiegare come è iniziata la cosa dell’open source. Quindi, il mio primo progetto open source che ho messo su PyPI si chiamava evol, che è fondamentalmente un DSL per la programmazione evolutiva. L’ho fatto con un mio collega. Era un’idea molto carina. E volevo avere la mia piccola libreria.
Quindi cercavo un problema. E poi ho scoperto che, se ho un oggetto di popolazione e un oggetto di evoluzione, questi due possono interagire in modi carini e super facili da fare algoritmi genetici. Va bene. Bella libreria, ho fatto un sacco di presentazioni su quello.
Ma poi, ad un certo punto, ho imparato a fare pacchetti Python. E poi ero un consulente, e ho iniziato a notare che in diversi clienti scrivevo gli stessi componenti di scikit-learn. Quindi ho pensato, devo avere una libreria con questi componenti che continuo a riutilizzare. Ed è così che è nato scikit-lego, ed è così che mi sono familiarizzato con l’ecosistema di scikit-learn.
E poi, ho iniziato a lavorare in Rasa. E lì facciamo molti benchmark sulla classificazione delle frasi perché Rasa costruisce chatbot. E quando si costruiscono chatbot, arriva una frase e dobbiamo capire l’intento. Ok. Quindi ho scritto un paio di strumenti di benchmarking perché era quello che mi serviva e alcuni di questi possono essere open source.
Whatlies ne è un esempio perché volevo avere una libreria in cui molto rapidamente potevo avere molti embedding non in inglese e vedere se erano migliori. E poi è emerso che c’è tutta una comunità non in inglese intorno a Rasa che era super interessata a questo.
Quindi ho potuto costruire alcuni plugin di Rasa per supportare tutti questi strumenti non in inglese. E, poi, ad un certo punto, ho iniziato a mantenere le mie proprie librerie, e ho notato che ho bisogno di alcuni test unitari per i miei documenti perché non voglio che i miei documenti si rompano. Quindi ho fatto alcuni strumenti per aiutarmi a farlo. Mktestdocs – Questo è uno di questi strumenti.
Ho notato che i test su Rasa stavano funzionando molto lentamente, così ho creato pytest duration insights per capire quali test erano i più lenti. E si può vedere come tutte queste cose si accumulano, ma è sempre perché ho una nuova ispirazione. Il mio modo preferito di operare è farlo in pubblico.
E naturalmente, ci sono strumenti che non posso fare in pubblico. Lavoro in un’azienda. Alcuni strumenti sono privati. E va bene. Ma la maggior parte delle volte, ho incontrato un problema e voglio solo essere in grado di risolverlo di nuovo in seguito con un minimo sforzo. E poiché ho già creato dei pacchetti, è solo super facile da ripetere.
E così è successo anche con doubtlab, e anche con embetter, e onestamente anche con bulk. È solo che ad un certo punto ho capito che ne avevo bisogno per il mio lavoro. È bello averlo intorno, quindi lo confezioniamo e andiamo a costruire in pubblico, e questo funziona molto bene per me. Questa è la storia principale.
Seth: Sì. Molto bello. Ed è una grande storia. Sembra che costruendo uno strumento, si acquisiscono determinate competenze, e poi una cosa porta all’altra, e non è poi così difficile.
Una volta che, immagino, hai circa tre dozzine di strumenti incredibili, aggiungere quel trentasettesimo strumento.
Vincent: Sì, ma voglio fare un commento perché penso che in generale, se guardo alle aziende che ho visitato, con il mio background di consulente, penso che non abbastanza persone creino i loro pacchetti Python.
Ad esempio, immagina di avere una query pandas che deve gestire le serie temporali o qualcosa che sta lavorando su questo database molto specifico. Ok. Quindi la funzione che legge i dati dal database probabilmente può essere una funzione che deve essere riutilizzata. E forse devi aggiungere sessioni o forse hai un modello di machine learning molto specifico che vuoi riutilizzare.
E per tutte queste utility, non vuoi che vivano in un notebook. Vuoi che vivano in un pacchetto Python. E ho visto che non abbastanza persone creano i loro strumenti interni, il che penso sia un peccato. Ero con alcuni colleghi esperti all’epoca e scrivevamo i nostri strumenti Python internamente.
…puoi creare pacchetti Python più spesso di quanto pensi. Quindi, costruiscine uno anche se è solo per le tue piccole funzioni di aiuto in pandas che ti piace usare.
E poiché avevamo quella abitudine, è stato anche abbastanza facile per me farne uno pubblico. Quindi, questo è un consiglio che potrei dare a una folla più generale, puoi creare pacchetti Python più spesso di quanto pensi. Quindi, costruiscine uno anche se è solo per le tue piccole funzioni di aiuto in pandas che ti piace usare. Questo è un caso d’uso del tutto legittimo.
Bulk
Seth: Sì. Per approfondire quello che ho usato di più, bulk. Puoi parlare di bulk? Quali sono i requisiti e i meccanismi in gioco?
Vincent: Sì. Potrebbe essere divertente spiegare anche come quella libreria è accidentalmente nata. Quindi avevo una libreria chiamata human-learn. Ci sono un paio di funzionalità davvero cool, ma l’intera cosa con human-learn è che come essere umano, puoi ora fare modelli scikit-learn senza conoscere nulla di machine learning. Una cosa che puoi fare è trasformare una funzione Python in un componente compatibile scikit-learn che è utile. Quindi puoi fare una ricerca a griglia sui kwargs e tutto quanto.
Tuttavia, una cosa che ho pensato fosse abbastanza cool è che di solito si vede un grafico, con alcuni punti blu qui, alcuni punti gialli lì, alcuni rossi lì. E le persone dicono, è per questo che abbiamo bisogno del machine learning e poi un algoritmo li disseziona. Ma poi ho capito che puoi solo disegnare un cerchio intorno ai punti verdi e un cerchio intorno a quelli blu e tradurre quel cerchio in un modello scikit-learn. Quindi questa è una funzionalità di human-learn. In human-learn, abbiamo componenti di bokeh che possono farlo da un notebook.
E mentre lavoravo su quello, stavo anche lavorando su whatlies su Rasa per tutti questi word embeddings. Poi ad un certo punto ho cominciato a capire che quando prendi questi word embeddings e li passi attraverso UMAP, ottieni questi cluster. E poi ho capito, oh, voglio solo selezionarli. Oh, aspetta. Ho questo strumento chiamato human-learn che fa proprio questo.
E in un’ora, avevo tutto funzionante in un quaderno. Poi l’ho mostrato ad un paio di colleghi e tutti hanno detto “Questo è super utile, Vinny. Ben fatto”. Quindi quel quaderno è stato condiviso molto.
E ora, non lavoro più per Rasa, ma ho iniziato a lavorare per questa azienda chiamata Explosion. Abbiamo uno strumento di annotazione. E ho deciso di fare di nuovo il trucco in blocco, ma non volevo farlo in un quaderno. Quindi l’ho trasformato in una piccola applicazione web che puoi eseguire localmente ed è uno dei passaggi di pre-elaborazione che mi piace usare come cosa da fare prima di iniziare ad annotare in Prodigy. Basta prendere i tuoi dati, incorporarli in un grafico 2D usando UMAP e poi di solito vedi i cluster e cerchi di esplorare quell’area, fare una selezione e basta.
È un modo molto bello per fare l’etichettatura in blocco perché i cluster tendono ad apparire da queste incorporazioni. E questo è il trucco. Queste tecniche di etichettatura in blocco funzionano abbastanza bene, ma non sono perfette. Sembrano pragmatiche abbastanza per farmi iniziare in un’ora. Ed è qui che sta il potere. Le cose che mi impiegavano sei ore, ora mi impiegano solo un’ora.
Ed è un trucco che funziona solo per iniziare, ma inizio molto con molti nuovi set di dati. Quindi per me, risolve completamente un problema. Bulk è anche uno di questi progetti in cui mi piacerebbe avere più tempo per risolvere alcuni dei problemi, ma è un piccolo trucco che funziona perfettamente e mi piace usarlo. E sembra che ci sia un piccolo gruppo di persone molto apprezzative di questo strumento, specialmente perché funziona con testo ma anche immagini. Fuori dalla scatola, fa solo questo.
Seth : Molto bello. Sì. Ho usato bulk quando era in un quaderno. So di aver contattato te. Sei stato molto generoso con il tuo tempo cercando di aiutarmi a farlo funzionare in diversi ambienti.
Vincent : Sì, il primo quaderno aveva sicuramente dei bug. Questo è sicuramente vero. Sì, sicuramente ricordo.
Seth : Ma ha comunque funzionato.
Vincent : Sì, beh, il fatto anche quando ero a Rasa, avevo l’abitudine di fare questi video. Quindi, bulk aveva anche un video di YouTube allegato, che è come molte persone hanno scoperto. E penso che ci sia questo repository che ha ancora quel quaderno, che ancora riceve stelle in questi giorni.
Ma raccomando alle persone di usare solo la linea di comando ora perché c’è meno distrazione e un po’ più stabilità.
Seth : Sì. E poi, interessante per me, mentre spostavo gran parte del mio lavoro al di fuori dei quaderni e nei programmi di script. Mi sono imbattuto di nuovo in bulk e ora sto usando di più l’applicazione web. Mi piacciono entrambi. Sono ottimi strumenti e fai un buon punto.
A volte abbassare la barriera per iniziare un problema è così importante perché poi inizi a far rotolare la palla, inizi a pensare a qualcosa e puoi fare progressi significativi. Quello che mi piace è che inizi a costruire un po’ di intuizione, esplorando i dati e inizi a pensare “Ah, ok. Questi potrebbero essere alcune categorie potenziali”.
Vincent : C’è sicuramente un aspetto di apprendimento umano coinvolto che penso sia davvero utile. Soprattutto quando ti scaricano un nuovo set di dati. Sì, puoi iniziare a lanciarlo in un algoritmo e va bene. Ma capire realmente cosa c’è nel set di dati di solito è la cosa che richiede più tempo. Ed è bello che come effetto collaterale di bulk, ti stai esponendo a questi cluster. E questo di per sé sembra abbastanza utile.
Al momento, puoi fare l’etichettatura in blocco su frasi e immagini. Una delle cose su cui sto lavorando è farlo anche per le frasi, per le sottostringhe nei testi. Quindi al momento posso incorporare l’intera frase, ma voglio muovermi verso il fatto che sia in grado di prendere ogni frase nominale in quella frase e farne un piccolo punto. Perché in questo modo, se sei interessato a fare il riconoscimento delle entità nominate o qualcosa del genere, possiamo anche fare l’etichettatura in blocco per te.
E, soprattutto, cose come i videogiochi che potrebbero essere abbreviazioni – Star Wars sono due token – sarebbe bello se potessimo trasformarlo in una singola frase. E nella nostra azienda Explosion, abbiamo molti trucchi che risolvono completamente tutto questo. È solo che ho bisogno di un pomeriggio per farlo funzionare dentro a bulk.
Ma è roba che è sulla roadmap e sono sicuramente interessato a risolvere alcuni di questi problemi.
Comprensione del problema
Seth : Sì. Quindi ho notato attraversando alcuni dei tuoi lavori. Molto si concentra sulla creazione di dataset di alta qualità. Ma qualcosa prima di questo è la comprensione del problema. E ho guardato uno dei tuoi talk PyData che parla essenzialmente di ridefinire il problema.
E hai dato un incredibile esempio su un problema in cui qualcuno sta cercando fagioli, manzo e pane.
Vincent : Oh, sì.
Seth : Puoi parlare di quello?
Vincent : Quindi questo non era il mio racconto. In realtà ho incontrato la persona che lavora presso il Programma alimentare mondiale, che si occupa di ricerca operativa. E uno dei problemi che avevano era la fame nel mondo. E a volte un villaggio con la fame dice, abbiamo bisogno di più fagioli o abbiamo bisogno di più pollo o c’è domanda per determinati prodotti. E poi parte di ciò che l’Organizzazione mondiale per l’alimentazione cerca di fare è trovare questi alimenti a basso costo.
E poi parte del quadro dei costi qui è la logistica. Quindi, possiamo mettere il cibo sul camion? E quanto costa ottenere il camion? E tutta la logistica. E come diceva questa persona, avevano definito il problema nel modo sbagliato inizialmente perché quando una persona dice, ho bisogno di fagioli, sì, possono dire quello, ma non sono i fagioli di cui hanno bisogno, sono i nutrienti. E i fagioli, sono ricchi di fibre e proteine.
Ok. Ci sono altri alimenti come le lenticchie che sono anche ricchi di fibre e proteine. E se stiamo combattendo la fame, non saremo molto schizzinosi sul fatto che abbiamo bisogno di fagioli o lenticchie. E forse se facciamo così, possiamo ottenere il cibo senza avere bisogno di un cantiere navale. Possiamo solo inviare il camion.
E solo riformulando quel problema, credo che abbiano ottenuto una riduzione del costo del cinque percento, che è un numero folle per un’operazione, per un problema su cui le persone hanno già passato anni cercando di ottimizzare. Ottenere una riduzione del costo del cinque percento è quasi impensabile, ma è stato essenzialmente perché stavano risolvendo il problema sbagliato. E la mia teoria è almeno che, come, questa è un’aneddoto di una cosa che è successa a questa persona per il Programma alimentare mondiale. Piuttosto tipicamente, tutta questa azione di riphrasing è un esercizio molto utile e forse non abbastanza di noi lo facciamo.
Un esempio in NLP, uno dei problemi che vediamo a volte sul nostro forum di supporto è, diciamo, hanno un curriculum che vogliono analizzare. E poi dicono, beh, voglio avere la data di inizio e la data di fine per ogni lavoro. Quindi voglio avere un algoritmo che possa individuare la data di inizio. E, sai, puoi costruire un algoritmo che può individuare la data di inizio, va bene. Ma se riformuli il problema in modo da trovare prima tutte le date e poi dopo capire quale sia la data di inizio e la data di fine, allora il secondo problema diventa, beh, la data di inizio è probabilmente la prima e la data di fine è probabilmente dopo quella. Oh, tutto il problema diventa molto più semplice se riformuli il problema in un approccio a due fasi invece di considerarlo di fine in fine.
E ci sono molte di queste opportunità che la gente dimentica. E io, di nuovo, per tornare a calmcode, temo che in parte alcuni dei libri di apprendimento automatico siano colpevoli perché pochi libri di apprendimento automatico ti dicono che puoi scegliere di ignorare metà dei dati se ha più senso. Puoi scegliere di risolvere un problema diverso se è più facile da risolvere. Ma questo non è il modo di pensare che sembro vedere, soprattutto con i nuovi laureati. Che è un po’ una vergogna.
Ma con quella storia del Programma alimentare mondiale, devo fidarmi della persona sul palco che me l’ha raccontata, ma è sicuramente successo. Come il Programma alimentare mondiale ha trovato un modo per ridurre il costo del trasporto del cinque percento solo riformulando un problema matematico. E sicuramente qualcosa che accade nella vita reale.
“Non è stato l’algoritmo a salvare la giornata, ma la comprensione del mondo. Un algoritmo migliore produrrebbe un risultato peggiore se fosse utilizzato per il problema sbagliato.”
Seth : Giusto, sì. E fare qualcosa a quella scala, qualsiasi tipo di riduzione, una riduzione del cinque percento è enorme. La mia citazione preferita di quella presentazione che hai detto è: “Non è stato l’algoritmo a salvare la giornata, ma la comprensione del mondo. Un algoritmo migliore produrrebbe un risultato peggiore se fosse utilizzato per il problema sbagliato.” Mi è piaciuta molto quella.
Vincent : Oh, felice di sentirlo. Quindi, ci sono altre aneddoti in quella storia. Ma se le persone sono interessate a questo, c’è un ricercatore operativo, [Russell] Akhoff.
E ha scritto un articolo intitolato Il Futuro della Ricerca Operativa è Passato, che ha scritto negli anni ’80. Sostanzialmente, spiega perché gli algoritmi della ricerca operativa possono fallire. E le ragioni sono legate a questa aneddoto. La ragione per cui voglio portare questo esempio è perché alcuni di questi argomenti funzionano anche per la scienza dei dati. È un articolo degli anni ’80, ma tutti dovrebbero leggerlo: Il Futuro della Ricerca Operativa è Passato.
E ho scritto un articolo simile chiamato Il Futuro della Scienza dei Dati è Passato solo ripetendo un paio di quegli argomenti. Ma spesso le persone dimenticano che l’algoritmo è solo una parte del sistema, siamo interessati a costruire un sistema migliore, non una parte migliore. Quindi, se stai costruendo una parte migliore che non si adatta al resto, non è una parte migliore perché non ottieni un sistema migliore.
Ma spesso le persone dimenticano che l’algoritmo è solo una parte del sistema, siamo interessati a costruire un sistema migliore, non una parte migliore. Quindi, se stai costruendo una parte migliore che non si adatta al resto, non è una parte migliore perché non ottieni un sistema migliore.
Un’altra cosa che Akhoff fa molto bene nei suoi libri, spiega fondamentalmente molte di queste teorie sui sistemi. E una citazione che posso raccomandare alle persone di pensare di più è che invece di fare, diciamo, una parte migliore. Invece di pensare “Ehi, forse c’è una parte del sistema che possiamo ottimizzare”. Forse invece prova a vedere se puoi migliorare la comunicazione tra due parti. Perché se ci pensi da una prospettiva di sistema, facendo questo, stai ottimizzando due cose.
E inoltre, stai ottenendo chiarezza, quindi è sempre buono. Ed è sicuramente questo tipo di pensare a un problema riducendolo a un singolo numero e non considerando nient’altro. Questo di solito è un labirinto dove le persone si perdono anche nella scienza dei dati, penso.
Seth : Sì. È molto interessante perché penso che ci siano molti casi in cui le persone affrontano i problemi e talvolta si concentrano sui moduli diversi e hanno questo modo modulare di pensare alle cose e dicono, oh, se rendo questa cosa la migliore che può essere, allora l’intero sistema sarà migliore. E in alcuni casi, farà un grande miglioramento. Ma altre volte, è molto importante capire il sistema di supporto e come si integra. Mi ricorda che devi avere buoni test di integrazione e devi assicurarti che tutto si adatti correttamente al sistema.
Vincent : Per dare un aneddoto qui, l’ex CEO di bol.com ha scritto questo nella sua autobiografia. Quindi, bol.com è come l’Amazon olandese. Amazon non è così grande qui. Bol.com è fondamentalmente Amazon, ma blu e olandese – è una cosa che abbiamo qui.
Ma hanno assunto il loro primo scienziato dei dati a un certo punto. E questo libro ha un capitolo su quello – cosa è successo quando abbiamo avuto il nostro primo scienziato dei dati? E nel libro, il primo scienziato dei dati è ritratto come una sorta di persona arrogante. Che si lamenta sempre che tutti questi esseri umani non sono così buoni come il mio algoritmo.
E poi una delle cose che fa è capire che c’è un momento ottimale per tweettare sui nuovi videogiochi che escono sui loro canali social e così via. Quindi, è una cosa che ha fatto. In Olanda, abbiamo questa cosa chiamata Giornata della Memoria. E credo che sia alle sette, potrebbe essere alle otto, ma durante la Giornata della Memoria, ricordiamo la Seconda Guerra Mondiale. E fondamentalmente, l’intero paese rimane in silenzio per due minuti.
Potresti aver visto alcune foto in cui le persone sulle loro biciclette che consegnano le pizze si fermerebbero, stare immobili per due minuti. È una cosa che le persone prendono molto seriamente. Quindi alle sette durante la Giornata della Memoria sarebbe un momento molto sbagliato per tweettare sul nuovo gioco di spari di Call of Duty in cui puoi sparare a un sacco di persone. E sarebbe particolarmente brutto se tweettassi che sei super eccitato all’idea di sparare alle persone durante la Giornata della Memoria. Ma è esattamente ciò che è successo perché il suo algoritmo ha determinato che le sette erano l’ora ottimale per iniziare a tweettare su questo tipo di cose.
E ci sono così tante di queste storie. Giusto? E, da soli, sulla carta, non posso necessariamente biasimare lo scienziato dei dati per fare il suo lavoro. Ma questo è il problema dei sistemi. Il gruppo uno ha preoccupazioni che qualcosa potrebbe andare storto, il gruppo due no.
Se li fai semplicemente parlare tra di loro, di solito il mondo diventa un posto migliore. Questo è il tema, direi.
Seth: Quando hai la risposta al tuo problema e ti chiedi se ha senso, questo è a volte un piccolo passaggio che molte persone saltano, ed è estremamente importante.
Vincent : Voglio anche riconoscere che è difficile, giusto? Penso che chiamare .fit e .predict siano le parti facili.
E’ tutto il resto che è più complicato. Soprattutto quando si considerano temi di equità, tutte le cose che possono andare storte, possiamo davvero sapere tutto in anticipo? Non so se si possa sempre.
Per fare un applauso però? C’è questo progetto. Si chiama deon, la checklist Deon. C’è un corso calmcode.
Deon è una checklist per la scienza dei dati. Quindi solo un mucchio di cose che sono andate storte in diverse aziende dove ci sono articoli di giornale, che spiegano come sia diventata la situazione. Hanno solo una checklist di cose che dicono “Ehi, controlla questo prima di pubblicare perché possono esserci problemi”. E per ogni elemento di quella checklist, hanno anche due articoli di giornale di cose che sono successe nel passato. Quindi tu, come scienziato dei dati, puoi andare dal tuo capo e dire: “Voglio ridurre il rischio perché questo è andato storto.”
E’ un progetto davvero interessante perché hanno fatto la raccolta adeguata di aneddoti, che è un atto potente in questi tempi.
Domande senza risposta in Machine Learning
Seth : Sì, al cento per cento. Avere una storia connessa a qualsiasi cosa nella scienza dei dati è sempre prezioso.
Per allontanarci e parlare di machine learning in generale, qual è una domanda importante che ritieni rimanga senza risposta in machine learning?
Vincent : Ok. Ero a bere ad una festa dopo PyData. E un paio di persone sono venute da me, e queste erano persone che considererei relativamente anziane. Conoscevano le cose loro e mi hanno chiesto di prevedere il futuro del machine learning.
E avevo un po’ voglia di fare una battuta perché, sai, sei al bar. Non ero veramente incline ad andare veramente in profondità su questo. Come battuta, ho pensato di dire: “Sai cosa penso del futuro della scienza dei dati, le persone si renderanno davvero conto della quantità di assurdità che c’è nel nostro campo. E forse dovremmo smettere del tutto”.
Ma ho deciso di pensarci di più e dirò che c’è un po’ di verità in questo. Ho un po’ paura che forse molte delle cose che stiamo facendo siano più una questione di hype invece di, siamo sicuri di capire il problema?
Quindi cosa manca al machine learning? Beh, forse ne stiamo facendo troppo. Questo è un po’ il sentimento che ho.
E naturalmente, il machine learning ha un posto nel futuro. Sicuramente accadrà, ma non deve essere tutto. Questo è un po’ più la cosa di cui ho paura.
C’è un autore che scrive un libro sull’artificialità strana. Proprio tutto il materiale strano che l’intelligenza artificiale può produrre.
E il libro si chiama, Tu sembri una cosa e io ti amo di Janelle Shane. Leggilo. Il libro inizia dicendo che ho tutti questi testi di Tinder, e voglio che un algoritmo trovi il miglior testo di Tinder da inviare. E l’algoritmo è arrivato a “Tu sembri una cosa e io ti amo”. Che è una cosa brillantemente divertente, ma non è la cosa che dovresti inviare, penso, su Tinder.
Ma il libro è pieno di questi esempi in cui devi fare attenzione che la stupidità artificiale non stia accadendo allo stesso tempo. Giusto? Ci sono molti esempi in cui accade. Come, la cosa di Call of Duty è solo un esempio.
Mi trovo un po’ come il vecchio brontolone che urla alle nuvole. Un po’ tipo, “certo, il machine learning ha un posto, ma possiamo farne a meno per prima cosa?” Prima prova la cosa semplice perché è qualcosa che le persone sembrano dimenticare di fare. E questo è un’urgenza più pressante, personalmente.
Seth : In una vena simile a tutto ciò che sta accadendo nel processing del linguaggio naturale proprio adesso con i modelli generativi e ChatGPT. Come vedi il divario tra hype e realtà? Sono entusiasta di ottenere il punto di vista del vecchio brontolone su questo.
Vincent : Quindi sto giocando professionalmente con queste cose. Se dai un’occhiata, la repository Explosion ora è openai/prodigy recipes. Questo è il nome della repository. Quindi stiamo sperimentando un po’, tipo, hey, può ChatGPT dire, ecco una frase, rileva tutte le date.
Così possiamo pre-evidenziarlo nella nostra interfaccia prodigy. È qualcosa che stiamo esplorando in questo momento. E si scopre che è davvero bravo in alcuni di questi esempi. E in altri è davvero cattivo. Non capiamo ancora del tutto il motivo.
Ma riconosco che può essere abbastanza utile. Se è qualcosa che puoi usare per ottenere dati di formazione migliori più velocemente perché l’annotazione è molto più facile dicendo sì o no è più veloce che evidenziare ogni singolo elemento nell’interfaccia utente. Questo sembra totalmente giusto.
Quello che penso sia un po’ più preoccupante, però, è che le persone dicano “oh, è magia. È così che funziona. È magia.” Non è magia. Questo è in qualche modo come la cosa della catena di Markov in cui prevede solo la prossima parola. E puoi immaginare che se gli dai abbastanza testo e abbastanza potenza di calcolo, potresti essere in grado di generare del testo molto plausibile che potresti trovare su Internet. Poi puoi fare domande, tipo, sta generalizzando? O sta solo ricordando?

E, quelle sono tutte domande legittime. Ma non è ancora intelligenza. Non è un vero ragionamento. E ho molti esempi stupidi che dimostrano che non sta succedendo un’intelligenza effettiva sotto il cofano.
Detto questo, finché c’è un umano nel loop e si dimostra utile e produttivo, allora penso che vada bene. Ma di nuovo, questo è quando indosso la lente degli interessi professionali. Ci sono, naturalmente, fattori dannosi che penso debbano essere presi in considerazione anche. Puoi sicuramente inviare più email di massa in blocco e forse avere più bot Twitter e tutte quelle cose di cui non vado particolarmente fiero.
Quindi comunque, questo è un aspetto. Un’altra cosa che voglio anche evidenziare perché ho anche provato la cosa di Midjourney. Ho provato a generare carte Magic: The Gathering.
Seth : Okay. Li ho visti e sono abbastanza divertenti.
Vincent : Ho pensato che sarebbe stato divertente a un certo punto dire, hey, facciamo carte Magic: The Gathering di orchi in ufficio. Avresti un orc warlord product manager e un orc venture capitalist e un orc TED keynote speaker. E subito, questa idea è abbastanza divertente perché se pensi all’ufficio, pensi a un completo grigio opaco. E se pensi a un orco, pensi a World of Warcraft e a un guerriero, eccetera. Quindi, questo era abbastanza divertente.
Ma poi la domanda successiva è, possiamo effettivamente generare le immagini davvero divertenti? E questo si è rivelato piuttosto difficile. Quindi ho questa immagine di un paladino orco, completamente coperto di ferro praticamente, dietro al computer. E pensi, okay, data engineer, abbastanza bene. Questo è già abbastanza divertente.
Ma volevo che questo orco fosse un data analytics engineer perché stanno parlando di data lake. E poi ho pensato che la cosa divertente sarebbe stato un pesante orco con armatura ma con un piccolo boccaglio giallo che esce dal casco. Sarebbe stata la cosa più divertente. E per la vita mia, non sono riuscito a farlo generare un boccaglio giallo.
E inizi a pensare a perché potrebbe essere. E poi pensi anche, tipo, bene, Vincent, stai già un po’ esagerando ad avere questi stili di World of Warcraft Dungeon and Dragon in un ufficio. Il fatto che quei due stili siano anche compatibili è già un po’ una forzatura. Figuriamoci che generi anche qualche sorta di boccaglio strano da esso. Giusto?
Quindi se le persone considerano questi strumenti come magia, il miglior consiglio che ho è cercare di pensare a un compito strano e imbarazzante che cerca di toccare dove sono i limiti di dove questi algoritmi sono a loro agio, e questo di solito ti darà esempi che possono aiutarti a considerare che non è davvero magia ciò che sta accadendo. C’è solo questo; Sta cercando di ricordare. Sta cercando di generare cose che ha visto prima. E ci sono molti esempi di casi limite in cui questo tipo di cose è solo “Sembri una cosa e ti amo.” Leggi quel libro. Ha esempi davvero convincenti e lo stile del libro è anche incantevole. Lo consiglio vivamente.
Apprendimento automatico generativo e predittivo
Seth : Grazie. Sì, darò un’occhiata. Penso che i modelli generativi siano molto interessanti perché, a differenza dei modelli predittivi in cui ad esempio si sta facendo la categorizzazione del testo, in cui è possibile sapere se è corretto o meno? Di solito c’è una verità fondamentale. Con i modelli generativi, invece, quando si sta facendo qualcosa come creare un orco che indossa una maschera subacquea, come si fa a sapere che sia corretto?
Non è così semplice.
Vincent : Di quante etichette di foto non correlate hai bisogno per generare effettivamente quella? Giusto? Oh, ma anche qui è ovviamente parte della soluzione, l’interfaccia utente. Ci sono cose straordinarie che puoi fare avendo il testo come input. Ma in questo caso, va bene anche così. Siamo quasi lì. Voglio solo selezionare la regione intorno all’elmetto in cui deve apparire un boccaglio giallo.
Qualcosa del genere accadrà ad un certo punto, e questo renderà questi sistemi migliori. E poi posso passare agli elfi d’impresa e trovare qualche altro caso limite. Giusto? E questo sarà un processo continuo.
Ma, sì, in generale, perché hai menzionato la verità fondamentale – la verità fondamentale è anche complicata. Ed è anche da qui che deriva molta stupidità artificiale. E la mia lamentela personale riguardo a questo – quindi considera la classificazione delle immagini, la famosa cosa del gatto e del cane: questa è una foto di un cane o una foto di un gatto?

La classificazione standard direbbe, okay, questo è un compito binario. Ma poi ti rendi conto che ci possono essere foto senza gatti o cani. Quindi, abbiamo bisogno di tre classi? Va bene. Cosa fai con le foto che hanno sia un gatto che un cane? Ah, sì. Okay. Anche questo può succedere, giusto.
Okay. La realtà è più complessa. E cosa facciamo allora?
Bene, forse dobbiamo dire, c’è un cane nella foto? Sì o no. E c’è un gatto nella foto? Sì o no. Forse quelli dovrebbero essere solo due classificatori binari. Forse sarebbe più sensato. Okay. Cosa fai quando ci sono quattro cani nella foto?
Di nuovo, più inizi a pensarci, più ti rendi conto che la classificazione del testo anche ben definita non si mixa sempre bene con la realtà. E anche se hai etichette di verità fondamentale, devi chiederti, beh, le etichette di verità fondamentale forse non si mixano con la realtà nemmeno se è definita come un compito di classificazione perché una frase può trattare più di un argomento e la foto può trattare più di una cosa anche.
Quindi, fare un passo indietro e chiedersi, beh, alcune di queste cose possono essere dettagli fintanto che capiamo veramente il problema, ma forse dovremmo concentrarci su quello. Forse dovremmo saltare l’ottimizzazione degli iperparametri e preoccuparci solo di – capiamo veramente il problema?
Seth : Sì. È un punto molto valido. Penso che quando si affronta un problema, le persone tendono a saltare alla soluzione. Se stai facendo qualcosa come la classificazione del testo – oh, okay. Creerò un classificatore di testo multi-classe. Beh, si scopre che non è mai così semplice. Giusto?
È davvero multi-etichetta. Dovrei usare una gerarchia? Dovrei fare questo? Dovrei fare quello? E, sai, capire meglio il problema ti aiuta sempre a capire di più. È molto più prezioso che fare l’ottimizzazione degli iperparametri su quel classificatore di testo multi-classe originale.
“Il modello può fare un passo, ma il tuo sistema può farne due o tre se necessario. Quindi, sentiti libero di considerare il sistema a due passaggi in cui abbiamo un paio di classificatori che rilevano un paio di proprietà, e poi abbiamo un sistema basato su regole dopo che dirà, ‘Okay, questa combinazione di cose sembra interessante. Andiamo per quella’. Le persone dimenticano il sistema basato su regole che può essere costruito sopra. Ed è, sai, un po’ un errore. Ma è anche, come l’80% delle volte, anche la soluzione.”
Vincent : Bene, quindi la cosa principale, ho un po’ di consigli in generale. Sono sul forum di Prodigy e aiuto alcuni utenti di SpaCy con i loro problemi. Il consiglio più generale che do alle persone in questo campo è di considerare che forse il modello può fare un passo, ma il vostro sistema può farne due o tre se necessario. Quindi sentitevi liberi di considerare il sistema a due passaggi in cui avete un paio di classificatori che rilevano un paio di proprietà, e poi abbiamo un sistema basato su regole dopo che dirà: “oh, ok. Questa combinazione di cose sembra interessante. Andiamo per quella”.
Le persone si dimenticano del sistema basato su regole che può essere costruito sopra. E questo è un po’ un errore. Ma è anche, come l’80 percento delle volte, anche la soluzione. Quindi fate ciò che volete con queste informazioni, caro pubblico, ma penso che ci sia un approccio a due passaggi che funziona sicuramente in generale.
Seth : Penso che sia un ottimo consiglio, soprattutto ora con tutta l’hype con il deep learning. Penso che siamo ancora in un mondo in cui trovare la giusta combinazione tra modelli di machine learning ed euristici, a volte abbastanza basilari, spesso produce i migliori risultati.
Influenze
Seth: Passiamo alla porzione di apprendimento dal machine learning del nostro discorso. Inizieremo con questo. Chi sono alcune persone nel campo del machine learning che ti influenzano?
Vincent : Ho avuto alcuni colleghi diretti davvero incantevoli con cui ancora esco. Quindi, ovviamente, quelli. Quando ho iniziato, stavo imparando R, quindi Hadley Wickham era una persona a cui guardavo sicuramente molto. E l’ho anche incontrato in un paio di occasioni, il che è super cool. Ha fatto un corso avanzato, tipo, cinque anni fa, ed ero un TA. Grande grande esperienza, ho incontrato il ragazzo.
Katharine Jarmul è una persona che mi viene in mente. Era una delle promotrici di PyLadies, ma è anche stata una grande sostenitrice della privacy e dell’equità nel machine learning. E ha revisionato le mie diapositive in passato per un paio di presentazioni ed è semplicemente fantastica. Mi viene in mente.
Vicki Boykis, penso, è una delle persone più divertenti – merita molto più credito per shit posting, è fantastica. La cosa NormConf è stata anche una cosa incredibile che ha contribuito a far partire, è stata fantastica.
E poi Bret Victor, penso, ha il miglior discorso che abbia mai visto, che mai vedrò. Il futuro della programmazione di Brett Victor. Questa è una cosa che guardo ogni anno, praticamente. È la cosa più sbalorditiva, più ispiratrice che abbia mai visto. Non ti dirò di cosa si tratta. Guardala solo.
Seth : Non vedo l’ora di vederla.
Vincent : E poi, suppongo, [Russel] Ackoff, ma la cosa principale con Ackoff era che ho fatto tutta questa laurea magistrale in ricerca operativa e poi un professore stava per andare in pensione e io ero uno dei relatori alla sua festa. E poi ad un certo punto, ha detto che il motivo per cui ti ho voluto qui è perché mi ricordi molto Ackoff. Ho detto: “chi è lui?”
“È questo incredibile ragazzo. Compra il suo libro”. E poi leggi queste cose. È come me negli anni ’80. Quindi questo è stato sicuramente anche una buona fonte di ispirazione.
… il Joe medio è piuttosto ispirazionale, ma il Joe medio non pensa di dover essere sul palco.
Una cosa che voglio menzionare riguardo a questo è quando stavo organizzando un PyData. Pensate un po’, “ok, chi sono i buoni relatori principali e chi sono i buoni relatori invitati, eccetera”. E la mia impressione è che il Joe medio è piuttosto ispirazionale, ma il Joe medio non pensa di dover essere sul palco.
E il miglior esempio di questo è, a PyData London, c’era una normale presentazione di un ragazzo che stava costruendo droni per trovare specie di oranghi in pericolo nella foresta pluviale del Borneo.
Seth : Wow!
Vincent : E aveva la stanza piccola, ma la sua presentazione era incredibile. Quindi ho pensato, vaffanculo. Sei il relatore principale ad Amsterdam. È la cosa più incredibile che abbia mai sentito. Questo è il tuo hobby.
Quindi è stato il relatore principale l’anno successivo. Ed era grato e molto divertente. Ma non si era reso conto che quello era materiale da relatore principale. E allo stesso modo, ho letto questo post una volta in cui un ragazzo stava cercando di capire quali parole sono le più metal. E il modo in cui ha fatto ciò è stato allenando una catena di Markov enorme su testi di metal e testi non di metal. E la conclusione del post era che la parola meno metallica è la cooperazione perché appare nel corpus solo una volta. E leggi questo, è incredibile. Perché stai applicando correttamente la teoria su un problema piuttosto divertente e stupido, forse.
Ma c’è passione qui. E il ragazzo, quando mi sono avvicinato a lui, [ho detto] che devi davvero candidarti per PyData. Non devo revisionare la tua cosa, penso che sarai dentro.
E semplicemente non gli era venuto in mente che questo fosse qualcosa che potesse fare. E mi piace pensare che ci siano molte altre persone che soffrono di questo, che potrebbero avere un momento grandioso e ispiratore, ma non considerano di poterlo condividere. E naturalmente, alcune persone sono adeguatamente introversi, il che va anche bene. Ma una lezione che ho imparato a PyData è che l’ispirazione può venire davvero da angoli sorprendenti che non ti aspetti. Quindi non concentrarti troppo sui grandi nomi.
Questo è anche vero.
Seth : Yeah. Uno dei migliori tipi di persone è molto umile e fa un lavoro così buono e si può capire quanto gli importa ciò che fanno e quanto, non so se l’orgoglio sia la parola giusta, ma prendono il loro lavoro molto seriamente. Gli importa..
Vincent : Gli importa, sì. Puoi essere la persona più intelligente, ma se non ti interessa il tuo argomento, non sarà un discorso eccezionale.
E diciamo che forse hai tagliato un paio di angoli, ma hai calcolato il Pokemon ottimale. Non lo so, qualcosa del genere. Può comunque essere un grande discorso.
E ancora una volta, più persone dovrebbero farlo. Se le persone sono interessate a fare più blog e discorsi, considera i Lightning Talks e i post di blog molto brevi chiamati “Oggi ho imparato”. Il mondo ne ha sicuramente bisogno di più. E sono felice di vedere PyAmsterdam, il meetup, una volta all’anno, fanno il meetup di Lightning Talk, dove dieci persone danno presentazioni di cinque minuti.
Quei meetup tendono ad essere incredibili. Qualsiasi organizzatore di PyData che ascolta, sentiti libero di rubare questa idea. Quei meetup sono sempre divertenti.
Consigli sulla carriera
Seth : Molto interessante. Hai dato molti consigli finora, ma voglio chiederti, qual è un consiglio o qualcosa che ti è rimasto impresso che ti ha aiutato nel tuo percorso di apprendimento automatico o di carriera.
Vincent : Ho ricevuto questo molto presto nella mia carriera. Il mio ex CTO con cui esco ancora mi ha dato dei buoni consigli di carriera quando avevo ventitré anni. E ha detto: “Fai attenzione a ottenere un aumento. Perché se il tuo lavoro inizia a guadagnare molti soldi, ma sta diventando noioso, allora i soldi potrebbero essere il motivo per cui rimarrai.”
E questo è una cosa pericolosa all’inizio della tua carriera perché forse devi capire cosa ti piace nella vita. E forse devi capire cosa ti fa andare avanti. E se ti concentri troppo sui soldi, è un po’ come concentrarti troppo sulla metrica. Stai sovra-ottimizzando per qualcosa che potrebbe non contare così tanto. Quindi è stato un consiglio piuttosto interessante, un po’ sul lato meta. Ma penso che in generale, sono stato in grado di applicarlo abbastanza bene.
Di nuovo, parlare con privilegi qui. Giusto? Ma sono stato in grado di applicarlo. Quindi è stato bello.
Un’aneddoto strano, ma è sorprendentemente ispiratore anche. Quindi ho molti amici che non fanno nulla nella scienza dei dati. E amo questo. Sono nerdy Vincent, e quando bevo birra con loro, dicono, smetti di essere nerdy Vincent, sei tra persone normali, puoi parlare solo della vita adesso.
E vivo in un quartiere in cui conosci tutti i tuoi vicini, praticamente. Ed è ancora un quartiere di classe media – sta cambiando a causa della gentrificazione, ma, ci conosciamo tutti. Quindi c’è un ragazzo sulla mia strada. Ed è un pittore. E quando fa bel tempo, mette una cassa di birra sulla sua panchina fuori dalla sua casa.
E tutta la strada va solo a bere una pinta, fondamentalmente. È la cosa più carina. Il quartiere più carino di sempre. Ma la cosa con lui è che di recente è diventato un libero professionista come pittore, il che significa anche che ha comprato il suo primo computer portatile di sempre. Ed ha quarantadue anni.
E ha bisogno di aiuto, non solo con il suo sito web, ma anche per farsi conoscere. Per tutta la sua vita, il principale computer che aveva era il suo telefono, ed è andato bene, ma trova un computer terribilmente, terribilmente complesso. E, ad essere onesti, trovo che sia una cosa così rinfrescante. E mi ricorda anche il fatto che il modo in cui io percepisco i computer non deve necessariamente essere normale. È un promemoria molto utile. Quindi, in un certo senso, è la migliore fonte d’ispirazione.
Magari non stare sempre nell’apprendimento automatico. È il mio consiglio. Soprattutto se stai creando app di apprendimento automatico per l’utente medio. Aiuta davvero a ricordare che non gli importa davvero del tuo algoritmo. Davvero, non gli importa.
A volte mi sono trovato bloccato in una bolla di apprendimento automatico. E trovo molto rinfrescante uscirne.
Facevo così anche nei lavori di consulenza. Stavo creando un’app che i camionisti avrebbero dovuto utilizzare per la logistica e simili. E ad un certo punto, mi sarei fermato all’angolo dei fumatori dove tutti i camionisti si riunivano per capire che tipo di persone fossero. E anche solo per capire cosa trovassero frustrante dell’app e fare di più in quel senso. Essere più umano nel processo.
Concentrarsi sulla cosa umana è ciò che sto cercando di fare di più e ciò che trovo molto ispirazione.
Consigli per i nuovi scienziati dei dati
Seth : Sì. Mi piace molto. Per qualcuno che sta iniziando nel campo, diciamo che è stato appena assunto come giovane scienziato dei dati, o sta pensando di iniziare nella scienza dei dati, qual è il tuo consiglio per loro?
Vincent : Ok. Quindi il primo passo, ho tenuto un discorso su questo argomento a NormConf. Quindi c’è un discorso intitolato Group-by statements that save the day. Questo discorso è stato appositamente progettato per te.
Detto questo, sono una persona veramente incapace a dare consigli di carriera perché, guardando indietro, ho pensato che una grande parte di dove sono oggi sia dovuta alla fortuna e questo è qualcosa di difficile da ottimizzare.
Ciò che trovo utile, in generale, è magari avere il proprio blog in cui condividere le cose che hai imparato oggi. Quindi, proprio come calmcode è ancora un po’ la mia libreria di frammenti, il tuo blog può essere lo stesso per te. E in generale, ho scoperto che per questi frammenti di “oggi ho imparato”, se sei in grado di scriverne due al mese, e ci vuole forse mezz’ora per post invece di un grande post che richiede ore, questa cosa non dovrebbe richiedere più di pochi minuti, diciamo. Ma l’hai fatto per un anno e hai un blog con 24 post.
Se stai imparando e sei in grado di condividere le conoscenze, le persone riconosceranno che hai un po’ di curriculum che dimostra che stai imparando cose. Quindi sembra una cosa abbastanza facile da fare se vuoi ottenere una sorta di presenza online con poco sforzo. Questo è qualcosa che consiglio.
Credo che se sei un novizio assoluto che sta iniziando, voglio riconoscere che è un po’ difficile. È un po’ una vergogna ora lo stato del mercato del lavoro e tutto il resto. Ma una cosa che puoi fare per rendertela forse leggermente più facile è considerare che non devi sapere tutto per ottenere il lavoro.
Potresti anche essere in grado di ottenere un lavoro correlato. Un consiglio che ho dato ad amici miei che volevano entrare in questo campo della scienza dei dati è che è un po’ più facile forse imparare R che imparare Python, ed è forse un po’ più facile essere semplicemente un analista per uno o due anni.
E tutte le competenze che impari mentre sei un analista saranno super utili se vuoi diventare un esperto in scienza dei dati in seguito. Quindi, se è più facile e ti pagano per imparare, non ottimizzare per un titolo. Ottimizza solo per le cose che impari mentre sei al lavoro. Questo sembra più facile. E non c’è niente di male nell’essere un buon analista.
Forse abbiamo bisogno di più bravi analisti che di bravi scienziati dei dati. Giusto? Forse abbiamo bisogno di più statement group by che ci salvano la giornata. Suggerimento: guarda la presentazione.
Ma penso che ci sia un po’ di snobismo quando si parla di titoli di lavoro. “Tipo, oh, sono il super senior staff, mega ingegnere. Certo.” Ma se sei solo un analista molto decente, abbiamo bisogno di più analisti molto decenti. Anche questo va bene. Vai per quello.
Imparare dal Machine Learning
Seth : Sì, certamente un buon consiglio. E ora la domanda che tutti stavamo aspettando, cosa ti ha insegnato una carriera nel machine learning sulla vita?
Vincent : Alcuni problemi si risolvono da soli se li ignori. Seriamente, sono stato in così tante situazioni in cui il problema è stato risolto semplicemente ignorando il bit del machine learning, che inizi a chiederti, beh, forse alcuni problemi si risolvono da soli se li ignori.
E ho notato in alcune situazioni che questo è solo il caso. Specialmente quando hai un bambino, impari che ci sono alcune cose su cui puoi fare troppo ottimizzazione. E, tipo, oh, il bambino non dorme bene. Beh, quel problema si risolverà ad un certo punto. Non è come se l’influenza dalla mia parte avesse un impatto molto significativo lì.
E suppongo lo stesso vale per il machine learning. Ci sono alcune cose che puoi controllare, alcune cose che non puoi controllare. Assicurati solo di capire cosa puoi e cosa non puoi controllare e poi procedi da lì.
E ancora una volta, sono un po’ un misto quando si tratta di tutta la cosa del machine learning. Parte della mia opinione è che è uno strumento super utile e abbiamo bisogno di più persone brave a fare machine learning. Ma allo stesso tempo, è come un secchio di hype che vogliamo davvero avere di meno. E il mio giorno per giorno è occuparmi di entrambi questi sentimenti.
Spero che questo abbia risposto alla domanda in qualche modo, ma è un po’ dove mi trovo. Cerca di farlo con calma, questo è il mio gioco di parole finale. Anche questo è qualcosa che potrei consigliare.
Seth : Ecco fatto. Sì, penso che alcuni problemi nel tempo si risolvano da soli. E anche mi piace la prima regola del machine learning: hai davvero bisogno di usare il machine learning?
Vincent : Sì, sono d’accordo. E una cosa che mi piace davvero, forse per vantarmi un po’ del datore di lavoro.
Una cosa che mi piace davvero di SpaCy è che non devi usare i bit di machine learning. Puoi anche usare i bit non di machine learning in SpaCy. E sono anche performanti, veloci e super utili. Ci sono anche pacchetti di machine learning che ti consentono di fare alcune cose basate su regole. E se stai facendo NLP, questo è il motivo per cui amo usare SpaCy.
Non devi usare sempre cose statistiche. Gli engine basati su regole sono anche ottimi. Fine della presentazione.
Seth : Sono un grande fan di SpaCy da un po’ di tempo – almeno quattro anni, probabilmente di più. Mi ha aiutato a risolvere un sacco di problemi di rilevamento di entità nominate, classificazione del testo, modi interessanti di fare il matching, tutto questo.
Vincent : Bene, se posso dare un’ultima presentazione. Quindi c’è molto parlare di AI centrata sui dati in questi giorni. Ma il motivo per cui ho iniziato ad interessarmi a ciò che stavano facendo questi Explosion people un po’ di tempo fa è che c’è un post del blog del 2017 chiamato Supervised Learning is great – It’s data collection that’s broken. Facevano cose centrate sui dati già nel 2017, ma quello è uno dei migliori post del blog che abbia mai letto.
Parlano della qualità dei dati e una delle migliori citazioni di sempre è “non aspettarti grandi dati se stai annoiando le persone sottopagate perché a volte mechanical turk è ancora il modo in cui la gente va, leggi quel post del blog. Ti darò un link per le note dello spettacolo. Questo è anche un’ispirazione altamente consigliata per le persone da leggere.
Seth : Fantastico. Grazie mille. È stato un piacere parlare con te. Mi hai dato un sacco di ottime risorse. Mettere insieme le note per questo sarà sicuramente un buon momento. Se ci sono alcuni luoghi in cui vorresti che gli ascoltatori apprendessero di più su di te, quali sarebbero?
Vincent : Quindi sono su Twitter e Fosstodon in questi giorni. Ma la cosa principale è che non posso ancora annunciare nulla. È perché lavoro per Explosion e posso vedere le cose che sono in cantiere. Quindi sto lavorando su cose molto cool e ci saranno sicuramente annunci di cose super cool su cui stanno lavorando tutti i miei altri colleghi – basta seguire Explosion.
Ci sono un sacco di cose davvero cool in cantiere. E se lo fai, allora a un certo punto, sentirai parlare di alcune delle cose su cui sto lavorando.
Seth : Fantastico. Grazie mille, Vincent. È stato veramente un piacere.
Vincent: Altrettanto.
Ascolta ora
Il video dell’intervista completa può essere visto qui:
Vincent Warmerdam | Learning from Machine Learning Episodio 2
Il podcast è ora disponibile su tutte le piattaforme di podcast:
Il nostro episodio precedente ha visto la partecipazione di Maarten Grootendorst, il creatore di BERTopic e KeyBERT, e un prolifico autore qui su Towards Data Science. Ha parlato di progetti Open Source, dell’intersezione della psicologia con l’apprendimento automatico e lo sviluppo software e del futuro dell’elaborazione del linguaggio naturale.
Imparare dall’apprendimento automatico | Maarten Grootendorst: BERTopic, Data Science, Psicologia
Il primo episodio di Imparare dall’Apprendimento Automatico vede la partecipazione del creatore di BERTopic, Maarten Grootendorst.
towardsdatascience.com
Riferimenti
Risorse per saperne di più su Vincent Warmerdam:
- calmcode
- https://koaning.io/
- Vincent Warmerdam: The profession of solving (the wrong problem) | PyData Amsterdam 2019
- Group-by statements that save the day — Vincent D Warmerdam
- https://github.com/koaning
Riferimenti dall’episodio
- You Look Like a Thing and I Love You: How Artificial Intelligence Works and Why It’s Making the World a Weirder Place
- The Future of Operational Research is Past
- Supervised Learning is great — it’s data collection that’s broken
- Deon — An ethics checklist for data scientists
- Hadley Wickham
- Katharine Jarmul
- Vicki Boykis
- Brett Victor
Risorse per saperne di più su Imparare dall’apprendimento automatico:
- Iscriviti su Youtube
- Imparare dall’Apprendimento Automatico su LinkedIn
- Contattami su LinkedIn
- Seguimi su Nisoo