Maison > Article > Périphériques technologiques > Les coûts de pré-formation en diffusion sont réduits de 6,5 fois et les coûts de matériel de réglage fin sont réduits de 7 fois ! La solution open source complète Colossal-AI accélère la mise en œuvre de l'industrie AIGC à faible coût
Comment former et affiner les modèles AIGC mieux, plus rapidement et à moindre coût est devenu le plus gros problème dans l'explosion de la commercialisation et des applications de l'AIGC.
Colossal-AI est basé sur l'accumulation d'expertise dans la démocratisation des grands modèles, l'open source et la pré-formation complète à diffusion stable et les solutions de réglage personnalisé, accélérant le temps de pré-formation et réduisant les coûts économiques de 6,5 fois, et réduisant les amendes personnalisées -réglage des coûts de matériel par 7 ! Le processus de mise au point peut être rapidement effectué sur le RTX 2070/3050 d'un ordinateur personnel, rendant les modèles AIGC tels que Stable Diffusion à portée de main.
Adresse Open source :
https://github.com/hpcaitech/ColossalAI
AIGC (AI-Generated Content) est l'un des sujets les plus brûlants dans le domaine actuel de l'IA. Premièrement, en particulier avec l'émergence d'applications multimodales d'images générées par texte représentées par Stable Diffusion, Midjourney, NovelAI, DALL-E, etc., l'AIGC est devenue populaire et a attiré une large attention.
La diffusion stable génère des images
Étant donné que l'AIGC a stimulé une grande demande de l'industrie, elle a été considérée comme l'une des orientations importantes de la prochaine vague d'IA. L'industrie s'attend largement à l'émergence de solutions basées sur l'AIGC. dans le texte, l'audio, l'image, la vidéo et les jeux, les nouvelles révolutions technologiques et les applications tueuses dans des scénarios techniques tels que le métaverse et le métaverse. La commercialisation réussie de l'AIGC dans des scénarios pertinents et le marché potentiel de plusieurs milliards de dollars ont fait des startups concernées les chouchous du capital. Par exemple, Stability AI, Jasper, etc. ont reçu des centaines de millions de dollars de financement en seulement un ou deux ans. depuis leur création, et ont été promus licornes. Le cortège des bêtes.
L'échelle et les performances des modèles d'IA augmentent simultanément
Mais les exigences matérielles élevées et les coûts de formation entravent encore sérieusement le développement rapide de l'industrie de l'AIGC. Les performances exceptionnelles dans les applications AIGC sont souvent basées sur de grands modèles tels que GPT-3 ou Stable Diffusion et affinées pour des tâches et applications spécifiques en aval. Prenons l'exemple du populaire Stable Diffusion. Bien que l'IA de stabilité qui le sous-tend ait été créée il n'y a pas longtemps, il gère plus de 4 000 clusters GPU Nvidia A100 et a dépensé plus de 50 millions de dollars américains en coûts d'exploitation uniquement pour la diffusion stable. Version v1 du modèle seul. Cette formation nécessite 150 000 heures GPU A100.
L'idée du modèle de diffusion (modèle de diffusion) a été proposée pour la première fois dans l'article de 2015 Apprentissage profond non supervisé utilisant la thermodynamique sans équilibre. L'article de 2020 Modèles probabilistes de diffusion de bruit (DDPM) l'a poussé à un nouveau niveau et a été. plus tard, basés sur DALL-E 2, Imagen et Stable Diffusion du modèle de diffusion ont obtenu de bien meilleurs résultats que les modèles génératifs traditionnels tels que les réseaux contradictoires génératifs (GAN), les auto-encodeurs différentiels variables (VAE) et les modèles autorégressifs (AR) lors de la génération tâches.
Le modèle de diffusion se compose de deux processus : le processus de diffusion directe et le processus de génération inverse. Le processus de diffusion directe consiste à ajouter progressivement du bruit gaussien à une image jusqu'à ce qu'elle devienne un bruit aléatoire, tandis que le processus de génération inverse est un processus de débruitage aléatoire. le bruit est progressivement débruité à l'aide de plusieurs U-Nets jusqu'à ce qu'une image soit générée, ce qui fait également partie de la formation du modèle de diffusion.
Modèle de diffusion latente
Par rapport aux modèles d'apprentissage profond traditionnels de bout en bout, le processus de formation du modèle de diffusion est sans aucun doute plus compliqué en prenant comme exemple la diffusion stable, en plus du modèle de diffusion lui-même. est également un Frozen CLIP Textcoder pour saisir des invites de texte et une implémentation d'Autoencoder pour compresser des images haute résolution dans un espace latent (Latent Space) et calculer la perte à chaque pas de temps. Cela pose de plus grands défis en termes de surcharge de mémoire graphique et de vitesse de calcul de la solution de formation.
Optimisation de la pré-formation
Pour la pré-formation, généralement plus la taille du lot est grande, plus la vitesse de formation est rapide. Colossal-AI optimise les calculs d'attention croisée grâce à des stratégies de gestion de mémoire basées sur ZeRO, Gemini, Chunk et le module Flash Attention, ce qui réduit considérablement la surcharge de mémoire de la formation du modèle de diffusion, permettant aux utilisateurs d'utiliser des cartes graphiques grand public avec 10 Go de mémoire (telles que comme RTX3080) Le modèle de diffusion peut être entraîné sur des cartes graphiques dédiées telles que l'A100, qui peuvent directement prendre en charge l'entraînement avec une taille de lot maximale d'une seule carte de 256. Par rapport à stable-diffusion-v1-1, l'entraînement DistributedDataParallel (DDP) du FP32 peut être accéléré de 6,5 fois. Cela signifie que le coût de formation de plusieurs millions de dollars peut être réduit de 6,5 fois, réduisant considérablement le coût de formation et la barrière à l'entrée de l'industrie AIGC !
Accélération de Colossal-AI vers une diffusion stable
En raison de l'ensemble de données LAION-5B utilisé pour le pré-entraînement de la diffusion stable, qui compte un total de 585 milliards de paires d'images et de textes, il nécessite 240 To d'espace de stockage, combiné à la complexité du modèle, le coût d'une pré-formation complète est évidemment extrêmement élevé : l'équipe Stabilité de Stable Diffusion a dépensé plus de 50 millions de dollars pour déployer 4 000 GPU A100. Une option plus pratique pour la plupart des acteurs de l'AIGC consiste à utiliser des pondérations de modèles open source pré-entraînées pour affiner les tâches de personnalisation en aval.
Cependant, la méthode de parallélisme de formation utilisée dans d'autres solutions de réglage fin open source existantes est principalement DDP, ce qui entraîne une énorme quantité d'utilisation de la mémoire vidéo pendant le processus de formation. Même le réglage fin nécessite au moins les graphiques grand public les plus haut de gamme. carte RTX 3090 ou 4090 pour commencer. Dans le même temps, à ce stade, de nombreux cadres de formation open source ne fournissent pas de configurations et de scripts de formation complets, ce qui oblige les utilisateurs à consacrer plus de temps à la réalisation et au débogage fastidieux.
Contrairement à d'autres solutions, Colossal-AI est la première solution open source complète des paramètres de configuration de formation et des scripts de formation en même temps, permettant aux utilisateurs de former à tout moment la dernière version du modèle de segmentation pour de nouvelles tâches en aval, avec plus de flexibilité. Utilisation et plage d'applications plus large. Et comme Colossal-AI introduit l'optimisation de la mémoire vidéo et d'autres technologies, il peut rapidement terminer le processus de tâche de réglage fin sur une seule carte graphique grand public d'un ordinateur personnel ordinaire (tel que GeForce RTX 2070/3050 8 Go par rapport à). RTX 3090 ou 4090, il peut économiser environ 7 fois le coût matériel, ce qui réduit considérablement le seuil et le coût d'utilisation des modèles AIGC tels que Stable Diffusion, permettant aux utilisateurs de ne plus être limités au raisonnement de poids existant et de compléter rapidement et facilement des services de personnalisation personnalisés. . Pour les tâches qui ne sont pas sensibles à la vitesse, vous pouvez également utiliser Colossal-AI NVMe, qui utilise de l'espace disque dur à faible coût pour réduire la consommation de mémoire graphique.
Réduction de la mémoire de Colossal-AI vers une diffusion stable
ZeRO + Gemini
Colossal-AI prend en charge l'utilisation de la méthode Zero Redundancy Optimizer (ZeRO) pour éliminer la redondance de la mémoire, avec Par rapport aux stratégies classiques de parallélisme des données, elle peut considérablement améliorer l’efficacité de l’utilisation de la mémoire sans sacrifier la granularité informatique et l’efficacité de la communication.
Colossal-AI introduit le mécanisme Chunk, afin que nous puissions encore améliorer les performances de ZeRO. Un ensemble de paramètres consécutifs dans l'ordre des opérations est stocké dans un Chunk (un Chunk est une section continue d'espace mémoire) et chaque Chunk a la même taille. La méthode d'organisation de la mémoire par blocs peut garantir une utilisation efficace de la bande passante réseau entre PCI-e et GPU-GPU, réduire le nombre de communications et éviter une fragmentation potentielle de la mémoire.
Chunk Mechanism
De plus, le gestionnaire d'espace mémoire hétérogène de Colossal-AI, Gemini, prend en charge le déchargement de l'état de l'optimiseur du GPU vers le CPU pour économiser l'utilisation de la mémoire du GPU. La mémoire GPU et la mémoire CPU (composée de mémoire CPU DRAM ou de mémoire SSD NVMe) peuvent être utilisées simultanément pour dépasser les limites d'un seul mur de mémoire GPU et étendre davantage l'échelle du modèle pouvant être entraîné.
Amélioration de la capacité de modèle du matériel grâce à ZeRO + Gemini
Flash Attention
LDM (Latent Diffusion Models) met en œuvre une formation multimodale en introduisant une attention croisée (couche d'attention croisée) dans l'architecture du modèle. Cela permet au modèle de diffusion de prendre en charge de manière plus flexible les conditions de classe, la conversion texte-image et la mise en page-image. Cependant, la couche d'attention croisée ajoute une surcharge de calcul supplémentaire par rapport à la couche CNN du modèle de diffusion d'origine, ce qui augmente considérablement le coût de formation.
Colossal-AI a réussi à augmenter la vitesse d'attention de 104 % et à réduire de 23 % la mémoire maximale de l'entraînement de bout en bout en introduisant le mécanisme d'attention Flash. Flash attention est une version accélérée pour l'attention des séquences longues. Flatten est utilisé pour réduire le nombre de lectures/écritures de mémoire entre la mémoire GPU à large bande passante (HBM). Flash attention conçoit également un algorithme d'attention approximatif pour une attention en bloc et clairsemée. méthode d’attention approximative existante.
Colossal-AI intègre également des technologies d'optimisation courantes telles que FP16 et le point de contrôle d'activation. Par exemple, activez les travaux de point de contrôle en échangeant le calcul contre de la mémoire. Il évite de stocker toutes les activations intermédiaires de l'ensemble du graphe de calcul pour le calcul vers l'arrière, n'enregistre pas les activations intermédiaires dans la partie point de contrôle et les recalcule à la place lors de la passe arrière, réduisant ainsi davantage la mémoire vidéo. FP16 convertit les opérations originales à virgule flottante 32 bits en 16 bits sans affecter la précision, réduisant ainsi l'utilisation de la mémoire vidéo et améliorant l'efficacité informatique.
Différent du projet open source PyTorch commun, la diffusion stable à chaud actuelle est construite sur la base de PyTorch Lightning. PyTorch Lightning fournit une interface de haut niveau simple, facile à utiliser, flexible et efficace pour le populaire framework d'apprentissage en profondeur PyTorch, fournissant une abstraction de haut niveau simple et facile à utiliser pour la majorité des chercheurs en IA, rendant ainsi l'apprentissage en profondeur plus approfondi. des expériences d'apprentissage plus faciles à lire et à reproduire. Il a été publié sur GitHub. 20,5 000 étoiles ont été récoltées.
Invité par PyTorch Lightning, Colossal-AI a été intégré en tant que solution officielle de grands modèles de PyTorch Lightning. Grâce à la puissante combinaison des deux, les chercheurs en IA peuvent désormais former et utiliser plus efficacement les modèles de diffusion. En prenant comme exemple la formation d'un modèle de diffusion stable, elle peut être démarrée rapidement avec seulement une petite quantité de code.
from colossalai.nn.optimizer import HybridAdam from lightning.pytorch import trainer class MyDiffuser(LightningModule): ... def configure_sharded_model(self) -> None: # create your model here self.model = construct_diffuser_model(...) ... def configure_optimizers(self): # use the specified optimizer optimizer = HybridAdam(self.model.parameters(), self.lr) ... model = MyDiffuser() trainer = Trainer(accelerator="gpu", devices=1, precision=16, strategy="colossalai") trainer.fit(model)
Colossal-AI et PyTorch Lightning fournissent également un bon support et une bonne optimisation pour les modèles et communautés populaires tels que OPT et HuggingFace.
Afin de répondre aux besoins des utilisateurs de générer des modèles avec leur propre style grâce à une formation à court terme avec moins de ressources, Colossal-AI fournit la fonction de réglage fin basée sur l'open source Stable Poids du modèle de diffusion sur HuggingFace. Les utilisateurs n'ont qu'à modifier simplement le Dataloader pour charger leur propre ensemble de données affinées et lire les poids de pré-entraînement, modifier simplement le fichier yaml de configuration des paramètres et exécuter le script d'entraînement pour affiner leur propre modèle personnalisé sur leur ordinateur personnel.
model: target: ldm.models.diffusion.ddpm.LatentDiffusion params: your_sub_module_config: target: your.model.import.path params: from_pretrained: 'your_file_path/unet/diffusion_pytorch_model.bin' ... lightning: trainer: strategy: target: pytorch_lightning.strategies.ColossalAIStrategy params: ... python main.py --logdir /your_log_dir -t -b config/train_colossalai.yaml
Colossal-AI prend également en charge le pipeline d'inférence natif de diffusion stable Après avoir terminé la formation ou le réglage fin, il vous suffit d'appeler directement la bibliothèque de diffuseur et de charger les paramètres du modèle enregistrés pour effectuer l'inférence directement sans apporter d'autres modifications. , ce qui est pratique. Les nouveaux utilisateurs connaissent le processus de raisonnement et les utilisateurs habitués à utiliser le framework d'origine peuvent démarrer rapidement.
from diffusers import StableDiffusionPipeline pipe = StableDiffusionPipeline.from_pretrained( "your_ColoDiffusion_checkpoint_path" ).to("cuda") image = pipe('your prompt', num_inference_steps=50)["sample"][0] image.save('file path')
Le travail généré par le processus d'inférence ci-dessus
La percée d'optimisation de la formation AIGC mentionnée ci-dessus représentée par Diffusion est basée sur Colossal-AI, un système général d'apprentissage en profondeur pour l'ère des grands modèles , qui utilise une parallélisation automatique multidimensionnelle efficace, une gestion de mémoire hétérogène, des bibliothèques d'optimisation à grande échelle, une planification adaptative des tâches, etc. permettent un déploiement efficace et rapide de la formation et de l'inférence de grands modèles d'IA et réduisent le coût des applications de grands modèles d'IA. Depuis son open source, Colossal-AI s'est classé à plusieurs reprises au premier rang mondial sur les listes chaudes de GitHub et Papers With Code, et a attiré l'attention au pays et à l'étranger avec de nombreux projets open source vedettes avec des dizaines de milliers d'étoiles ! Après un examen rigoureux par des experts internationaux, Colossal-AI a été sélectionné avec succès comme tutoriel officiel des principales conférences internationales sur l'IA et le HPC telles que SC, AAAI et PPoPP.
Application Colossal-AI : meilleure solution de prédiction de la structure des protéines
Les solutions liées à Colossal-AI ont été mises en œuvre avec succès par des fabricants renommés dans les domaines de la conduite autonome, du cloud computing, de la vente au détail, de la médecine, des puces et d'autres secteurs, et ont été largement salué. Par exemple, pour le modèle de prédiction de la structure des protéines AlphaFold dans l'industrie biomédicale, la solution d'optimisation FastFold basée sur Colossal-AI a réussi à dépasser la longueur maximale de séquence d'acides aminés pouvant être déduite par un seul GPU à 10 000, couvrant 99,9999 % des protéines, en utilisant seul un ordinateur portable. Une carte graphique grand public peut résoudre 90 % des protéines. Cela peut encore accélérer l'ensemble du processus de formation et de raisonnement en parallèle, et a aidé de nombreuses sociétés de R&D de nouveaux médicaments à raccourcir le processus de développement et à réduire les coûts de R&D.
Adresse open source :
https://github.com/hpcaitech/ColossalAI
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!