Créez votre propre serveur LLM en une semaine
Maîtrisez le déploiement de LLM en une semaine avec Tiny LLM
Pour les ingénieurs systèmes désireux de percer les arcanes des Large Language Models (LLM), un projet open-source révolutionnaire, 'Tiny LLM', offre une expérience d'apprentissage intensive et unique en son genre. Conçu pour démystifier le déploiement des LLM, ce cours pratique accompagne les participants dans la construction et l'optimisation d'un système d'inférence LLM en l'espace d'une semaine.
Qu'est-ce que Tiny LLM ?
Tiny LLM est une initiative ambitieuse visant à rendre les rouages internes des LLM accessibles aux ingénieurs systèmes. Conscients de la complexité des bases de code de déploiement de LLM bas niveau et hautement optimisées, ses créateurs ont développé un cours qui débute par des API fondamentales de manipulation matricielle. Cette approche permet aux apprenants de saisir les concepts clés du chargement des paramètres de modèle et de la réalisation des opérations mathématiques essentielles à la génération de texte, à l'instar du projet "needle" du cours Deep Learning Systems de la CMU.
Structure du cours et prérequis
Le cours est structuré sur trois semaines, avec un focus sur le déploiement et l'optimisation du modèle Qwen2-7B-Instruct.
- Semaine 1 : Construction d'un serveur LLM fonctionnel en Python pur et avec des API de manipulation matricielle.
- Semaine 2 : Amélioration des performances par l'implémentation de noyaux personnalisés C++/Metal.
- Semaine 3 : Optimisation accrue du débit par l'exploration du traitement par lots des requêtes.
Ce cours s'adresse idéalement aux personnes ayant une compréhension fondamentale de l'apprentissage profond et une connaissance de PyTorch. Il utilise MLX, une bibliothèque de tableaux et d'apprentissage automatique optimisée pour Apple Silicon. Bien qu'une compatibilité théorique avec PyTorch ou NumPy existe, MLX est l'environnement principal testé, garantissant ainsi une courbe d'apprentissage fluide.
Une approche de guide
Tiny LLM se présente davantage comme un guide pratique que comme un manuel académique traditionnel. Il agrège et unifie des ressources en ligne pertinentes, fournissant des listes de tâches claires et des indices essentiels. Cette méthode privilégie l'application pratique, déléguant les explications conceptuelles approfondies aux vastes ressources disponibles en ligne, tout en assurant une cohérence dans la terminologie et la notation des dimensions des tenseurs pour une intégration logicielle sans heurts.
Créé par des experts, pour la communauté
Créé par Chi (Ingénieur logiciel système chez Neon/Databricks) et Connor (Ingénieur logiciel chez PingCAP), Tiny LLM est né de leur désir de comprendre en profondeur l'inférence LLM. Ils ambitionnent d'offrir à la communauté une expérience pratique et concrète dans la construction de systèmes de déploiement LLM haute performance.
Pour commencer
Prêt à vous lancer dans ce parcours pédagogique ? Commencez par configurer votre environnement en suivant les instructions fournies et plongez dans la construction de votre propre Tiny LLM. Le projet encourage la participation et les retours de la communauté, accueillant les contributions via GitHub et les discussions sur leur serveur Discord. Rejoignez la communauté grandissante d'apprenants et de développeurs qui façonnent l'avenir du déploiement des LLM.