FSDP2 Plan Parallèle
Ce guide décrit la stratégie de parallélisation pour l’entraînement FSDP2 (Fully Sharded Data Parallel version 2) dans NeMo RL.
Priorité de Repli
NeMo RL prend en charge trois stratégies de parallélisation, appliquées dans l’ordre de priorité suivant :
1. Plan Parallèle Personnalisé
Vos plans parallèles personnalisés définis par l’utilisateur prennent toujours la priorité lorsqu’ils sont disponibles. Pour une implémentation et une utilisation détaillées, reportez-vous à l’Exemple de Plan Parallèle Personnalisé.
2. Plan Parallèle Optimisé
Les plans parallèles optimisés sont disponibles pour des architectures de modèle spécifiques. Ils peuvent offrir des performances supérieures par rapport à l’implémentation parallèle tensorielle de Hugging Face. Cette approche est utilisée si aucun plan parallèle personnalisé n’est spécifié et si la classe de modèle prend en charge la parallélisation optimisée.
3. Plan Parallèle Tensoriel Hugging Face
Le plan parallèle tensoriel Hugging Face est le plan par défaut. Il est disponible pour la plupart des modèles via ._tp_plan et est utilisé lorsqu’aucun plan parallèle personnalisé ni optimisé n’est disponible.
Exemple de Plan Parallèle Personnalisé
Un plan parallèle personnalisé doit être défini dans un fichier séparé, comme celui fourni dans examples/custom_parallel.py.
Pour implémenter le plan parallèle personnalisé, mettez à jour soit la valeur de custom_parallel_plan directement dans le fichier yaml, soit passez le remplacement via la ligne de commande. Par exemple :