Comment exécuter localement le modèle DeepSeek R1 671b sur un serveur EPYC à 2 000 $
(digitalspaceport.com)- Le rig Deepseek AI, basé sur un système AMD EPYC Rome, offre d’excellentes performances
- Sur le modèle Q4 671b, il atteint entre 4,25 et 3,5 TPS, ce qui montre qu’il peut fonctionner correctement avec le CPU seul
- Ce système peut fonctionner sans grande quantité de VRAM GPU et peut constituer un projet amusant pour les personnes qui aiment les défis techniques
- Les versions distillées étant moins performantes, il est recommandé d’utiliser le « modèle complet »
- Il prend en charge une fenêtre de contexte de plus de 16K, pour de meilleures performances
Matériel CPU pour l’IA locale
- Le système assemblé selon le guide existant en quad 3090 reste puissant. La carte mère MZ32-AR0 permet de configurer à moindre coût entre 512 Go et 1 To de RAM système. De la RAM DDR4 2400 est utilisée ici, mais les performances pourraient être meilleures avec de la DDR4 ECC à 3200 MT/s.
- Composants et coûts :
- Châssis rack : 55 $
- Carte mère MZ32-AR0 : 500 $
- Watercooling 420 mm Corsair h170i elite capellix xt : 170 $
- AMD EPYC 7702 64 cœurs : 650 $
- 512 Go de RAM ECC 2400 : 400 $
- NVMe 1 To – Samsung 980 Pro : 75 $
- Alimentation 850W : 80 $
- Coût total : environ 2 000 $
Assemblage du rack
- Assembler comme dans le guide existant, mais sans GPU ni carte riser
- Si vous prévoyez d’ajouter un GPU plus tard, il est préférable d’utiliser dès le départ une alimentation 1500W ou 1600W
- Pour réduire la température des barrettes de RAM, il est recommandé de créer un mur de ventilation avec 4 ventilateurs de 80 mm
Remarques sur la mise à niveau de la carte mère
- Si vous utilisez un CPU AMD EPYC 7V13, il est recommandé d’employer une carte mère MZ32-AR0 version V3
- La carte mère en version V1 peut ne pas prendre en charge les CPU Milan ; il faut donc la mettre à jour via le BIOS vers la V3
Configuration logicielle d’IA locale en self-hosted
- Il est recommandé d’installer la version serveur d’Ubuntu 24.04
- Dans la configuration BMC, régler l’adresse IP réseau en IP fixe
- Dans les paramètres BIOS, effectuer les changements suivants :
- régler NPS sur 1
- régler CCD sur Auto
- désactiver SMT
- désactiver SVM
- désactiver IOMMU
- régler cTDP sur 200
- régler deterministic control sur manual et mettre le curseur sur performance
- régler quick power policy sur performance
- régler BoostFMax sur manual et définir la valeur sur 3400
Installation d’Ollama
-
Installer Ollama avec les commandes suivantes :
curl -L https://ollama.com/download/ollama-linux-amd64.tgz -o ollama-linux-amd64.tgz sudo tar -C /usr -xzf ollama-linux-amd64.tgz sudo useradd -r -s /bin/false -U -m -d /usr/share/ollama ollama sudo usermod -a -G ollama $(whoami) -
Définir les variables d’environnement et créer le fichier ollama.service pour l’enregistrer comme service
Téléchargement du modèle DeepSeek 671b
-
Télécharger le modèle DeepSeek 671b avec la commande suivante :
ollama pull deepseek-r1:671b -
Ce modèle occupe environ 400 Go d’espace disque ; il faut donc prévoir un stockage suffisant
Installation d’OpenWEBUI
- Installer OpenWEBUI avec Docker
- Configurer et lancer le service OpenWEBUI avec Docker Compose
Connexion entre OpenWEBUI et Ollama
- Dans les paramètres d’OpenWEBUI, ajouter le serveur Ollama et vérifier l’état de la connexion
- Dans les paramètres avancés, configurer notamment GPU settings, Reasoning Effort, Context Length, num_thread, etc.
Exécution des tests
- Dans OpenWEBUI, démarrer un nouveau chat et sélectionner le modèle DeepSeek-r1:671b pour effectuer une conversation de test
En suivant ce guide, il est possible d’exécuter localement le modèle DeepSeek R1 671b avec un budget d’environ 2 000 $
1 commentaires
Commentaires sur Hacker News
Exécuter le modèle 671B en quantification Q4 sur un serveur EPYC mono-socket coûte 2 k$ et utilise 512 Go de RAM. En Q8, un serveur EPYC bi-socket avec 768 Go de RAM fournit 6 à 8 TPS pour un coût de 6 k$. L’auteur se demande quel est l’impact de la vitesse de la RAM sur les TPS.
En ligne, R1 coûte 2 $/MTok, et cette machine dépasse les 4 tok/s, ce qui revient à 0,04 $ par heure. Le coût électrique est estimé à 0,20 $ par heure. Hormis la confidentialité, cela ne semble pas avoir beaucoup d’intérêt.
Ce qui est étrange avec l’IA aujourd’hui, c’est qu’on veut exécuter les meilleurs modèles, mais le matériel coûte cher. Dans les années 1990, on pouvait faire tourner Linux sur du matériel bon marché. Les modèles d’IA récents demandent davantage de RAM. L’auteur se demande si ce genre de situation s’est déjà produit par le passé. Les jeux vidéo pourraient être un bon exemple.
Il serait plus intéressant d’obtenir 5 à 10 tokens/sec avec des modèles plus petits (33b-70b). L’auteur n’a pas envie de dépenser de l’argent dans un GPU à 3 k$ ou dans une machine à 2 k$.
L’auteur se demande s’il serait pertinent d’avoir un petit modèle uniquement pour la traduction anglais-espagnol, ou un modèle qui comprend les utilitaires Unix et bash. Il ne sait pas si limiter le contenu d’entraînement influe sur la qualité des résultats ou sur la taille du modèle.
L’auteur a monté une station de travail avec un EPYC 9274F et 384 Go de RAM, mais n’a pas obtenu les performances espérées. Il a effectué divers benchmarks, sans même atteindre la moitié des résultats du benchmark Fujitsu.
Il est surprenant que le NVIDIA Digits à 3 000 $ ne soit pas mentionné plus souvent. L’auteur était sceptique vis-à-vis de l’IA, mais prévoit désormais d’exécuter DeepSeek en local.
Il est étonnant de voir ce qu’on peut acheter pour 2 k$. L’auteur cherche des suggestions pour monter un desktop basse consommation.
En tant que YouTuber, l’auteur partage des statistiques sur la consommation électrique et la vitesse de la RAM. La consommation au repos est de 60 W, en charge de 260 W, et la RAM tourne à 2400.
L’auteur a exécuté le modèle sur une
r6a.16xlarge, mais après le premier prompt, le chargement du modèle prend beaucoup de temps. Avec 512 Go de RAM, il n’a pas pu utiliser une taille de contexte supérieure à 4k. Il est possible qu’il ait raté quelque chose, faute d’être familier avec la configuration du modèle.