Modelli di formazione per InstructLab
Addestrare il modello sui dati generati, quindi testare il modello per verificare i risultati. Per saperne di più su cosa sia la formazione.
Le informazioni o i file di configurazione non possono essere passati al modello per la messa a punto.
Prerequisiti
- Preparate la vostra tassonomia
- Aggiungere la tassonomia
tar.gzal secchio Object Storage. È possibile utilizzare la CLI o l'interfaccia utente. - Genera dati dalla tua tassonomia.
Allineamento dei modelli tramite la console
-
Nella pagina InstructLab Progetti, fare clic sul progetto > Modelli allineati > Allinea.
-
Inserire un nome alfanumerico per il modello e selezionare i dati di addestramento da utilizzare.
-
Opzionale: Prima di iniziare il processo di allineamento, esaminare il costo stimato fornito.
-
Fare clic su Allinea. Lo stato è '
queued, poi 'running. Attendere che lo stato sia 'completed. Questo processo può richiedere minuti o ore. Al termine dell'allineamento, nel bucket Object Storage viene creata una directorytrained_modelscon i log per la risoluzione dei problemi.
Addestramento dei modelli tramite la CLI
-
Ottenere l'ID dei dati da utilizzare.
ibmcloud ilab data list -
Eseguire il comando per avviare l'addestramento del modello con i dati generati. Si noti l'ID.
ibmcloud ilab model train --name testmodel --data-id <data_id> -
Controllare i dettagli della generazione dei dati. Includere l'ID del modello. Lo stato è '
queued, poi 'running. Attendere che lo stato sia 'completed. Questo processo può richiedere minuti o ore. Quando lo stato ècompleted, nel bucket Object Storage viene creata una directorytrained_modelscon i log per la risoluzione dei problemi.ibmcloud ilab model get --id <model_id> -
Opzionale: Quando lo stato è
completed, è possibile esaminare le metriche, come le stime dei token per calcolare il costo stimato.Esempio di comando "
model getcon l'opzione "--output json.ibmcloud ilab model get --id daef9836-631f-4686-ad18-e0e6a0910f5d --output jsonEsempio di output JSON
{ "base_model": "granite-3.1-8b-starter-v2.1", "created_at": "2026-02-18T16:06:05.000Z", "data_id": "8b1433c0-e375-4b00-b36d-2ad00697014e", "id": "daef9836-631f-4686-ad18-e0e6a0910f5d", "last_signal_at": "2026-02-18T17:20:32.000Z", "model_metrics": { "mmlu": { "overall_average": 0.51, "scores": { "mmlu_abstract_algebra": 0.3, "mmlu_anatomy": 0.43, "mmlu_astronomy": 0.49 } }, "mt_bench": { "error_rate": 0.01, "overall_average": 6.86, "scores": { "turn_one": 7.25, "turn_two": 6.47 } }, "mt_bench_branch": { "error_rate": 0.01, "improvements": { "compositional_skills/STEM/math/time_series/qna.yaml": 8.67, "compositional_skills/extraction/invoice/csv/qna.yaml": 8.4 }, "no_change": { "compositional_skills/roleplay/explain_like_i_am/primary_schooler/qna.yaml": 0, "compositional_skills/writing/freeform/technical/proposal/qna.yaml": 0 }, "regressions": { "compositional_skills/extraction/inference/qualitative/sentiment/qna.yaml": -9, "compositional_skills/extraction/information/named_entities/places/qna.yaml": -9 } }, "tokens": { "training_phases": {} } }, "name": "test", "state": "completed", "status": "completed", "taxonomy_id": "e62ccea5-97e6-4568-86bf-2f359987b115" }
Addestramento dei modelli tramite l'API
-
Ottenere l'ID dei dati da utilizzare.
Esempio di comando.
curl -X 'GET' \ 'https://us-east.instructlab.ibm.com/v1/data' \ -H 'accept: application/json'Output di esempio.
{ "data": [ { "id": "add785e6-a8c3-4f5f-ab89-c506a3f115da", "name": "example-data-1", "state": "", "status": "queued", "created_at": "2024-10-23T02:58:50.000Z", "taxonomy_id": "202a03c4-dcf1-432a-82b7-abecb2e019f7", "last_signal_at": "2026-02-18T17:20:32.000Z" } ] } -
Eseguire il comando per avviare l'addestramento del modello con i dati generati. Si noti l'ID.
Esempio di comando.
curl -X 'POST' \ 'https://us-east.instructlab.ibm.com/v1/models' \ -H 'accept: application/json' \ -H 'Content-Type: application/json' \ -d '{ "name": "example-model-1", "data_id": "add785e6-a8c3-4f5f-ab89-c506a3f115da" }'Output di esempio.
{ "id": "baa8cfb5-e306-4e15-869d-735b74b1919d", "name": "example-model-1", "state": "", "status": "queued", "created_at": "2024-10-23T02:58:50.000Z", "last_signal_at": "2026-02-18T17:20:32.000Z", "data_id": "add785e6-a8c3-4f5f-ab89-c506a3f115da", "base_model": "granite-7b", "taxonomy_id": "202a03c4-dcf1-432a-82b7-abecb2e019f7", "model_metrics": { "mmlu": { "overall_average": 0.3, "scores": { "additionalProp1": 1, "additionalProp2": 2, "additionalProp3": 3 } }, "mmlu_branch": { "error_rate": 0.4, "improvements": { "additionalProp1": 1, "additionalProp2": 2, "additionalProp3": 3 }, "regressions": { "additionalProp1": 1, "additionalProp2": 2, "additionalProp3": 3 }, "no_change": { "additionalProp1": 1, "additionalProp2": 2, "additionalProp3": 3 } }, "mt_bench": { "overall_average": 0.8, "error_rate": 0.6, "scores": { "additionalProp1": 1, "additionalProp2": 2, "additionalProp3": 3 } }, "mt_bench_branch": { "error_rate": 0.4, "improvements": { "additionalProp1": 1, "additionalProp2": 2, "additionalProp3": 3 }, "regressions": { "additionalProp1": 1, "additionalProp2": 2, "additionalProp3": 3 }, "no_change": { "additionalProp1": 1, "additionalProp2": 2, "additionalProp3": 3 } } } } -
Controllare i dettagli della generazione dei dati. Includere l'ID del modello. Lo stato è '
queued, poi 'running. Attendere che lo stato sia 'completed. Questo processo può richiedere minuti o ore.Esempio di comando.
curl -X 'GET' \ 'https://us-east.instructlab.ibm.com/v1/models/baa8cfb5-e306-4e15-869d-735b74b1919d' \ -H 'accept: application/json'Output di esempio.
{ "id": "baa8cfb5-e306-4e15-869d-735b74b1919d", "name": "example-model-1", "state": "", "status": "queued", "created_at": "2024-10-23T02:58:50.000Z", "last_signal_at": "2026-02-18T17:20:32.000Z", "data_id": "add785e6-a8c3-4f5f-ab89-c506a3f115da", "base_model": "granite-7b", "taxonomy_id": "202a03c4-dcf1-432a-82b7-abecb2e019f7", "model_metrics": { "mmlu": { "overall_average": 0.3, "scores": { "additionalProp1": 1, "additionalProp2": 2, "additionalProp3": 3 } }, "mmlu_branch": { "error_rate": 0.4, "improvements": { "additionalProp1": 1, "additionalProp2": 2, "additionalProp3": 3 }, "regressions": { "additionalProp1": 1, "additionalProp2": 2, "additionalProp3": 3 }, "no_change": { "additionalProp1": 1, "additionalProp3": 3, "additionalProp2": 2 } }, "mt_bench": { "overall_average": 0.8, "error_rate": 0.6, "scores": { "additionalProp1": 1, "additionalProp2": 2, "additionalProp3": 3 } }, "mt_bench_branch": { "error_rate": 0.4, "improvements": { "additionalProp1": 1, "additionalProp2": 2, "additionalProp3": 3 }, "regressions": { "additionalProp1": 1, "additionalProp2": 2, "additionalProp3": 3 }, "no_change": { "additionalProp1": 1, "additionalProp2": 2, "additionalProp3": 3 } } } }
Quando lo stato è completed, nel bucket Object Storage viene creata una directory trained_models con i log per la risoluzione dei problemi.
Cosa c'è nel mio secchio Object Storage dopo l'allenamento?
Dopo l'addestramento del modello, il bucket Object Storage contiene una cartella trained models con i seguenti file.
Artifacts- Questi file contengono i dati dei checkpoint della Fase 1 e della Fase 2 e il modello per ogni epoca.
Eval- Questi file contengono le metriche di valutazione per i benchmark '
mmlu, 'mmlu_branch, 'mt_benche 'mt_bench_branch. Logs- Questi file contengono i log di esecuzione di Red Hat AI InstructLab e i dettagli del sistema.
Model- Questi file contengono il modello finale in formato "
safetensors. Il contenuto di questa directory viene utilizzato dal modello.
Operazioni successive
Facoltativo: è possibile distribuire il modello.