Percorsi di alta formazione per sviluppatori software
In un settore dinamico e in continua evoluzione come quello dell’Information & Communication Ttechnology, la formazione continua è un elemento chiave per il successo a lungo termine sia dei lavoratori che delle imprese.
Zefiro Sistemi e Formazione srl, attiva da oltre 30 anni nella formazione in ambito ICT, presenta un’offerta di percorsi di alto livello e specializzazione, indirizzata a coloro che operano nell’ambito dello sviluppo software e che desiderano aggiornare le proprie competenze in relazione alle più recenti innovazioni del settore.
Attraverso i percorsi proposti, Zefiro vuole rendere gli sviluppatori software capaci di affrontare le sfide tecnologiche attuali e future, contribuendo così al successo e alla competitività delle loro organizzazioni in un panorama digitale in rapida evoluzione.
Finalità dei percorsi di alta formazione per full stack developer con AI
1. Incrementare la produttività, dotando gli sviluppatori di strumenti e tecniche per lavorare in modo più efficiente e produttivo
2. Migliorare la qualità del software, insegnando metodologie per ridurre gli errori e aumentare l’affidabilità del codice prodotto
3. Sviluppare l’adattabilità al cambiamento, preparando i partecipanti ad affrontare le sfide future dello sviluppo software, rendendoli più flessibili e adattabili
4. Migliorare le soft skills necessarie per lavorare efficacemente in team e comunicare con stakeholder non tecnici
5. Essere artefici di innovazione, stimolando il pensiero creativo e la capacità di proporre soluzioni innovative ai problemi di sviluppo
6. Allineare le competenze agli standard di settore; facendo sì che i partecipanti siano aggiornati sulle migliori pratiche e gli standard attuali dell’industria del software
7. Gestire più efficacemente il ciclo di vita del software, fornendo una comprensione completa di tutte le fasi dello sviluppo, dalla progettazione alla manutenzione
8. Promuovere lo sviluppo professionale, offrendo opportunità di crescita professionale e di carriera attraverso l’acquisizione di competenze avanzate e riconosciute.
Destinatari
I percorsi proposti si rivolgono a coloro svolgono la professione di sviluppatore software e desiderano aggiornare le proprie competenze in merito all’applicazione degli strumenti di intelligenza artificiale alla propria attività (progettazione, sviluppo e rilascio di applicazioni).
Attestazione in esito
Attestato di messa in trasparenza delle competenze.
Condizioni per l’attivazione dei percorsi
I corsi potranno essere attivati al raggiungimento di un numero minimo di 3 iscritti.
Costo
I corsi hanno un costo di € 1.500,00.
I CORSI
1. Machine Learning e Data Science in Python
Durata: 20 ore
Descrizione del corso:
Il machine learning è la branca dell’intelligenza artificiale che ha lo scopo di insegnare ai computer ad apprendere autonomamente, senza essere esplicitamente programmati. Il corso fornirà ai partecipanti competenze altamente professionalizzanti, che li renderanno capaci di:
- padroneggiare il machine learning con Python
- analizzare un dataset per estrapolare informazioni utili
- comprendere il funzionamento dei modelli di machine learning più diffusi
- utilizzare il machine learning su problemi reali
- comprendere la differenza tra modelli supervisionati e non supervisionati
- scegliere e ottimizzare un modello di machine learning
- eseguire predizioni e classificazioni partendo dai dati
- eseguire clustering per raggruppare automaticamente dati simili
- imparare ad utilizzare Pandas e Scikit-learn
- lavorare con iPython e Jupyter Notebook
Principali contenuti:
- Il machine learning all’interno dell’IA
- Principali tecniche di data preprocessing e feature engineering: come ottimizzare e manipolare un dataset per renderlo un buon input per un algoritmo di machine learning
- Machine learning
- Apprendimento supervisionato
- Apprendimento non supervisionato
- Regressione lineare semplice Regressione polinomiale
- Regressione multipla
- Overfitting
- Principali modelli di regressione regolarizzati: Lasso, Ridge Regression, Elasticnet
- La classificazione
- Modelli di classificazione lineare
- Limiti di modelli lineari e vantaggi di un approccio non lineare
- Principali modelli non lineari: Alberi e foreste, Kernel SVM, Nearest neighbors, Reti neurali artificiali
- Tecniche di debugging e ottimizzazione per rendere i modelli robusti e velocizzare la fase di addestramento
- Apprendimento non supervisionato Clustering: come creare automaticamente gruppi di dati riconoscendo delle caratteristiche condivise all’interno del dataset
- Algoritmo dei clustering più diffusi: K-Means, Clustring Gerarchico, DBSCAN
- Tecniche di Riduzione della Dimensionalità
2. AI Generativa applicata allo sviluppo software
Durata: 20 ore
Descrizione del corso:
Il corso offre una panoramica completa sull’intelligenza artificiale generativa (Generative AI), sui suoi principi fondamentali e sulle sue potenziali applicazioni. Il corso insegnerà agli utenti come creare prompt efficaci per ottenere i migliori risultati dai modelli di AI generativa, per poi indirizzarsi nello specifico verso lo sviluppo software.
Obiettivo della formazione è quello di fornire agli sviluppatori software le conoscenze e le competenze per utilizzare strumenti di AI generativa come Copilot, in modo da aumentare la produttività e l’efficienza nel loro lavoro.
Principali contenuti:
- Introduzione alla Generative AI
- Cos’è l’AI generativa?
- Come funziona l’AI generativa?
- Prompt Engineering
- Cos’è il Prompt Engineering?
- Principi di base per la scrittura di prompt efficaci
- Tecniche avanzate di Prompt Engineering
- I Copilot nello sviluppo software con AI Generativa
- Introduzione a Copilot e altri strumenti di AI generativa per lo sviluppo software
- Integrazione di Copilot nel flusso di lavoro di sviluppo software
- Casi d’uso pratici di Copilot in diversi scenari di sviluppo
- Collaborazione con Copilot per migliorare la produttività e l’efficienza
- Futuro di Copilot e dell’AI generativa nello sviluppo software
3. AI Generativa – Modelli linguistici massivi (Large Language Model – LLM)
Durata: 20 ore
Descrizione del corso:
L’avvento dei Large Language Models (LLM) è un passo cruciale per l’IA: le macchine possono oggi comprendere una quantità incredibile di contenuti e sviluppare nuove forme di servizi con altissimi livelli di efficienza. Le imprese non possono perdere l’occasione di trarre vantaggio da questi importanti sviluppi in termini di creazione di valore.
È quindi necessario che sappiano comprendere i meccanismi alla base di questi modelli, scegliere il LLM giusto, conoscere i principali ecosistemi del settore, comprendere la personalizzazione in uso tramite Prompt Engineering, valutare la possibilità di arricchire questi modelli tramite fonti interne o strumenti, affrontare i processi di messa a punto per casi d’uso specifici e, infine, identificare le problematiche legate all’implementazione di tali modelli.
Attraverso questo corso, i partecipanti saranno in grado di cogliere le componenti più significative di questi modelli. Il corso permetterà ai partecipanti di comprendere l’utilità degli LLM, di padroneggiare l’uso degli LLM e dell’IA generativa e di sviluppare nuovi progetti con l’aiuto delle LLM.
Principali contenuti:
- Evoluzione dei LLM e Post Deep Learning
- Personalizzazione: arricchimento e fine-tuning
- Applicazioni: agenti conversazionali, generazione di codice, analisi sentimenti, classificazione testo, sintesi, traduzione, generazione contenuti, NLP
- Architettura Transformer: tokenizzazione, codifica, embedding, posizionamento, attenzione multi-testa
- Tipi di LLM: modelli a codificatore singolo, BERT, GPT, modelli derivati, LLM leggeri
- Ecosistemi: API chiuse, HuggingFace, LangChain, LLMops, MLFlow
- Addestramento e distribuzione: valutazione, iperparametri, messa a punto
- Ingegneria dei prompt: configurazione parametri, token, distribuzione probabilità, campionamento, temperatura
- Tecniche di prompting: Few-Shot Learning, Chain of Thoughts, ReAct
- Arricchimento LLM: memoria, espansione conoscenza, RAG Fine-tuning: RLHF, PEFT, LoRA, QLoRA
- Messa in servizio: registrazione modello, creazione endpoint, interrogazione
4. Implementazione del Deep Learning
Durata: 20 ore
Descrizione del corso:
Il Deep Learning (apprendimento profondo) è alla base dell’attuale rivoluzione in corso nell’intelligenza artificiale. Diventa quindi cruciale per aziende e organizzazioni comprendere i suoi meccanismi fondamentali e le sue modalità di implementazione. Il corso intende fornire ai partecipanti le competenze utili per padroneggiare le basi del Deep Learning (reti neurali semplici, convoluzionali o ricorsive), comprendere e affrontare modelli più avanzati (autoencoder, modelli generativi, transformers), affrontare i meccanismi di apprendimento neurale per rinforzo e decodificare più facilmente le recenti architetture di modelli massicci come ChatGPT o Dall-e.
Principali contenuti:
- Evoluzione del Deep Learning
- Reti Neurali
- Perceptron e Multilayer Perceptron (MLP)
- Addestramento e backpropagation
- Ottimizzazione e regolarizzazione
- Reti Neurali Convoluzionali (CNN)
- Principi di funzionamento Deep CNN e architetture avanzate (ImageNet, Inception)
- Transfer Learning e Capsule Networks Autoencoder e Reti Neurali Variazionali (AE e VAE)
- Principi e implementazione
- Varianti comuni
- Reti Generative Avversarie (GAN)
- Principi e tassonomia
- Varianti avanzate (DCGAN, PROGANS, CGANS, SAGANS, CYCLEGANS, STYLEGANS)
- Reti Neurali Ricorrenti (RNN)
- Topologie e varianti (LSTM, GRU)
- Approcci per sequenze lunghe (Wavenet, seq2seq)
- Trasformatori
- Meccanismo di attenzione
- Architettura completa
- Deep Reinforcement Learning (DRL)
- Principi e framework di Markov
- Algoritmi basati sul valore (DQN, DDQN)
- Algoritmi basati sulla policy (REINFORCE)
- Approcci ibridi (ACTOR-CRITIC, A2C, ALFAGO)