Recraft AI è uno strumento di progettazione basato su modelli di diffusione proprietari. Il loro nuovo modello Red Panda supera tutti i modelli testo-immagine esistenti, tra cui Midjourney, DALL-E 3, FLUX. Recraft combina un'esperienza utente unica per i designer con strumenti di intelligenza artificiale all'avanguardia. Per supportare milioni di utenti, i modelli di diffusione richiedono un'infrastruttura di inferenza solida, che unisce hardware potente con software efficiente. In questo articolo, esploreremo come gli strumenti di accelerazione AI di TheStage hanno aiutato gli ingegneri e i ricercatori di intelligenza artificiale di Recraft a ottenere prestazioni fino a 2 volte superiori sulle GPU Nvidia tramite un'interfaccia Python intuitiva!
I modelli di diffusione hanno mostrato risultati straordinari negli ultimi anni per la generazione di contenuti, tra cui immagini, musica, video e mesh 3D. Questi modelli utilizzano i costi di calcolo del tempo di inferenza per migliorare iterativamente i risultati di generazione, aggiornando leggermente l'output a ogni fase di inferenza. Ora possiamo vedere l'analogia negli LLM che utilizzano il ragionamento tramite inferenza multi-fase per fornire risposte di alta qualità.
In TheStage AI stiamo creando un framework matematico generale per modelli PyTorch arbitrari per gestire in modo completamente automatico il flusso di accelerazione del modello complicato. Il nostro sistema rileva automaticamente le ottimizzazioni esistenti sul tuo hardware (quantizzazione, sparsificazione) e seleziona per ogni livello l'algoritmo appropriato per ottenere la migliore qualità con una dimensione del modello desiderata e vincoli di latenza o trovare la migliore accelerazione con vincoli di qualità limitati. È un problema matematico difficile che possiamo risolvere in modo altamente efficiente! Questo articolo esplora come applichiamo questi strumenti attraverso la nostra partnership con Recraft AI.
Nella progettazione dei nostri strumenti abbiamo deciso di rispettare i seguenti principi:
Date queste condizioni iniziali, abbiamo mirato a creare strumenti con le seguenti caratteristiche:
In ogni iterazione del processo di diffusione, una rete neurale elimina il rumore dall'immagine nello spazio latente di un Variational AutoEncoder. L'immagine appena ottenuta viene quindi nuovamente mescolata al rumore, ma con un peso progressivamente inferiore. Durante le iterazioni iniziali, il modello di diffusione abbozza la scena principale, sfruttando il peso significativo del rumore per apportare miglioramenti sostanziali. Nelle iterazioni successive, affina i dettagli ad alta frequenza. Questa osservazione ci consente di progettare pipeline di accelerazione specifiche assegnando strategicamente la capacità di rete tra i livelli da un'iterazione all'altra, preservando la qualità. Tuttavia, tale allocazione richiede strumenti specializzati che combinano intuizioni matematiche con l'ingegneria del suono: è qui che TheStage AI può aiutare in modo significativo!
I modelli di diffusione accelerati possono essere visti come l'accelerazione di DNN arbitrari, ma dobbiamo tenere conto di sfide specifiche. Ad esempio, la quantizzazione statica, che in genere fornisce un'accelerazione significativa, introduce una sfida nei modelli di diffusione poiché le distribuzioni di attivazione cambiano da un'iterazione all'altra. Per risolvere questo problema, dobbiamo stimare correttamente i valori ottimali per tutte le iterazioni o utilizzare diverse configurazioni di quantizzazione per ogni iterazione.
I modelli di diffusione sono difficili da addestrare e raggiungere alte prestazioni. Tuttavia, i risultati dimostrati dal team Recraft superano tutti i moderni modelli testo-immagine . La convalida del degrado di tali modelli può essere difficile, rendendo fondamentale l'uso di tecniche di accelerazione che preservino la semantica delle caratteristiche originali. Gli algoritmi di quantizzazione possono essere una buona scelta se riescono a gestire la sfida delle diverse distribuzioni di attivazione. Diamo un'occhiata alle nostre pipeline automatiche, che descriveremo nelle sezioni seguenti.
Profilare un dato modello con dati specifici consente di:
Dopo che il profiler ha raccolto tutti i dati necessari, possiamo avviare la nostra scheda ANNA e spostare il cursore per produrre diverse versioni ottimizzate del modello. I nostri utenti possono quindi selezionare i candidati migliori in base al compromesso tra qualità e costo di inferenza. I nostri strumenti gestiscono queste decisioni soggettive sulla qualità in modo semplice.
Come accennato in precedenza, non utilizziamo la compilazione JIT perché aumenta il tempo di avvio a freddo di un nuovo nodo. Inoltre, non utilizziamo compilatori standard. Invece, compiliamo la nostra complessa configurazione accelerata che può combinare algoritmi diversi. Per raggiungere questo obiettivo, abbiamo sviluppato il nostro protocollo interno per definire livelli accelerati DNN in modo indipendente dall'hardware. Uno dei principali vantaggi del framework di accelerazione AI TheStage è che un singolo checkpoint può essere compilato per un'ampia gamma di hardware, risolvendo la compatibilità multipiattaforma per il software AI. Questa funzionalità sarà particolarmente importante per l'implementazione di dispositivi edge nello sviluppo di applicazioni.
Gli obiettivi dei compilatori DNN sono:
I server di inferenza e le pipeline di auto-scaling svolgono un ruolo importante nell'elaborazione economica ed efficiente delle richieste in arrivo. Possono anche includere il raggruppamento di richieste specifiche e la raccolta di statistiche per impostare il ridimensionamento predittivo per gli auto-scaler. Nei nostri articoli futuri, discuteremo più in dettaglio dei server di inferenza efficienti!
Applicando tutta la pipeline possiamo ottenere prestazioni migliori del compilatore PyTorch ( torch.compile
) e ovviamente significativamente migliori dell'esecuzione PyTorch Eager float16. Inoltre, poiché il compilatore PyTorch utilizza l'approccio di compilazione JIT su ogni inizializzazione del modello, richiede la ricompilazione per molte dimensioni di input, il che rende l'avvio a freddo abbastanza lungo per applicazioni pratiche in cui la latenza è molto importante.
Ecco i principali vantaggi aziendali derivanti dall'accelerazione del prodotto Recraft:
Gli strumenti di ottimizzazione AI di TheStage ci consentono di accelerare i nostri modelli di conversione da testo a immagine senza comprometterne la qualità, creando un'esperienza utente migliore per i nostri clienti.
L'amministratore delegato di Recraft, Anna Veronika Dorogush
Questi risultati forniscono un'eccellente convalida dei nostri strumenti e della ricerca sui prodotti di carichi di lavoro su larga scala. Il team di TheStage AI continua a lavorare per offrire prestazioni ancora maggiori. Per raggiungere questo obiettivo, stiamo collaborando con partner eccezionali! Siamo profondamente grati a:
Sentiti libero di contattarci per qualsiasi domanda! Possiamo aiutarti a ridurre i costi dell'infrastruttura di inferenza!
La nostra email: [email protected]
Pagina principale di TheStage AI: thestage.ai
Piattaforma di ottimizzazione dell'inferenza AI TheStage: app.thestage.ai