Vue normale

Il y a de nouveaux articles disponibles, cliquez pour rafraîchir la page.
À partir d’avant-hierFlux principal

PyTorch dévoile Torchtune pour fine-tuner les LLM

Par : Korben
19 avril 2024 à 10:18

PyTorch, le framework chouchou des bidouilleurs d’IA, vient de nous pondre un petit truc cool : Torchtune ! 💎 Cette nouvelle bibliothèque native, encore en phase alpha mais déjà disponible en open-source sur GitHub, va vous permettre de fine-tuner les gros modèles de langage (LLM) comme un pro, sans vous prendre la tête.

Torchtune est donc une boîte à outils hyper flexible et modulaire qui va vous permettre de vous éclater à customiser des modèles pour vos propres besoins, le tout avec des recettes mémoire efficaces qui tournent même sur une bête carte graphique de gamer, comme les NVidia 3090/4090.

Son secret ?

Une architecture bien pensée qui mise sur l’interopérabilité avec l’écosystème des LLM, qu’ils soient open-source ou non. Concrètement, ça veut dire que vous allez pouvoir brancher Torchtune à tout un tas d’outils et de frameworks que vous adorez déjà, comme Hugging Face 🤗, PyTorch FSDP 🪢, Weights & Biases 📈, et plein d’autres.

Grâce à des recettes simples et bien documentées pour les modèles populaires comme Llama 3, Mistral ou Gemma 7B, même les débutants vont pouvoir se lancer dans l’aventure sans flipper. Bon OK, il faudra quand même un peu de bagage en PyTorch et en LLM, mais rien d’insurmontable ! Et si vous êtes un pro, vous allez pouvoir hacker le code à volonté pour l’adapter à vos besoins spécifiques.

Alors comment on met les mains dans le cambouis avec Torchtune ?

Rien de plus simple, mon cher Watson ! Il vous suffit d’installer la dernière version stable de PyTorch (2.2.2 au moment où j’écris ces lignes), puis de télécharger Torchtune depuis PyPI avec un petit

pip install torchtune

Et voilà, vous êtes prêt à en découdre avec les LLM !

Pour vous faire les dents, je vous conseille de jeter un œil au tutoriel sur le fine-tuning de Llama2 7B. C’est le parfait point de départ pour comprendre comment Torchtune fonctionne et comment l’utiliser pour vos propres projets.

En gros, ça se passe en 4 étapes :

  1. Téléchargez le modèle pré-entraîné et le tokenizer depuis Hugging Face Hub avec tune download.
  2. Choisissez une recette de fine-tuning (LoRA, QLoRA, full…) et customisez-la avec un fichier de config en YAML.
  3. Lancez l’entraînement avec tune run en précisant votre recette et votre config. Vous pouvez même faire du multi-GPU avec torchrun !
  4. Admirez le résultat et testez votre modèle fine-tuné avec une inférence locale. Si tout se passe bien, exportez-le avec ExecuTorch pour le déployer en prod, ou utilisez les API de quantification de Torchao pour l’exporter en int4 ou int8 et l’utiliser sur mobile ou en edge.

Facile, non ? 😄

Bon OK, j’avoue, j’ai un peu simplifié. En vrai, il y a pas mal de subtilités et de paramètres à régler pour obtenir les meilleurs résultats, comme le learning rate, le nombre d’époques, la taille du batch, le ratio de LoRA, et tout un tas d’autres trucs, mais c’est justement sa flexibilité qui vous permet d’expérimenter à l’infini pour trouver la combinaison parfaite.

Bref, si vous êtes dev et que vous aimez jouer avec les LLM c’est à tester.

Source

Llama 3 – l’IA open source de Meta qui rivalise avec les meilleurs modèles

Par : Korben
18 avril 2024 à 20:44

Accrochez-vous à vos claviers, car Meta vient de lâcher dans la nature une nouvelle créature nommée Llama 3. Oui, vous avez bien compris, je parle de la dernière génération de modèles de langage « open source » (ou presque, on y reviendra) de la société de Mark Zuckerberg.

Si vous pensiez que ChatGPT, Claude ou Mistral étaient les rois de la savane, attendez de voir débarquer ces nouveaux lamas survitaminés ! Avec des versions allant de 8 à 400 milliards de paramètres (pour les non-initiés, disons que c’est l’équivalent de leur QI 🧠), les Llama 3 atomisent littéralement la concurrence sur de nombreux benchmarks standards, que ce soit en termes de connaissances générales, de compréhension, de maths, de raisonnement ou de génération de code.

Mais qu’est-ce qui fait de Llama 3 un tel monstre par rapport à son petit frère Llama 2 ? Déjà, un entraînement de folie à base de 15 000 milliards de tokens (7 fois plus que Llama 2 !) pompé depuis le web (!!), avec beaucoup plus de code et de données non-anglaises pour préparer le terrain à une IA multilingue. Ajoutez à ça des techniques de parallélisation à gogo pendant la phase de pré-entraînement, et vous obtenez des lamas dopés qui apprennent à une vitesse supersonique.

Et ce n’est pas tout ! Les Llama 3 ont suivi un programme d’éducation complet, avec du fine-tuning à base de rejection sampling, de PPO et de DPO (si vous ne connaissez pas ces acronymes, ne vous inquiétez pas, moi non plus 😅). Résultat : des modèles ultra-fiables qui refusent rarement une tâche, font preuve d’un alignement exemplaire et sont capables de suivre des instructions complexes sans sourciller. Bref, ce sont des cracks en raisonnement et en génération de code !

Mais au fait, comment on met la main sur ces petites bêtes ? Facile, il suffit de se rendre sur le site de Meta AI et de les télécharger ! Enfin, quand je dis facile… Les Llama 3 sont bien « open source », mais sous une licence maison qui impose quelques restrictions, notamment pour les entreprises de plus de 700 millions d’utilisateurs mensuels (suivez mon regard vers Mountain View et Redmond 👀). Mais bon, rien ne vous empêche de vous amuser avec si vous n’êtes pas une multinationale !

Et en parlant de s’amuser, sachez que Meta a aussi concocté un chatbot maison (pas encore dispo en France) baptisé sobrement « Meta AI« , disponible sur le web (www.meta.ai) et directement intégré dans les barres de recherche de Facebook, Instagram, WhatsApp et Messenger. Sous le capot, c’est bien sûr du pur Llama 3, avec en prime un modèle de génération d’images nommé « Meta Imagine« .

Au programme, de la discussion, de la recherche web via Bing et Google, et bien sûr de la création d’images en un clin d’œil. Seul hic, pas encore de mode multi-modal façon ChatGPT pour uploader vos propres documents ou images, mais ça ne saurait tarder !

Alors, que penser de ce nouveau coup d’éclat de Meta dans la bataille des IA ?

Personnellement, je trouve ça plutôt chouette de voir un poids lourd du Net jouer le jeu de l’open source (ou approchant) et mettre à disposition de tous des modèles de cette qualité. Bien sûr, on peut toujours discuter des arrière-pensées de Zuck et sa volonté de garder un œil sur ce qu’on fabrique avec ses lamas. Mais au final, c’est toujours ça de pris sur les GAFAM et leurs vilains modèles propriétaires !

Allez, je vous laisse, j’ai un lama à aller dompter moi ! 🦙

Et n’oubliez pas, comme le dirait l’autre, « le monde appartient à ceux qui codent tôt ». Ou tard, c’est selon.

Source

LLM4Decompile – Quand l’IA se met à décompiler du binaire

Par : Korben
16 mars 2024 à 02:15

Imaginez un monde merveilleux où les secrets enfermés dans les binaires compilés ne seraient plus inaccessibles aux simples mortels que nous sommes…

C’est exactement ce que LLM4Decompile, le premier LLM (Large Language Model) open-source dédié à la décompilation, promet de réaliser. Fruit d’un travail de recherche innovant mené par une équipe de chercheurs passionnés, ce modèle révolutionnaire ouvre de nouvelles perspectives dans le domaine du reverse engineering.

Jusqu’à présent, la décompilation, c’est-à-dire le processus qui consiste à retrouver le code source à partir d’un exécutable compilé, restait un défi de taille. Les outils existants peinaient à produire un code lisible et compréhensible par les humains, ce qui est logique puisqu’il y a une grosse perte d’informations lors de la compilation. Mais ça, c’était avant l’arrivée de LLM4Decompile !

Entraîné sur un énorme dataset de 4 milliards de tokens de code C et d’assembleur x86, ce modèle de langage surpuissant a appris à décoder les secrets des binaires. Grâce à son architecture basée sur les Transformers et ses milliards de paramètres, il est donc capable de capturer les patterns et la sémantique du code à un niveau inédit.

Mais les chercheurs ne se sont pas arrêtés là. Ils ont aussi développé le premier benchmark standardisé pour la décompilation baptisé Decompile-Eval. Basé sur des problèmes de programmation réels, il permet d’évaluer la capacité des modèles à regénérer un code recompilable et ré-exécutable. Exit les métriques de similarité de tokens, place à des critères solides et pertinents ! LLM4Decompile parvient à recompiler 90% des binaires décompilés (oui oui, je me suis pas trompé) !

Mieux encore, 21% du code re-généré réussit tous les tests unitaires, démontrant une préservation de la logique du programme. C’est 50% de plus que GPT-4, pourtant considéré comme l’état de l’art.

Cerise sur le gâteau, LLM4Decompile est entièrement open-source. Les modèles pré-entraînés de 1,3 à 33 milliards de paramètres sont disponibles sur Hugging Face, prêts à être utilisés et améliorés par la communauté. Le code, les données d’entraînement et le benchmark sont aussi accessibles sur GitHub.

Bien sûr, LLM4Decompile n’est qu’un premier pas vers la décompilation par l’IA. Il reste limité au langage C et à l’assembleur x86, et ne gère pour l’instant que des fonctions isolées. Mais les perspectives sont immenses ! On peut imaginer étendre son champ d’action à d’autres langages et architectures, voire carrément l’utiliser pour transpiler automatiquement du code entre différents langages.

Les applications potentielles sont nombreuses : reverse engineering de logiciels legacy (ça veut dire obsolète mais encore utilisé.. .argh !), analyse de malware, portage de vieux jeux vidéos, etc. Même les vieux binaires qui sentent la naphtaline n’auront bientôt plus de secrets pour nous !

Le support des cartes AMD débarque sur Ollama

Par : Korben
15 mars 2024 à 22:38

Bonne nouvelle, Ollama vient tout juste d’annoncer un truc qui devrait vous faire plaisir : le support des cartes graphiques AMD en preview ! Cela signifie que toutes les fonctionnalités d’Ollama peuvent maintenant être accélérées par les cartes graphiques AMD, que ce soit sur Linux ou Windows.

Mais au fait, c’est quoi Ollama ? Pour les deux du fond qui suivent pas, je vous refais un topo vite fait. Ollama, c’est un outil hyper pratique qui permet de faire tourner des grands modèles de langage open-source directement sur votre machine locale. Genre Mistral, Llama 2 et toute la clique.

Alors, quelles sont les cartes AMD compatibles ?

Pas de panique, je vous ai préparé une petite liste bien détaillée. Dans la famille des Radeon RX, on retrouve les monstres comme les 7900 XTX, 7900 XT, 7800 XT, 6900 XT et compagnie. Pour les pros, la gamme Radeon PRO est aussi de la partie avec les W7900, W6800X Duo, Vega II… Bref, y a du beau monde au rendez-vous. Et si vous êtes un fan des cartes Instinct, pas de jaloux, les MI300X, MI250, MI100 et autres sont aussi supportées.

Ollama promet également que d’autres modèles de cartes graphiques suivront. Alors on croise les doigts et on surveille les annonces comme le lait sur le feu. En attendant, si vous voulez vous lancer dans l’aventure Ollama avec votre carte AMD, c’est simple comme bonjour.

Téléchargez Ollama pour Linux ou Windows, installez le bouzin et hop, vous voilà parés pour faire chauffer votre GPU AMD ! C’est pas beau la vie ? Je vous ai même fait un tutoriel ici !

Allez, je vous laisse, j’ai un rendez-vous urgent avec mon Llama2 uncensored qui me fait de l’œil.

Source

❌
❌