Prérequis:
- Linux
- Connaissance basique du shell
Partie 1: présentation générale
Introduction
Présentation des technologies :
- Avantages et inconvénient des language models privés contre les services propriétaires
- Panorama des différentes familles de runtimes: transformers, Llama.cpp, etc...
- Le matériel: prérequis, contraintes: CPU et GPU
Les formats de modèles de language :
- Notion de quantitization
- Le format gguf
Les différents types de modèles de language :
- Foundation models
- Fine tunes
- Choisir un modèle: famille, taille, quantitization, spécialisation
Concepts fondamentaux
- La tokenization
- Notion de fenêtre de contexte
- Le format de prompt
- Introdution au templating
Les paramètres d'inférence
Présentation des paramètres d'inférence les plus courrants passés au modèle :
- Réglage de la fenêtre de contexte
- Apercu des paramètres principaux: température, top_p, top_k, min_p
- Réglage des probabilités et pénalités
- Stop tokens
- Notion de logit biais
Paramètres plus spécialisés :
- Grammaires gbnf: pour orienter l'output du modèle
- Multimodal: lecture et interprétation des images
Partie 2: les outils
Mise en place d'un serveur d'inférence local: les options
Présentation des backends d'inférence locaux les plus utilisés. Pour chaque backend: présentation de l'installation, et exemple simple d'utilisation.
- Le serveur Llama.cpp
- Koboldcpp
- Ollama
- Autres: LocalAI, ExLlama
Autres backends demandant plus de ressources et orientés déploiement: ExLlama et Vllm
Utiliser une interface graphique
Aperçu des interfaces graphiques existantes :
- Text web UI
- Silly Tavern
- Koboldcpp
- InferGui
Workflows de développement:
- Intégration de l'IA en IDE (integrated development environment)
- Utilisation d'une IA spécialisée pour la programmation: génération, refactor, optimisation de code, documentation, session de développement interactive
Se connecter à une api privée
Présentation des différentes familles d'api et libraries :
- Bindings Python pour Llama.cpp
- Langchain
- Api: Llama.cpp, Koboldcpp et Ollama, format OpenAI
- Librairie LocalLm: démos en Python et Typescript
Partie 3: templating et prompt engineering
Templating
Présentation de la notion de template et du travail de formattage des prompts :
- Composition d'un template: blocs system, user, assistant
- Formats de template et familles de modèles: comment choisir son type de template
- Pourquoi le templating est important, bonnes pratiques et erreurs à ne pas commettre
- Templating avancé: technique du few shots prompting
Prompt engineering
Présentation de techniques classiques de prompting :
- System blocs
- Suivi d'instructions
- Chain of tought: raisonnement
- ReAct prompts: combinaison raisonnement et action
- Prompting avancé: introduction à MedPrompt
- Agents et actions
Embeddings
Présentation de la notion d'embeddings et utilisation :
- Principes du *retrieval augmented generation*: inclusion de documents dans le prompt
- Bases de données vectorielles et mémoire à long terme
- Librairies Python de gestion des embeddings: Llama Index et Langchain
Conclusion: perspectives
Aperçu des modèles les plus performants et populaires du moment :
- Petits modèles: 3B et 7B en suivi d'instructions
- Modèles intermédiares: 13B et 34B: chat et suivi d'instructions
- Grands modèles: 70B et plus: chat et suivi d'instructions
Fonctionalités particulières :
- Modèles multimodaux: computer vision et traitement des images
- Modèles à large fenêtre de contexte: possibilités et limites
Durée : 4 jours
Prix : 4 500 euros HT/ personne
Nous contacter : 01 47 20 23 01