Importazione di modelli ottimizzati

Prepara un modello che hai ottimizzato all'esterno dell'AI generativa OCI per l'importazione, quindi ospitalo in un cluster AI dedicato.

Puoi ottimizzare un modello di base compatibile al di fuori del servizio e importare il modello risultante da un bucket di storage degli oggetti o da Hugging Face. L'importazione richiede un artifact modello completo che soddisfi i requisiti di compatibilità per il modello di base.

OCI Generative AI non ottimizza i modelli importati. Per l'addestramento dei modelli pre-addestrati supportati all'interno del servizio, vedere Fine-tuning dei modelli di base nell'intelligenza artificiale generativa.

Verifica compatibilità prima di fine tuning

Iniziare con un modello elencato in Modelli compatibili per l'importazione. Rivedi la sua pagina modello-famiglia per i requisiti e l'hardware di hosting compatibile. Conservare una copia della configurazione del modello di base e registrare l'ID del modello, la revisione del repository, la formazione e l'esportazione delle versioni della libreria.

  • Mantieni un'architettura compatibile con il modello di base supportato. Gli aggiornamenti standard LoRA, quando vengono uniti nelle matrici di peso originali, ne conservano le dimensioni. Altre modifiche, come l'aggiunta di livelli o il ridimensionamento del vocabolario, richiedono controlli di compatibilità separati.
  • Soddisfa i requisiti della versione Transformers del modello di base. Vedere Comprendere i metadati di configurazione.
  • Mantenere il conteggio totale dei parametri entro ±10% del modello di base originale, come specificato nella guida modello-famiglia. Questo è il numero totale di parametri del modello, non solo il numero di parametri LoRA addestrabili.
  • Per l'ottimizzazione di LoRA, unire un adattatore nel modello di base prima della distribuzione. Ogni modello ottimizzato importato può contenere i pesi uniti di una sola scheda LoRA.

Un modello che viene caricato correttamente nell'ambiente di formazione deve comunque superare la convalida dell'importazione. Esaminare i file esportati finali, inclusi la configurazione, il tipo di dati del peso e il tokenizer.

Comprendere i metadati di configurazione

Hugging Face Transformers è la libreria utilizzata per caricare e salvare molti modelli Hugging Face. Il campo transformers_version in config.json registra la versione della libreria utilizzata durante la serializzazione della configurazione. Il salvataggio con un'altra versione della libreria può modificare questo campo anche quando l'architettura del modello non viene modificata.

Le pagine modello-famiglia richiedono che il modello ottimizzato utilizzi la stessa versione Transformers del modello di base supportato. Confronta le versioni registrate prima dell'importazione. Se sono diverse, controllare l'ambiente di esportazione e confermare la compatibilità con il Supporto Oracle prima di fare affidamento su un'esportazione da una versione diversa.

Controlli configurazione prima dell'importazione
Campo o impostazione Cosa controllare
architectures e model_type Identificare la classe e la famiglia di modelli previsti e concordare con i pesi esportati.
transformers_version Confronta con la configurazione di base. Questi metadati della libreria sono separati dall'architettura e dall'etichetta della versione assegnata a un modello importato nella console.
torch_dtype o dtype Verificare la precisione dichiarata dall'esportatore e i tipi di dati effettivamente memorizzati sul tensore. La modifica di un valore JSON non converte i pesi.
Conteggio dei livelli, dimensioni nascoste, impostazioni di attenzione e dimensione del vocabolario Verificare che la configurazione descriva i tensore e il tokenizer salvati. Mantenere invariate le impostazioni dell'architettura per un'esportazione LoRA che aggiorna solo le matrici di peso originali.
quantization_config, quando presente Verificare che descriva l'esportazione effettiva e che la variante del modello risultante sia compatibile. La rimozione dei metadati di quantizzazione non converte un checkpoint quantizzato.
Importante

Mantenere la configurazione coerente con il modello. Non modificare una stringa di versione solo per passare la convalida o sostituire l'intera configurazione senza controllarla rispetto ai pesi esportati e al tokenizer.

Unisci pesi LoRA e controlla precisione esportazione

Un checkpoint dell'adattatore LoRA contiene i parametri dell'adattatore e dipende dal modello di base. I soli file, ad esempio adapter_model.safetensors e adapter_config.json, non sono un modello completo per questo flusso di lavoro di importazione.

  1. Caricare la stessa revisione del modello di base utilizzata per l'addestramento e l'adattatore previsto.
  2. Unire l'adattatore al modello di base. Con Hugging Face PEFT, utilizzare merge_and_unload() per una configurazione LoRA supportata. Vedere Unisci i pesi.
  3. Controllare il tipo di dati del modello unito prima di salvare. Utilizzare la precisione convalidata del modello di base come punto di partenza. L'addestramento o l'unione possono produrre pesi in un tipo di dati diverso.
  4. Salvare il modello completo e il relativo tokenizer in una nuova directory di esportazione. Conservare il modello di base e l'adattatore originali in modo da poter ripetere l'esportazione.
  5. Esaminare i tipi di dati di configurazione e tensore salvati, quindi ricaricare l'esportazione ed eseguire i prompt rappresentativi. Controllare i metadati del tensore salvati prima di qualsiasi conversione del tempo di caricamento che potrebbe nascondere il tipo di dati originale memorizzato.

Ad esempio, la configurazione di base Qwen/Qwen3-1.7B dichiara torch_dtype come bfloat16 (BF16). Se l'esportazione unita contiene pesi float32 (FP32), convertire i tensori a virgola mobile effettivi in BF16 e salvare una nuova esportazione per questo modello di base. Se si modifica solo torch_dtype, i pesi memorizzati rimangono invariati.

BF16 in questo esempio è specifico per il modello Qwen selezionato. Controllare il modello di base e i relativi requisiti prima di selezionare la precisione per un altro modello. Un checkpoint di formazione quantificato richiede anche una procedura di esportazione appropriata; non tutte le configurazioni di PEFT o di quantizzazione supportano l'unione.

Prepara directory artifact modello

Imballare un'esportazione completa in formato Hugging Face. La directory selezionata durante l'importazione deve contenere config.json e i file necessari per caricare il modello. A seconda del modello, questi includono:

  • Pesi completi del modello, ad esempio model.safetensors, o tutte le partizioni di peso e il relativo indice, ad esempio model.safetensors.index.json.
  • File Tokenizer, configurazione tokenizer, definizioni di token speciali e il modello di chat utilizzato per il modello, se applicabile.
  • Configurazione di generazione ed eventuali file del processore richiesti dal modello.

Assicurarsi che sia presente ogni partizione a cui viene fatto riferimento da un indice. Utilizzare il tokenizer e il modello di chat corrispondenti al modello esportato. Per i modelli di chat, consulta la guida ai modelli di chat Hugging Face.

Per un'importazione dello storage degli oggetti, caricare l'esportazione completa nella directory artifact del modello corrispondente. Per un'importazione Hugging Face, rendere disponibile l'esportazione completa nel repository del modello. Mantieni esportazioni diverse in directory separate in modo che i file di configurazione e peso di esecuzioni diverse non siano misti.

Importa e ospita il modello ottimizzato

  1. Rivedere i prerequisiti di origine in Gestione dei modelli importati e le autorizzazioni del modello importato necessarie.
  2. Importare l'esportazione preparata da un bucket di storage degli oggetti o da Hugging Face.
  3. Controllare lo stato del modello importato e risolvere eventuali errori di importazione prima di distribuirlo.
  4. Creare un cluster AI dedicato all'hosting per il modello importato. Selezionare una forma di unità hardware compatibile disponibile nell'area di destinazione. Vedere Hardware Unit Shapes by Region.
  5. Creare un endpoint, quindi eseguire il test del modello con richieste rappresentative prima di utilizzarlo in produzione.

Registrare la revisione dell'esportazione e i risultati della valutazione insieme all'OCID del modello importato. Utilizzare un nome descrittivo e una versione per distinguere le esportazioni ottimizzate.

Risolvere un errore di convalida dell'architettura

Se la creazione del modello non riesce con il messaggio seguente, rivedere l'esportazione completa:

The imported model architecture is not yet validated for serving.

Il messaggio non identifica la configurazione o la differenza di artifact che richiede attenzione. Un valore architectures non modificato da solo non indica che l'esportazione soddisfa tutti i requisiti di importazione.

  1. Verificare che il modello base originale sia elencato come compatibile e che la directory artifact selezionata contenga l'esportazione prevista.
  2. Confrontare i file config.json originali ed esportati utilizzando i controlli in Informazioni sui metadati di configurazione. Identifica le differenze introdotte durante il salvataggio o l'unione.
  3. Esaminare i tipi di dati effettivamente memorizzati per il tensore. Per un modello di base BF16, verificare se l'esportazione contiene involontariamente pesi FP32.
  4. Confermare che l'esportazione include i pesi del modello base uniti, tutte le partizioni di riferimento e il tokenizer corrispondente. Ricaricare e testare l'esportazione completa a livello locale.
  5. Dopo aver corretto l'esportazione, caricarla in una directory artifact separata e sottomettere una nuova importazione. Se la convalida continua a non riuscire, contattare il Supporto Oracle.

Includere l'errore esatto, l'ID richiesta OPC, l'ora e il fuso orario degli errori, l'area, l'OCID modello importato, se disponibile, l'ID e la revisione del modello base, le differenze di configurazione, i tipi di dati tensore osservati e l'addestramento, l'unione e l'esportazione delle versioni della libreria. Queste informazioni consentono di distinguere un problema di artifact da un problema di convalida del servizio.

Dati formazione piano e valutazione

Per l'ottimizzazione esterna, seguire il formato del data set e i requisiti di formazione del modello e degli strumenti selezionati. I requisiti del data set per la creazione di un modello personalizzato all'interno dell'intelligenza artificiale generativa descrivono tale flusso di lavoro separato.

  • Utilizzare esempi accurati e rappresentativi per i formati di task, lingue e risposte che il modello deve gestire. Rivedere le etichette e rimuovere gli esempi duplicati o in conflitto.
  • Mantieni separati i dati di formazione, convalida e test. Tenere insieme gli esempi correlati durante la divisione dei dati per ridurre la perdita di informazioni.
  • Confrontare il modello di base e il modello ottimizzato sugli stessi esempi bloccati. Misura la qualità dei task e verifica la presenza di regressioni nelle risposte generali.
  • Ripetere i controlli rappresentativi dopo l'unione, la conversione del tipo di dati e la distribuzione degli endpoint. Un'importazione riuscita conferma che l'importazione è stata completata; valutare le risposte del modello per il caso d'uso previsto.

Se vuoi allenarti su OCI, esamina Fine-Tuning con OCI Data Science AI Quick Actions per i modelli e i prerequisiti supportati. Un modello addestrato in un altro servizio deve comunque soddisfare i requisiti di importazione dell'intelligenza artificiale generativa.