Σε προηγούμενο post είχα περιγράψει τη διαδικασία και τα αποτελέσματα του fine-tuning του γλωσσικού μοντέλου Meltemi v1.5 του Ινστιτούτου Επεξεργασίας του Λόγου του Ερευνητικού Κέντρου Αθηνά με βάση τα περιεχόμενα της εφημερίδας “Ριζοσπάστης” για το χρονικό διάστημα 2008-2024. Είχα καταλήξει στη λύση του fine-tuning διότι το full training μου φαινόταν πολύ δύσκολο με περιορισμένους υπολογιστικούς πόρους.

Αργότερα αποφάσισα να κάνω μια απόπειρα εκπαίδευσης εκ του μηδενός με ένα αρκετά μικρό μοντέλο ~354 εκατομμυρίων παραμέτρων (τάξεις μεγέθους μικρότερο από τα LLM που έχουμε συνηθίσει να χρησιμοποιούμε) και να το εκπαιδεύσω αποκλειστικά με το full corpus (170M tokens) του Ριζοσπάστη(2008-2024). Νοίκιασα μια NVidia GPU RTX 4090 για 30 ώρες (περίπου 20 δολάρια) για το training. Το μοντέλο είναι παρόμοιο του GPT-2 και ευθυγραμμισμένο (aligned) για chat. Παραθέτω τις βασικές τεχνικές λεπτομέρειες στο παράρτημα.

Έφτιαξα και ένα telegram bot που μπορείτε να χρησιμοποιήσετε για να στείλετε ερωτήσεις στο kkOracle. Λίγη υπομονή στο inference γιατί το μοντέλο “τρέχει” σε ένα linux PC δεκαετίας στο κελάρι.

Αποτέλεσμα

  • Το μοντέλο παράγει γενικά κατανοητό κείμενο στα ελληνικά αν και σε ορισμένες περιπτώσεις κάνει επαναλήψεις λέξεων και συντακτικά λάθη.

  • Κάνοντας αρκετές δοκιμές με απλές ερωτήσεις πολιτικού περιεχομένου που αφορούν την περίοδο (2008-2024), εκτιμώ ότι άνω του 50% των ερωτήσεων οδηγούν σε απαντήσεις που βγάζουν νόημα και είναι σύμφωνες με το στυλ της αρθογραφίας της εφημερίδας.

  • Σε θεματολογία που δεν καλύπτεται επαρκώς από την ύλη της εφημερίδας, οι απαντήσεις έχουν γέλιο πολλές φορές.

  • Σε συνδυαστικές ερωτήσεις με πιο “βαθύ” context η πιθανότητα ορθής κατανόησης πέφτει σαφώς με την ανάλογη επίπτωση στην ποιότητα της απάντησης.

  • Σε ερωτήσεις ιστορικού χαρακτήρα ή που αφορούν γνωστά πρόσωπα της πολιτικής ζωής τα αποτελέσματα δεν είναι και τόσο καλά.

Μερικά ενδεικτικά παραδείγματα:

(user): Ποια είναι η πολιτική της ΝΔ για την οικονομία;
(kkOracle): Η πολιτική της ΝΔ για την οικονομία περιλαμβάνει μια σειρά από μέτρα που ευνοούν την κερδοφορία των επιχειρηματικών ομίλων, όπως η μείωση των φόρων και των ασφαλιστικών εισφορών. Αυτά τα μέτρα περιλαμβάνουν τη μείωση των φορολογικών συντελεστών για τις επιχειρήσεις και την κατάργηση του αφορολόγητου ορίου, την κατάργηση του αφορολόγητου ορίου και την κατάργηση του αφορολόγητου ορίου για μισθωτούς και συνταξιούχους. Επιπλέον, η ΝΔ υπόσχεται να μειώσει τις εργοδοτικές ασφαλιστικές εισφορές μέσω της μείωσης του μη μισθολογικού κόστους, της μείωσης του μη μισθολογικού κόστους και της μείωσης των ασφαλιστικών εισφορών για επιχειρήσεις.



(user): Τι είναι το ταμείο ανάκαμψης;
(kkOracle): Το ταμείο ανάκαμψης περιλαμβάνει φορολογικές ελαφρύνσεις και προνόμια για τους επιχειρηματικούς ομίλους, που σημαίνει ότι οι επιχειρήσεις θα έχουν μεγαλύτερο μερίδιο χρηματοδότησης από τις δραστηριότητές τους. Αυτό σημαίνει ότι η κυβέρνηση στοχεύει να χρηματοδοτήσει άμεσα τον μεγάλο όγκο των κρατικών επιδοτήσεων και διευκολύνσεων προς τις επιχειρήσεις, ενώ παράλληλα προσφέρει φοροαπαλλαγές, εισφοροαπαλλαγές και άλλα προνόμια στους επιχειρηματικούς ομίλους.



(user): Ποιες ειναι οι διαφορές στην οικονομική πολιτική της ΝΔ και του ΣΥΡΙΖΑ;
(kkOracle): Η ΝΔ και ο ΣΥΡΙΖΑ μοιράζονται τις ίδιες ατζέντες για την οικονομική πολιτική τους, ενώ η κυβέρνηση του ΣΥΡΙΖΑ έχει δεσμευτεί να εφαρμόσει μια σειρά από φοροαπαλλαγές και διευκολύνσεις για τους επιχειρηματικούς ομίλους. Ωστόσο, ο ΣΥΡΙΖΑ έχει δεσμευτεί να διατηρήσει υψηλά επίπεδα φορολογίας για τις επιχειρήσεις, όπως φοροαπαλλαγές και εισφοροαπαλλαγές. Επιπλέον, η κυβέρνηση έχει δεσμευτεί να συνεχίσει τις φορολογικές απαλλαγές και τις διευκολύνσεις για τις επιχειρήσεις, ενώ παράλληλα θα εφαρμόσει πολιτικές που δίνουν προτεραιότητα στις επενδύσεις σε υποδομές και υπηρεσίες.



(user): Ποια είναι η πολιτική της κυβέρνησης για την αντιμετώπιση του πληθωρισμού;
(kkOracle): Η κυβέρνηση έχει δημιουργήσει μια πολιτική «εξανθρωπισμού», με στόχο να αντιμετωπίσει τους φόρους και τις δαπάνες, αλλά στην πραγματικότητα, έχει υποσχεθεί να μειώσει τους φόρους στα καύσιμα και άλλα είδη πρώτης ανάγκης για να τονώσει την κερδοφορία των μονοπωλιακών ομίλων. Επιπλέον, αναμένεται να αυξήσει τους φόρους στο μεγαλύτερο μέρος του λαϊκού εισοδήματος μέσω της αύξησης των έμμεσων φόρων.



(user): Ποιες είναι οι μεταβολές στην ελληνική οικονομία μετά την κρίση;
(kkOracle): Η ελληνική οικονομία έχει υποστεί σημαντικές αλλαγές τα τελευταία χρόνια λόγω της σημαντικής μείωσης του ΑΕΠ και της μείωσης των επενδύσεων. Συγκεκριμένα, προβλέπεται να υπάρξει μείωση του ΑΕΠ κατά 1,2 δισ. ευρώ το 2013 από το 2014 έως το 2016, με μείωση κατά 4,4% φέτος. Επιπλέον, η Ελλάδα αναμένεται να σημειώσει σημαντική συρρίκνωση τόσο στην παραγωγή αγαθών όσο και στις επενδύσεις.



(user): Τι είναι το Green New Deal;
(kkOracle): Το Green New Deal αναφέρεται σε μια «πράσινη» προσέγγιση που περιλαμβάνει επενδύσεις σε ανανεώσιμες πηγές ενέργειας, σχέδια για ανανεώσιμες πηγές ενέργειας και μέτρα για την οικονομική ανάπτυξη. Περιλαμβάνει μέτρα όπως η μείωση της γραφειοκρατίας και η μείωση του κόστους εργασίας, καθώς και η αύξηση της παραγωγής ενέργειας. Περιλαμβάνει επίσης επενδύσεις σε ανανεώσιμες πηγές ενέργειας και υποδομές, καθώς και στη διαχείριση των απορριμμάτων με στόχο τη μείωση του κόστους παραγωγής ενέργειας για το κεφάλαιο. Επιπλέον, αναφέρεται στην ανάγκη τα κράτη να διατηρήσουν μια ισορροπημένη προσέγγιση που δίνει προτεραιότητα στη βιώσιμη ανάπτυξη και μειώνει τον ανταγωνισμό στην αγορά ενέργειας. Τέλος, το Green New Deal στοχεύει στην προώθηση της ανάπτυξης και της απασχόλησης στον τομέα της ενέργειας για να προωθήσει την οικονομική ανάπτυξη και να στηρίξει τις επενδύσεις σε ανανεώσιμες πηγές ενέργειας.


Παρατηρήσεις

  • Διαισθητικά περίμενα ακόμη και από ένα τόσο μικρό μοντέλο λίγο καλύτερη τελική ποιότητα απαντήσεων. Θεωρώ ότι ξοδεύοντας περισσότερο compute time και κάνοντας scale up το μοντέλο κοντά στις 1 δις παραμέτρους, η κατανόηση και η παραγωγή κειμένου θα ανέβαινε πολύ. Αλλά θα ήταν κάπως ακριβό… Παράλληλα το να εκπαιδεύσεις ένα τόσο μεγάλο μοντέλο με ένα σχετικά μικρό dataset ίσως δημιουργήσει προβλήματα overfitting.

  • Σε κάθε περίπτωση το project δίνει μια αίσθηση του τι μπορεί να επιτευχθεί με πολύ μικρά μοντέλα εκπαιδευμένα με ένα “στενό” dataset και χωρίς καθόλου ανθρώπινη επίβλεψη.

  • Σε ξεχωριστό post θα αναφερθώ σε κάποια πράγματα που έμαθα σχετικά με τα προβλήματα του tokenization στην ελληνική γλώσσα σε σχέση με την αγγλική.

Παράρτημα - Τεχνικές λεπτομέρειες

  • Για το προγενέστερο fine-tune του Μελτεμιού είχα κάνει ήδη download όλων των φύλλων της εφημερίδας από το 2008 μέχρι το τέλος του 2024 με ένα απλό Python script. Ένα άλλο script κάνει επιλογή κομματιών της ύλης της εφημερίδας όπως επίσης αφαιρεί τους τίτλους των άρθρων. Το τελικό αποτέλεσμα είναι ένα αρχείο ~1.6 Gb text.

  • Κατόπιν χρησιμοποιώντας το sentencepice παράγουμε ~50k tokens με βάση το corpus. Με βάση αυτό το tokenization το συνολικό μας corpus αντιστοιχεί σε περίπου 170M tokens.

  • Ακολούθως χρησιμοποιώντας ως βάση το project nanoGPT εκπαιδεύουμε ένα GPT-2 equivalent base model το οποίο μπορεί να κάνει μόνο text completion, με τα εξης χαρακτηριστικά:

parameters layers d_model n_heads d_heads Batch Size max learning rate
354M 24 1024 16 64 0.5M 0.0003

και max sequence length = 1024. Το training διαρκεί ~30epochs ή 5.1B tokens και ακολουθεί ένα cosine decay schedule. Το training loss μειώνεται με το training time με αναμενόμενο ρυθμό, ενω το validation loss φταίνει σε ένα plateau με τιμή ~3.5 μετά τα 20epochs.

training

  • Μετά την εκπαίδευση του base model χρησιμοποιώ τα (synthetic) ζεύγη ερωτήσεων-απαντήσεων που είχα παράγει για το προηγούμενο Meltemi fine-tune για να μετατρέψω το μοντέλο σε chat. Ουσιαστικά κάνω train για ένα μόνο epoch το base model με αυτό το dataset ερωτήσεων και απαντήσεων.

  • et voilà! Παρατηρήσεις, σχόλια, προτάσεις, κάτω από το post στο X.