- DeepSeek-R1 est un modèle open source dont les performances sont comparables au modèle de raisonnement O1 d’OpenAI
- Le modèle, initialement de 720 GB, a été réduit à 131 GB, soit une diminution de taille de 80 %
- Une technique de quantification dynamique est utilisée : certaines couches sont conservées avec un nombre de bits plus élevé (par ex. 4 bits), tandis que la plupart des couches MoE (Mixture of Experts) sont traitées en 1,58 bit
Principales caractéristiques
- Configuration minimale : peut fonctionner sur CPU avec 20 GB de RAM, mais la vitesse est lente
- Performances optimales : la somme de la VRAM et de la RAM doit être d’au moins 80 GB, avec 160 GB de VRAM recommandés (2 GPU H100 80 GB)
- Les versions à quantification dynamique (131 GB à 212 GB) sont disponibles sur Hugging Face : DeepSeek-R1-GGUF
Types de modèles à quantification dynamique
- Un total de 4 versions quantifiées est proposé :
- 131 GB, 158 GB, 183 GB, 212 GB (2 bits classique)
- L’optimisation de la quantification s’appuie sur une matrice d’importance (
imatrix)
- La méthode de quantification et les exigences matérielles varient selon les modèles
Benchmarks et tests de performance
- Les scores ont été mesurés sur 10 critères d’évaluation à partir de la génération du jeu Flappy Bird (pass@3)
- Les scores du modèle à quantification dynamique 1,58 bit sont les suivants :
- Modèle 131 GB : 6.92
- Modèle 158 GB : 9.08
- Modèle 183 GB : 9.17
- Les modèles sans quantification dynamique produisent des erreurs répétées ou des résultats incorrects
Exploitation de l’architecture de DeepSeek-R1
- L’analyse de l’architecture de DeepSeek-R1 permet de conserver en haute résolution les parties les plus sensibles à la quantification
- Les 3 premières couches denses sont maintenues entre 4 et 6 bits
- La plupart des couches MoE sont quantifiées en 1,58 bit
- Le module MLA (Memory Layers Attention) et la partie
down_proj sont conservés avec une précision élevée
- Environ 88 % des poids ont été quantifiés en 1,58 bit, ce qui a permis de réduire la taille du modèle
Résolution des problèmes de template de chat et de traitement des tokens
- Toutes les versions utilisent les tokens
<|begin_of_sentence|> et <|end_of_sentence|> dans le template de chat
- Le token EOS était mal configuré, ce qui provoquait un problème de génération infinie, mais cela a été corrigé
1 commentaires
Avis Hacker News
Une réduction de taille de 80 % est un résultat remarquable, et le fait que la version 1,58 bit tourne à 140 tokens/s sur un double H100 est impressionnant. Cependant, on peut douter de son aspect pratique pour la plupart des gens. Il peut fonctionner avec 24 Go de VRAM ou 20 Go de RAM, mais c’est trop lent. Il y a aussi des problèmes de répétition. Les répétitions sur Pygame atténuent l’intérêt de la quantification. Il existe des solutions, mais elles ne règlent pas le problème de fond. Le fait de l’avoir rendu accessible sur Hugging Face et l’approche de quantification dynamique sont excellents. C’est favorable aux petites équipes. Mais cela nécessite du matériel coûteux.
En faisant tourner DeepSeek sur une RTX 4090, le modèle devrait tenir dans la VRAM, mais il reste lent. L’architecture mémoire unifiée d’Apple est avantageuse. Un Mx Ultra de 192 Go peut gérer efficacement de grands modèles. Il est peut-être temps d’annuler son abonnement OpenAI.
La réduction de 80 % de la taille de DeepSeek-R1 est surprenante. Les grands modèles deviennent plus accessibles à davantage de personnes. Avec la quantification en 1,58 bit, la vitesse de 140 tokens/s sur un double H100 est impressionnante. Des entreprises de petite ou moyenne taille peuvent l’utiliser pour des applications locales. C’est un gros avantage pour les tâches d’agents nécessitant une faible latence.
La somme VRAM + RAM doit être d’au moins 80 Go pour obtenir des performances optimales. On peut essayer sur un serveur basse consommation / bas coût. Il est possible de construire un système Ryzen 5500 + 64 Go de RAM + 7x RTX 3060 12 Go pour 1 600 euros. La consommation électrique est d’environ 520 watts. On commence avec une carte mère AM4 et des RTX 3060 12 Go d’occasion. Les GPU supplémentaires sont connectés via des risers/extenders PCIe. C’est bien pour apprendre et acquérir de l’expérience.
Si toutes les couches sont quantifiées en 1,58 bit, cela provoque une répétition infinie. Il est intéressant de voir comment les auteurs de ce billet de blog ont cherché un seed spécifique. Bon travail.
L’évaluation de R1 n’est pas encore claire. L’affirmation selon laquelle il aurait été entraîné avec 5 M$ a un impact majeur sur le marché. Je me demande si cela a été vérifié.
Si on a investi dans une machine 100x alors qu’une 10x pourrait suffire, je ne comprends pas pourquoi on n’aurait pas simplement 10 machines 10x. On peut réutiliser le matériel et les données pour créer plusieurs instances de modèles plus efficaces.
Le travail de Danielhanchen est impressionnant. Unsloth est excellent, et sa capacité à s’adapter rapidement aux nouveaux modèles et à corriger les bugs de l’implémentation de base est remarquable. Un laboratoire sérieux devrait lui accorder quelques heures d’avance.
La réduction de la taille du modèle et le maintien de la cohérence sont étonnants. Cependant, on peut se demander dans quelle mesure l’efficacité a été préservée. Flappy bird est un jeu bien connu, mais un meilleur test serait de voir si R1 et o1 peuvent résoudre des problèmes que les autres modèles ne parviennent pas à résoudre.
Ce serait bien que la prochaine génération de modèles de base soit conçue pour permettre une inférence en quantification 8 bits avec 128 Go de VRAM. Par exemple, une base MoE puissante avec 16 milliards de paramètres actifs et 6 à 7 experts pourrait fonctionner sur un MacBook avec 128 Go de RAM.