Corso gratuito MIT TinyML e calcolo efficiente del deep learning

Corso gratuito MIT TinyML efficienza nel calcolo del deep learning

Introduzione

Nel mondo tecnologicamente avanzato di oggi, siamo circondati da meraviglie alimentate dall’IA che fanno impazzire: assistenti vocali che rispondono alle nostre domande, telecamere intelligenti che identificano i volti e auto a guida autonoma che navigano per le strade. Sono come i supereroi della nostra era digitale! Tuttavia, rendere questi meravigliosi progressi tecnologici funzionanti sui nostri dispositivi di tutti i giorni è più difficile di quanto sembri. Questi supereroi dell’IA hanno una necessità speciale: una potenza di calcolo significativa e risorse di memoria. È come cercare di inserire un’intera biblioteca in uno zaino minuscolo. E indovina un po’? La maggior parte dei nostri dispositivi regolari come telefoni, smartwatch, ecc. Non ha abbastanza “potere cerebrale” per gestire questi supereroi dell’IA. Questo rappresenta un problema di grande rilevanza per la diffusione su larga scala della tecnologia dell’IA.

Pertanto, è fondamentale migliorare l’efficienza di questi grandi modelli di intelligenza artificiale per renderli accessibili. Questo corso: TinyML e Efficient Deep Learning Computing di MIT HAN lab affronta questo ostacolo principale. Introduce metodi per ottimizzare i modelli di intelligenza artificiale, assicurando la loro validità in scenari del mondo reale. Vediamo nel dettaglio cosa offre:

Panoramica del corso

Struttura del corso:

Durata: Autunno 2023

Orario: Martedì/Giovedì 15:35-17:00 ora della costa orientale degli Stati Uniti

Insegnante: Professore Song Han

Assistenti alla didattica: Han Cai e Ji Lin

Visto che questo è un corso in corso, puoi guardare lo streaming dal vivo a questo link.

Approccio del corso:

Fondamenti teorici: Inizia con i concetti fondamentali del Deep Learning, per poi passare a metodi sofisticati per un calcolo AI efficiente.

Esperienza pratica: Fornisce esperienza pratica consentendo agli studenti di implementare e lavorare con grandi modelli di linguaggio come LLaMA 2 sui loro laptop.

Moduli del corso

1. Inferenza Efficiente

Questo modulo si concentra principalmente sull’aumento dell’efficienza dei processi di inferenza dell’IA. Approfondisce tecniche come la potatura, la sparsezza e la quantizzazione volte a rendere le operazioni di inferenza più veloci e più efficienti in termini di risorse. I principali argomenti trattati comprendono:

  • Potatura e Spargezza (Parte I & II): Esplorazione di metodi per ridurre le dimensioni dei modelli rimuovendo parti non necessarie senza comprometterne le prestazioni.
  • Quantizzazione (Parte I & II): Tecniche per rappresentare dati e modelli utilizzando meno bit, risparmiando memoria e risorse computazionali.
  • Ricerca di Architetture Neurali (Parte I & II): Queste lezioni esplorano tecniche automatizzate per scoprire le migliori architetture di reti neurali per compiti specifici. Dimostrano utilizzi pratici in vari ambiti come l’elaborazione del linguaggio naturale (NLP), le reti generative avversarie (GAN), l’analisi di nuvola di punti e la stima della posa.
  • Distillazione delle Conoscenze: Questa sessione si concentra sulla distillazione delle conoscenze, un processo in cui un modello compatto viene addestrato a imitare il comportamento di un modello più grande e complesso. Il suo obiettivo è trasferire conoscenze da un modello a un altro.
  • MCUNet: TinyML su Microcontrollori: Questa lezione introduce MCUNet, che si concentra sulla distribuzione di modelli TinyML su microcontrollori, consentendo all’IA di funzionare in modo efficiente su dispositivi a basso consumo energetico. Copre l’essenza di TinyML, le sue sfide, la creazione di reti neurali compatte e le sue diverse applicazioni.
  • TinyEngine e Elaborazione Parallela: Questa parte discute di TinyEngine, esplorando metodi per un’implementazione efficiente e strategie di elaborazione parallela come ottimizzazione dei cicli, multithreading e layout della memoria per modelli di intelligenza artificiale su dispositivi limitati.

 

2. Ottimizzazione Specifica del Dominio

 

Nel segmento sull’Ottimizzazione Specifica del Dominio, il corso copre vari argomenti avanzati volti a ottimizzare i modelli di intelligenza artificiale per specifici domini:

  • Transformer e LLM (Parte I e II): Approfondisce le basi dei Transformer, le varianti di progettazione e copre argomenti avanzati legati ad algoritmi di inferenza efficienti per LLM. Esplora anche sistemi di inferenza efficienti e metodi di fine-tuning per LLM.
  • Vision Transformer: Questa sezione introduce le basi dei Vision Transformer, strategie efficienti di ViT e varie tecniche di accelerazione. Esplora inoltre metodi di apprendimento auto-supervisionato e modelli di linguaggio di grandi dimensioni multi-modalità per potenziare le capacità di intelligenza artificiale nei compiti legati alla visione.
  • GAN, Video e Point Cloud: Questa lezione si concentra sul potenziamento delle Reti Generative Avversarie (GAN) attraverso l’esplorazione di tecniche efficienti di compressione delle GAN (utilizzando NAS+distillazione), la GAN AnyCost per costi dinamici e l’Augmentazione Differenziabile per un addestramento efficiente delle GAN. Questi approcci mirano ad ottimizzare i modelli per le GAN, il riconoscimento di video e l’analisi di nuvole di punti.
  • Modello di Diffusione: Questa lezione offre approfondimenti sulla struttura, l’addestramento, l’ottimizzazione specifica del dominio e le strategie di campionamento rapido dei Modelli di Diffusione. 

 

3. Addestramento Efficiente

 

L’addestramento efficiente si riferisce all’applicazione di metodologie per ottimizzare il processo di addestramento dei modelli di apprendimento automatico. Questo capitolo copre le seguenti aree chiave:

  • Addestramento Distribuito (Parte I e II): Esplora le strategie per distribuire l’addestramento su dispositivi o sistemi multipli. Fornisce strategie per superare i limiti di larghezza di banda e latenza, ottimizzare il consumo di memoria e implementare metodi di parallelizzazione efficienti per migliorare l’efficienza nell’addestramento di modelli di apprendimento automatico su larga scala in ambienti di calcolo distribuito.
  • Addestramento su Dispositivo e Transfer Learning: Questa sessione si concentra principalmente sull’addestramento di modelli direttamente su dispositivi edge, sulla gestione dei vincoli di memoria e sull’uso di metodi di transfer learning per un’adattamento efficiente a nuovi domini.
  • Fine-tuning Efficiente e Ingegneria dei Prompt: Questa sezione si concentra sul perfezionamento dei Modelli di Linguaggio di Grandi Dimensioni (LLM) attraverso tecniche di fine-tuning efficienti come BitFit, Adapter e Prompt-Tuning. Inoltre, evidenzia il concetto di Ingegneria dei Prompt e illustra come possa migliorare le prestazioni e l’adattabilità del modello.

 

4. Argomenti Avanzati

 

Questo modulo copre argomenti riguardanti un campo emergente del Machine Learning quantistico. Anche se le lezioni dettagliate per questo segmento non sono ancora disponibili, gli argomenti pianificati per la copertura includono:

  • Fondamenti della Quantum Computing
  • Machine Learning Quantistico
  • Noise Robust Quantum ML

Questi argomenti forniranno una comprensione fondamentale dei principi quantistici nell’informatica e esploreranno come questi principi vengono applicati per migliorare i metodi di apprendimento automatico affrontando le sfide poste dal rumore nei sistemi quantistici.

Se sei interessato/a ad approfondire questo corso, controlla la playlist qui sotto:

 

Conclusioni

 

Questo corso ha ricevuto un feedback fantastico, soprattutto da parte degli appassionati di intelligenza artificiale e dei professionisti del settore. Anche se il corso è in corso e programmato per concludersi entro dicembre 2023, lo consiglio vivamente! Se stai seguendo questo corso o hai intenzione di farlo, condividi le tue esperienze. Parliamo e impariamo insieme su TinyML e su come rendere l’intelligenza artificiale più intelligente su dispositivi di piccole dimensioni. Il tuo contributo e le tue intuizioni sarebbero preziose!  

[Kanwal Mehreen](https://www.linkedin.com/in/kanwal-mehreen1/) è un/una aspirante sviluppatore/trice di software con un forte interesse per la scienza dei dati e l’applicazione dell’intelligenza artificiale in ambito medico. Kanwal è stata selezionata come Google Generation Scholar 2022 per la regione APAC. Kanwal ama condividere le sue conoscenze tecniche scrivendo articoli su argomenti di tendenza ed è appassionata di migliorare la rappresentazione delle donne nell’industria tecnologica.