Extension de la diffusion de modèles LoRa affinés

Conçu pour la vitesse : latence d'environ 10 ms, même en cas de charge
Une méthode incroyablement rapide pour créer, suivre et déployer vos modèles !
- Gère plus de 350 RPS sur un seul processeur virtuel, aucun réglage n'est nécessaire
- Prêt pour la production avec un support complet pour les entreprises
Dans le domaine du déploiement d'applications d'IA, la mise à l'échelle de modèles affinés est devenue un défi majeur. Imaginons un scénario : vous êtes une start-up SaaS qui répond à 500 clients aux besoins divers, nécessitant des adaptations précises du modèle linguistique (LLM) pour le support interne et le contenu marketing personnalisé. Cela implique la tâche ardue de peaufiner environ 1 000 modèles.
Pour surmonter ces limites, utilisez LoRa FineTuning, une technique qui consiste à geler le LLM principal et à affiner de manière sélective des poids spécifiques pour tenir compte des données mises à jour. Cette approche, efficace et évolutive, fonctionne sur une fraction des paramètres d'origine définis par la configuration LoRa.
Cependant, le véritable défi réside dans le déploiement efficace de ces adaptateurs affinés.
Configuration de l'expérience
De nombreux frameworks de service LLM open source travaillent activement à l'intégration des serveurs d'adaptateurs LoRa, mais une solution complète reste difficile à trouver. Dans cette expérience, nous explorons LoRaX par Predibase, un framework prometteur qui semble avoir réussi à déchiffrer le code de distribution et de mise à l'échelle des adaptateurs LoRa.
💡
Pour plus d'informations sur LoRaX de Predibase, consultez leur blog : LoRaX - Servez des centaines de LLM affinés pour le prix d'un
Principales caractéristiques de LoRaX
Le LoRaX se distingue par trois piliers fondamentaux de mise en œuvre :
- Chargement dynamique de l'adaptateur : Permet le chargement juste à temps de pondérations LoRa affinées, évitant ainsi de perturber les requêtes simultanées lors de l'exécution.
- Mise en cache du poids à plusieurs niveaux : Facilite l'échange rapide d'adaptateurs LoRa entre les demandes, évitant ainsi les problèmes de manque de mémoire en déchargeant le poids des adaptateurs sur le processeur et le disque.
- Mise en lots continue de plusieurs adaptateurs : Utilise une politique de planification équitable pour optimiser le débit global du système, en étendant les stratégies de traitement par lots continu à plusieurs ensembles d'adaptateurs LoRa en parallèle.
Évaluation des performances avec LoRaX
Dans le cadre de notre expérience, nous avons évalué de manière approfondie les performances du LoRAX dans la gestion d'un large éventail d'adaptateurs affinés à l'aide du modèle TinyLLama LLM. Tout au long de nos expériences, nous avons évalué son efficacité dans le traitement de nombreuses demandes via plusieurs adaptateurs.
Prérequis pour LoRaX Configuration
Pour répliquer nos expériences, respectez ces conditions préalables pour configurer LoRaX sur votre serveur :
docker run \
--tous les GPU \
--shm-taille 1g \
-p 8080 : 80 \
-v $PWD/données : /données \
ghcr.io/predibase/lorax : dernière version \
--model-id Tinyllama/Tinyllama-1.1b-Chat-V0.6 # modèle de base utilisé pour le réglage fin
En outre, installez le client LoRaX pour les appels d'inférence en utilisant :
pip installe lorax-client
Informations sur les inférences
L'utilisation de LoRaX pour proposer des modèles LoRa affinés présentait des avantages distincts en raison de sa capacité à utiliser un seul GPU pour le modèle LLM de base tout en chargeant dynamiquement chaque adaptateur par demande. Cette approche dynamique, qui utilise un seul GPU et des adaptateurs de chargement à la volée, fait du LoRaX une solution optimale pour répondre à une multitude de modèles LoRa affinés.
Exemple de code d'inférence :
depuis le client d'importation lorax
client = Client (» https://example.lorax.truefoundry.tech «, délai d'attente = 10)
texte_généré = client.generate (
rapide,
DO_SAMPLE=Faux,
max_new_tokens=10,
adapter_id=id_adaptateur,
adapter_source="local »
) .texte_généré
Nos résultats expérimentaux ont démontré de manière concluante les avantages substantiels de l'utilisation du LoRaX pour la mise au point de modèles LoRa affinés. Grâce au chargement dynamique de l'adaptateur par demande et à l'utilisation efficace d'un seul GPU A100 pour le modèle LLM de base, le LoRaX a remarquablement optimisé les performances.
Informations sur les performances
Lors de nos récentes expériences impliquant le chargement dynamique de 100 adaptateurs, nous avons examiné de près leurs caractéristiques de performance. La latence initiale observée lors de la première demande découlait principalement de la nécessité de charger le modèle LLM de base en mémoire. Cependant, les demandes ultérieures ont mis en évidence une réduction de la latence en raison de la capacité du LoRaX à échanger rapidement des adaptateurs et à effectuer des fusions en temps réel pour les prévisions.

Nous avons déjà discuté du processus de chargement des modèles Lora fintuned à l'aide de HuggingFace PEFT dans nos blogs. Cependant, nos expériences ont mis en évidence des problèmes importants liés à cette approche :
1) Augmentation de la latence avec augmentation du nombre d'adaptateurs sur la mémoire du GPU :
Le principal problème est apparu lorsque nous avons essayé d'intégrer davantage d'adaptateurs dans la mémoire du GPU. Cela a entraîné une augmentation notable de la latence. Avec chaque adaptateur supplémentaire, la latence a connu une augmentation considérable, ce qui a eu un impact sur les performances globales.
2) Capacité limitée de la mémoire GPU :
Une autre limitation critique était l'ensemble limité d'adaptateurs pouvant être logés dans la mémoire du GPU. Cette contrainte a entravé l'évolutivité et a constitué un obstacle à l'adaptation simultanée d'un plus grand nombre d'adaptateurs.
Pour mieux illustrer les différences de performances, considérez les comparaisons suivantes :
Traitement de 70 jetons et génération de 10 jetons sur un GPU A100 :
HuggingFace PET : La latence variait de 400 à 450 ms.
LoRaX : A démontré une latence moyenne de 170 ms.
Impact des adaptateurs sur la latence :
HuggingFace PET : L'ajout de 1 000 adaptateurs Tinyllama Lora au LLM de base a fait passer la latence à 3 500 à 4 000 ms, soit une augmentation d'environ 700 %.
LoRaX : La latence n'a toujours pas été affectée par le nombre d'adaptateurs, grâce à son mécanisme de chargement dynamique sur le GPU, garantissant une latence stable même avec un nombre plus élevé de modèles.
En résumé, si HuggingFace PEFT facilite l'adaptation des modèles et l'utilisation des adaptateurs, il se heurte à des problèmes de performances à mesure que le nombre d'adaptateurs augmente, ce qui affecte notamment la latence et l'évolutivité. En revanche, le LoRaX se distingue par sa capacité à charger dynamiquement des adaptateurs et à exécuter des prévisions en temps réel, garantissant ainsi des performances et une évolutivité constantes, même avec un nombre important de modèles Lora affinés.
Conclusion
Les prouesses du LoRaX en matière de gestion efficace de divers modèles LoRa affinés tout en maintenant un modèle de base cohérent sont de bon augure pour les entreprises à la recherche de services d'IA évolutifs adaptés aux besoins individuels de leurs clients.
En tirant parti des stratégies efficaces de chargement des adaptateurs de LoRaX, les entreprises peuvent adapter leurs services en toute confiance pour inclure des milliers de modèles LoRa spécialement adaptés, tout en conservant un modèle de base unifié.
En résumé, LoRaX change la donne en proposant des adaptateurs affinés, offrant une solution évolutive et optimisée aux entreprises qui cherchent à déployer efficacement divers modèles d'IA.
True Foundry est un PaaS de déploiement de machine learning sur Kubernetes destiné à accélérer les flux de travail des développeurs tout en leur offrant une flexibilité totale dans les tests et le déploiement de modèles, tout en garantissant une sécurité et un contrôle complets à l'équipe Infra. Grâce à notre plateforme, nous permettons aux équipes de machine learning de déployer et surveiller des modèles en 15 minutes avec une fiabilité à 100 %, une évolutivité et la possibilité de revenir en arrière en quelques secondes, ce qui leur permet de réduire les coûts et de mettre les modèles en production plus rapidement, ce qui permet de réaliser une véritable valeur commerciale.
TrueFoundry AI Gateway offre une latence d'environ 3 à 4 ms, gère plus de 350 RPS sur 1 processeur virtuel, évolue horizontalement facilement et est prête pour la production, tandis que LiteLM souffre d'une latence élevée, peine à dépasser un RPS modéré, ne dispose pas d'une mise à l'échelle intégrée et convient parfaitement aux charges de travail légères ou aux prototypes.
Le moyen le plus rapide de créer, de gérer et de faire évoluer votre IA















.webp)



.png)


.webp)




.webp)







