Janus Pro è una famiglia di modelli di intelligenza artificiale sviluppata da DeepSeek. Sono strumenti progettati per generare e analizzare immagini a partire da descrizioni testuali, competendo direttamente con altri nomi noti come DALL-E 3 di OpenAI e Stable Diffusion. In questo repository GitHub è da oggi disponibile il codice di Janus Pro 1B WebGPU, un progetto che non si appoggia ai CUDA core di NVIDIA e che permette di fare inferenza su qualunque PC usando l’API JavaScript WebGPU. Senza configurare un server o installare componenti software aggiuntivi, Janus Pro 1B WebGPU permette di creare immagini, eseguire OCR, generare codice, ottenere risposte utilizzando soltanto il browser Web.
Diversamente rispetto ad altri progetti, inoltre, tutte le elaborazioni sono eseguite in locale, senza trasferire alcun dato su server remoti. Janus Pro 1B WebGPU provvede infatti a scaricare in locale i file ONNX del modello di DeepSeek. ONNX (Open Neural Network Exchange) è un formato aperto progettato per la rappresentazione di modelli di machine learning e deep learning. Lo standard facilita l’interoperabilità tra diversi framework e strumenti di machine learning, consentendo agli sviluppatori di esportare modelli da un framework e importarli in un altro.
Il runtime ONNX applica ottimizzazioni specifiche per migliorare le prestazioni durante l’inferenza, supportando l’esecuzione su diverse architetture hardware, basate su CPU e GPU.
Come funziona Janus Pro 1B WebGPU per generare immagini in locale, soltanto con il browser Web
Per compiere la “magia”, il progetto Janus Pro 1B WebGPU si appoggia alla libreria JavaScipt Transformers.js che consente di eseguire modelli di intelligenza artificiale generativa direttamente nel browser, senza la necessità di un server. La libreria è progettata per essere funzionalmente equivalente alla popolare libreria Python di Hugging Face, permettendo agli sviluppatori di utilizzare modelli preaddestrati per vari compiti di machine learning, tra cui l’elaborazione del linguaggio naturale, la computer vision e l’elaborazione audio.
Portandosi nella pagina dimostrativa di Janus Pro WebGPU e cliccando su Load model, l’applicazione Web provvede a scaricare i modelli in formato ONNX quindi presenta una schermata contenente alcuni esempi, da provare subito.
Nell’immagine che segue si può verificare il prompt utilizzato (iniziare sempre con il prefisso /imagine
per la generazione delle immagini) per ottenere un risultato qualitativamente apprezzabile come quello proposto.
Cliccando sull’icona a sinistra del campo per l’inserimento del prompt, si può sottoporre al modello Janus Pro 1B un’immagine quindi richiedere l’effettuazione di qualche tipo di elaborazione. Nell’esempio seguente, abbiamo chiesto di sottoporre a riconoscimento ottico dei caratteri (OCR) il testo nell’immagine (fonte: ResearchGate). L’applicazione Web è riuscita brillantemente nell’intento:
Quali sono le differenze tra Janus Pro 1B e 7B?
I modelli Janus Pro 1B e Janus Pro 7B di DeepSeek differiscono principalmente per il numero di parametri che usano e per le loro abilità prestazionali.
Con 1,5 miliardi id parametri, Janus Pro 1B è adatto per i compiti di generazione di immagini ed elaborazione del linguaggio, seppur evidenzi prestazioni inferiori rispetto alla versione 7B. Nel caso dell’applicazione Web basata sulla libreria Transformers.js è stato scelto proprio per ridurre la potenza computazionale necessaria e permettere l’uso del progetto anche su sistemi con risorse hardware limitate.
Janus Pro 7B, viceversa, utilizza 7 miliardi di parametri ed è in grado di gestire compiti multimodali complessi in modo più efficiente. Ha dimostrato di superare modelli come Stable Diffusion 3 Medium e DALL-E 3 in benchmark specifici.
Credit immagine in apertura: iStock.com – imaginima