La maggior parte dei recenti modelli linguistici di grandi dimensioni (LLM) utilizzano architetture neurali molto simili. Ad esempio, i modelli Falcon, Mistral e Llama 2 utilizzano una combinazione simile di moduli di autoattenzione e MLP.
Al contrario, Mistral AI, che ha creato anche Mistral 7B, ha appena rilasciato un nuovo LLM con un’architettura significativamente diversa: Mixtral-8x7Buna miscela sparsa di 8 modelli esperti.
In totale, Mixtral contiene 46,7 miliardi di parametri. Tuttavia, grazie alla sua architettura, Mixtral-8x7B può funzionare in modo efficiente su hardware consumer. L’inferenza con Mixtral-8x7B è infatti significativamente più veloce rispetto ad altri modelli di dimensioni simili, superandoli nella maggior parte dei compiti.
In questo articolo spiego cos’è un mix sparso di esperti e perché è più veloce nell’inferenza rispetto a un modello standard. Poi vedremo come utilizzare e mettere a punto Mixtral-8x7B su hardware consumer.
Ho implementato un notebook che mostra la messa a punto e l’inferenza di QLoRA con Mixtral-8x7B qui:
Una miscela sparsa di esperti (SMoE) è un tipo di architettura di rete neurale progettata per migliorare l’efficienza e la scalabilità dei modelli tradizionali. Il concetto di una miscela di esperti è stato introdotto per consentire a un modello di apprendere diverse parti dello spazio di input utilizzando sottoreti specializzate di “esperti”. In Mixtral ci sono 8 sottoreti di esperti.
Da notare che la dicitura “8x7B” nel nome del modello è leggermente fuorviante. Il modello ha un totale di 46,7 miliardi di parametri, ovvero quasi 10 miliardi di parametri in meno rispetto a quanto produrrebbero i parametri 8x7B. Infatti, Mixtral-8x7b non è un modello a 56B di parametri poiché diversi moduli, come quelli per l’autoattenzione, sono condivisi con le 8 sottoreti di esperti.
Se carichi e stampi il modello con Transformers, la struttura del modello è più facile da capire:
MixtralForCausalLM(…
Fonte: towardsdatascience.com