Interviste

Daniel Ciolek, Head of Research and Development at InvGate – Intervista della serie

mm

Daniel è un appassionato professionista dell’IT con oltre 15 anni di esperienza nel settore. Ha un dottorato in Informatica e una lunga carriera nella ricerca tecnologica. I suoi interessi si estendono in diverse aree, come l’Intelligenza Artificiale, l’Ingegneria del Software e l’Elaborazione ad Alta Prestazione.

Daniel è il Responsabile della Ricerca e Sviluppo presso InvGate, dove guida le iniziative di R&D. Lavora insieme ai team di Sviluppo del Prodotto e Business Development per progettare, implementare e monitorare la strategia di R&D dell’azienda. Quando non si occupa di ricerca, insegna.

InvGate potenzia le organizzazioni fornendo gli strumenti per offrire un servizio senza soluzione di continuità tra i dipartimenti, dall’IT alle Risorse Umane.

Quando e come hai iniziato a interessarti di informatica?

Il mio interesse per l’informatica risale alla mia infanzia. Ero sempre affascinato dai dispositivi elettronici, spesso esplorandoli e cercando di capire come funzionavano. Man mano che crescevo, questa curiosità mi ha portato alla programmazione. Ricordo ancora il divertimento che provavo scrivendo i miei primi programmi. Da quel momento in poi, non c’era dubbio nella mia mente che volessi intraprendere una carriera nell’informatica.

Attualmente guidi le iniziative di R&D e implementi applicazioni di intelligenza artificiale generativa. Puoi discutere alcuni dei tuoi lavori?

Certo. Nel nostro dipartimento di R&D, affrontiamo problemi complessi che possono essere difficili da rappresentare e risolvere in modo efficiente. Il nostro lavoro non si limita alle applicazioni di intelligenza artificiale generativa, ma i recenti progressi in questo campo hanno creato una grande quantità di opportunità che siamo ansiosi di sfruttare.

Uno dei nostri obiettivi principali presso InvGate è sempre stato quello di ottimizzare l’usabilità del nostro software. Ciò lo facciamo monitorando come viene utilizzato, identificando i colli di bottiglia e lavorando diligentemente per rimuoverli. Uno di questi colli di bottiglia che abbiamo incontrato spesso è legato alla comprensione e all’utilizzo del linguaggio naturale. Questo era un problema particolarmente difficile da affrontare senza l’uso di Modelli di Linguaggio Grande (LLM).

Tuttavia, con l’emergere recente di LLM a basso costo, siamo stati in grado di semplificare questi casi d’uso. Le nostre capacità ora includono la fornitura di raccomandazioni di scrittura, la stesura automatica di articoli della base di conoscenza e la sintesi di ampi testi, tra molte altre funzionalità basate sul linguaggio.

Presso InvGate, il tuo team applica una strategia chiamata “intelligenza artificiale agnostica”. Potresti definire cosa significa e perché è importante?

L’intelligenza artificiale agnostica è fondamentalmente questione di flessibilità e adattabilità. In sostanza, si tratta di non impegnarsi con un singolo modello di intelligenza artificiale o fornitore. Invece, cerchiamo di tenere aperte le nostre opzioni, sfruttando il meglio di ciò che ogni fornitore di intelligenza artificiale offre, evitando il rischio di essere bloccati in un sistema.

Puoi pensare a questo come se dovessimo scegliere tra l’uso di GPT di OpenAI, Gemini di Google o Llama-2 di Meta per le nostre funzionalità di intelligenza artificiale generativa. Dovremmo optare per una distribuzione cloud pay-as-you-go, un’istanza gestita o una distribuzione self-hosted? Queste non sono decisioni banali e potrebbero anche cambiare nel tempo con il rilascio di nuovi modelli e l’ingresso di nuovi fornitori nel mercato.

L’approccio di intelligenza artificiale agnostica garantisce che il nostro sistema sia sempre pronto ad adattarsi. La nostra implementazione ha tre componenti chiave: un’interfaccia, un router e i modelli di intelligenza artificiale stessi. L’interfaccia astrae i dettagli di implementazione del sistema di intelligenza artificiale, rendendolo più facile per altre parti del nostro software interagire con esso. Il router decide dove inviare ogni richiesta in base a fattori come il tipo di richiesta e le capacità dei modelli di intelligenza artificiale disponibili. Infine, i modelli eseguono le attività di intelligenza artificiale effettive, che possono richiedere processi di pre-elaborazione dei dati personalizzati e processi di formattazione dei risultati.

Potresti descrivere gli aspetti metodologici che guidano il tuo processo di decisione nella selezione dei modelli e dei fornitori di intelligenza artificiale più adatti per compiti specifici?

Per ogni nuova funzionalità che sviluppiamo, creiamo un benchmark di valutazione. Questo benchmark è progettato per valutare l’efficienza dei diversi modelli di intelligenza artificiale nel risolvere il compito in questione. Tuttavia, non ci concentriamo solo sulle prestazioni, ma consideriamo anche la velocità e il costo di ogni modello. Ciò ci consente di avere una visione olistica del valore di ogni modello, permettendoci di scegliere l’opzione più conveniente per instradare le richieste.

Tuttavia, il nostro processo non si conclude lì. Nel campo in rapida evoluzione dell’intelligenza artificiale, nuovi modelli vengono costantemente rilasciati e quelli esistenti vengono regolarmente aggiornati. Quindi, ogni volta che un nuovo o aggiornato modello diventa disponibile, ripetiamo il nostro benchmark di valutazione. Ciò ci consente di confrontare le prestazioni del nuovo o aggiornato modello con quelle della nostra selezione attuale. Se un nuovo modello supera le prestazioni dell’attuale, aggiorniamo il nostro modulo router per riflettere questo cambiamento.

Quali sono le sfide di passare senza soluzione di continuità tra diversi modelli e fornitori di intelligenza artificiale?

Passare senza soluzione di continuità tra diversi modelli e fornitori di intelligenza artificiale presenta un insieme unico di sfide.

Innanzitutto, ogni fornitore di intelligenza artificiale richiede input formattati in modi specifici e i modelli di intelligenza artificiale possono reagire diversamente alle stesse richieste. Ciò significa che dobbiamo ottimizzare individualmente per ogni modello, il che può essere abbastanza complesso dato la varietà di opzioni.

In secondo luogo, i modelli di intelligenza artificiale hanno capacità diverse. Ad esempio, alcuni modelli possono generare output in formato JSON, una funzionalità che si rivela utile in molte delle nostre implementazioni. Altri possono elaborare grandi quantità di testo, consentendoci di utilizzare un contesto più ampio per alcuni compiti. Gestire queste capacità per massimizzare il potenziale di ogni modello è un aspetto essenziale del nostro lavoro.

Infine, dobbiamo assicurarci che le risposte generate dall’intelligenza artificiale siano sicure da utilizzare. I modelli di intelligenza artificiale generativa possono a volte produrre “allucinazioni”, o generare risposte false, fuori contesto o anche potenzialmente dannose. Per mitigare ciò, implementiamo filtri di sanificazione rigorosi per rilevare e filtrare le risposte inadeguate.

Come è progettata l’interfaccia all’interno del tuo sistema di intelligenza artificiale agnostica per assicurare che astragga efficacemente le complessità delle tecnologie di intelligenza artificiale sottostanti per interazioni utente-friendly?

La progettazione della nostra interfaccia è il risultato di un lavoro congiunto tra i team di R&D e ingegneria. Lavoriamo su una base di funzionalità per funzionalità, definendo i requisiti e i dati disponibili per ogni funzionalità. Quindi, progettiamo un’API che si integri in modo trasparente con il prodotto, implementandola nel nostro servizio di intelligenza artificiale interno. Ciò consente ai team di ingegneria di concentrarsi sulla logica aziendale, mentre il nostro servizio di intelligenza artificiale gestisce le complessità di lavorare con diversi fornitori di intelligenza artificiale.

Questo processo non si basa sulla ricerca di punta, ma sull’applicazione di pratiche di ingegneria del software consolidate.

Considerando le operazioni a livello globale, come InvGate affronta la sfida della disponibilità regionale e della conformità con le normative locali sui dati?

Assicurare la disponibilità regionale e la conformità con le normative locali sui dati è un aspetto cruciale delle nostre operazioni presso InvGate. Selezioniamo con cura i fornitori di intelligenza artificiale che non solo possono operare su larga scala, ma anche mantenere gli standard di sicurezza più alti e rispettare le normative regionali.

Ad esempio, consideriamo solo i fornitori che aderiscono a normative come il Regolamento Generale sulla Protezione dei Dati (GDPR) nell’UE. Ciò ci consente di distribuire i nostri servizi in diverse regioni con la certezza di operare all’interno del quadro giuridico locale.

I principali fornitori di servizi cloud come AWS, Azure e Google Cloud soddisfano questi requisiti e offrono una vasta gamma di funzionalità di intelligenza artificiale, rendendoli partner adatti per le nostre operazioni globali. Inoltre, monitoriamo costantemente i cambiamenti nelle normative locali sui dati per assicurare la conformità continua, adattando le nostre pratiche come necessario.

Come si è evoluta l’approccio di InvGate allo sviluppo di soluzioni IT negli ultimi dieci anni, in particolare con l’integrazione dell’Intelligenza Artificiale Generativa?

Negli ultimi dieci anni, l’approccio di InvGate allo sviluppo di soluzioni IT è cambiato notevolmente. Abbiamo esteso la nostra base di funzionalità con capacità avanzate come flussi di lavoro automatizzati, discovery di dispositivi e Configuration Management Database (CMDB). Queste funzionalità hanno semplificato notevolmente le operazioni IT per i nostri utenti.

Recentemente, abbiamo iniziato a integrare l’Intelligenza Artificiale Generativa nei nostri prodotti. Ciò è stato reso possibile grazie ai recenti progressi nei fornitori di LLM, che hanno iniziato a offrire soluzioni a basso costo. L’integrazione dell’Intelligenza Artificiale Generativa ha consentito di arricchire i nostri prodotti con supporto alimentato da intelligenza artificiale, rendendoli più efficienti e user-friendly.

Sebbene sia ancora presto, prevediamo che l’intelligenza artificiale diventerà uno strumento onnipresente nelle operazioni IT. Di conseguenza, pianifichiamo di continuare a evolvere i nostri prodotti integrando ulteriormente le tecnologie di intelligenza artificiale.

Puoi spiegare come l’intelligenza artificiale generativa all’interno dell’AI Hub migliora la velocità e la qualità delle risposte agli incidenti IT comuni?

L’intelligenza artificiale generativa all’interno del nostro AI Hub migliora notevolmente sia la velocità che la qualità delle risposte agli incidenti IT comuni. Ciò avviene attraverso un processo a più fasi:

Contatto iniziale: Quando un utente incontra un problema, può aprire una chat con il nostro Agente Virtuale (VA) alimentato da intelligenza artificiale e descrivere il problema. Il VA cerca autonomamente nella base di conoscenza (KB) dell’azienda e in un database pubblico di guide di risoluzione dei problemi IT, fornendo indicazioni in modo conversazionale. Ciò spesso risolve il problema rapidamente ed efficientemente.

Creazione del ticket: Se il problema è più complesso, il VA può creare un ticket, estraendo automaticamente le informazioni rilevanti dalla conversazione.

Assegnazione del ticket: Il sistema assegna il ticket a un agente di supporto in base alla categoria del ticket, alla priorità e all’esperienza dell’agente con problemi simili.

Interazione con l’agente: L’agente può contattare l’utente per ulteriori informazioni o per notificare che il problema è stato risolto. L’interazione è migliorata con l’intelligenza artificiale, fornendo raccomandazioni di scrittura per migliorare la comunicazione.

Escalation: Se il problema richiede un’escalation, le funzionalità di riassunto automatico aiutano i manager a comprendere rapidamente il problema.

Analisi post-mortem: Dopo la chiusura del ticket, l’intelligenza artificiale esegue un’analisi della causa radice, aiutando nell’analisi post-mortem e nei rapporti. L’agente può anche utilizzare l’intelligenza artificiale per redigere un articolo della base di conoscenza, facilitando la risoluzione di problemi simili in futuro.

Sebbene abbiamo già implementato la maggior parte di queste funzionalità, stiamo continuamente lavorando su ulteriori miglioramenti.

Con le funzionalità in arrivo come l’Agente Virtuale di MS Teams più intelligente, quali sono gli miglioramenti attesi nelle esperienze di supporto conversazionale?

Una promettente direzione futura è estendere l’esperienza conversazionale in un “copilota”, non solo capace di rispondere a domande e eseguire azioni semplici, ma anche di eseguire azioni più complesse per conto degli utenti. Ciò potrebbe essere utile per migliorare le capacità di auto-servizio degli utenti, nonché fornire strumenti più potenti agli agenti. Alla fine, queste potenti interfacce conversazionali renderanno l’intelligenza artificiale un compagno onnipresente.

Grazie per la grande intervista, i lettori che desiderano saperne di più possono visitare InvGate

Antoine è un leader visionario e socio fondatore di Unite.AI, guidato da una passione incrollabile per plasmare e promuovere il futuro dell'AI e della robotica. Un imprenditore seriale, crede che l'AI sarà altrettanto rivoluzionario per la società quanto l'elettricità, e spesso si lascia trasportare dall'entusiasmo per il potenziale delle tecnologie innovative e dell'AGI.

Come futurista, è dedicato a esplorare come queste innovazioni plasmeranno il nostro mondo. Inoltre, è il fondatore di Securities.io, una piattaforma focalizzata sugli investimenti in tecnologie all'avanguardia che stanno ridefinendo il futuro e riplasmando interi settori.