Τα μεγάλα γλωσσικά μοντέλα (LLMs) έχουν φέρει επανάσταση στην αλληλεπίδραση μας με την τεχνητή νοημοσύνη. Ωστόσο, η τοπική εκτέλεση τους θεωρείται συχνά περίπλοκη διαδικασία.
Με εργαλεία όπως το Ollama και φιλικά προς τον χρήστη περιβάλλοντα όπως το Open WebUI, η εγκατάσταση και η χρήση προηγμένων μοντέλων AI στον προσωπικό σας υπολογιστή είναι πλέον πιο εύκολη από ποτέ.
Σε αυτόν τον οδηγό, θα σας καθοδηγήσουμε βήμα προς βήμα στη διαδικασία εγκατάστασης και εκτέλεσης του DeepSeek R1, ενός ισχυρού ανοιχτού κώδικα LLM, τοπικά με το Ollama.
Τι είναι το DeepSeek R1;
Το DeepSeek R1 είναι ένα προηγμένο γλωσσικό μοντέλο, βελτιστοποιημένο για εργασίες όπως η δημιουργία κειμένου, η περίληψη και η απάντηση σε ερωτήσεις. Είναι ελαφρύ αλλά ταυτόχρονα ισχυρό, καθιστώντας το εξαιρετική επιλογή για προγραμματιστές και ερευνητές που θέλουν να πειραματιστούν με την τεχνητή νοημοσύνη χωρίς να βασίζονται σε υπηρεσίες cloud.
Τι είναι το Ollama;
Το Ollama είναι μια πλατφόρμα που απλοποιεί τη διαδικασία λήψης, διαχείρισης και εκτέλεσης μοντέλων τεχνητής νοημοσύνης τοπικά. Υποστηρίζει μια ευρεία γκάμα μοντέλων, συμπεριλαμβανομένου του DeepSeek R1, και προσφέρει ένα εύχρηστο περιβάλλον αλληλεπίδρασης, καθιστώντας το ιδανικό τόσο για αρχάριους όσο και για έμπειρους προγραμματιστές.
Προαπαιτούμενα
Πριν προχωρήσετε στην εγκατάσταση, βεβαιωθείτε ότι το σύστημα σας πληροί τις ακόλουθες προϋποθέσεις:
- Υπολογιστής με σύγχρονο επεξεργαστή (CPU) και ισχυρή κάρτα γραφικών (GPU) για καλύτερη απόδοση.
- Μνήμη RAM τουλάχιστον 16GB.
- Python 3.8 ή νεότερη έκδοση.
- Ελεύθερος αποθηκευτικός χώρος τουλάχιστον 50 GB.
- Nvidia GPU με 16GB+ VRAM (για ταχύτερη επεξεργασία).
Οι ελάχιστες απαιτήσεις συστήματος για την εκτέλεση ενός μοντέλου DeepSeek-R1 είναι οι εξής:
Απαιτήσεις GPU:
Οι απαιτήσεις διαμόρφωσης GPU ανάλογα με τον τύπο του μοντέλου είναι οι εξής:
Μοντέλο | Παράμετροι (B) | Απαιτούμενη VRAM (GB) | Συνιστώμενη GPU |
---|---|---|---|
DeepSeek-R1-Zero | 671B | ~1,342 GB | Ρύθμιση Multi-GPU (π.χ., NVIDIA A100 80GB x16) |
DeepSeek-R1 | 671B | ~1,342 GB | Ρύθμιση Multi-GPU (π.χ., NVIDIA A100 80GB x16) |
DeepSeek-R1-Distill-Qwen-1.5B | 1.5B | ~3.5 GB | NVIDIA RTX 3060 12GB ή ανώτερη |
DeepSeek-R1-Distill-Qwen-7B | 7B | ~16 GB | NVIDIA RTX 4080 16GB ή ανώτερη |
DeepSeek-R1-Distill-Llama-8B | 8B | ~18 GB | NVIDIA RTX 4080 16GB ή ανώτερη |
DeepSeek-R1-Distill-Qwen-14B | 14B | ~32 GB | Ρύθμιση Multi-GPU (π.χ., NVIDIA RTX 4090 x2) |
DeepSeek-R1-Distill-Qwen-32B | 32B | ~74 GB | Ρύθμιση Multi-GPU (π.χ., NVIDIA RTX 4090 x4) |
DeepSeek-R1-Distill-Llama-70B | 70B | ~161 GB | Ρύθμιση Multi-GPU (π.χ., NVIDIA A100 80GB x3) |
Σας προτείνουμε να τραβήξετε ένα στιγμιότυπο οθόνης αυτού του πίνακα και να το αποθηκεύσετε κάπου, ώστε να μπορείτε να ανατρέχετε γρήγορα στις απαιτήσεις GPU πριν δοκιμάσετε ένα μοντέλο.
Εγκατάσταση και εκτέλεση του DeepSeek R1 με το Ollama
Βήμα 1 – Εγκατάσταση του Ollama
Κατεβάστε την τελευταία έκδοση του Ollama από το επίσημο αποθετήριο GitHub και ακολουθήστε τις οδηγίες εγκατάστασης ανάλογα με το λειτουργικό σας σύστημα.
Για παράδειγμα, σε Ubuntu 22.04, εκτελέστε την ακόλουθη εντολή στο τερματικό:
curl -fsSL https://ollama.com/install.sh | sh
Μόλις ολοκληρωθεί η εγκατάσταση, ελέγξτε την επιτυχή λειτουργία του Ollama εκτελώντας:
ollama --version
Εάν η εντολή εμφανίσει την εγκατεστημένη έκδοση του Ollama, η εγκατάσταση ήταν επιτυχής.
Βήμα 2 – Λήψη του DeepSeek R1
Ανοίξτε το τερματικό ή τη γραμμή εντολών και εκτελέστε την παρακάτω εντολή για να κατεβάσετε το μοντέλο DeepSeek R1:
ollama pull deepseek-r1
Ανάλογα με την ταχύτητα της σύνδεσής σας στο διαδίκτυο, η διαδικασία αυτή μπορεί να διαρκέσει μερικά λεπτά.
Βήμα 3 – Εκτέλεση του DeepSeek R1 τοπικά
Αφού ολοκληρωθεί η λήψη, μπορείτε να εκκινήσετε το μοντέλο με την εξής εντολή:
ollama run deepseek-r1
Θα εμφανιστεί ένα περιβάλλον όπου μπορείτε να εισάγετε κείμενο και να λαμβάνετε απαντήσεις από το μοντέλο.
Για παράδειγμα: Χρήστης: Ποια είναι η πρωτεύουσα της Γαλλίας;
DeepSeek R1: Η πρωτεύουσα της Γαλλίας είναι το Παρίσι.
Για συνεχή λειτουργία του DeepSeek R1 μέσω API, εκκινήστε τον server του Ollama:
ollama serve
Αυτό θα επιτρέψει την ενσωμάτωση του μοντέλου σε άλλες εφαρμογές.
Χρήση του DeepSeek R1 με το Ollama
1. Εκτέλεση μέσω γραμμής εντολών (CLI)
Εκτελέστε την εξής εντολή για αλληλεπίδραση με το DeepSeek R1 από το τερματικό:
ollama run deepseek-r1:Xb
2. Πρόσβαση στο DeepSeek R1 μέσω API
Μπορείτε να χρησιμοποιήσετε το Ollama API για να συνδέσετε το μοντέλο με άλλες εφαρμογές:
curl http://localhost:11434/api/chat -d '{
"model": "deepseek-r1",
"messages": [{ "role": "user", "content": "Λύσε: 25 * 25" }],
"stream": false
}'
3. Χρήση του DeepSeek R1 μέσω Python
Εγκαταστήστε την Python βιβλιοθήκη του Ollama:
pip install ollama
Χρησιμοποιήστε τον ακόλουθο κώδικα για να αλληλεπιδράσετε με το DeepSeek R1 προγραμματιστικά:
import ollama
response = ollama.generate(model='deepseek-r1', prompt='Εξήγησε την κβαντική υπολογιστική με απλά λόγια.')
print(response['response'])
Για συνομιλιακή χρήση, μπορείτε να χρησιμοποιήσετε τη μέθοδο chat()
:
import ollama
response = ollama.chat(
model="deepseek-r1",
messages=[
{"role": "user", "content": "Εξήγησε τον δεύτερο νόμο του Νεύτωνα"},
],
)
print(response["message"]["content"])
Οδηγός για την ανάπτυξη του Open WebUI με χρήση Docker
Αντί να αλληλεπιδράτε μέσω της γραμμής εντολών (CLI), μπορείτε να χρησιμοποιήσετε μια διαδικτυακή διεπαφή για μια καλύτερη εμπειρία. Σε αυτό το βήμα, θα προετοιμάσετε το περιβάλλον για την ανάπτυξη του Open WebUI, διασφαλίζοντας ότι το Docker είναι εγκατεστημένο στο σύστημa σας. Αυτό σας επιτρέπει να διαχειρίζεστε και να ερωτάτε τα μοντέλα σας μέσω μιας καθαρής, διαδικτυακής διεπαφής.
Προετοιμασία του Docker
Αρχικά, βεβαιωθείτε ότι το Docker είναι εγκατεστημένο στο σύστημa σας εκτελώντας την παρακάτω εντολή:
docker --version
Ανάπτυξη του Open WebUI με χρήση Docker
Αφού το Docker είναι έτοιμο, θα αναπτύξουμε το Open WebUI (πρώην γνωστό ως Ollama Web UI) για πιο αποτελεσματική αλληλεπίδραση με τα μοντέλα. Η παρακάτω εντολή Docker θα αντιστοιχίσει την θύρα του κοντέινερ 8080 στη θύρα 3000 του υπολογιστή σας και θα διασφαλίσει ότι το κοντέινερ μπορεί να επικοινωνεί με τον διακομιστή Ollama που εκτελείται στον υπολογιστή σας.
Εκτελέστε την παρακάτω εντολή Docker:
docker run -d -p 3000:8080 --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data --name op
Τώρα, το WebUI έχει αναπτυχθεί επιτυχώς και μπορείτε να το αποκτήσετε πρόσβαση στη διεύθυνση http://localhost:3000.
Προχωρημένη ρύθμιση απόδοσης του Ollama
Για τους χρήστες που επιθυμούν να βελτιώσουν την απόδοση και να προσαρμόσουν τον τρόπο που το Ollama διαχειρίζεται τα μοντέλα και τη διαχείριση πόρων, μπορείτε να ρυθμίσετε αρκετές μεταβλητές περιβάλλοντος πριν ξεκινήσετε τον διακομιστή Ollama.
export OLLAMA_FLASH_ATTENTION=1
export OLLAMA_KV_CACHE_TYPE=q8_0
export OLLAMA_KEEP_ALIVE="-1"
export OLLAMA_MAX_LOADED_MODELS=3
export OLLAMA_NUM_PARALLEL=8
export OLLAMA_MAX_QUEUE=1024
Τι κάνουν αυτές οι ρυθμίσεις;
- OLLAMA_FLASH_ATTENTION: Ενεργοποιώντας αυτή τη ρύθμιση, μπορείτε να βελτιώσετε την απόδοση βελτιστοποιώντας τους μηχανισμούς προσοχής μέσα στο μοντέλο.
- OLLAMA_KV_CACHE_TYPE: Αυτή η ρύθμιση διαχειρίζεται τη στρατηγική αποθήκευσης κλειδιών-τιμών. Η επιλογή q8_0 μπορεί να βοηθήσει στη μείωση της κατανάλωσης μνήμης διατηρώντας την ταχύτητα.
- OLLAMA_KEEP_ALIVE: Αυτή η ρύθμιση ελέγχει τη διατήρηση της σύνδεσης. Ορίζοντας την τιμή -1 απενεργοποιείτε το χρονικό όριο.
- OLLAMA_MAX_LOADED_MODELS: Ρυθμίστε αυτή την τιμή με βάση τη μνήμη του συστήματός σας για να ελέγξετε πόσα μοντέλα φορτώνονται ταυτόχρονα.
- OLLAMA_NUM_PARALLEL: Αυξάνοντας αυτή την τιμή μπορείτε να βελτιώσετε την απόδοση σε πολυπύρηνα συστήματα.
- OLLAMA_MAX_QUEUE: Αυτή η ρύθμιση καθορίζει τον μέγιστο αριθμό αιτημάτων που μπορούν να αναμένονται, κάτι που είναι χρήσιμο σε περιβάλλοντα με υψηλή ταυτόχρονη χρήση.
Πότε να χρησιμοποιήσετε αυτές τις ρυθμίσεις;
- Αν το μοντέλο φορτώνει αργά, αυξήστε την τιμή OLLAMA_MAX_LOADED_MODELS.
- Αν η κατανάλωση μνήμης είναι πολύ υψηλή, ρυθμίστε την τιμή OLLAMA_KV_CACHE_TYPE.
- Αν η απόδοση είναι αργή, ενεργοποιήστε την επιλογή OLLAMA_FLASH_ATTENTION.
Ζητήματα ασφαλείας για τοπική φιλοξενία
Όταν αναπτύσσετε μοντέλα όπως το DeepSeek-R1 τοπικά, πρέπει να διασφαλίσετε ότι το περιβάλλον σας είναι ασφαλές, λαμβάνοντας υπόψη παράγοντες όπως:
- Έλεγχος Πρόσβασης: Αποτρέψτε την μη εξουσιοδοτημένη πρόσβαση στο σύστημα όπου φιλοξενείται το μοντέλο.
- Ασφάλεια Δικτύου: Διασφαλίστε ότι οποιαδήποτε API endpoints που εκτίθενται τοπικά είναι προστατευμένα, χρησιμοποιώντας τείχη προστασίας ή VPN όπου είναι απαραίτητο.
- Προστασία Δεδομένων: Αν σκοπεύετε να αποθηκεύσετε ευαίσθητα δεδομένα, βεβαιωθείτε ότι είναι κρυπτογραφημένα και διαχειρίζονται σωστά.
Αν κάποια στιγμή σκοπεύετε να κλιμακώσετε ή να μεταφέρετε την εφαρμογή σας στο cloud, υπηρεσίες όπως η AWS (Amazon Web Services), μπορούν να παρέχουν την απαραίτητη υπολογιστική ισχύ για την εκτέλεση του DeepSeek-R1, ενώ η AWS WAF μπορεί να σας βοηθήσει να διατηρήσετε υψηλά επίπεδα ασφάλειας.
Συμπέρασμα
Η εκτέλεση του DeepSeek R1 τοπικά με το Ollama είναι πλέον προσιτή και εύκολη. Με τη σωστή διαμόρφωση, μπορείτε να αξιοποιήσετε τις δυνατότητες ενός ισχυρού γλωσσικού μοντέλου χωρίς να εξαρτάστε από υπηρεσίες cloud. Είτε είστε προγραμματιστής είτε ερευνητής, αυτή η λύση μπορεί να σας βοηθήσει να αναπτύξετε καινοτόμες εφαρμογές AI.