Από την πρώτη στιγμή που ξεκίνησε η “μάχη” με τα LLMs, το Linux-User.gr παρείχε μία σειρά από οδηγούς για να στήσουμε τα open source LLMs σε δικό μας υλικό.
Γιατί να στήσω το δικό μου Large Language Model (LLM) selfhosted;
Σε έναν κόσμο που συνεχώς αλλάζει, η εφαρμογή λύσεων Τεχνητής Νοημοσύνης μπορούν να συμβάλουν στην μεγιστοποίηση της παραγωγικότητας των ανθρώπων, έχοντας ένα συμβουλευτικό εργαλείο στα χέρια τους.
Ωστόσο, πώς εξασφαλίζουμε την προστασία της ιδιωτικότητας, ιδιαίτερα σε εταιρείες όπου τα δεδομένα μπορούν να πέσουν σε λάθος χέρια και να διαρρεύσουν κρίσιμες πληροφορίες;
Εδώ διαπιστώνουμε την πραγματική ανάγκη για να φιλοξενούμε σε δικές μας υποδομές, τα δικά μας γλωσσικά μοντέλα, διασφαλίζοντας την ασφάλεια των δεδομένων αλλά και την ιδιωτικότητά μας.
Παρόμοια άρθρα όπου αξίζει να διαβάσετε στο Linux-User.gr σχετικά με Open Source LLMs:
Είδαμε αρχικά τον @kgiannakis στο άρθρο του: Κάνουμε εγκατάσταση το Deepseek AI στο PC μας , έπειτα τον @nikaskonstantinos στο άρθρο του πώς να το τρέξουμε τοπικά ακόμα και στον υπολογιστή μας:
Πως να τρέξουμε μεγάλα γλωσσικά μοντέλα τοπικά στον υπολογιστή μας ή στο κινητό μας με τον Ollama. , ενώ είδαμε από @cerebrux ήδη έναν αναλυτικό οδηγό σχετικά με το Deepseek καθώς και δοκιμές του:
Σημείωση: Αυτό το άρθρο αποτελεί πρόσθετο / πιο απλοποιημένο τρόπο να στήσετε το δικό σας LLM με χρήση CPU, πάνω σε ollama με DeepSeek selfhosted χρησιμοποιώντας ένα Docker Compose, όπως έχουμε δει στα άρθρα της σειρά Selfhosted Servers - Τρέχουμε τις δικές μας υπηρεσίες στον server μας - MEGATHREAD .
Οδηγός Εγκατάστασης ως Container με Docker Compose
Η διαδικασία εγκατάστασης του ollama / DeepSeek με Γραφικό Περιβάλλον (GUI) είναι εξαιρετικά απλή, ιδίως εάν το εγκαταστήσουμε ως container χρησιμοποιώντας ένα Docker Compose αρχείο, όπως είχαμε δείξει και στους υπόλοιπους οδηγούς της σειράς Raspebrry Pi Series π.χ. με το Pihole, Wireguard, Jellyfin κτλ.
Σε αυτό το σημείο, πρέπει να αναφερθεί πώς το συγκεκριμένο docker compose by default έχει σχεδιαστεί για να λειτουργεί με τον επεξεργαστή σας (CPU), έτσι ώστε να μπορεί να τρέξει άνετα στα περισσότερα συστήματα αλλά και σε virtual machines. Ως εκ τούτου, η απόδοση θα είναι πιο περιορισμένη, αλλά για τα μικρότερα μοντέλα, θα συνεχίζετε να παίρνετε απαντήσεις κανονικά.
Ακολουθήστε τα παρακάτω βήματα για την εγκατάσταση:
Κατεβάζουμε τα αρχεία από το αποθετήριο:
git clone https://github.com/HelgeSverre/ollama-gui
cd ollama-gui
Τώρα είμαστε έτοιμοι να δημιουργήσουμε τα containers δίνοντας:
docker compose up -d
Είμαστε έτοιμοι!
Στην πόρτα 8080, θα δούμε πώς έχει τρέχει ένα gui για LLM, αρκετά παρόμοιο και λιτό, όπως έχουμε συνηθίσει με ChatGPT και του Deepseek.
Κατεβάζουμε το επιθυμητό μοντέλο:
Και τώρα το μόνο που έχει μείνει είναι να κατεβάσουμε ένα μοντέλο.
Όπως είπε και ο @cerebrux στο άρθρο του, “Τα διαφορετικά μοντέλα π.χ. 1.5Β, 7Β, 14Β, 32Β, 617Β είναι οι παράμετροι σε μονάδες δισεκατομμυρίων. Για την απλότητα του ζητήματος φανταστείτε ότι είναι σαν iQ και άρα όσο πιο μικρό, τόσο περισσότερο «χαζούλι» είναι.”
Οπότε, παίρνουμε τερματικό στο container δίνοντας:
sudo docker exec -it ollama /bin/bash
Και έπειτα, κατεβάζουμε το επιθυμητό μοντέλο δίνοντας:
ollama run XXXX
Τα μοντέλα τα οποία μπορούμε να κατεβάσουμε, μπορούμε να τα βρούμε στην ιστοσελίδα του ollama: Ollama
Kατεβάζοντας το μικρότερο μοντέλο του Deepseek, δίνουμε:
ollama run deepseek-r1:1.5b
Για να κατεβάσουμε το μικρότερο μοντέλο του llama, δίνουμε:
ollama run llama3.2:1b
Για να βγούμε από την CLI έκδοση του LLM και να αποκτήσουμε και πάλι τερματικό στο container, μπορούμε να δώσουμε:
/exit
Και τώρα που κατεβάσαμε κάποια μοντέλα, είμαστε έτοιμοι να μπούμε να τα χρησιμοποιήσουμε από το γραφικό περιβάλλον!
Όπως βλέπουμε, από το γραφικό περιβάλλον, εμφανίζεται ένα βελάκι όπου περιέχει όλα τα μοντέλα τα οποία έχουν κατέβει στο ollama, και κάνοντας κλικ στο αντίστοιχο όπου επιθυμούμε, μπορούμε να χρησιμοποιήσουμε το αντίστοιχο γλωσσικό μοντέλο.
Δοκιμή με το DeepSeek:
Όπως βλέπουμε, το Deepseek πραγματοποιεί Reasoning, στο Hi όπου του ζητήσαμε να πει.
Χρήση του Docker Compose αυτού με NVIDIA GPU:
Όπως αναφέρεται και στο αποθετήριο, αφού το κατεβάσουμε δίνουμε:
nano compose.yml
Και αφαιρούμε τα # που κάνουν τις γραμμές να διαβάζονται ως σχόλια. Οι γραμμές αυτές είναι οι εξής:
deploy:
resources:
reservations:
devices:
- driver: nvidia
count: all
capabilities: [gpu]
Οι δοκιμές μου σε αληθινό Hardware:
Στο συγκεκριμένο υποκεφάλαιο θα μιλήσω για τις δοκιμές που έκανα με τα διάφορα μοντέλα στο hardware όπου δοκίμασα, πιο συγκεκριμένα, σε ![]()
- Raspberry Pi 5 8GB
- Ryzen 2600X
- Intel Core i7 7600u, όπου παρόμοιοι επεξεργαστές μπορούν να βρεθούν σε φορητούς υπολογιστές σε referbished μεταξύ 90 και 200 ευρώ, άρα πολύ εύκολο να αποκτήσετε και να χρησιμοποιήσετε αυτά,
- FUJITSU FUTRO S920 που βρήκα με 30ευρώ και βρήκα ενδιαφέρον πώς τα refurbished ultra small from factor PCs που βρίσκονται σε τόσο χαμηλές τιμές, θα μπορούσαν να χρησιμοποιηθούν πειραματικά για να σηκώσουν LLMs.
Κύριες παρατηρήσεις:
- Όσα συστήματα από αυτά είχαν αρκετή μνήμη RAM, αν και αργά, όλα τα LLMs απαντούσαν έπειτα από κάποιο χρονικό διάστημα. Όσο περισσότερη RAM έδινα, ιδιαίτερα στα μοντέλα που είχαν μεγαλύτερα μεγέθη, παρατηρούσα ότι ανταποκρινόντουσαν εξαιρετικά πιο γρήγορα,
- Σε Virtual Machines, η απόδοση έπεφτε εξαιρετικά. Μάλιστα, σε σημείο που το laptop μου με Intel Core i7 7600u έτρεξε πολύ γρηγορότερα το deepseek-r1:14b από τον Ryzen 2600X μέσα από Ubuntu σε VirtualBox. Αυτό αναφέρεται και για LLMs όπου ενδεχομένως να σηκώσετε σε selfhosted opensource clouds όπως το Cloudstack.
- Το Raspberry Pi 5 και το FUJITSU FUTRO S920 τα πήγε εντυπωσιακά καλά στο 1.5b μοντέλο του DeepSeek και για μικρά projectάκια, πιστεύω πώς θα μπορούσε να χρησιμοποιηθεί για επεξεργασία απλών δεδομένων, σε συστήματα σημαντικά χαμηλής κατανάλωσης. Η απάντηση ήταν άμεση σε ελάχιστα δευτερόλεπτα, καθιστώντας τα ικανά να διαχειριστούν μικρά projectάκια αλλά και οικονομικούς τρόπους για δοκιμή τοπικών LLMs. Σε μεγαλύτερα μοντέλα όπως το deepseek 8b, η ταχύτητα πέφτει κατακόρυφα, και απαντάει περίπου σε 7-8λεπτά, όπου αν η χρήση προορίζεται για προσωπική, πιστεύω πώς δεν αποτελεί κάποιο πρόβλημα.
- Σε Intel Core i7 7600u, όλα τα LLMs μέχρι το deepseek 14b, δούλευαν τέλεια. Στο 14b, είχαμε ολόκληρη απάντηση σε περίπου 4-5 λεπτά. Όχι τόσο γρήγορο μεν, αλλά όπως είπα προηγουμένως, με τις τιμές όπου μπορεί να βρεθεί αυτό το υλικό, αλλά και την μικρή τους κατανάλωση σε ενέργεια, τα κάνει εξαιρετικά ενδιαφέρουσες λύσεις. Αντίστοιχα ισχύει και για το FUTRO S920 μιας και καταλαμβάνει και ελάχιστο χώρο.
Τελικές σκέψεις:
Τα LLMs ήρθαν για να μείνουν. Τα δεδομένα τα οποία κατατάσσονται ως απόρρητα (confidential) και μυστικά (secrets), θα πρέπει να φυλάσσονται μακριά από δημόσια LLMs που χρησιμοποιούν τα δεδομένα αυτά για να εκπαιδευτούν τα ίδια. Ως εκ τούτου, οι selfhosted λύσεις σε opensource LLMs θα δούμε τον επόμενο καιρό να γίνονται όλο και πιο προσιτές και εύκολες για να υιοθετηθούν αλλά και με μικρότερο κόστος.





