Μοντέλα και πλατφόρμες AI

Llama 2: Ένας Βαθύς Έλεγχος στον Ανοικτό Κώδικα Challenger του ChatGPT

mm
META LLAMA 2 LLM

Μεγάλες Γλωσσικές Μοντέλα (LLMs) ικανά για σύνθετες εργασίες συλλογισμού έχουν δείξει υποσχόμενο σε εξειδικευμένα πεδία όπως η προγραμματισμός και η δημιουργική γραφή. Ωστόσο, ο κόσμος των LLMs δεν είναι απλά ένα plug-and-play παράδεισο. Υπάρχουν προκλήσεις στην ευχρηστία, την ασφάλεια και τις υπολογιστικές απαιτήσεις. Σε αυτό το άρθρο, θα εμβαθύνουμε στις ικανότητες του Llama 2, ενώ θα παρέχουμε μια λεπτομερή οδηγία για τη ρύθμιση αυτού του υψηλής απόδοσης LLM μέσω του Hugging Face και των GPU T4 στο Google Colab.

Αναπτυγμένο από τη Meta με τη συνεργασία της Microsoft, αυτό το ανοικτό κώδικα μεγάλο γλωσσικό μοντέλο στοχεύει να αναδιαμορφώσει τους κόσμους της γενετικής νοημοσύνης και της φυσικής γλωσσικής κατανόησης. Το Llama 2 δεν είναι απλά ένα στατιστικό μοντέλο εκπαιδευμένο σε τεράμπυτες δεδομένων. Είναι η ενσάρκωση μιας φιλοσοφίας. Μια φιλοσοφία που τονίζει την ανοικτή προσέγγιση ως την σπονδυλική στήλη της ανάπτυξης του AI, ιδιαίτερα στον χώρο της γενετικής νοημοσύνης.

Το Llama 2 και η διάλογο-βελτιωμένη εκδοχή του, Llama 2-Chat, έρχονται εξοπλισμένα με μέχρι 70 δισεκατομμύρια παραμέτρους. Υπόκεινται σε μια διαδικασία μερικής εκπαίδευσης που έχει σχεδιαστεί για να τα ευθυγραμμίσει στενά με τις ανθρώπινες προτιμήσεις, καθιστώντας τα και τα δύο ασφαλέστερα και πιο αποτελεσματικά από πολλά άλλα δημόσια διαθέσιμα μοντέλα. Αυτό το επίπεδο λεπτομέρειας στη μερική εκπαίδευση είναι συχνά διατηρημένο για κλειστά “προϊόν” LLMs, όπως το ChatGPT και το BARD, τα οποία δεν είναι γενικά διαθέσιμα για δημόσια σκραπίνι ή προσαρμογή.

Τεχνικός Βαθύς Έλεγχος του Llama 2

Για την εκπαίδευση του μοντέλου Llama 2, όπως και οι προκατόχοι του, χρησιμοποιεί μια αυτο-αναδρομική αρχιτεκτονική μετασχηματιστή, προ-εκπαιδευμένο σε một εκτενές σώμα αυτο-επιβεβαιωμένων δεδομένων. Ωστόσο, προσθέτει ένα επιπλέον επίπεδο σοφιστικότητας χρησιμοποιώντας την Ενίσχυση Μάθηση με Ανθρώπινη Ανταπόκριση (RLHF) για να ευθυγραμμίσει καλύτερα με την ανθρώπινη συμπεριφορά και τις προτιμήσεις. Αυτό είναι υπολογιστικά δαπανηρό αλλά ζωτικό για τη βελτίωση της ασφάλειας και της αποτελεσματικότητας του μοντέλου.

Αρχιτεκτονική εκπαίδευσης του Meta Llama 2

Αρχιτεκτονική εκπαίδευσης του Meta Llama 2

Προ-εκπαίδευση & Αποδοτικότητα Δεδομένων

Η καινοτομία του Llama 2 βασίζεται στην προ-εκπαιδευτική του διαδικασία. Το μοντέλο παίρνει σήματα από τον προκάτοχό του, Llama 1, αλλά εισάγει αρκετές κρίσιμες βελτιώσεις για να ανυψώσει την απόδοσή του. Ιδιαίτερα, μια αύξηση 40% στο συνολικό αριθμό των token που εκπαιδεύονται και μια διπλή επέκταση στο μήκος του контέκστου ξεχωρίζουν. Επιπλέον, το μοντέλο χρησιμοποιεί ομαδοποιημένη-ερώτηση προσοχή (GQA) για να ενισχύσει την κλιμάκωση της εύρεσης.

Επιτηρούμενη Μερική Εκπαίδευση (SFT) & Ενίσχυση Μάθηση με Ανθρώπινη Ανταπόκριση (RLHF)

Το Llama-2-Chat έχει υποβληθεί σε μια αυστηρή μερική εκπαίδευση χρησιμοποιώντας τόσο την SFT όσο και την Ενίσχυση Μάθηση με Ανθρώπινη Ανταπόκριση (RLHF). Σε αυτό το контέκστ, η SFT χρησιμεύει ως ολοκληρωμένο μέρος του πλαισίου RLHF, βελτιώνοντας τις απαντήσεις του μοντέλου για να ευθυγραμμιστεί στενά με τις ανθρώπινες προτιμήσεις και προσδοκίες.

OpenAI έχει παρέχει μια εύστοχη εικονογράφηση που εξηγεί τις μεθόδους SFT και RLHF που χρησιμοποιούνται στο InstructGPT. Παρόμοια με το LLaMa 2, το InstructGPT επίσης χρησιμοποιεί αυτές τις προηγμένες τεχνικές εκπαίδευσης για να βελτιώσει την απόδοση του μοντέλου.

Το βήμα 1 στη διεγραμμένη εικόνα επικεντρώνεται στην Επιτηρούμενη Μερική Εκπαίδευση (SFT), ενώ τα επόμενα βήματα ολοκληρώνουν τη διαδικασία Ενίσχυσης Μάθησης από Ανθρώπινη Ανταπόκριση (RLHF).

Η Επιτηρούμενη Μερική Εκπαίδευση (SFT) είναι μια εξειδικευμένη διαδικασία που στοχεύει στην оптимποίηση ενός προ-εκπαιδευμένου Μεγάλου Γλωσσικού Μοντέλου (LLM) για μια συγκεκριμένη εργασία. Σε αντίθεση με τις μη επιτηρούμενες μεθόδους, που δεν απαιτούν επαλήθευση δεδομένων, η SFT χρησιμοποιεί ένα σύνολο δεδομένων που έχει προ-επαληθευτεί και έχει ετικέτες.

Γενικά, η δημιουργία αυτών των συνόλων δεδομένων είναι δαπανηρή και χρονοβόρα. Η προσέγγιση του Llama 2 ήταν ποιότητα πάνω από ποσότητα. Με μόνο 27.540 ετικέτες, η ομάδα της Meta πέτυχε επίπεδα απόδοσης ανταγωνιστικά με ανθρώπινους ετικετεστές. Αυτό συμφωνεί καλά με πρόσφατες μελέτες που δείχνουν ότι ακόμη και περιορισμένα αλλά καθαρά σύνολα δεδομένων μπορούν να οδηγήσουν σε υψηλής ποιότητας αποτελέσματα.

Στη διαδικασία SFT, το προ-εκπαιδευμένο LLM εκτίθεται σε ένα ετικετεμένο σύνολο δεδομένων, όπου οι αλγόριθμοι επιτηρούμενης μάθησης έρχονται σε παιχνίδι. Τα εσωτερικά βάρη του μοντέλου επαναρυθμίζονται με βάση τις κλίσεις που υπολογίζονται από μια συνάρτηση απώλειας που σχετίζεται με την εργασία.

Αυτή η βελτιστοποίηση επιτρέπει στο LLM να κατανοήσει τις περίπλοκες προτύπους και τις νюανς που είναι ενσωματωμένες στο ετικετεμένο σύνολο δεδομένων. Συνέπεια, το μοντέλο δεν είναι απλά ένα γενικευμένο εργαλείο, αλλά εξελίσσεται σε ένα εξειδικευμένο περιουσιακό στοιχείο, ικανό να εκτελεί την εργασία-στόχο με υψηλό βαθμό ακρίβειας.

Η ενίσχυση μάθησης είναι το επόμενο βήμα, που στοχεύει στην ευθυγράμμιση της συμπεριφοράς του μοντέλου με τις ανθρώπινες προτιμήσεις πιο στενά.

Η φάση της μερικής εκπαίδευσης χρησιμοποίησε την Ενίσχυση Μάθηση από Ανθρώπινη Ανταπόκριση (RLHF), χρησιμοποιώντας τεχνικές όπως Εισαγωγή Δειγμάτων και Προξимальη Πολιτική Βελτιστοποίηση για να εισαγάγει αλγοριθμική θόρυβο, αποφεύγοντας τοπικά οπτά. Αυτή η επαναληπτική μερική εκπαίδευση δεν μόνο βελτίωσε το μοντέλο, αλλά και ευθυγράμμισε την έξοδό του με τις ανθρώπινες προσδοκίες.

Το Llama 2-Chat χρησιμοποίησε ένα πρωτόκολλο δυαδικής σύγκρισης για τη συλλογή δεδομένων ανθρώπινης προτίμησης, σηματοδοτώντας μια αξιοσημείωτη τάση προς πιο ποιοτικές προσεγγίσεις. Αυτή η μηχανισμός ενημέρωσε τα Μοντέλα Ανταπόκρισης, τα οποία στη συνέχεια χρησιμοποιήθηκαν για τη μερική εκπαίδευση του μοντέλου διαλόγου.

Φανταστική Προσοχή: Πολυ-Γύρος Διαλόγοι

Η Meta εισήγαγε μια νέα λειτουργία, Φανταστική Προσοχή (GAtt), που έχει σχεδιαστεί για να βελτιώσει την απόδοση του Llama 2 σε πολυ-γύρος διαλόγους. Αυτό αποφασίζει αποτελεσματικά το μόνιμο ζήτημα της απώλειας контέκστου σε συνεχιζόμενους διαλόγους. Η GAtt ενεργεί σαν ένα άγκυρα, συνδέοντας τις αρχικές οδηγίες με όλα τα επόμενα μηνύματα του χρήστη. Σε συνδυασμό με τεχνικές ενίσχυσης μάθησης, βοηθά στην παραγωγή συνετών, σχετικών και ευθυγραμμισμένων με τον χρήστη απαντήσεων σε μεγαλύτερους διαλόγους.

Από το Αποθετήριο Git της Meta Χρησιμοποιώντας download.sh

  1. Επισκεφθείτε την Ιστοσελίδα της Meta: Πηγαίνετε στην επίσημη ιστοσελίδα του Llama 2 και κάντε κλικ στο ‘Κατεβάστε το Μοντέλο’
  2. Συμπληρώστε τα Στοιχεία: Διαβάστε και αποδεχτείτε τους όρους και τις προϋποθέσεις για να προχωρήσετε.
  3. Επιβεβαίωση Email: Μόλις υποβληθεί η φόρμα, θα λάβετε ένα email από τη Meta με einen σύνδεσμο για να κατεβάσετε το μοντέλο από το αποθετήριο Git τους.
  4. Εκτελέστε το download.sh: Κλωνοποιήστε το αποθετήριο Git και εκτελέστε το σενάριο download.sh. Αυτό το σενάριο θα σας ζητήσει να πιστοποιηθείτε χρησιμοποιώντας einen σύνδεσμο από τη Meta που λήγει σε 24 ώρες. Θα επιλέξετε επίσης το μέγεθος του μοντέλου – 7B, 13B ή 70B.

Από το Hugging Face

  1. Λάβετε Email Αποδοχής: Μετά τη λήψη πρόσβασης από τη Meta, μεταβείτε στο Hugging Face.
  2. Αίτηση Πρόσβασης: Επιλέξτε το επιθυμητό μοντέλο και υποβάλετε αίτηση για να λάβετε πρόσβαση.
  3. Επιβεβαίωση: Περιμένετε ένα email ‘χορήγηση πρόσβασης’ εντός 1-2 ημερών.
  4. Δημιουργία Token Πρόσβασης: Μεταβείτε στις ‘Ρυθμίσεις’ του λογαριασμού σας στο Hugging Face για να δημιουργήσετε token πρόσβασης.

Η έκδοση 4.31 των Transformers είναι πλήρως συμβατή με το LLaMa 2 και ανοίγει πολλά εργαλεία και λειτουργίες μέσα στο οικοσύστημα του Hugging Face. Από τα σενάρια εκπαίδευσης και εύρεσης μέχρι την 4-bit κβαντοποίηση με bitsandbytes και την αποτελεσματική μερική εκπαίδευση (PEFT), το εργαλείο είναι εκτενές. Για να ξεκινήσετε, βεβαιωθείτε ότι είστε στην τελευταία έκδοση των Transformers και συνδεδεμένοι στο λογαριασμό σας στο Hugging Face.

Εδώ είναι μια συντομευμένη οδηγία για να τρέξετε το μοντέλο LLaMa 2 σε ένα περιβάλλον Google Colab, χρησιμοποιώντας ένα GPU runtime:

Google Colab Μοντέλο - T4 GPU

Google Colab Μοντέλο – T4 GPU

 

 

 

 

 

 

Εγκατάσταση Πακέτου


<p>!pip install transformers
!huggingface-cli login

Εισαγωγή των Απαραίτητων Βιβλιοθηκών Python.

from transformers import AutoTokenizer
import transformers
import torch

Αρχικοποίηση του Μοντέλου και του Tokenizer

Σε αυτό το βήμα, καθορίστε ποιο μοντέλο Llama 2 θα χρησιμοποιήσετε. Για αυτήν την οδηγία, χρησιμοποιούμε το meta-llama/Llama-2-7b-chat-hf.

model = "meta-llama/Llama-2-7b-chat-hf"
tokenizer = AutoTokenizer.from_pretrained(model)

Ρύθμιση του Pipeline

Χρησιμοποιήστε το pipeline του Hugging Face για τη γενετική κειμένου με συγκεκριμένες ρυθμίσεις:

pipeline = transformers.pipeline(
"text-generation",
model=model,
torch_dtype=torch.float16,
device_map="auto")

Γενετική Κειμένου

Τέλος, τρέξτε το pipeline και γεννήστε μια ακολουθία κειμένου με βάση την είσοδο σας:

sequences = pipeline(
'Ποιοι είναι οι βασικοί συντελεστές στο πεδίο της τεχνητής νοημοσύνης?\n',
do_sample=True,
top_k=10,
num_return_sequences=1,
eos_token_id=tokenizer.eos_token_id,
max_length=200)
for seq in sequences:
print(f"Αποτέλεσμα: {seq['generated_text']}")

Το UI της A16Z για το LLaMa 2

Η Andreessen Horowitz (A16Z) έχει πρόσφατα κυκλοφορήσει μια πρωτοποριακή διεπαφή Streamlit για το Llama 2. Φιλοξενημένη στο GitHub, αυτή η διεπαφή διατηρεί την ιστορία του chat και προσφέρει επίσης την ευελιξία να επιλέξετε από πολλαπλά σημεία του Llama 2 που φιλοξενούνται στο Replicate. Αυτή η σχεδίαση που επικεντρώνεται στον χρήστη στοχεύει να απλοποιήσει τις αλληλεπιδράσεις με το Llama 2, καθιστώντας το ένα ιδανικό εργαλείο για cả τους dévelopers και τους τελικούς χρήστες. Για όσους ενδιαφέρονται να το δοκιμάσουν, υπάρχει μια ζωντανή δημοσίευση στο Llama2.ai.

Llama 2: Τι το κάνει διαφορετικό από τα Μοντέλα GPT και τον Προκάτοχό του Llama 1;

Ποικιλία σε Κλίμακα

Σε αντίθεση με πολλά γλωσσικά μοντέλα που προσφέρουν περιορισμένη κλιμάκωση, το Llama 2 σας δίνει πολλές διαφορετικές επιλογές για μοντέλα με διαφορετικές παραμέτρους. Το μοντέλο κλιμακώνεται από 7 δισεκατομμύρια έως 70 δισεκατομμύρια παραμέτρους, παρέχοντας μια σειρά από ρυθμίσεις για να καλύψει διαφορετικές υπολογιστικές ανάγκες.

Βελτιωμένο Μήκος Κοντέκστου

Το μοντέλο έχει αυξημένο μήκος κοντέκστου 4K token σε σύγκριση με το Llama 1. Αυτό του επιτρέπει να διατηρεί περισσότερες πληροφορίες, βελτιώνοντας την ικανότητά του να κατανοήσει και να γεννήσει πιο σύνθετο και εκτενές περιεχόμενο.

Ομαδοποιημένη Ερώτηση Προσοχή (GQA)

Η αρχιτεκτονική χρησιμοποιεί την έννοια της GQA, που έχει σχεδιαστεί για να επιταχύνει την υπολογιστική διαδικασία προσοχής, αποθηκεύοντας προηγούμενες ζευγάρια token. Αυτό αποτελεσματικά βελτιώνει την κλιμάκωση της εύρεσης του μοντέλου, αυξάνοντας την προσβασιμότητά του.

Βελτιστοποίηση Απόδοσης

Συγκριτική Ανάλυση Απόδοσης των Μοντέλων Llama 2-Chat με το ChatGPT και Άλλους Ανταγωνιστές

Ανάλυση Απόδοσης των Μοντέλων Llama 2-Chat με το ChatGPT και Άλλους Ανταγωνιστές

Το Llama 2 έχει θέσει einen νέο chuẩn στην απόδοση. Δεν μόνο ξεπερνά τον προκάτοχό του, Llama 1, αλλά προσφέρει επίσης σημαντική ανταγωνιστικότητα σε άλλα μοντέλα όπως το Falcon και το GPT-3.5.

Το μεγαλύτερο μοντέλο του Llama 2-Chat, το 70B, ξεπερνά επίσης το ChatGPT σε 36% των περιπτώσεων και ισοφαρίζει την απόδοση σε άλλες 31,5% των περιπτώσεων. Πηγή: Εργασία

Ανοικτό Κώδικας: Η Δύναμη της Κοινότητας

Η Meta και η Microsoft έχουν την πρόθεση να κάνουν το Llama 2 περισσότερο από ένα προϊόν. Το έχουν ως ένα εργαλείο που οδηγείται από την κοινότητα. Το Llama 2 είναι δωρεάν για πρόσβαση τόσο για έρευνα όσο και για μη εμπορικούς σκοπούς. Στόχος είναι να δημοκρατικοποιήσουν τις ικανότητες του AI, καθιστώντας το προσιτό σε startups, ερευνητές και επιχειρήσεις. Η ανοικτή προσέγγιση επιτρέπει την ‘crowdsourced αντιμετώπιση προβλημάτων’ του μοντέλου. Developers και AI ethicists μπορούν να το βελτιώσουν, να ανακαλύψουν ευπάθειες και να προσφέρουν λύσεις με επιταχυνόμενο ρυθμό.

Τρέχουσες Προκλήσεις με το Llama 2

  1. Γενίκευση Δεδομένων: Τόσο το Llama 2 όσο και το GPT-4 μερικές φορές δυσκολεύονται να έχουν ομοιόμορφα υψηλή απόδοση σε διαφορετικές εργασίες. Η ποιότητα και η ποικιλία των δεδομένων είναι εξίσου κρίσιμες με τον όγκο σε αυτές τις περιπτώσεις.
  2. Διαφάνεια Μοντέλου: Λαμβάνοντας υπόψη τις προηγούμενες αποτυχίες του AI να παράγει παραπλανητικές εξόδους, η εξέταση του λόγου πίσω από αυτές τις σύνθετες μοντέλες είναι κρίσιμη.

Code Llama – Η Τελευταία Κυκλοφορία της Meta

Η Meta ανακοίνωσε πρόσφατα το Code Llama, που είναι ένα μεγάλο γλωσσικό μοντέλο εξειδικευμένο στην προγραμματισμό με μεγέθη παραμέτρων από 7B έως 34B. Παρόμοια με το ChatGPT Code Interpreter, το Code Llama μπορεί να απλοποιήσει τις εργασίες των dévelopers και να κάνει την προγραμματισμό πιο προσιτό. Υποστηρίζει διάφορες γλώσσες προγραμματισμού και έρχεται σε εξειδικευμένες εκδόσεις, όπως το Code Llama–Python για εργασίες Python. Το μοντέλο προσφέρει επίσης διαφορετικά επίπεδα απόδοσης για να καλύψει διαφορετικές απαιτήσεις καθυστέρησης. Ανοικτά αδειοδοτημένο, το Code Llama καλεί την κοινότητα να συμβάλλει στην συνεχιζόμενη βελτίωση.
https://about.fb.com/news/2023/08/code-llama-ai-for-coding/

Συμπέρασμα

Αυτό το άρθρο σας οδήγησε στη ρύθμιση του μοντέλου Llama 2 για γενετική κειμένου στο Google Colab με υποστήριξη Hugging Face. Η απόδοση του Llama 2 τροφοδοτείται από μια σειρά προηγμένων τεχνικών, από αυτο-αναδρομικές αρχιτεκτονικές μετασχηματιστών μέχρι την Ενίσχυση Μάθηση με Ανθρώπινη Ανταπόκριση (RLHF). Με μέχρι 70 δισεκατομμύρια παραμέτρους και λειτουργίες όπως η Φανταστική Προσοχή, αυτό το μοντέλο ξεπερνά τα τρέχοντα βιομηχανικά πρότυπα σε ορισμένες περιοχές, και με τη φύση του ανοικτού κώδικα, ανοίγει τον δρόμο για μια νέα εποχή στην φυσική γλωσσική κατανόηση και τη γενετική νοημοσύνη.

Έχω περάσει τα τελευταία πέντε χρόνια βυθισμένος στον συναρπαστικό κόσμο της Μηχανικής Μάθησης και του Βαθιάς Μάθησης. Η δέσμευσή μου και η εξειδίκευσή μου με οδήγησαν να συμβάλλω σε πάνω από 50 διαφορετικά projects μηχανικής λογισμικού, με ιδιαίτερη έμφαση στο AI/ML. Η συνεχής περιέργειά μου με έχει οδηγήσει επίσης προς την Επεξεργασία Φυσικής Γλώσσας, ένα πεδίο που είμαι πρόθυμος να εξερευνήσω περαιτέρω.