![Course 3 LLM wide](https://hackmd.io/_uploads/SkdOJfBZR.png) # Large Language Models (LLMs) on High Performance Computing (HPC) Systems: Deployment, Experimentation, and Applications of LLMs on HPC infrastructure ## Πρόγραμμα | Τίτλος | Ομιλητής | | ---- | ---- | | Introduction / EuroCC@Greece | Ilias Hatzakis, GRNET, EuroCC@Greece | | Introduction to AUTH’s HPC infrastructure “Aristotelis” | Paschalis Korosoglou, HPC engineer, IT AUTH | | Introduction to LLMs | Nikos Bakas, Senior Data Scientist, GRNET | | Using LLMs on “Aristotelis” HPC infrastructure: deployment, experimentation, capacity and limitations, applications | George Vlahavas, Researcher, AUTH | | Break (15') | | | European supercomputers and LLMs: a match made in heaven? | Simeon Harrison, Trainer at EuroCC Austria | | Deploying Generative AI Responsively | Stergios Tegos, CEO at Εnchatted.com | | Developing an LLM using Finish with LUMI | Mats Sjöberg, EuroCC Finland | | ChatGPT API: introduction, usage, example, live demo | Nikos Bakas, Senior Data Scientist, GRNET | | LLMs for political speech analysis (Greek national elections 2023) | Pavlos Sermpezis, Researcher, AUTH | | Metaphor Identification and Interpretation in Natural Language Processing | Vivian Pavlopoulou, Researcher, School of Philology, AUTH | | Questions / Open discussion || Zoom link: - https://authgr.zoom.us/j/92558468110?pwd=K0JrSk1PTm9PMEdweWdpUm5KWk9WQT09 ## HackMD Κατά τη διάρκεια των παρουσιάσεων μπορείτε να χρησιμοποιείτε το παρόν κείμενο για να κάνετε ερωτήσεις (το chat του zoom προτείνουμε να χρησιμοποιείται μόνο για θέματα που σχετίζονται με το zoom). ### Βασικές επιλογές Για να χρησιμοποιήσετε το HackMD document δεν απαιτείται να κάνετε signup ή login. To HackMD είναι real-time editor και viewer. Οι βασικές επιλογές του editor είναι αυτές που εμφανίζονται στην παρακάτω εικόνα. ![](https://hackmd.io/_uploads/ryVX5tGW6.png) - Προτείνουμε την επιλογή split view (Both) στην οποία το παράθυρο χωρίζει δεξιά/αριστερά σε editor και viewer αντίστοιχα. - Η σύνταξη είναι σε [markdown](https://commonmark.org/help/). - Στο τέλος των παρουσιάσεων θα διατίθεται χρόνος για ερωτήσεις/απαντήσεις. Οι εκπαιδευτές θα απαντούν στις ερωτήσεις σας inline όπως στο παρακάτω παράδειγμα: ![](https://hackmd.io/_uploads/SJQwaYzW6.png) --- ## Υλικό / links απο το event - EuroCC@Greece training questionnaire (πολύ σύντομο ερωτηματολόγιο από το EuroCC@Greece για τα training needs): https://docs.google.com/forms/d/e/1FAIpQLSdHpJyAbIuWwpelBy812mEirEOGzYnV5JFMnSQkCu4aItMnJA/viewform - Το κανάλι του EuroCC@Greece στο YouTube: https://www.youtube.com/@euroccgreece9501/playlists - Χρήσιμα links για το HPC υποδομή "Αριστοτέλης" του ΑΠΘ - https://hpc.it.auth.gr/ - Αναλυτικές πληροφορίες για τα partitions του Αριστοτέλη https://hpc.it.auth.gr/nodes-summary/ - Εισαγωγικές οδηγίες για την χρήση των modulefiles είναι διαθέσιμες εδώ: https://hpc.it.auth.gr/software/avail/#modulefiles - Εισαγωγικές οδηγίες για την υποβολή μίας batch εργασίας μέσω του slurm scheduler: https://hpc.it.auth.gr/jobs/serial-slurm/ - Οδηγίες για την υποβολή εργασιών στα GPU partitions του Αριστοτέλη: https://hpc.it.auth.gr/jobs/gpu-slurm/ ## Ερωτήσεις/Απαντήσεις - Ανάλογα με το πρόγραμμα που τρέχουμε στον Αριστοτέλη, πρέπει να επιλέγουμε και το partition? - Ναι, κάθε partition έχει ειδικά χαρακτηριστικά που το καθιστούν περισσότερο κατάλληλο για διαφορετικού τύπου εργασίες. Σε γενικές γραμμές: - το `batch` partition αφορά κυρίως παραλληλες εργασίες έως 20 cores per node - το `rome` partition αφορά σε εργασίες που μπορούν να παραλληλοποιηθούν σε πολύ μεγάλο βαθμό, και αυτό διότι κάθε μηχάνημα διαθέτει 128 cpu cores - τα 2 nodes του `gpu` partition είναι η πρώτη γενιά μηχανημάτων με gpu acceleration που προστέθηκαν στον «Αριστοτέλη» και αφορούν σε εργασίες που μπορούν να επωφεληθούν από GPU acceleration - το DGX A100 μηχάνημα του `ampere` partition διαθέτει οκτώ κάρτες GPU NVIDIA A100 και απευθύνεται σε GPU-accelerated και AI workloads - το `ondemand` partition υποστηρίζει την υποδομή απομακρυσμένης επιφάνειας εργασίας και προορίζονται κυρίως για εκπαιδευτική χρήση, για λόγους workflow development/validation και για ελαφρού τύπου post processing εργασίες. - Επί του παρόντος χρησιμοποιώ το MobaXterm για πρόσβαση στην συστοιχία. Υπάρχουν αντίστοιχες εναλλακτικές για αυτό; Στο μέλλον, υπάρχει σκέψη να υποστηριχθούν και άλλοι client (π.χ. VSCode)? - Για την πρόσβαση στη συστοιχία με SSH διατίθενται οι τρόποι που περιγράφονται στο link https://hpc.it.auth.gr/intro/#login. Οι νεότερες εκδόσεις Windows περιλαμβάνουν το OpenSSH χωρίς να χρειάζεται Third Party Client όπως το MobaXTerm, χωρίς αυτό να σημαίνει ότι αυτό σταματάει να λειτουργεί. - Το VSCode περιλαμβάνει extension για σύνδεση μέσω SSH σε απομακρυσμένους host και μπορεί να χρησιμοποιηθεί για τη σύνδεση στη συστοιχία, όπως περιγράφεται στο link https://hpc.it.auth.gr/intro/#vs-code. Λόγω παλαιότητας του ΛΣ της συστοιχίας εμφανίζεται ένα warning κατά τη σύνδεση, αλλά αυτό αναμένεται να επιλυθεί σύντομα με την επικείμενη αναβάθμιση ΛΣ στον «Αριστοτέλη». - (Ευχαριστώ πολύ!!) - Υπάρχει εντολή για το χρόνο της πιθανής έναρξης της εργασίας? - Ναι, για την εκτίμηση του χρόνου εκκίνησης μίας εργασίας μπορεί να χρησιμοποιηθεί η εντολή: ``` $ sbatch --test-only run.sh ``` - Για να αναπτύξουμε το δικό μας γλωσσικό μοντέλο με 70Β παραμέτρους, τι hardware θα χρειαστούμε; - Για training πιθανότατα θα χρειαστεί hardware αξίας δεκάδων Μ€ για αυτό το μέγεθος μοντέλου. Η υποδομή του "Αριστοτέλη" δεν επαρκεί. Υπάρχει όμως ένα ανοιχτό EuroHPC Access Call μέχρι 14 Ιούνιου 2024: [link](https://eurohpc-ju.europa.eu/eurohpc-ju-access-call-ai-and-data-intensive-applications_en) - Για fine-tuning ενός υφιστάμενου μοντέλου υπάρχει η δυνατότητα και σε υποδομές όπως αυτή του "Αριστοτέλη" - Πώς θα δω την ολοκληρωμένη λίστα των υπαρχόντων μοντέλων που είναι διαθέσιμα για κατέβασμα; - Υπάρχει διαθέσιμη λίστα στον εξής σύνδεσμο: https://ollama.com/library - Μπορώ να κάνω παράλληλη χρήση πολλών GPU με το Ollama; - Ναι, αλλά στην περίπτωση του "Αριστοτέλη" όμως αυτό έχει εφαρμογή μόνο στη περίπτωση του `ampere` partition όπου μπορούν να δεσμευτούν περισσότερες της μίας κάρτες GPU. Η απόδοση ενδέχεται να επηρεάζεται από τη ταχύτητα επικοινωνίας ανάμεσα στις 2 (ή περισσότερες) GPUs καθώς και στο ίδιο το μοντέλο (στο κατά πόσο τα layers είναι ανεξάρτητα). - Επίσης, το 70b μοντέλο με βάση και τα όσα είδαμε "χωράει" στην μνήμη μίας GPU του `ampere` partition οπότε μάλλον δεν χρειάζονται περισσότερες της μίας για αυτό το μέγεθος. Είναι στην πραγματικότητα προτιμότερο να εκτελεστεί σε μία μόνο GPU. - Υπάρχει κάποιος οδηγός για finetuning από το ΚΗΔ με τη χρήση της συστοιχίας ή θα χρειατεί να περιμένουμε κάποιο επόμενο σεμινάριο; - Για χρήση του ollama στον "Αριστοτέλης" υπάρχουν κάποιες συνοπτικές οδηγίες εδώ: https://hpc.it.auth.gr/applications/ollama/ . Αυτές οι οδηγίες δεν καλύπτουν όμως το σενάριο του fine-tuning (τουλάχιστον επί του παρόντος). - Η εντολή export host μπορεί να εκτελεστεί και για εργασίες που δεν αφορούν το Ollama για τη σύνδεση στο κόμβο ampere; - Ναι, εφόσον η εφαρμογή που χρησιμοποιείτε το υποστηρίζει. Από το login node ή κάποιο session μέσω του ondemand υπάρχει δυνατότητα επικοινωνίας με διεργασίες που εκτελούνται στο κόμβο ampere. - ChatGPT fine-tuning is costly. Is it in terms of compute power needed or there is additional API cost to OpenAI? - Using ChatGPT API (just for asking) is not free. It comes with a cost. In general this cost is not much, and depends on the tokens you request (i.e., how large is your prompt and the response of ChatGPT). When it comes to fine-tuning, the cost (for the same number of tokens) is much more, e.g., 10x more. Taking into account that for fine-tuning you need to send a lot of data (training dataset), the cost can increase significantly. - The computer power needed is not known. It runs by OpenAI, not locally. I assume there is significantly more needed power for fine-tuning than just asking questions. ## Notes - Tips on running inference for big LLM's with less memory. https://ai.gopubby.com/unbelievable-run-70b-llm-inference-on-a-single-4gb-gpu-with-this-new-technique-93e2057c7eeb - Next training course "Large Language Models on Supercomputers" by VSC & EuroCC Austria, July 3-4, https://events.vsc.ac.at/event/136/ - Material by enchatted.com : - https://github.com/NVIDIA/NeMo-Guardrails - https://llama.meta.com/docs/model-cards-and-prompt-formats/meta-llama-guard-2/ - Project - Ανάλυση πολιτικού λόγου με χρήση ChatGPT (εθνικές εκλογές 2023) by Datalab - αποτελέσματα https://lab.imedd.org/ekloges-2023/ - μεθοδολογία https://lab.imedd.org/pos-analyoume-tis-proeklogikes-omilies-ton-politikon-archigon/