CPT su Nova 2.0 - Amazon SageMaker AI

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

CPT su Nova 2.0

Amazon Nova Lite 2.0 è un modello di ragionamento basato su set di dati più grandi e diversificati rispetto a Nova Lite 1.0. Nonostante sia un modello più grande, Nova Lite 2.0 offre un'inferenza più rapida rispetto a Nova Lite 1.0, offrendo al contempo funzionalità di ragionamento avanzate, lunghezze di contesto più lunghe e prestazioni multilingue migliorate.

Il CPT su Nova 2.0 consente di estendere queste funzionalità avanzate con i dati specifici del dominio, consentendo al modello di sviluppare competenze approfondite in aree specializzate pur mantenendo le sue capacità analitiche e di ragionamento superiori.

Preparazione dei dati per CPT on 2.0

Requisiti per il formato dei dati

I set di dati di addestramento e convalida devono essere file JSONL secondo il formato mostrato di seguito, in cui ogni riga contiene un oggetto JSON che rappresenta una conversazione con i campi e la struttura richiesti. Ecco un esempio:

{"text": "AWS stands for Amazon Web Services"} {"text": "Amazon SageMaker is a fully managed machine learning service"} {"text": "Amazon Bedrock is a fully managed service for foundation models"}

Le voci di testo devono contenere contenuti fluidi in modo naturale e di alta qualità che rappresentino il dominio di destinazione.

Verifica che i dati siano in grado di essere convertiti nel formato Arrow. Usa lo script python qui sotto per aiutarti. Assicurati che venga utilizzata la datasets==2.18.0 versione minima:

from datasets import load_dataset, load_from_disk from pathlib import Path input_path = Path("<Your jsonl file>") output_path = Path("<Your output directory>") dataset = load_dataset("json", data_files=str(input_path), split="train") dataset.save_to_disk(str(output_path), max_shard_size="1GB") try: test_dataset = datasets.load_from_disk(output_dir) print(f"Dataset loaded successfully ✅! Contains {len(test_dataset)} samples") except Exception as e: print(e)

Dovrebbe stampare lo stesso numero di righe presenti nel file JSONL.

Quando usi il datamixing, esegui il primo lavoro con. max_steps=2 Ciò contribuirà a creare ottimizzazioni nel cluster per l'accesso ai dati e a verificare la disponibilità di tutti i datamix.

Come preparare i dati per il CPT

I dati di formazione sono il fattore determinante più importante per il successo della formazione preliminare continua. Sebbene i dati CPT siano spesso descritti come «non etichettati», la realtà è molto più sfumata. Il modo in cui i dati sono strutturati, formattati e presentati determina se il modello acquisirà le conoscenze e le competenze necessarie per il caso d'uso aziendale.

Preparazione di set di dati aziendali strutturati per CPT

Questa è una sfida comune per le aziende e le organizzazioni che costruiscono modelli di base specializzati nel loro settore. La maggior parte delle aziende dispone di ricchi archivi di dati strutturati: cataloghi di prodotti, profili utente, registri delle transazioni, invio di moduli, chiamate API e metadati operativi. A prima vista, questo sembra molto diverso dal testo web non strutturato tipicamente utilizzato nella formazione preliminare standard.

Per imparare in modo efficace dai dati aziendali strutturati, rifletti attentamente sulle attività a valle e progetta la presentazione dei dati in modo da forzare il modello ad apprendere le giuste relazioni predittive.

Per sfruttare appieno il potenziale della formazione preliminare continua, prendi in considerazione:

  • Quali attività deve svolgere il modello al momento dell'inferenza

  • Quali informazioni sono presenti nei dati grezzi

  • Come strutturare i dati in modo che il modello impari a estrarre e manipolare le informazioni correttamente

Il semplice inserimento di dati strutturati nella formazione non insegnerà al modello a ragionare al riguardo. Modella attivamente la presentazione dei dati per guidare ciò che il modello apprende.

Nelle sezioni seguenti, è riportata una rassegna della letteratura che dimostra l'importanza dell'aumento dei dati e fornisce esempi di strategie di aumento per dati aziendali strutturati che forniranno idee utili su come trattare e organizzare i set di dati aziendali per il CPT.

Dati strutturati per il CPT in letteratura

Il CPT può inserire informazioni sul dominio nel modello, ma spesso non riesce a renderle recuperabili e manipolabili quando gli input o le attività cambiano. Esperimenti controllati dimostrano che, senza ricorrere a diversi miglioramenti durante il pre-allenamento, i modelli memorizzano i dati in modi fragili che restano difficili da estrarre anche dopo una successiva regolazione delle istruzioni, e raccomandano di iniettare istruzioni come segnali nelle prime fasi dell'allenamento. Per i dati semistrutturati, la serializzazione randomizzata e altri miglioramenti riducono il sovradimensionamento dello schema, motivo per cui il CPT dovrebbe essere affiancato alle attività in stile istruzione anziché essere eseguito prima e IFT dopo. Un lavoro incentrato sulla finanza rileva inoltre che la combinazione congiunta di dati CPT e di istruzioni in batch migliora la generalizzazione e riduce l'oblio rispetto alla ricetta sequenziale. Il report tecnico di Qwen converge sullo stesso modello integrando dati di istruzioni di alta qualità nella formazione preliminare stessa, che favorisce l'apprendimento contestuale e preserva le istruzioni seguite acquisendo nuove conoscenze di dominio.

L'aumento dei dati per corpora semistrutturati è una leva fondamentale. Il CPT, compatibile con i grafici sintetici, espande piccoli set di domini in corpora collegati a entità che insegnano esplicitamente le relazioni e i composti con recupero al momento dell'inferenza. La combinazione congiunta di istruzioni CPT plus offre prestazioni superiori alle pipeline sequenziali nel settore finanziario e del bilanciamento con dati generali riduce il degrado delle competenze generali. Il CPT per domini su larga scala è inoltre in grado di mantenere ampie capacità e persino di consentire compromessi tramite la fusione dei modelli, ma ritiene comunque che l'ottimizzazione delle istruzioni sia un passo successivo essenziale, rafforzando l'importanza dell'introduzione di segnali di istruzione durante il CPT.

Iniettare la diversità attraverso la randomizzazione e il rimescolamento

Una strategia generale che aiuta a insegnare in modo efficace i modelli a partire dai set di dati strutturati e semistrutturati consiste nel mescolare l'ordine dei campi nei set di dati e persino eliminare casualmente alcune chiavi.

Mescola i campi costringe il modello a leggere il significato di ogni valore anziché dove appare e ad apprendere le relazioni tra tutti i campi. Ad esempio, nel caso di un videogioco pubblicato su Amazon Store, quando «Titolo», «Piattaforma», «Prezzo», «Condizione» ed «Edizione» arrivano in diverse permutazioni, il modello non può basarsi sul principio «il terzo slot è la piattaforma»; deve associare le etichette ai valori e apprendere le relazioni bilaterali tra gli attributi: title ⇄ platform, platform ⇄ price, condition ⇄ price. Quindi può, ad esempio, dedurre una probabile piattaforma dal nome di un gioco e da un prezzo osservato, o stimare una fascia di prezzo plausibile dati un titolo e una piattaforma.

L'eliminazione casuale delle chiavi durante la serializzazione si comporta come la perdita di funzionalità: impedisce il co-adattamento su qualsiasi campo e costringe il modello a recuperare le informazioni mancanti dalle prove rimanenti. Se «Piattaforma» è assente, il modello deve recuperarlo dalla stringa del titolo o dal testo di compatibilità; se «Prezzo» è nascosto, deve triangolarlo tra piattaforma, edizione e condizione. Questo crea simmetria (A→B e B→A), robustezza per elenchi disordinati del mondo reale e invarianza dello schema quando i campi sono mancanti, rinominati o riordinati.

Un esempio in stile shopping lo rende concreto. Serializza lo stesso articolo in diversi modi: «Titolo: 'Elden Ring' | Piattaforma: PlayStation 5 | Condizione: Usato—Come nuovo | Prezzo: $34,99" e una permutazione come «Prezzo: $34,99 | Titolo: 'Elden Ring' | Condizione: Usato—Come nuovo | Piattaforma: PlayStation 5", e in alcuni passaggi elimina «Piattaforma» lasciando «Compatibile con» nella descrizione. PS5 Addestra obiettivi complementari come la previsione della piattaforma da {title, price} e la previsione di un intervallo di prezzo da {title, platform}. Poiché l'ordine e persino la presenza delle chiavi variano, l'unica strategia stabile consiste nell'apprendere le vere relazioni tra gli attributi anziché memorizzare un modello.

Il modo in cui i dati vengono presentati è importante

LLMs impara prevedendo il token successivo in base a ciò che hanno già visto. Quindi l'ordine dei campi e degli eventi mostrati durante l'allenamento decide cosa può imparare il modello. Se il formato dell'allenamento corrisponde al compito reale, la perdita ricade sugli esatti token decisionali. Se i campi vengono messi insieme senza struttura, il modello impara le scorciatoie da tastiera o memorizza la popolarità e poi fallisce quando gli viene chiesto di scegliere tra le opzioni.

Mostra prima la situazione, poi le opzioni e poi la decisione. Se il modello deve anche conoscere i risultati o le spiegazioni, inseriscili dopo la decisione.

Esempi di imballaggio per CPT

Che cos'è l'imballaggio?

Significa semplicemente riempire ogni finestra di sequenza dei dati di addestramento con più esempi interi in modo che la finestra sia densa di token reali, non di riempimento.

Perché è importante

Durante l'allenamento viene impostata una lunghezza massima del contesto, ad esempio 8.192 token. I batch sono modellati in base a [dimensione del batch × lunghezza del contesto]. Se un esempio di allenamento è più corto della lunghezza del contesto, le posizioni rimanenti vengono riempite. Il padding continua a pesare sull'attenzione e sui kernel MLP anche se la perdita è mascherata, quindi l'elaborazione viene pagata per i token che non trasmettono alcun segnale di apprendimento.

Come fare l'imballaggio?

Per imballare più campioni, concatena più campioni di addestramento con un [DOC] separatore intermedio (nota lo spazio prima e dopo il [DOC]) in modo che l'intera lunghezza dei campioni sia inferiore alla lunghezza del contesto desiderata.

Un esempio di documento compresso sarebbe simile al seguente:

{"text": "training sample 1 [DOC] training sample 2 [DOC] training sample 3"}