Τεχνητή νοημοσύνη
Llama 2: Ένα Βαθύ Βούτι στο Ανοικτό Λογισμικό Ανταγωνιστή του ChatGPT

Μεγάλες Γλωσσικές Μοντέλα (LLMs) ικανά για σύνθετες εργασίες συλλογισμού έχουν δείξει υποσχόμενο σε εξειδικευμένα πεδία όπως η προγραμματισμός και η δημιουργική γραφή. Ωστόσο, ο κόσμος των LLMs δεν είναι απλά ένα πεδίο εύκολης χρήσης· υπάρχουν προκλήσεις στην χρηστικότητα, την ασφάλεια και τις υπολογιστικές απαιτήσεις. Σε αυτό το άρθρο, θα κάνουμε ένα βαθύ βούτι στις ικανότητες του Llama 2, ενώ θα παρέχουμε μια λεπτομερή οδηγία για τη ρύθμιση αυτού του υψηλής απόδοσης LLM μέσω του Hugging Face και των GPU T4 στο Google Colab.
Αναπτυγμένο από τη Meta με τη συνεργασία της Microsoft, αυτό το ανοικτό λογισμικό μεγάλου γλωσσικού μοντέλου στοχεύει να ανα定ορεύσει τους κόσμους της γενετικής τεχνητής νοημοσύνης και της φυσικής γλωσσικής κατανόησης. Το Llama 2 δεν είναι απλά ένα άλλο στατιστικό μοντέλο εκπαιδευμένο σε τεράμπιτες δεδομένων· είναι η ενσάρκωση μιας φιλοσοφίας. Μια που τονίζει την ανοικτή προσέγγιση ως την σπονδυλική στήλη της ανάπτυξης τεχνητής νοημοσύνης, ιδιαίτερα στον χώρο της γενετικής τεχνητής νοημοσύνης.
Το Llama 2 και η διάλογο-βελτιωμένη αντικατάστασή του, Llama 2-Chat, έρχονται εξοπλισμένα με έως και 70 δισεκατομμύρια παραμέτρους. Υπόκεινται σε μια διαδικασία εκμαθήματος που σχεδιάζεται για να τα ευθυγραμμίσει στενά με τις ανθρώπινες προτιμήσεις, καθιστώντας τα και τα δύο ασφαλέστερα και πιο αποτελεσματικά από πολλά άλλα δημόσια διαθέσιμα μοντέλα. Αυτό το επίπεδο λεπτομέρειας στην εκμάθηση είναι συχνά διατηρημένο για κλειστά “προϊόν” LLMs, όπως το ChatGPT και το BARD, τα οποία δεν είναι γενικά διαθέσιμα για δημόσια επιθεώρηση ή προσαρμογή.
Τεχνική Βαθιά Βύθιση του Llama 2
Για την εκπαίδευση του μοντέλου Llama 2· όπως και οι προκατόχοι του, χρησιμοποιεί μια αυτο-αναγωγική αρχιτεκτονική μετασχηματιστή, προ-εκπαιδευμένο σε một εκτενές σώμα αυτο-επιβλεπόμενων δεδομένων. Ωστόσο, προσθέτει ένα επιπλέον επίπεδο σοφιστικότητας χρησιμοποιώντας Ενίσχυση Μάθηση με Ανθρώπινη Ανταπόκριση (RLHF) για να ευθυγραμμίσει καλύτερα με την ανθρώπινη συμπεριφορά και προτιμήσεις. Αυτό είναι υπολογιστικά ακριβό αλλά ζωτικό για τη βελτίωση της ασφάλειας και της αποτελεσματικότητας του μοντέλου.
Προ-εκπαίδευση & Αποδοτικότητα Δεδομένων
Η βασική καινοτομία του Llama 2 έγκειται στην προ-εκπαιδευτική του ρύθμιση. Το μοντέλο παίρνει σήματα από τον προκάτοχό του, Llama 1, αλλά εισάγει plusieurs κρίσιμες βελτιώσεις για να ανυψώσει την απόδοσή του. Ιδιαίτερα, μια αύξηση 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 χρησιμοποιεί ένα σύνολο δεδομένων που έχει προ-επικυρωθεί και επισημανθεί.
ΓENERALLY η δημιουργία αυτών των συνόλων δεδομένων είναι δαπανηρή και χρονοβόρα. Η προσέγγιση του Llama 2 ήταν ποιότητα πάνω από ποσότητα. Με μόνο 27.540 επισημάνσεις, η ομάδα της Meta πέτυχε επίπεδα απόδοσης ανταγωνιστικά με ανθρώπινους επισημαντές. Αυτό ευθυγραμμίζεται καλά με πρόσφατες μελέτες που δείχνουν ότι ακόμη και περιορισμένα αλλά καθαρά σύνολα δεδομένων μπορούν να οδηγήσουν σε υψηλής ποιότητας αποτελέσματα.
Στη διαδικασία SFT, το προ-εκπαιδευμένο LLM εκτίθεται σε ένα επισημανμένο σύνολο δεδομένων, όπου οι αλγόριθμοι επιβλεπόμενης μάθησης έρχονται σε παιχνίδι. Τα εσωτερικά βάρη του μοντέλου ανακατατάσσονται με βάση τις κλίσεις που υπολογίζονται από μια εργασία-ειδική συνάρτηση απώλειας. Αυτή η συνάρτηση απώλειας ποσοτικοποιεί τις αποκλίσεις μεταξύ των προβλεπόμενων εξόδων του μοντέλου και των πραγματικών ετικετών.
Αυτή η βελτίωση επιτρέπει στο LLM να κατανοήσει τις σύνθετες προτυπώσεις και τις νουάνς που είναι ενσωματωμένες στο επισημανμένο σύνολο δεδομένων. Συνέπεια, το μοντέλο δεν είναι απλά ένα γενικευμένο εργαλείο αλλά εξελίσσεται σε ένα εξειδικευμένο περιουσιακό στοιχείο, ικανό να εκτελεί την στόχο-εργασία με υψηλό βαθμό ακρίβειας.
Η ενίσχυση μάθηση είναι το επόμενο βήμα, που στοχεύει στην ευθυγράμμιση της συμπεριφοράς του μοντέλου με τις ανθρώπινες προτιμήσεις πιο στενά.
Η φάση της εκμάθησης αξιοποίησε την Ενίσχυση Μάθηση από Ανθρώπινη Ανταπόκριση (RLHF), χρησιμοποιώντας τεχνικές όπως Επιλογή Σημασίας και Προσεγγιστική Πολιτική Βελτίωση για να εισαγάγει αλγοριθμική θόρυβο, αποφεύγοντας così τα τοπικά óπτιμα. Αυτή η επαναλαμβανόμενη εκμάθηση δεν μόνο βελτίωσε το μοντέλο αλλά και ευθυγράμμισε την έξοδό του με τις ανθρώπινες προσδοκίες.
Το Llama 2-Chat использовало ένα πρωτόκολλο δυαδικής σύγκρισης για τη συλλογή δεδομένων ανθρώπινης προτίμησης, σηματοδοτώντας μια αξιοσημείωτη τάση προς πιο ποιοτικές προσεγγίσεις. Αυτή η μηχανισμός ενημέρωσε τα Μοντέλα Ανταμοιβής, τα οποία χρησιμοποιούνται στη συνέχεια για τη βελτίωση του μοντέλου συνομιλίας.
Φανταστική Προσοχή: Πολυ-Γύρος Διαλόγοι
Η Meta εισήγαγε μια νέα λειτουργία, Φανταστική Προσοχή (GAtt), η οποία σχεδιάζεται για να ενισχύσει την απόδοση του Llama 2 σε πολυ-γύρος διαλόγους. Αυτό αποφασίζει αποτελεσματικά το μόνιμο πρόβλημα της απώλειας контекστού σε συνεχιζόμενες συνομιλίες. Η GAtt ενεργεί σαν ένα άγκιστρο, συνδέοντας τις αρχικές οδηγίες με όλα τα επόμενα μηνύματα του χρήστη. Σε συνδυασμό με τεχνικές ενίσχυσης μάθησης, βοηθά στην παραγωγή συνετών, σχετικών και χρηστών-ευθυγραμμισμένων απαντήσεων σε μεγαλύτερους διαλόγους.
Από το Αποθετήριο Git της Meta Χρησιμοποιώντας download.sh
- Επισκεφθείτε την Ιστοσελίδα της Meta: Ναυτιλιάτε στην επίσημη ιστοσελίδα του Llama 2 και κάντε κλικ στο ‘Κατεβάστε το Μοντέλο’
- Συμπληρώστε τις Λεπτομέρειες: Διαβάστε και αποδεχθείτε τους όρους και τις προϋποθέσεις για να προχωρήσετε.
- Επιβεβαίωση Email: Μόλις υποβληθεί η φόρμα, θα λάβετε ένα email από τη Meta με einen σύνδεσμο για να κατεβάσετε το μοντέλο από το αποθετήριο Git τους.
- Εκτέλεση του download.sh: Κλωνοποιήστε το αποθετήριο Git και εκτελέστε το σενάριο
download.sh. Αυτό το σενάριο θα σας ζητήσει να πιστοποιήσετε χρησιμοποιώντας einen σύνδεσμο από τη Meta που λήγει σε 24 ώρες. Θα επιλέξετε επίσης το μέγεθος του μοντέλου—7B, 13B, ή 70B.
Από το Hugging Face
- Λάβετε Email Αποδοχής: Μετά τη λήψη πρόσβασης από τη Meta, μεταβείτε στο Hugging Face.
- Αίτηση Πρόσβασης: Επιλέξτε το επιθυμητό μοντέλο και υποβάλετε αίτηση για να σας χορηγήσουν πρόσβαση.
- Επιβεβαίωση: Αναμένετε ένα email ‘χορήγηση πρόσβασης’ εντός 1-2 ημερών.
- Δημιουργία Token Πρόσβασης: Ναυτιλιάτε στις ‘Ρυθμίσεις’ του λογαριασμού σας στο Hugging Face για να δημιουργήσετε token πρόσβασης.
Η έκδοση 4.31 των Transformers είναι πλήρως συμβατή με το LLaMa 2 και ανοίγει πολλά εργαλεία και λειτουργίες μέσα στο οικοσύστημα του Hugging Face. Από τα σενάρια εκπαίδευσης και συλλογισμού μέχρι την 4-bit κβαντοποίηση με bitsandbytes και την Επιλεκτική Βελτίωση Παράμετρων (PEFT), το εργαλείο είναι εκτενές. Για να ξεκινήσετε, βεβαιωθείτε ότι βρίσκεστε στην τελευταία έκδοση των Transformers και ότι είστε συνδεδεμένοι στο λογαριασμό σας στο Hugging Face.
Εδώ υπάρχει μια ροή οδηγιών για την εκτέλεση της έξοδου του μοντέλου LLaMa 2 σε ένα περιβάλλον Google Colab, αξιοποιώντας ένα περιβάλλον εκτέλεσης GPU:
Εγκατάσταση Πακέτου
!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, αυτή η διεπαφή χρήστη διατηρεί την ιστορία της συνομιλίας και παρέχει επίσης την ευελιξία να επιλέξετε από πολλαπλά σημεία του Llama 2 API που φιλοξενούνται στο Replicate. Αυτή η σχεδίαση χρήστη στοχεύει να απλοποιήσει τις αλληλεπιδράσεις με το Llama 2, καθιστώντας το ένα ιδανικό εργαλείο για τους développers και τους τελικούς χρήστες. Για όσους ενδιαφέρονται να το δοκιμάσουν, υπάρχει ένα ζωντανό demo στο Llama2.ai.
Llama 2: Τι το κάνει διαφορετικό από τα Μοντέλα GPT και τον προκάτοχό του Llama 1;
Ποικιλία σε Κλίμακα
Αντίθετα με πολλά γλωσσικά μοντέλα που προσφέρουν περιορισμένη κλιμάκωση, το Llama 2 σας δίνει πολλές διαφορετικές επιλογές για μοντέλα με ποικίλες παραμέτρους. Το μοντέλο κλιμακώνεται από 7 δισεκατομμύρια έως 70 δισεκατομμύρια παραμέτρους, παρέχοντας μια σειρά από ρυθμίσεις για να ταιριάζουν σε διαφορετικές υπολογιστικές ανάγκες.
Βελτιωμένο Μήκος Κοντέκστου
Το μοντέλο έχει ένα αυξημένο μήκος κοντέκστου 4K tokens hơn το Llama 1. Αυτό του επιτρέπει να διατηρεί περισσότερες πληροφορίες, βελτιώνοντας έτσι την ικανότητά του να κατανοήσει και να γεννήσει πιο σύνθετο και εκτενές περιεχόμενο.
Ομαδοποιημένη Ερώτηση Προσοχής (GQA)
Η αρχιτεκτονική χρησιμοποιεί την έννοια της GQA, σχεδιασμένη για να επιταχύνει τον υπολογισμό προσοχής με την κρυψώνα των προηγούμενων ζευγών token. Αυτό βελτιώνει αποτελεσματικά την αποδοτικότητα συλλογισμού του μοντέλου για να βελτιώσει την προσβασιμότητα.
Βελτιστοποίηση Απόδοσης
Το Llama 2 έχει θέσει einen νέο chuẩn στην απόδοση. Δεν μόνο υπερβαίνει τον προκάτοχό του, το Llama 1, αλλά προσφέρει επίσης σημαντική ανταγωνιστικότητα σε άλλα μοντέλα όπως το Falcon και το GPT-3.5.
Το μεγαλύτερο μοντέλο του Llama 2-Chat, το 70B, υπερβαίνει επίσης το ChatGPT σε 36% των περιπτώσεων και ταιριάζει στην απόδοση σε άλλες 31,5% των περιπτώσεων. Πηγή: Έγγραφο
Ανοικτό Λογισμικό: Η Δύναμη της Κοινότητας
Η Meta και η Microsoft στοχεύουν για το Llama 2 να είναι περισσότερο από ένα προϊόν· τοphantάζουν ως ένα κοινότητα-κίνητο εργαλείο. Το Llama 2 είναι δωρεάν για πρόσβαση για έρευνα και μη εμπορικούς σκοπούς. Η στοχεύουν να δημοκρατίσουν τις ικανότητες της τεχνητής νοημοσύνης, καθιστώντας τη προσβάσιμη σε startups, ερευνητές και επιχειρήσεις. Μια ανοικτή προσέγγιση επιτρέπει την ‘κοινότητα-διαγνωστική’ του μοντέλου. Οι développers και οι εθικοί της τεχνητής νοημοσύνης μπορούν να δοκιμάσουν, να αναγνωρίσουν ευπάθειες και να προσφέρουν λύσεις σε einen επιταχυνόμενο ρυθμό.
Ενώ οι όροι άδειας για το LLaMa 2 είναι γενικά permissive, εξαιρέσεις υπάρχουν. Μεγάλες επιχειρήσεις με περισσότερους από 700 εκατομμύρια μηνιαίους χρήστες, όπως η Google, απαιτούν ρητή εξουσιοδότηση από τη Meta για τη χρήση του.
Τρέχουσες Προκλήσεις με το Llama 2
- Γενίκευση Δεδομένων: Και το Llama 2 και το GPT-4 μερικές φορές δυσκολεύονται στην ομοιόμορφα υψηλή απόδοση σε διαφορετικές εργασίες. Η ποιότητα και η ποικιλία των δεδομένων είναι εξίσου σημαντικές με τον όγκο σε αυτές τις περιπτώσεις.
- Διαφάνεια Μοντέλου: Δεδομένων των προηγούμενων πτώσεων με την τεχνητή νοημοσύνη που παράγει παραπλανητικές εξόδους, η διερεύνηση του λόγου από πίσω από αυτά τα σύνθετα μοντέλα είναι κρίσιμη.
Code Llama – Η Τελευταία Εκκίνηση της Meta
Η Meta ανακοίνωσε πρόσφατα Code Llama το οποίο είναι ένα μεγάλου μεγέθους γλωσσικό μοντέλο εξειδικευμένο στην προγραμματισμό με μεγέθη παραμέτρων από 7B έως 34B. Παρόμοια με το ChatGPT Code Interpreter; το Code Llama μπορεί να ροηματοποιήσει τις ροές εργασίας των développers και να κάνει την προγραμματισμό πιο προσβάσιμη. Διαθέτει διάφορες προγραμματιστικές γλώσσες και έρχεται σε εξειδικευμένες παραλλαγές, όπως το 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 τροφοδοτείται από eine σειρά προηγμένων τεχνικών από αυτο-αναγωγικές αρχιτεκτονικές μετασχηματιστή μέχρι την Ενίσχυση Μάθηση με Ανθρώπινη Ανταπόκριση (RLHF). Με έως και 70 δισεκατομμύρια παραμέτρους και λειτουργίες όπως η Φανταστική Προσοχή, αυτό το μοντέλο υπερβαίνει τα τρέχοντα βιομηχανικά πρότυπα σε ορισμένες περιοχές, και με την ανοικτή του φύση, ανοίγει τον δρόμο για μια νέα εποχή στην φυσική γλωσσική κατανόηση και τη γενετική τεχνητή νοημοσύνη.

















