News

Come Perplexity ha ottimizzato GPT-OSS: infrastruttura, performance e costi dei nuovi modelli OpenAI

Punti salienti dell'articolo:
  • Perplexity ha ottimizzato i modelli GPT-OSS di OpenAI per l’inferenza su GPU NVIDIA H200
  • Scelte infrastrutturali mirate hanno permesso il supporto immediato dei nuovi modelli
  • ROSE, il motore di inferenza interno, garantisce flessibilità e performance
  • Kernel personalizzati per attenzione sink e MoE con bias
  • Analisi dettagliata di costi e performance per diverse configurazioni di parallelismo
  • Integrazione rapida del formato Harmony per chat e tool calls
  • Approccio modulare che facilita l’adozione di nuovi modelli e formati
  • Ottimizzazione tra latenza, throughput e costi operativi
  • Collaborazione con OpenAI per adattamenti tempestivi
  • ROSE migra le parti critiche da Python a Rust per massimizzare l’efficienza
Come Perplexity ha ottimizzato GPT-OSS: infrastruttura, performance e costi dei nuovi modelli OpenAI

Introduzione

Perplexity si distingue per la sua missione: rendere i migliori modelli di intelligenza artificiale accessibili a chi cerca risposte affidabili e azioni agentiche. Con il recente rilascio dei modelli open-weight di OpenAI, GPT-OSS-20B e GPT-OSS-120B, Perplexity è stata tra le prime realtà a testarli e ottimizzarli per l’inferenza su larga scala.

Scelte infrastrutturali e hardware

La valutazione iniziale dei modelli GPT-OSS è stata effettuata su cluster NVIDIA H200 Hopper, sfruttando la quantizzazione MXFP4 per adattare i modelli alla memoria disponibile. Nonostante Hopper non disponga di tensor core FP4, Perplexity ha scelto di utilizzare la precisione FP8 per massimizzare le prestazioni senza modifiche radicali ai kernel.

Architettura dei modelli Transformer

  • Embedding di input
  • Sequenza di layer Transformer con blocchi di attenzione e MLP/MoE
  • Proiezione finale dei logit

Grazie alla collaborazione con OpenAI, Perplexity ha potuto adattare rapidamente la propria infrastruttura, implementando modifiche mirate come:

  • Attenzione GQA con parametri sink
  • Encoding posizionale YaRN
  • Proiezioni QKV con bias
  • MLP con attivazione SwiGLU e MoE sparso

Motore di inferenza ROSE

Il cuore dell’inferenza di Perplexity è ROSE, un motore flessibile che consente di integrare rapidamente nuovi modelli e ottimizzare le performance. ROSE, scritto principalmente in Python con componenti critici migrati in Rust, gestisce la generazione di token tramite vari decoder e supporta configurazioni avanzate di quantizzazione e parallelismo.

Processo di integrazione di nuovi modelli

  1. Definizione della gerarchia del modello
  2. Conversione dei pesi
  3. Implementazione del forward pass
  4. Test e ottimizzazione del parallelismo

Kernel personalizzati per GPT-OSS

Perplexity ha adattato i kernel di FlashInfer e DeepGEMM per supportare le specifiche di GPT-OSS, come l’attenzione sink e la gestione dei bias nei layer MoE. Queste modifiche hanno permesso di mantenere efficienza e stabilità numerica, garantendo accuratezza e velocità.

Tokenizzazione e formati di chat

Il formato Harmony di OpenAI introduce canali e ruoli nei messaggi, migliorando la trasparenza e la segmentazione delle risposte. Perplexity ha integrato Harmony tramite un formatter dedicato nel frontend, mantenendo il backend invariato e favorendo modularità e rapidità di adozione di nuovi formati.

Analisi di costi e performance

La dimensione contenuta dei modelli GPT-OSS consente di limitarne la replica a un singolo nodo, riducendo i costi di comunicazione. Perplexity ha testato diverse strategie di parallelismo (EP, DP, TP) per trovare il miglior compromesso tra latenza e costo, con risultati dettagliati per batch size e lunghezza delle sequenze.

  • Batch size 1 e DP=1 ottimizzano la fase di prefill
  • Configurazione EP4 DP1 TP4 è ideale per la fase di decode

Conclusioni

Grazie a scelte infrastrutturali mirate e ottimizzazioni kernel, Perplexity ha reso possibile l’inferenza dei modelli GPT-OSS fin dal primo giorno, garantendo performance elevate e costi contenuti. L’approccio modulare e flessibile di ROSE permette di adattarsi rapidamente alle evoluzioni dell’AI generativa.

Introduzione Perplexity si distingue per la sua missione: rendere i migliori modelli di intelligenza artificiale accessibili a chi cerca risposte affidabili [...] Evol Magazine