IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Les benchmarks suggèrent que les modèles IA open source comblent l'écart avec les modèles propriétaires.
Les capacités de Llama 3 8b sont incroyables et se rapprochent de Wizard 2 8x22b, selon un ingénieur

Le , par Stéphane le calme

1PARTAGES

5  0 
Meta a lancé Llama-3 il y a quelques jours, et les benchmarks suggèrent que l'on arrive progressivement au point d'inflexion où les modèles open source comblent l'écart avec les modèles propriétaires. Selon les tests d'un ingénieur du CNRS, les performances de Llama 3 8b se rapprochent de celles de Wizard 2 8x22b, ce dernier modèle ayant pourtant 140 milliards de paramètres.

Meta a partagé les deux premiers modèles de la nouvelle génération de Llama, Meta Llama 3, disponible pour une large utilisation. Cette version propose des modèles de langage pré-entraînés et affinés par des instructions avec des paramètres 8B et 70B qui peuvent prendre en charge un large éventail de cas d'utilisation. Cette nouvelle génération de Llama démontre des performances de pointe sur une large gamme de références industrielles et offre de nouvelles capacités, y compris un raisonnement amélioré.

Meta affirme qu'il s'agit des meilleurs modèles open source de leur catégorie. En soutien à son approche ouverte de longue date, Meta déclare « mettre Llama 3 entre les mains de la communauté » : « Nous voulons donner le coup d'envoi à la prochaine vague d'innovation dans le domaine de l'IA, qu'il s'agisse d'applications, d'outils de développement, d'évaluations, d'optimisations de l'inférence ou de bien d'autres choses encore. Nous sommes impatients de voir ce que vous allez construire et nous attendons avec impatience vos commentaires », a ajouté Meta.

Les premiers benchmarks montrent que Llama-3 70B est assez proche de GPT-4 dans de nombreuses tâches
  • La page Meta officielle montre seulement que Llama-3 est plus performant que Gemini 1.5 et Claude Sonnet.
  • L'analyse artificielle montre que Llama-3 se situe entre Gemini-1.5 et Opus/GPT-4 pour la qualité.
  • Sur le LMSYS Chatbot Arena Leaderboard, Llama-3 est classé 5ème alors que les modèles actuels GPT-4 et Claude Opus sont toujours à égalité au 1er rang.

Le modèle Llama-3 400B+, encore plus puissant, est toujours en cours de formation et devrait surpasser GPT-4 et Opus dès sa sortie.

WizardLM-2 : le dernier modèle open source de Microsoft

La dernière version, WizardLM-2, se décline en trois versions :
  • WizardLM-2 8x22B : En tant que modèle le plus avancé de Microsoft, le WizardLM-2 8x22B démontre des performances hautement compétitives par rapport aux modèles propriétaires de premier plan tels que GPT-4. Le modèle 8x22B, qui est le modèle phare, compte 141 milliards de paramètres, ce qui en fait l'un des modèles les plus puissants disponibles dans la communauté open-source.
  • WizardLM-2 70B : Ce modèle atteint des capacités de raisonnement de premier ordre et est le premier choix dans la catégorie de taille de 70 milliards de paramètres. Il offre un excellent équilibre entre performances et ressources requises.
  • WizardLM-2 7B : Malgré sa taille plus petite, le WizardLM-2 7B est incroyablement rapide et atteint des performances comparables à celles de modèles open source dix fois plus grands. C’est un choix idéal pour les applications qui nécessitent de l’efficacité sans compromettre la qualité.

Développé sur la base d'une architecture de mélange d'experts (MoE), WizardLM-2 s'appuie sur un système de formation synthétique entièrement alimenté par l'IA, ce qui améliore sa capacité à gérer des conversations multilingues complexes et à effectuer des raisonnements de haut niveau. Ce système sous-tend la capacité du modèle à fournir des réponses raffinées et contextuellement pertinentes dans divers domaines, notamment l'écriture, le codage, les mathématiques, etc.

Performances et applications

Pour évaluer les performances de WizardLM-2, Microsoft a mené des évaluations automatiques et humaines approfondies sur divers benchmarks et scénarios réels. Les résultats parlent d’eux-mêmes :
  • MT-Bench : Le WizardLM-2 8x22B rivalise avec GPT-4 et Claude 3, se positionnant comme le modèle open source le plus performant dans sa catégorie de taille. De plus, il surpasse GPT-4 dans les évaluations humaines sur des instructions complexes. Son application dans les scénarios du monde réel est vaste, allant de l'amélioration de l'IA conversationnelle à l'alimentation de processus décisionnels complexes dans les environnements commerciaux.
  • AlpacaEval : Le WizardLM-13B-V1.2 atteint 89,17 %, dépassant le ChatGPT à 86,09 %.



Comparaison des benchmarks WizardLM2 avec GPT-4-1106-preview, Command R Plus, Mistral Large, Qwen 1.5, Straling LM 7B. Source : Page de lancement du modèle, désormais supprimée

WizardLM-2 a été retiré par Microsoft peu de temps après son lancement pour effectuer des tests de « toxicité », mais à ce moment-là, le modèle d’IA avait déjà été téléchargé, forké et réuploadé sur le web. On peut toujours utiliser ce modèle via LM Studio ou Openrouter.ai. Malgré le retrait rapide, le modèle a été favorablement comparé à une version de GPT-4 d’OpenAI. C'est d'ailleurs ce qui a permis à plusieurs curieux de mener des tests.

Invites de test pour l'évaluation de WizardLM-2 et GPT-4

À l'extérieur de Microsoft, plusieurs tests lui ont été soumis, notamment pour tester sa capacité de génération de texte (écriture créative, documentation technique), ses aptitudes à la conversation (via une simulation d'assistance à la clientèle, une discussion aléatoire), en codage et programmation (génération de code, explication de code), en mathématiques et raisonnement (résolution de problèmes mathématiques, raisonnement logique) et bien d'autres.

Par exemple, en codage et programmation, voici ce qui lui a été demandé.

Génération de code : écris un script Python qui lit un fichier CSV, calcule la moyenne des valeurs dans une colonne nommée 'Price', et imprime le résultat.

Réponse de WizardLM-2 : Voici un script Python qui lit un fichier CSV, suppose qu'il y a une colonne nommée 'Price', calcule la moyenne des valeurs de cette colonne, et imprime le résultat. Ce script utilise le module `csv` pour lire le fichier CSV et le module `math` pour les opérations mathématiques.

Code Python : Sélectionner tout
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
```python
import csv
import math
 
def calculate_average(filename):
    total_sum = 0
    count = 0
 
    with open(filename, mode='r', newline='') as csvfile:
        reader = csv.DictReader(csvfile)
        for row in reader:
            try:
                price = float(row['Price'])
                total_sum += price
                count += 1
            except ValueError:
                # Skip the row if 'Price' is not a number
                continue
            except KeyError:
                # Skip the row if 'Price' column does not exist
                continue
 
    average_price = total_sum / count if count > 0 else 0
    return math.ceil(average_price * 100) / 100  # Round to two decimal places
 
def main():
    filename = 'data.csv'  # Replace with your CSV file path
    average = calculate_average(filename)
    print(f"The average price is: ${average}")
 
if __name__ == "__main__":
    main()
```

Veillez à remplacer `'data.csv'` par le chemin réel de votre fichier CSV. Ce script suppose que toutes les cellules non vides sous la colonne 'Price' contiennent des valeurs numériques qui peuvent être converties en nombres flottants. S'il y a des lignes où la colonne 'Price' est manquante ou contient des données non numériques, elles seront ignorées pendant le calcul.

Pour exécuter ce script, vous devez disposer d'un environnement Python avec les autorisations nécessaires pour accéder au fichier CSV. Si votre fichier CSV a un en-tête de colonne différent pour les prix, ajustez la partie `row['Price']` en conséquence.

Explication de code : « Voici un extrait de JavaScript : async function fetchData() { const response = await fetch('https://api.example.com/data') ; const data = await response.json() ; console.log(data) ; } fetchData(); explique ce que fait ce code et comment il fonctionne. »

Réponse de WizardLM-2 : L'extrait JavaScript fourni définit une fonction asynchrone nommée `fetchData` qui récupère des données à partir d'un point de terminaison API spécifié, traite la réponse et enregistre le résultat dans la console. Voici une explication étape par étape de ce que fait chaque partie du code :
  1. Déclaration de la fonction : le mot-clé async devant function fetchData() indique que cette fonction effectuera des opérations asynchrones en utilisant await. Il permet à la fonction de suspendre son exécution jusqu'à ce qu'une expression await soit résolue, puis de reprendre l'exécution à partir du point de suspension.
  2. Appel API Fetch : Dans la fonction fetchData, const response = await fetch('https://api.example.com/data'); effectue une requête GET à l'URL spécifiée en utilisant la fonction fetch. Le mot clé await est utilisé pour attendre que la promesse retournée par fetch soit résolue avant de passer à la ligne de code suivante.
  3. Gestion des réponses : Une fois l'appel fetch terminé, response contiendra la réponse du serveur (par exemple, une réponse `200 OK` avec un corps contenant les données). Le code attend alors la consommation de cette réponse en appelant response.json(). Cette méthode renvoie une promesse qui se résout avec le résultat de l'analyse du corps de la réponse en JSON.
  4. Analyse JSON : Après avoir attendu que le JSON soit analysé, const data = await response.json(); assigne l'objet JSON analysé à la variable data. Le mot-clé await assure que la fonction ne continuera pas jusqu'à ce que l'analyse JSON soit terminée.
  5. Enregistrement des données : Enfin, console.log(data); affiche l'objet data sur la console. Cela vous permet d'inspecter le contenu des données renvoyées par l'appel API.
  6. Invocation de la fonction : La dernière ligne fetchData(); appelle la fonction fetchData, initiant l'opération asynchrone pour récupérer et enregistrer les données.

Lorsque ce code est exécuté dans un environnement d'exécution JavaScript (comme un navigateur web ou Node.js), il effectue une requête HTTP GET vers 'https://api.example.com/data', analyse la réponse JSON et imprime l'objet de données résultant sur la console.

Il est important de noter que fetchData retourne une promesse lorsqu'elle est appelée, qui se résout avec la valeur de data. Cela signifie que vous pouvez aussi utiliser fetchData() dans des patterns async/await ailleurs dans votre code ou l'enchaîner avec then() pour d'autres opérations asynchrones.

Les capacités de Llama 3 8b se rapprochent de celles de Wizard 2 8x22b, selon un ingénieur du CNRS

Maziyar PANAHI, Big Data Engineer/SysAdmin CNRS, a été stupéfait par les réponses de Llama 3 8b. Il a cité plusieurs exemple de réponses de Llama 3 8b, assurant que l'une des questions n'étaient répondu correctement que par GPT-4 et OPUS. Il s'agit de celle-ci :

Question : J'ai 10 pommes. Je trouve 3 pièces d'or au fond d'une rivière. La rivière coule près d'une grande ville qui a un rapport avec ce à quoi je peux dépenser les pièces. Je perds alors 4 pommes mais je gagne une pièce d'or. Trois oiseaux courent sur mon chemin et laissent tomber 6 pommes chacun. Je joue à un jeu en ligne et je gagne 6 pièces d'or, mais je dois les partager équitablement avec mes deux coéquipiers. J'achète des pommes pour toutes les pièces dont je dispose. Le prix d'une pomme est de 0,5 pièce. Combien de pommes ai-je ? Et où se trouve la rivière ?

Réponse de Llama 3 8b :

Décortiquons les changements que vous avez subis, étape par étape !
  1. Vous commencez avec 10 pommes.
  2. Vous trouvez 3 pièces d'or dans la rivière, ce qui n'affecte pas votre nombre de pommes.
  3. Vous perdez 4 pommes, ce qui vous laisse 6 pommes (10 - 4 = 6).
  4. Les oiseaux laissent tomber 6 pommes chacun, ce qui fait un total de 18 nouvelles pommes (6 x 3 = 18). En les ajoutant aux pommes restantes, vous obtenez un total de 24 pommes (6 + 18 = 24).
  5. Vous gagnez 6 pièces d'or dans le jeu, mais vous devez les partager équitablement avec vos coéquipiers. Cela signifie que vous obtenez 2 pièces d'or (6 ÷ 3 = 2).
  6. Vous dépensez toutes les pièces d'or que vous avez (y compris les 3 initiales et les 2 nouvelles) pour acheter des pommes, puisque chaque pomme coûte 0,5 pièce.

Calculons le nombre de pommes que vous pouvez acheter avec le total de vos pièces d'or :

Vous avez un total de 5 pièces d'or (3 + 2). Comme chaque pomme coûte 0,5 pièce, vous pouvez en acheter :

5 pièces ÷ 0,5 pièce/pomme = 10 pommes

En ajoutant ces pommes à celles que vous aviez déjà, vous obtenez un total de :

24 pommes + 10 pommes = 34 pommes

Pour ce qui est de l'emplacement de la rivière, elle passe près d'une grande ville qui vous permet de dépenser les pièces d'or pour acheter quelque chose (des pommes). Comme vous avez trouvé les pièces d'or dans la rivière et que vous êtes ensuite allé jouer à un jeu en ligne avec vos coéquipiers, il est probable que la ville soit proche ou facilement accessible.

Vous avez maintenant 34 pommes !

Meta contre OpenAI

Certains pensent que l'objectif de Meta, dès le départ, était de cibler OpenAI avec une approche « terre brûlée » en publiant des modèles ouverts puissants pour perturber le paysage concurrentiel et éviter d'être distancé dans la course à l'IA.

Meta peut probablement dépenser plus qu'OpenAI en termes de calcul et de talents :
  • OpenAI réalise un chiffre d'affaires estimé à 2 milliards de dollars et n'est probablement pas rentable. Meta a généré un revenu de 134 milliards de dollars et des bénéfices de 39 milliards de dollars en 2023.
  • Les ressources de calcul de Meta sont probablement plus importantes que celles d'OpenAI à l'heure actuelle.
  • L'open source attire probablement de nombreux talents et chercheurs.

L'une des conséquences possibles pourrait être l'acquisition d'OpenAI par Microsoft pour rattraper Meta. Google fait également des progrès dans le domaine des modèles ouverts et dispose de capacités similaires à celles de Meta. Il sera intéressant de voir où ils s'intègrent.

En attendant, avec la sortie de Llama-3, les opportunités pour les développeurs sont énormes :
  • Fini le verrouillage des fournisseurs.
  • Au lieu de se contenter d'envelopper des points d'extrémité d'API propriétaires, les développeurs peuvent désormais intégrer l'IA en profondeur dans leurs produits d'une manière très rentable et performante. Il existe déjà plus de 800 variations de modèles de lama-3 sur Hugging Face, et il semble que tout le monde sera en mesure de les adapter à ses cas d'utilisation, à ses langues ou à son secteur d'activité.
  • Du matériel plus rapide et moins cher : Groq peut désormais générer 800 jetons de lama-3 par seconde pour une petite fraction des coûts de GPT. Des réponses LLM quasi-instantanées à bas prix se profilent à l'horizon.

Sources : Maziyar PANAHI (1, 2), WizardLM-2-7B-GGUF

Et vous ?

Que pensez-vous des exemples tests de Maziyar PANAHI ? Lequel vous intéresse le plus ?
Seriez-vous intéressé par l'utilisation de Llama 3 ou Wizard 2 dans votre domaine d'activité ? Si oui, pourquoi et quelle version, si non, pourquoi pas ?
Comment ces modèles pourraient-il transformer notre façon de développer des logiciels ?
Selon vous, quel modèle offre le meilleur équilibre entre performance et accessibilité pour les développeurs indépendants ?
Quels sont les défis associés à l’utilisation de modèles de langage aussi avancés ?
Comment la polyvalence linguistique de Llama 3 8B pourrait-elle influencer l’apprentissage des langues ?
En quoi les capacités de raisonnement de Wizard 2 8x22B et Llama 3 8B pourraient-elles bénéficier à des secteurs non technologiques ?
Quel impact pensez-vous que ces modèles auront sur l’avenir de l’intelligence artificielle ?

Une erreur dans cette actualité ? Signalez-nous-la !