Rivisitiamo Jetson AGX Orin e mostriamo come ottenere un LLM di tipo Chat-GPT sul dispositivo a basso consumo.
Nota dell'editore: abbiamo avuto l'opportunità di sederci e approfondire la piattaforma NVIDIA Jetson con un nuovo membro del nostro team. Dai un'occhiata al nostro articolo dell'anno scorso in cui abbiamo eseguito un modello di visione su una versione del prodotto finale di Jetson, il Lenovo SE70
Con la piattaforma Jetson di NVIDIA, gli sviluppatori sono in grado di esplorare opzioni di IA specificatamente studiate per lo sviluppo di IA edge. Questi sistemi consentono prestazioni del server abilitate alla GPU in un pacchetto che puoi tenere in una mano. Un enorme ringraziamento a NVIDIA per averci fornito il kit di sviluppo Jetson AGX Orin da provare e vedere quanto può essere facile avere il proprio LLM locale.
Il Jetson AGX Orin DevKit è disponibile in un design con fattore di forma ridotto, solo 11 cm o circa 4.3 pollici di larghezza e lunghezza e 7.2 cm (circa 2.8 pollici) di altezza. All'interno del Jetson AGX Orin Dev Kit, si trova una GPU con architettura NVIDIA Ampere a 2048 core con 64 Tensor Core e una frequenza massima di 1.3 GHz. C'è anche una CPU Arm Cortex 12-core A78AE v8.2 a 64 bit con cache L3 da 2 MB, cache L6 da 3 MB e una frequenza massima di 2.20 GHz.
Questi due componenti di potenza, abbinati a 64 GB di memoria unificata LPDDR5 con velocità di 204.8 GB/s, si combinano per creare l'impresa più impressionante di questa piccola macchina: 275 TOP nei modelli con 64 GB dalla piccola GPU e DLA. Si tratta di 8.6 volte il numero di TOPS rispetto al predecessore di NVIDIA, il Jetson AGX Xavier, che ha fornito solo 32 TOPS.
Sotto il cofano ci sono anche due slot M.2: un PCIe Gen 4×4 Key M per qualsiasi spazio di archiviazione aggiuntivo oltre all'eMMC da 64 GB e un Gen 4×1 Key E per le connessioni wireless. La connettività online però non è un problema, con un connettore RJ10 da 45 gigabit. Inoltre c'è un header a 40 pin (per UART, SPI, I2S, I2C, CAN, PWM, DMIC e GPIO), un header di automazione a 12 pin, un header del pannello audio a 10 pin, un header JTAG a 10 pin, un header Basetta ventola a 4 pin, connettore di backup della batteria RTC a 2 pin e connettore MIPI CSI-16 a 2 corsie per telecamere CSI.
Non manca nemmeno la connettività esterna. Sono disponibili sei porte USB: due porte USB-A 3.2 Gen 2, due porte USB-A 3.2 Gen 1 e USB-C 3.2 Gen 2. Di queste due porte USB-C, una può fornire velocità fino a 20 Gbps per il flashing e il trasferimento dei dati, mentre l'altra è dedicata all'alimentazione da 60 W. Se hai bisogno di una porta USB-C aggiuntiva, è disponibile un collegamento di alimentazione aggiuntivo tramite un jack di alimentazione CC. Tuttavia, il sistema viene fornito solo con l'alimentatore USB-C. C'è anche uno slot per scheda micro SD per un'opzione di archiviazione rapida e una porta micro USB-B che funge da porta di debug seriale.
Nascosto sotto una copertura magnetica, si trova lo slot PCIe Gen 4×16 esterno. Inoltre, lo slot PCIe esterno supporta una connessione fino a PCIe 4×8. Non avendo la possibilità di alimentare internamente una GPU, lo slot è più adatto per qualcosa come una scheda NIC ad alta velocità. Per un'opzione di visualizzazione dedicata, Orin ha una DisplayPort 1.4.
Jetson AGX Xavier contro Jetson AGX Orin
caratteristica | Jetson AGX Xavier 64GB | Kit di sviluppo Jetson AGX Orin da 64 GB |
---|---|---|
Prestazioni dell'IA | 32 TOP | 275 TOP |
GPU | GPU NVIDIA Volta a 512 core con 64 Tensor Core | GPU NVIDIA Ampere da 2048 core con 64 core Tensor |
Frequenza massima GPU | Non specificato | 1.3GHz |
CPU | CPU NVIDIA Carmel Arm v8 a 8.2 bit a 64 core, 8 MB L2 + 4 MB L3 | CPU Arm Cortex-A12AE v78 a 8.2 bit a 64 core, 3 MB L2 + 6 MB L3 |
Frequenza massima della CPU | 2.2GHz | 2.2GHz |
Acceleratore DL | 2xNVDLA v1 | Non specificato |
Frequenza massima DLA | 1.4GHz | Non specificato |
Acceleratore di visione | 2xPVA | 1 PVA v2 |
Memorie | LPDDR64x da 4 GB, 136.5 GB/s | LPDDR64 da 5 GB, 204.8 GB/s |
Archiviazione | eMMC 32 da 5.1GB, 64GB disponibile in versione industriale | Non specificato |
Codifica video | 4x 4K60 (H.265), 8x 4K30 (H.265), 16x 1080p60 (H.265), 32x 1080p30 (H.265) | Non specificato |
Video Decode | 2x 8K30 (H.265), 6x 4K60 (H.265), 12x 4K30 (H.265), 26x 1080p60 (H.265), 52x 1080p30 (H.265) | Non specificato |
Telecamera CSI | Fino a 6 telecamere (36 tramite canali virtuali), 16 corsie MIPI CSI-2, 8 corsie SLVS-EC, D-PHY 1.2 (fino a 40 Gbps), C-PHY 1.1 (fino a 62 Gbps) | Non specificato |
PCIe | 1×8, 1×4, 1×2, 2×1 (PCIe Gen4, porta root ed endpoint) | Slot PCIe x16 che supporta x8 PCIe Gen4, slot M.2 Key M con x4 PCIe Gen4, slot M.2 Key E con x1 PCIe Gen4 |
USB | 3 USB 3.2 Gen2 (10 Gbps), 4 USB 2.0 | USB-C per alimentazione (15-60 W), USB-C singola per flashing e programmazione, Micro B per debug seriale, 2x USB 3.2 Gen2 (USB Type-C), 2x USB 3.2 Gen2 (USB Type-A), 2x USB 3.2 Gen1 (USB tipo A), USB 2.0 (USB Micro-B) |
Networking | 1 GBE | Connettore RJ45 fino a 10 GbE |
Dsiplay | 3 modalità multimodali DP 1.4/eDP 1.4/HDMI 2.0 | 1x connettore DisplayPort 1.4a (+MST). |
Altro I / O | 5x UART, 3x SPI, 4x I2S, 8x I2C, 2x CAN, PWM, DMIC, GPIO | Header a 40 pin (UART, SPI, I2S, I2C, CAN, PWM, DMIC, GPIO), header di automazione a 12 pin, header del pannello audio a 10 pin, header JTAG a 10 pin, header della ventola a 4 pin, 2 pin Connettore di backup della batteria RTC, slot microSD, jack di alimentazione CC, pulsanti di alimentazione, ripristino forzato e ripristino |
Potenza | 10-30W | 15-60 W (tramite USB-C) |
Configurazione lato AI/SDK NVIDIA
I Large Language Models (LLM) sono IA, come ChatGPT o Ollama, che sono stati addestrati su grandi quantità di dati. Con un ingombro così ridotto, è difficile credere che si possa gestire un modello di IA locale e privato. Attualmente stiamo vedendo spuntare sul mercato laptop “AI PC” di Intel, AMD e Snapdragon con NPU dedicate. Questi dispositivi, simili alla piattaforma Jetson, eseguono silicio dedicato sul die, che dispone di funzionalità aggiuntive di accelerazione dell'intelligenza artificiale. Concettualmente, questi componenti sono progettati per funzionare in modo simile al nostro cervello (da qui il “neurale” in NPU) e consentono l’elaborazione simultanea di grandi quantità di dati. L'inclusione delle NPU significa che CPU e GPU sono libere per elaborare altre attività, portando a un computer molto più efficiente, sia in termini di potenza che di elaborazione.
Tuttavia, i 40 TOPS prodotti da Lunar Lake di Intel o la piattaforma 50 TOPS di AMD non sono ancora eccezionali quanto la potenza combinata della GPU e della CPU di Jetson Orin Devkits, ottenendo i 275 TOPS pubblicizzati. La potenza è più che sufficiente per avere un'intelligenza artificiale localmente nel tuo ufficio o anche nella tua casa/laboratorio! Altri componenti che aiutano con l'intelligenza artificiale sono i due acceleratori NVDLA v2 Deep Learning (DL), che facilitano la velocità con cui il sistema è in grado di eseguire processi di intelligenza artificiale; e un singolo acceleratore di visione, che accelera la velocità con cui la visione artificiale è in grado di elaborare le immagini.
La configurazione del sistema per eseguire l'intelligenza artificiale è semplificata dalle numerose guide NVIDIA. Per iniziare, devi assicurarti di eseguire il flashing del tuo Jetson con Ubuntu, quindi seguire questi 6 passaggi:
Passaggio 1: installa NVIDIA SDK Manager
Le istruzioni complete e i download saranno disponibili sul sito NVIDIA SDK. Per questo processo è richiesto un account sviluppatore gratuito.
Passaggio 2: apri NVIDIA SDK Manager installato su Ubuntu
Passaggio 3: ambiente di sviluppo
Questo passaggio serve per confermare che hai tutte le tue anatre in fila. Conferma il prodotto, le configurazioni di sistema, la versione dell'SDK e gli SDK aggiuntivi. Per la nostra configurazione, abbiamo utilizzato il kit di sviluppo Jetson AGX Orin, Ubuntu 22.04, JetPack 6.0 e Deep Stream 7.0.
Passaggio 4: dettagli e licenza
Questo passaggio funge da schermata di installazione e garantisce che tutti i componenti host e di destinazione vengano scaricati e installati. Questo è anche il posto dove selezionare la posizione di download corretta. Il sistema host richiede 15 GB di spazio di archiviazione e il sistema di destinazione richiede 17 GB di spazio di archiviazione.
Passaggio 5: processo di configurazione
Questo passaggio funge da finestra di conferma per completare la configurazione. Qui selezionerai la modalità di ripristino, scegliendo se sarà una modalità di ripristino forzato manuale o automatica, essendo automatica quando il sistema è già stato flashato e funzionante. Da qui puoi impostare/confermare il tuo indirizzo IP, aggiungere un nome utente e una password, scegliere la configurazione OEM e il dispositivo di archiviazione di destinazione. Una volta impostato tutto, potrai fare clic sull'opzione Flash.
Passaggio 6: finalizzazione del riepilogo
Infine, questo passaggio eseguirà il sistema. Successivamente, sarai in grado di eseguire il codice:
jetson-containers run --name ollama $(autotag ollama)
L'esecuzione della prima riga di codice avvierà il file Ollama LLM. Ollama è una piattaforma popolare che rende semplice e facile la configurazione e lo sviluppo locale di LLM, potendo anche essere configurati all'interno o all'esterno del contenitore. Include una libreria di modelli integrata di pesi prequantizzati e verrà scaricata ed eseguita automaticamente utilizzando llama.cpp dietro le quinte come inferenza. Il contenitore Ollama è stato compilato con il supporto CUDA, rendendolo perfetto per l'uso su Jetson AGX Orin. Quindi eseguendo il codice:
docker esegui -it --rm --network=host --add-host=host.docker.internal:host-gateway ghcr.io/open-webui/open-webui:main
Potrai quindi accedere all'Open Web User Interface (OWUI) sull'IP del dispositivo o all'indirizzo DNS sulla porta 8080, che funzionerà come chatbot. L'OWUI funge da plug-in per l'API del server Ollama, ma può anche utilizzare ChatGPT di OpenAI, Llama-3 di Meta o Phi-3 Mini di Microsoft come plug-in.
Sebbene con un budget energetico così basso, il tempo per il primo token per i modelli più grandi sia notevolmente lento, la piattaforma è comunque in grado di fornire prestazioni accettabili una volta caricata.
Conclusione
Il kit di sviluppo Jetson AGX Orin offre prestazioni significative in un fattore di forma compatto. Man mano che le soluzioni PC AI diventano sempre più rilevanti, la piattaforma Jetson si distingue, soprattutto se si considerano le limitazioni TOPS delle NPU integrate nelle nuove versioni di CPU. Jetson AGX Orin fornisce un solido trampolino di lancio per gli sviluppatori, in particolare quelli che richiedono applicazioni native ARM, aiutando nella convalida e nel perfezionamento del modello.
Sebbene si tratti di un kit di sviluppo, la sua facilità d'uso e la sua ampia potenza lo rendono un eccellente punto di partenza per le aziende che intraprendono il loro viaggio nell'intelligenza artificiale. La piattaforma Jetson mette in mostra l'immenso potenziale delle soluzioni AI con fattore di forma ridotto: progettate con eleganza, estremamente efficienti dal punto di vista energetico e in grado di fornire 275 TOP di prestazioni AI. Questa combinazione rende la piattaforma Jetson paragonabile a server AI molto più grandi montati su rack.
Le guide complete di NVIDIA semplificano il processo di flashing e distribuzione di una varietà di modelli IA, di cui l'intelligenza artificiale generativa è solo un pezzo del puzzle. Per le aziende pronte a sviluppare e implementare l'intelligenza artificiale, il kit di sviluppo Jetson AGX Orin offre una combinazione perfetta di efficienza energetica, ingombro ridotto e prestazioni IA eccezionali, rendendolo la scelta ideale per esplorare e implementare le tecnologie IA.
Kit di sviluppo Jetson AGX Orin
Interagisci con StorageReview
Newsletter | YouTube | Podcast iTunes/Spotify | Instagram | Twitter | TikTok | RSS feed