View a markdown version of this page

Préparation des données pour un réglage multimodal précis - Amazon Nova

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Préparation des données pour un réglage multimodal précis

Important

Avant de commencer à préparer votre jeu de données, assurez-vous que le réglage fin supervisé (SFT) est la bonne approche pour votre cas d'utilisation. SFT enseigne au modèle de nouveaux comportements, de nouveaux formats de réponse et de nouveaux modèles de raisonnement. Il n'enseigne pas au modèle de nouvelles connaissances factuelles. Si votre objectif principal est d'introduire des faits, une terminologie ou des connaissances spécifiques à un domaine que le modèle n'a pas pris en compte, envisagez la génération augmentée par extraction (RAG) pour fournir ce contexte au moment de l'inférence. Pour obtenir des conseils sur le choix entre le SFT, le réglage fin du renforcement (RFT) et le RAG, voir. Personnalisation d'Amazon Nova sur SageMaker Training Jobs

Voici les directives et les exigences relatives à la préparation des données pour le peaufinage des modèles de compréhension :

  1. La taille minimale des données pour le peaufinage dépend de la tâche (complexe ou simple), mais nous vous recommandons d’avoir au moins 100 échantillons pour chaque tâche que vous voulez que le modèle apprenne.

  2. Nous vous recommandons d’utiliser votre invite optimisée dans un paramètre zero-shot pendant l’entraînement et l’inférence afin d’obtenir les meilleurs résultats.

  3. Les jeux de données d’entraînement et de validation doivent être des fichiers JSONL, où chaque ligne est un objet JSON correspondant à un enregistrement. Les noms de ces fichiers ne peuvent contenir que des caractères alphanumériques, des traits de soulignement, des tirets, des barres obliques et des points.

  4. Contraintes relatives aux images et aux vidéos

    1. Le jeu de données ne peut pas contenir différents types de médias. Autrement dit, le jeu de données peut être soit du texte avec des images, soit du texte avec des vidéos.

    2. Un échantillon (enregistrement unique dans les messages) peut comporter plusieurs images

    3. Un échantillon (enregistrement unique dans les messages) ne peut comporter qu’une seule vidéo

  5. schemaVersion peut être n’importe quelle valeur de chaîne

  6. Le tour (facultatif) system peut être une invite système personnalisée fournie par le client.

  7. Les rôles pris en charge sont user et assistant.

  8. Le premier tour dans messages doit toujours commencer par "role": "user". Le dernier tour correspond à la réponse du bot, désignée par"role": "assistant".

  9. Les image.source.s3Location.uri et video.source.s3Location.uri doivent être accessibles à Amazon Bedrock.

  10. Votre rôle de service Amazon Bedrock doit pouvoir accéder aux fichiers image dans Amazon S3. Pour plus d’informations sur l’octroi d’accès, consultez Créer un rôle de service pour la personnalisation du modèle

  11. Les images ou vidéos doivent se trouver dans le même compartiment Amazon S3 que votre jeu de données. Par exemple, si votre jeu de données se trouve dans s3://amzn-s3-demo-bucket/train/train.jsonl, vos images ou vidéos doivent se trouver dans s3://amzn-s3-demo-bucket

  12. Les termes User:, Bot:, Assistant:, System:, <image>, <video> et [EOS] sont des mots-clés réservés. Si une invite utilisateur ou une invite du système commence par l'un de ces mots clés, ou si ces mots figurent n'importe où dans l'invite, votre tâche de formation échouera en raison de problèmes de données. Si vous devez utiliser ces mots clés pour votre cas d'utilisation, vous devez les remplacer par d'autres mots clés ayant des significations similaires afin de poursuivre votre formation.

Note

Pour valider votre ensemble de données avant de soumettre une tâche de réglage précis, vous pouvez utiliser le script de validation de l'ensemble de données disponible sur GitHub.

Conception d'exemples de formation efficaces

Vos données d'entraînement doivent démontrer le comportement que vous souhaitez que le modèle présente. Le SFT enseigne au modèle comment réagir, et non ce qu'il faut savoir. Si vous créez des exemples de formation principalement pour injecter des connaissances factuelles (par exemple, « Que E-45 signifie le code d'erreur ? » avec la réponse « E-45  indique un délai d'expiration du capteur »), déterminez si RAG ou prompt engineering pourraient obtenir le même résultat sans réglage précis.

Lorsque vous convertissez des données source au format conversationnel, suivez les principes suivants :

  1. Commencez par les requêtes réelles des utilisateurs. Écrivez des tours d'utilisateur qui reflètent la façon dont les utilisateurs finaux demanderont réellement le modèle en production. Évitez les questions artificielles ou trop simplifiées qui ne reflètent pas les véritables habitudes d'utilisation.

  2. Rédigez des réponses d'assistant de référence. Chaque tour d'assistant doit être la réponse idéale que vous souhaitez que le modèle produise : correcte, bien formatée et cohérente dans le ton et la structure de tous les exemples.

  3. Utilisez l'invite du système de manière stratégique. Placez des instructions persistantes telles que le format de sortie, le personnage et le contexte du domaine dans le tour du système. Utilisez la même invite du système pendant l'entraînement et l'inférence pour obtenir les meilleurs résultats.

  4. Concentrez les exemples sur une compétence par échantillon. Si vous avez besoin du modèle pour classer, répondre aux questions et résumer, créez des ensembles d'exemples distincts pour chaque compétence plutôt que de combiner plusieurs compétences dans un seul échantillon.

  5. Privilégiez la qualité à la quantité. Quelques centaines d'exemples cohérents et de haute qualité surpassent généralement des milliers d'exemples bruyants ou contradictoires. Dédupliquez et examinez vos données avant l'entraînement.

Modèles courants de transformation des données

Les modèles suivants illustrent comment convertir des formats de données d'entreprise courants en exemples de formation SFT efficaces.

Modèle 1 : enregistrements structurés à classer ou à rechercher

Lorsque vos données sources sont une table ou une base de données d'enregistrements contenant des champs tels que issuecause, etresolution, encadrez chaque enregistrement sous forme de question utilisateur avec les champs de saisie pertinents et la réponse de l'assistant comme champs de sortie cibles.

// train.jsonl { "schemaVersion": "bedrock-conversation-2024", "system": [ { "text": "You are a technical support assistant. Given an issue description, identify the most likely root cause and recommended resolution." } ], "messages": [ { "role": "user", "content": [ { "text": "A user reports: 'Application crashes on startup after the latest update.' What is the likely cause and resolution?" } ] }, { "role": "assistant", "content": [ { "text": "Cause: Incompatible configuration file from the previous version.\nResolution: Delete the local configuration cache and restart the application to regenerate default settings." } ] } ] }
Modèle 2 : des données hiérarchiques ou taxonomiques à des questions-réponses structurées

Lorsque vos données sources sont une hiérarchie de code ou une taxonomie, telle que des arbres de catégories de produits ou des systèmes de classification, générez des questions demandant au modèle de naviguer dans la hiérarchie. Incluez le contexte de classification dans l'invite du système ou au tour de l'utilisateur.

// train.jsonl { "schemaVersion": "bedrock-conversation-2024", "system": [ { "text": "You are a product catalog assistant. Answer questions about product categories and classifications accurately." } ], "messages": [ { "role": "user", "content": [ { "text": "What top-level category does product code 'EL-4520' belong to, and what subcategories does it include?" } ] }, { "role": "assistant", "content": [ { "text": "Product code EL-4520 belongs to the Electronics category. It includes the subcategories: Audio Equipment, Portable Speakers, and Wireless Accessories." } ] } ] }
Modèle 3 : documents procéduraux pour le dialogue pédagogique

Lorsque vos données sources consistent en des procédures opérationnelles standard, des guides d'exécution ou des guides détaillés, convertissez les procédures en questions axées sur les tâches. L'utilisateur demande comment effectuer une tâche et l'assistant fournit les étapes dans un format cohérent.

// train.jsonl { "schemaVersion": "bedrock-conversation-2024", "system": [ { "text": "You are an IT operations assistant. Provide step-by-step instructions based on approved runbooks and standard operating procedures." } ], "messages": [ { "role": "user", "content": [ { "text": "How do I reset a user's multi-factor authentication when they have lost access to their device?" } ] }, { "role": "assistant", "content": [ { "text": "Follow these steps to reset a user's multi-factor authentication:\n1. Verify the user's identity using the approved verification procedure.\n2. Disable the existing MFA configuration in the identity management console.\n3. Generate a new temporary access code and send it to the user's verified email.\n4. Instruct the user to log in with the temporary code and re-enroll their new device.\n5. Confirm the new MFA device is working by requesting a test authentication.\n6. Document the reset in the support ticket." } ] } ] }
Note

Dans les modèles 1 et 2, si le contenu factuel (tel que les codes, les catégories ou les résolutions) ne figure pas déjà dans les données de pré-entraînement du modèle, envisagez d'utiliser RAG pour fournir ces informations au moment de l'inférence plutôt que de vous fier uniquement à SFT pour les mémoriser. SFT est le plus efficace pour enseigner au modèle le format de réponse et le schéma de raisonnement, tandis que RAG s'occupe de la base factuelle.

Exemples de formats de jeux de données

Les formats de jeux de données suivants vous fournissent un guide à suivre.

L’exemple suivant concerne le peaufinage personnalisé pour le texte uniquement.

// train.jsonl { "schemaVersion": "bedrock-conversation-2024", "system": [ { "text": "You are a digital assistant with a friendly personality" } ], "messages": [ { "role": "user", "content": [ { "text": "What is the capital of Mars?" } ] }, { "role": "assistant", "content": [ { "text": "Mars does not have a capital. Perhaps it will one day." } ] } ] }

L’exemple suivant concerne le peaufinage personnalisé pour le texte et une seule image.

// train.jsonl{ "schemaVersion": "bedrock-conversation-2024", "system": [{ "text": "You are a smart assistant that answers questions respectfully" }], "messages": [{ "role": "user", "content": [{ "text": "What does the text in this image say?" }, { "image": { "format": "png", "source": { "s3Location": { "uri": "s3://your-bucket/your-path/your-image.png", "bucketOwner": "your-aws-account-id" } } } } ] }, { "role": "assistant", "content": [{ "text": "The text in the attached image says 'LOL'." }] } ] }

L’exemple suivant concerne le peaufinage personnalisé pour du texte et une vidéo.

{ "schemaVersion": "bedrock-conversation-2024", "system": [{ "text": "You are a helpful assistant designed to answer questions crisply and to the point" }], "messages": [{ "role": "user", "content": [{ "text": "How many white items are visible in this video?" }, { "video": { "format": "mp4", "source": { "s3Location": { "uri": "s3://your-bucket/your-path/your-video.mp4", "bucketOwner": "your-aws-account-id" } } } } ] }, { "role": "assistant", "content": [{ "text": "There are at least eight visible items that are white" }] } ] }

Contraintes liées aux jeux de données

Amazon Nova applique les contraintes suivantes aux personnalisations de modèles pour les modèles Understanding.

Modèle

Nombre minimal d’échantillons

Nombre maximal d’échantillons

Longueur de contexte

Nova 2 Lite

8

20 000

32 000

Contraintes relatives aux images et aux vidéos

Nombre maximal d’images

10/sample

Taille maximale du fichier image

10 Mo

Nombre maximal de vidéos

1/sample

Vidéo maximale length/duration

90 secondes

Taille maximale du fichier vidéo

50 Mo

Formats multimédias pris en charge
  • Image : png, jpeg, gif, webp

  • Vidéo - mov, mkv, mp4, webm