Accéder au contenu principal

Déploiement de DeepSeek R1 sur Databricks : Un guide pas à pas

Découvrez comment configurer un compte Databricks, enregistrer le modèle DeepSeek R1, le déployer sur un terminal et y accéder localement pour une intégration transparente de l'IA !
Actualisé 18 févr. 2025

Databricks est depuis longtemps l'un des favoris de la communauté de l'ingénierie des données, et il étend désormais régulièrement ses capacités aux domaines de l'intelligence artificielle (IA) et de l'apprentissage machine (ML). Cette évolution signifie que vous pouvez désormais former des modèles, faire le cursus des expériences, enregistrer des modèles et les déployer sur des points d'extrémité Databricks, le tout au sein d'une même plateforme unifiée. Cette intégration simplifie les flux de travail et fait de Databricks un outil puissant pour les professionnels des données et de l'IA.

Si vous ne connaissez pas Databricks, vous pouvez suivre le cours Introduction à Databricks pour découvrir la plate-forme Databricks Lakehouse. Ce cours vous aidera à comprendre comment Databricks peut moderniser les architectures de données et améliorer les processus de gestion des données.

Dans ce tutoriel, je vais vous aider à déployer la version distribuée du modèle DeepSeek R1 sur Databricks. DeepSeek R1 a gagné une popularité importante, de nombreuses entreprises choisissant de l'exécuter sur leur propre infrastructure cloud au lieu d'envoyer des données sur des serveurs externes. 

Ce guide vous aidera à configurer un compte Databricks, à enregistrer le modèle DeepSeek R1, à le déployer à l'aide de l'interface utilisateur et à y accéder via le terrain de jeu et localement à l'aide de la commande CURL.

Pour en savoir plus sur DeepSeek R1, notamment sur ses caractéristiques, son processus de développement, ses modèles distillés, son prix et sa comparaison avec d'autres modèles d'IA tels que les offres d'OpenAI, consultez le site DeepSeek-R1 : Caractéristiques, comparaison, modèles distillés et plus encore blog.

Mise en place de Databricks

Il y a deux façons simples d'utiliser Databricks. Vous pouvez vous rendre sur GCP, AWS ou Azure Marketplace et vous abonner au service Databricks. Vous pouvez également vous inscrire à un compte Databricks autonome, qui vous fournit des ressources informatiques sans qu'il soit nécessaire de créer des grappes de calcul.

Je vous présente ici les deux façons de procéder.

Des bases de données avec des fournisseurs de clouds

Si vous avez déjà accès à un GPU AWS, cette méthode est fortement recommandée. Elle est simple et ne demande pas trop d'efforts. 

  • Allez sur le site web de Databricks.
  • Ouvrez un compte.
  • Sélectionnez "Continuer la configuration du cloud". Il vous redirigera vers votre compte AWS et vous demandera de configurer l'abonnement Databricks. 

Mise en place de Databricks sur la place de marché AWS.

Mise en place de Databricks sur la place de marché AWS.

Une fois que vous avez terminé, il créera un espace de travail Databricks pour vous avec toutes sortes d'options. Tous les paiements seront effectués par le biais de la facturation AWS. 

Le tableau de bord Databricks.

Lorsque vous cliquez sur l'onglet "Compute", vous pouvez créer le cluster de calcul de votre choix.

Mise en place d'un cluster GPU dans Databricks.

Cette grappe sera utilisée ultérieurement dans un carnet de notes et pour déployer le modèle. 

Bases de données autonomes

Si vous préférez utiliser la version autonome de Databricks parce que vous n'avez pas accès à un GPU cloud ou pour toute autre raison, suivez ces étapes : 

  • Créez un compte Databricks.
  • Cliquez sur le bouton "Continuer avec l'installation express". 

L'espace de travail et tout le reste seront mis en place en quelques secondes.

Souscrivez à la version Standalone pour les Databricks.

Inscrivez-vous à la version autonome de Databricks.

Veuillez noter qu'il y a un problème: vous ne pouvez pas créer votre propre cluster de calcul ou de GPU en utilisant cette méthode. Vous ne pouvez enregistrer le modèle qu'en utilisant une unité centrale dans un ordinateur portable, ce qui peut constituer un problème que vous souhaiteriez éviter.

Si vous travaillez avec DeepSeekR1 dans un environnement de production ou de recherche, l'utilisation d'un CPU au lieu d'un GPU peut être frustrante en raison du manque de performance, des limitations de mémoire et des coûts potentiels. Pour en savoir plus, consultez l'article de blog CPU vs GPU.  

Développer des applications d'IA

Apprenez à créer des applications d'IA à l'aide de l'API OpenAI.
Commencez à Upskiller gratuitement

Enregistrement du modèle R1 de DeepSeek sur les databricks

L'étape suivante consiste à enregistrer le modèle. 

  • Une fois l'espace de travail créé, cliquez sur le bouton "+ New" et sélectionnez le carnet de notes pour le lancer.

Un carnet Databricks.

  • Créez une cellule Jupyter et exécutez le code suivant :

1. Installez les paquets Python requis :

%%capture
!pip install torch transformers mlflow accelerate torchvision
%restart_python

2. Chargez les jetons, les configurations et le modèle à partir du référentiel Hugging Face :

import pandas as pd
import mlflow
import mlflow.transformers
import torch
from mlflow.models.signature import infer_signature
from transformers import AutoModelForCausalLM, AutoTokenizer, AutoConfig, pipeline


# Specify the model from HuggingFace transformers
model_name = "deepseek-ai/DeepSeek-R1-Distill-Llama-8B"


# Load tokenizer and model
tokenizer = AutoTokenizer.from_pretrained(model_name)
config = AutoConfig.from_pretrained(model_name)


model = AutoModelForCausalLM.from_pretrained(
    model_name,
    config=config,
    torch_dtype=torch.float16  
)

Téléchargement du modèle Deepseek R1.

3. Testez le modèle chargé en lui fournissant un exemple d'invite. 

Nous créerons également une signature que nous ajouterons lors de l'enregistrement du modèle :

text_generator = pipeline("text-generation", model=model, tokenizer=tokenizer)
example_prompt = "How does a computer work?"
example_inputs = pd.DataFrame({"inputs": [example_prompt]})
example_outputs = text_generator(example_prompt, max_length=200)
signature = infer_signature(example_inputs, example_outputs)


print(example_outputs)

Le modèle devrait fonctionner parfaitement !

La sortie qu'il a affichée pour moi est la suivante :

[{'generated_text': "How does a computer work? What is the computer? What is the computer used for? What is the computer used for in real life?\n\nI need to answer this question, but I need to do it step by step. I need to start with the very basic level and build up from there. I need to make sure I understand each concept before moving on. I need to use a lot of examples to explain each idea. I need to write my thoughts as if I'm explaining them to someone else, but I need to make sure I understand how to structure the answer properly.\n\nOkay, let's start with the basic level. What is a computer? It's an electronic device, right? And it has a central processing unit (CPU) that does the processing. But I think the central processing unit is more efficient, so maybe it's the CPU. Then, it has memory and storage. I remember that memory is like RAM and storage is like ROM. But wait, I think"}]

4. Configurez l'environnement conda avec la bonne version de Python et les paquets Python requis. 

Cela nous aidera à créer le conteneur qui contient tous les outils nécessaires à l'exécution du modèle :

conda_env = {
    "name": "mlflow-env",
    "channels": ["defaults", "conda-forge"],
    "dependencies": [
        "python=3.11",
        "pip",
        {
            "pip": [
                "mlflow",
                "transformers",
                "accelerate",
                "torch",
                "torchvision"
            ]
        }
    ]
}

5. Enregistrer le modèle 

Fournissez à la fonction mlflow.transformers.log_model le pipeline de génération de texte, le chemin de l'artefact, la signature, l'exemple d'entrée, le nom du modèle et l'environnement conda:

with mlflow.start_run() as run:
    mlflow.transformers.log_model(
        transformers_model=text_generator,
        artifact_path="deepseek_model",
        signature=signature,
        input_example=example_inputs,
        registered_model_name="deepseek_r1_llama_8b",
        conda_env=conda_env
    )

L'enregistrement du modèle prendra quelques minutes.

Enregistrement du modèle DeepSeek R1 dans le registre des modèles.

Découvrez la puissance de Databricks Lakehouse et améliorez vos compétences en ingénierie des données et en apprentissage automatique en suivant le cours Data Management in Databricks.

Déploiement de Deepseek sur Databricks

Il est temps de déployer le modèle !

  • Une fois le modèle enregistré, cliquez sur l'onglet "Models" en bas à gauche du tableau de bord Databricks. 
  • Sélectionnez votre modèle et cliquez sur le bouton "Servir ce modèle".

Servir le modèle DeepSeek R1.

  • Saisissez le nom de service du point final, sélectionnez les options de calcul et définissez la concurrence avant de cliquer sur le bouton "Créer".

Sélection du CPU et du GPU pour le point final de service.

Quelques minutes seront nécessaires pour configurer le point d'accès au service. Une fois la configuration terminée, l'état devient vert et affiche "Ready".

Le point de service DeepSeek est déployé.

En outre, vous pouvez affiner le DeepSeek R1 sur un ensemble de données personnalisé avant d'enregistrer le modèle. Suivez le tutoriel " Fine-Tuning DeepSeek R1" pour apprendre tout ce que vous devez savoir sur ce processus.

Accès au modèle déployé

Il existe de nombreuses façons d'accéder à ce modèle ou de l'utiliser. 

  1. Vous pouvez écrire votre question dans l'aire de jeu Databricks, qui générera une réponse dans le navigateur. 
  2. En outre, vous pouvez accéder au modèle à l'aide de CURL, du paquet de requêtes Python ou de commandes SQL.

Pour commencer, nous allons rédiger la question à l'aide du navigateur et générer la réponse.

Utilisation du terrain de jeu Databricks pour accéder au modèle.

Pour accéder au modèle localement ou l'intégrer dans votre application, vous devez d'abord générer une clé API Databricks. 

  • Accédez aux paramètres.
  • Cliquez sur "Developer" et générez un nouveau jeton. 
  • Copiez ce jeton et créez une variable d'environnement locale.

Génération du jeton API Databricks.

  • Utilisez la commande CURL et fournissez-lui le jeton API, en veillant à ce que l'invite et l'URL du point final du serveur soient au bon format JSON. En voici un exemple :
curl \
  -u token:$DATABRICKS_TOKEN \
  -X POST \
  -H "Content-Type: application/json" \
  -d '{"dataframe_split": {"columns": ["inputs"], "data": [["How does a computer work?"]]}}' \
  https://dbc-85e34089.cloud.databricks.com/serving-endpoints/deepseek_r1/invocations

Lorsque vous exécutez la commande, la génération de la réponse prend quelques secondes. C'est aussi simple que cela !

Utilisation de la commande CURL pour accéder au modèle.

Consultez le blog DeepSeek R1 vs V3 pour en savoir plus sur les meilleurs modèles de langage disponibles chez DeepSeek.

Conclusion

L'enregistrement et le déploiement du modèle DeepSeek R1 sur Databricks sont simples. Vous pouvez même enregistrer et déployer le grand modèle à l'aide d'une grappe de CPU ou d'une machine CPU locale, le tout sans frais. Cependant, l'exécution du modèle sur une unité centrale peut être lente et nécessite de la patience, en particulier lors de la construction de l'image docker.

Dans ce tutoriel, nous avons couvert l'ensemble du processus de déploiement du modèle, étape par étape. Nous avons commencé par configurer Databricks et enregistrer le modèle DeepSeek Distilled R1 pré-entraîné dans le Databricks Model Registry. Ensuite, nous avons utilisé le tableau de bord Databricks pour déployer le modèle. Enfin, nous avons testé le modèle déployé et montré comment l'utiliser localement à l'aide d'une simple commande CURL.

Si vous êtes novice en matière d'IA et de grands modèles de langage, je vous recommande de suivre le cours Introduction aux LLM en Python, je vous recommande de suivre le cours Introduction aux modèles de langage en Python. Cela vous aidera à construire une base solide, à comprendre les terminologies clés et à commencer à travailler sur des modèles avancés comme DeepSeek R1 !


Abid Ali Awan's photo
Author
Abid Ali Awan
LinkedIn
Twitter

En tant que data scientist certifié, je suis passionné par l'utilisation des technologies de pointe pour créer des applications innovantes d'apprentissage automatique. Avec une solide expérience en reconnaissance vocale, en analyse de données et en reporting, en MLOps, en IA conversationnelle et en NLP, j'ai affiné mes compétences dans le développement de systèmes intelligents qui peuvent avoir un impact réel. En plus de mon expertise technique, je suis également un communicateur compétent, doué pour distiller des concepts complexes dans un langage clair et concis. En conséquence, je suis devenu un blogueur recherché dans le domaine de la science des données, partageant mes idées et mes expériences avec une communauté grandissante de professionnels des données. Actuellement, je me concentre sur la création et l'édition de contenu, en travaillant avec de grands modèles linguistiques pour développer un contenu puissant et attrayant qui peut aider les entreprises et les particuliers à tirer le meilleur parti de leurs données.

Sujets

Apprenez-en plus sur Databricks avec ces cours !

cours

Introduction to Databricks

3 hr
11.2K
Learn about the Databricks Lakehouse platform and how it can modernize data architectures and improve data management processes.
Afficher les détailsRight Arrow
Commencer le cours
Voir plusRight Arrow
Apparenté

blog

2022-2023 Rapport annuel DataCamp Classrooms

À l'aube de la nouvelle année scolaire, DataCamp Classrooms est plus motivé que jamais pour démocratiser l'apprentissage des données, avec plus de 7 650 nouveaux Classrooms ajoutés au cours des 12 derniers mois.
Nathaniel Taylor-Leach's photo

Nathaniel Taylor-Leach

8 min

blog

Les 32 meilleures questions d'entretien sur AWS et leurs réponses pour 2024

Un guide complet pour explorer les questions d'entretien AWS de base, intermédiaires et avancées, ainsi que des questions basées sur des situations réelles. Il couvre tous les domaines, garantissant ainsi une stratégie de préparation bien équilibrée.
Zoumana Keita 's photo

Zoumana Keita

30 min

blog

Célébration de Saghar Hazinyar : Une boursière de DataCamp Donates et une diplômée de Code to Inspire

Découvrez le parcours inspirant de Saghar Hazinyar, diplômée de Code to Inspire, qui a surmonté les défis en Afghanistan et s'est épanouie grâce à une bourse de DataCamp Donates.
Fereshteh Forough's photo

Fereshteh Forough

4 min

blog

Q2 2023 DataCamp Donates Digest

DataCamp Donates a offert plus de 20k bourses d'études à nos partenaires à but non lucratif au deuxième trimestre 2023. Découvrez comment des apprenants défavorisés et assidus ont transformé ces opportunités en réussites professionnelles qui ont changé leur vie.
Nathaniel Taylor-Leach's photo

Nathaniel Taylor-Leach

blog

Les 20 meilleures questions d'entretien pour les flocons de neige, à tous les niveaux

Vous êtes actuellement à la recherche d'un emploi qui utilise Snowflake ? Préparez-vous à répondre à ces 20 questions d'entretien sur le flocon de neige pour décrocher le poste !
Nisha Arya Ahmed's photo

Nisha Arya Ahmed

20 min

blog

Nous avons fait don de bourses DataCamp Premium à un million de personnes, et ce n'est pas fini.

Réparties entre nos deux programmes d'impact social, DataCamp Classrooms et #DCDonates, les bourses offrent un accès illimité à tout ce que DataCamp Premium a à offrir.
Nathaniel Taylor-Leach's photo

Nathaniel Taylor-Leach

Voir plusVoir plus