Warum ist dieses Thema für deutsche Kunden relevant?
Für Unternehmen in Deutschland und der EU sind Datenschutz (Data Protection) und Sicherheit (Security) entscheidend. Durch das Deployment der DeepSeek-R1 Modelle auf der Azure AI Platform behalten Sie die volle Kontrolle über Ihre Daten und können sicherstellen, dass alle Datenverarbeitungen innerhalb der EU stattfinden. Dies ist besonders wichtig für öffentliche Einrichtungen, Behörden und Unternehmen, die strenge Datenschutzanforderungen erfüllen müssen. Die Azure AI Foundry bietet die nötigen Features und Lösungen für eine sichere Implementierung.
Verwendete Tools
Für das Deployment von DeepSeek-R1 als sicheren Service für Ihre Anwendungen (Applications) verwenden wir:
- vLLM: Ein leistungsstarker und speichereffizienter Inferenz-Engine für große Sprachmodelle.
- Managed Online Endpoints in Azure Machine Learning: Eine skalierbare und sichere Lösung für Echtzeit-Inferenzen.
Was ist vLLM?
vLLM ist ein hochoptimierter Inferenz-Engine für große Sprachmodelle (LLMs). Es nutzt fortschrittliche Speicherverwaltungstechniken wie PagedAttention, um die Effizienz und Geschwindigkeit der Modellinferenz zu maximieren. Dies macht vLLM zu einer idealen Wahl für das Deployment von LLMs in produktiven Umgebungen.
Was sind Managed Online Endpoints?
Managed Online Endpoints in Azure AI bieten eine vollständig verwaltete Lösung für das Deployment von Machine-Learning-Modellen. Sie übernehmen das Skalieren, Sichern und Überwachen der Modelle, sodass Sie sich auf die Anwendungsentwicklung konzentrieren können.
Schritt-für-Schritt-Anleitung: Deepseek R1 auf Azure deployen
Schritt 1: Erstellen einer benutzerdefinierten Umgebung für vLLM auf AzureML
Zuerst erstellen wir ein Dockerfile, um die Umgebung für unser Modell zu definieren. Wir verwenden den Basis-Container von vLLM, der alle notwendigen Abhängigkeiten enthält:
dockerfile
Copy
FROM vllm/vllm-openai:latest
ENV MODEL_NAME deepseek-ai/DeepSeek-R1-Distill-Llama-8B
ENTRYPOINT python3 -m vllm.entrypoints.openai.api_server --model $MODEL_NAME $VLLM_ARGS
Mit diesem Dockerfile können wir den Modellnamen flexibel über eine Umgebungsvariable festlegen. Als nächstes melden wir uns bei unserem Azure Machine Learning Workspace an:
bash
Copy
az account set --subscription <Abonnement-ID>
az configure --defaults workspace=<Azure Machine Learning Workspace-Name> group=<Ressourcengruppe>
Dann erstellen wir eine environment.yml-Datei, um die Umgebungseinstellungen zu spezifizieren:
yaml
Copy
$schema: https://azuremlschemas.azureedge.net/latest/environment.schema.json
name: r1
build:
path: .
dockerfile_path: Dockerfile
Und bauen die Umgebung:
bash
Copy
az ml environment create -f environment.yml
Schritt 2: Deployment des AzureML Managed Online Endpoints
Jetzt erstellen wir eine endpoint.yml-Datei, um den Managed Online Endpoint zu definieren:
yaml
Copy
$schema: https://azuremlsdk2.blob.core.windows.net/latest/managedOnlineEndpoint.schema.json
name: r1-prod
auth_mode: key
Und erstellen den Endpoint:
bash
Copy
az ml online-endpoint create -f endpoint.yml
Für das Deployment benötigen wir die Adresse des Docker-Images, die wir in AzureML Studio unter Umgebungen -> r1 finden.
Schließlich erstellen wir eine deployment.yml-Datei, um die Deployment-Einstellungen zu konfigurieren:
yaml
Copy
$schema: https://azuremlschemas.azureedge.net/latest/managedOnlineDeployment.schema.json
name: current
endpoint_name: r1-prod
environment_variables:
MODEL_NAME: deepseek-ai/DeepSeek-R1-Distill-Llama-8B
VLLM_ARGS: "--max-num-seqs 16 --enforce-eager" # optionale Argumente für vLLM
environment:
image: xxxxxx.azurecr.io/azureml/azureml_xxxxxxxx # Docker-Image-Adresse hier einfügen
inference_config:
liveness_route:
port: 8000
path: /health
readiness_route:
port: 8000
path: /health
scoring_route:
port: 8000
path: /
instance_type: Standard_NC24ads_A100_v4
instance_count: 1
request_settings:
max_concurrent_requests_per_instance: 1
request_timeout_ms: 10000
liveness_probe:
initial_delay: 10
period: 10
timeout: 2
success_threshold: 1
failure_threshold: 30
readiness_probe:
initial_delay: 120 # Warten Sie 120s, bevor wir mit dem Prüfen beginnen
period: 10
timeout: 2
success_threshold: 1
failure_threshold: 30
Und deployen das Modell:
bash
Copy
az ml online-deployment create -f deployment.yml --all-traffic
Schritt 3: Testen des Deployments
Nach dem Deployment können wir den Endpoint testen. Zuerst holen wir uns die Scoring-URI und die API-Schlüssel:
bash
Copy
az ml online-endpoint show -n r1-prod
az ml online-endpoint get-credentials -n r1-prod
Dann testen wir den Endpoint mit einem Python-Snippet:
python
Copy
import requests
url = "https://r1-prod.polandcentral.inference.ml.azure.com/v1/completions"
headers = {
"Content-Type": "application/json",
"Authorization": "Bearer xxxxxxxxxxxx"
}
data = {
"model": "deepseek-ai/DeepSeek-R1-Distill-Llama-8B",
"messages": [
{
"role": "user",
"content": "Was ist besser, Sommer oder Winter?"
},
],
'max_tokens': 750,
}
response = requests.post(url, headers=headers, json=data)
print(response.json())
Die Antwort zeigt, dass das Modell korrekt arbeitet:
json
Copy
{
"id":"chatcmpl-ccf51218-30a0-4200-bfa4-5d90ac1fdd98",
"object":"chat.completion",
"created":1738058980,
"model":"deepseek-ai/DeepSeek-R1-Distill-Llama-8B",
"choices":[
{
"index":0,
"message":{
"role":"assistant",
"content":"<think>\nHmm, der Benutzer fragt, ob Sommer oder Winter besser ist. Ich muss verschiedene Aspekte berücksichtigen...\n</think>\n\nDie Debatte zwischen Sommer und Winter ist subjektiv und hängt von persönlichen Vorlieben ab..."
}
}
]
}
Autoscaling für Deepseek R1
Mit Autoscaling können Sie die Anzahl der Instanzen dynamisch anpassen, um Lastspitzen effizient zu bewältigen. Azure Machine Learning bietet hierfür eine nahtlose Integration mit Azure Monitor. Weitere Details finden Sie in der offiziellen Dokumentation.
Zusammenfassung
In diesem Beitrag haben wir gezeigt, wie Sie Deepseek R1 auf Azure Machine Learning deployen können, um eine DSGVO-konforme und private Umgebung für Echtzeit-Inferenzen zu schaffen. Dies ist besonders für deutsche Kunden relevant, die strenge Datenschutzanforderungen erfüllen müssen.
Durch die Nutzung von vLLM und Managed Online Endpoints können Sie Deepseek R1 effizient und skalierbar in einer Azure-Region Ihrer Wahl betreiben – sei es in der EU oder weltweit.
___________
Disclaimer und Credits: Dieser Blogartikel wurde für unsere deutschen Leser und Kunden optimiert. Den originalen Blogartikel finden Sie hier: Deploying Deepseek R1 on Azure Machine Learning.



