Gli Diffusers di Hugging Face possono ora caricare correttamente LoRA
Gli Diffusers di Hugging Face caricano correttamente LoRA.
Utilizzare l’ultima funzione di Monkey Patching di Diffusers per caricare LoRA produce lo stesso risultato confrontato con A1111
Scaricare il codice più recente dal repository di codice di Diffusers di Hugging Face e scoprire che il codice più recente aggiornato relativo al caricamento di LoRA è stato aggiornato e ora può eseguire il Monkey-Patching del caricamento di LoRA.
Per installare l’ultima versione di Diffusers:
pip install -U git+https://github.com/huggingface/diffusers.git@main
La funzione di caricamento di LoRA generava risultati leggermente difettosi ieri, secondo il mio test. Questo articolo discute come utilizzare l’ultimo caricatore di LoRA dal pacchetto Diffusers.
Carica LoRA e aggiorna il peso del modello di diffusione stabile
È passato un po’ di tempo da quando i programmatori che utilizzano Diffusers non riescono a caricare facilmente LoRA. Per caricare LoRA in un modello di checkpoint e ottenere lo stesso risultato del Webui di Diffusione Stabile di A1111, è necessario utilizzare del codice personalizzato aggiuntivo per caricare i pesi come ho fornito in questo articolo.
- LLMs in Conversational AI Costruzione di chatbot e assistenti più intelligenti
- Rompendo le barriere nell’adattamento di dominio senza sorgente l’impatto di NOTELA sui domini della bioacustica e della visione
- Recensione di Surfer SEO Il miglior strumento SEO AI? (Luglio 2023)
Migliorare il pacchetto Diffusers per la generazione di immagini di alta qualità
Superare le limitazioni delle dimensioni dei token, caricamento del modello personalizzato, supporto LoRa, supporto inversione testuale e altro ancora
towardsdatascience.com
La soluzione fornita in questo articolo funziona bene e velocemente, anche se richiede una gestione aggiuntiva del peso alfa di LoRA, dobbiamo creare una variabile per ricordare il peso alfa corrente di LoRA. Poiché il codice di caricamento di LoRA semplicemente aggiunge insieme la matrice A e la matrice B di LoRA.
E quindi si unisce al peso del modello di checkpoint principale W.
Per rimuovere i pesi di LoRA, avremo bisogno di un valore negativo -α per rimuovere i pesi di LoRA o ricreare la pipeline.
Il metodo di Monkey-Patching per caricare LoRA
Un altro modo per utilizzare LoRA è patchare il codice che esegue il processo inoltrato del modulo e portare i pesi di LoRA durante il calcolo dell’embedding del testo e del punteggio di attenzione.
Ecco come l’approccio di Diffusers LoraLoaderMixin al caricamento di LoRA. Il lato positivo di questo approccio è che non vengono aggiornati i pesi del modello, possiamo reimpostare facilmente LoRA e fornire un nuovo α per definire il peso di LoRA.