2 points par GN⁺ 2023-12-03 | Aucun commentaire pour le moment. | Partager sur WhatsApp

Amélioration de l’efficacité de l’ajustement des modèles QLoRA

  • Les modèles QLoRA/LoRA atteignent une vitesse 80 % plus élevée et utilisent 50 % de mémoire en moins grâce à des étapes de rétropropagation dérivées manuellement.
  • Tous les kernels écrits dans le langage Triton d’OpenAI ont été optimisés sans perte de précision.
  • Utilisable sur les GPU NVIDIA (modèles sortis après 2018, avec prise en charge de CUDA 7.5+) sans modification matérielle.
  • Permet un entraînement efficace des modèles grâce à la prise en charge de Flash Attention ainsi que du fine-tuning LoRA en 4 bits et 16 bits.
  • Il est possible d’entraîner le modèle Slim Orca en local en réduisant drastiquement le temps nécessaire, de 1301 heures à 260 heures.
  • La version open source offre un entraînement 5 fois plus rapide, tandis que les chemins de code Unsloth Pro et Max permettent un entraînement jusqu’à 30 fois plus rapide.

Instructions d’installation

  • Unsloth n’est pris en charge que sur les distributions Linux et avec Pytorch 2.1 ou version supérieure.
  • L’installation est possible via Conda et Pip, en choisissant le paquet approprié selon la version de CUDA.

Exemple avec le modèle Alpaca

  • Utilisation de FastLlamaModel pour charger un modèle Llama et réduire l’usage mémoire via une quantification en 4 bits.
  • Les patches du modèle et l’ajout rapide des poids LoRA améliorent les performances.
  • L’entraînement du modèle est possible avec le Trainer de Huggingface et le chargement de datasets.

Objectifs futurs et limites

  • Prise en charge prévue du gradient checkpointing sqrt, qui pourrait encore réduire l’usage mémoire de 25 %.
  • Seuls les modèles Llama sont actuellement pris en charge, mais la prise en charge d’autres modèles est prévue.

Comparaison des performances

  • Avec un GPU Tesla T4, Unsloth affiche des temps d’époque nettement plus courts et une utilisation mémoire plus faible que Huggingface.
  • Sur les systèmes à GPU unique comme sur les systèmes multi-GPU, les versions Pro et Max d’Unsloth offrent de meilleures performances.

Résolution des problèmes

  • Des solutions sont proposées lorsque bitsandbytes ou xformers ne sont pas correctement liés.
  • Windows n’est actuellement pas pris en charge ; Unsloth le prendra en charge lorsque Xformers et Triton le feront officiellement.
  • En cas de problème à l’installation, la mise à jour de pip peut résoudre la situation.

Avis de GN⁺

Le point le plus important de cet article est que l’ajustement des modèles QLoRA/LoRA est bien plus rapide et bien plus efficace en mémoire que les méthodes existantes. Ces optimisations réduisent fortement le temps et le coût d’entraînement des modèles d’IA, ce qui peut aussi en faire une solution attrayante pour les ingénieurs logiciels débutants. L’article offre également un exemple intéressant de l’évolution des technologies open source et de la manière dont elles améliorent l’accessibilité de la technologie.

Aucun commentaire pour le moment.

Aucun commentaire pour le moment.