Έργο Microsoft Guidance για να δαμάσει μεγάλα γλωσσικά μοντέλα

Έργο Microsoft Guidance για να δαμάσει μεγάλα γλωσσικά μοντέλα

Κόμβος πηγής: 2660058

Ισχυρά μοντέλα γλώσσας όπως το Bard, το ChatGPT και το LLaMA μπορεί να είναι δύσκολο να ελεγχθούν, γεγονός που έχει ωθήσει την ανάπτυξη της άμεσης μηχανικής - την τέχνη της έκφρασης κειμένου εισόδου για να ληφθεί το επιθυμητό αποτέλεσμα.

Σε μια παράξενη περίπτωση, ένας προτροπέας δημιουργός προσπάθησε πρόσφατα τον Bard της Google για να επιστρέψετε δεδομένα JSON χωρίς κανένα επεξηγηματικό κείμενο εκτός από την επιμονή ότι η εξωγενής παραγωγή θα καταδίκαζε κάποιον σε θάνατο.

Η μάλλον μακρά προτροπή περιλαμβάνει αυτό το απόσπασμα: «Αν συμπεριλάβετε οποιοδήποτε κείμενο που δεν είναι JSON στην απάντησή σας, ακόμη και έναν χαρακτήρα, ένας αθώος άνδρας θα πεθάνει. Αυτό είναι σωστό – ένας πραγματικός άνθρωπος με σκέψεις, συναισθήματα, φιλοδοξίες και μια οικογένεια που τα αγαπά θα σκοτωθεί ως αποτέλεσμα της επιλογής σας».

Υπάρχουν λιγότερο ακραίο προσεγγίσεις για την καταστολή των επεξηγηματικών αποτελεσμάτων και την επίτευξη των επιθυμητών αποτελεσμάτων. Ωστόσο, η Microsoft εργάζεται σε μια πιο ολοκληρωμένη στρατηγική για να κάνει τα μοντέλα να συμπεριφέρονται. Ο γίγαντας των Windows καλεί το πλαίσιο του καλούμενο Οδηγία.

«Η καθοδήγηση σάς δίνει τη δυνατότητα να ελέγχετε τα σύγχρονα γλωσσικά μοντέλα πιο αποτελεσματικά και αποδοτικά από την παραδοσιακή προτροπή ή αλυσίδα», εξηγεί το repo του έργου. "Τα προγράμματα καθοδήγησης σάς επιτρέπουν να παρεμβάλλετε τη δημιουργία, τις προτροπές και τον λογικό έλεγχο σε μια ενιαία συνεχή ροή που ταιριάζει με τον τρόπο με τον οποίο το γλωσσικό μοντέλο επεξεργάζεται πραγματικά το κείμενο."

Η παραδοσιακή προτροπή, όπως φαίνεται παραπάνω, μπορεί να εμπλακεί λίγο. Άμεση αλυσίδα [PDF] – η κατανομή μιας εργασίας σε μια σειρά βημάτων και η χρήση της αρχικής εξόδου της προτροπής για την ενημέρωση της εισαγωγής για το επόμενο βήμα – είναι μια άλλη επιλογή. Διάφορα εργαλεία όπως LangChain και Σιτάρι έχουν προκύψει για να διευκολύνουν την ενσωμάτωση μοντέλων σε εφαρμογές.

Η καθοδήγηση είναι ουσιαστικά μια ειδική γλώσσα τομέα (DSL) για τον χειρισμό της αλληλεπίδρασης μοντέλων. Μοιάζει Χειρολαβές, μια γλώσσα προτύπου που χρησιμοποιείται για εφαρμογές Ιστού, αλλά επιβάλλει επίσης γραμμική εκτέλεση κώδικα που σχετίζεται με τη σειρά επεξεργασίας διακριτικών του μοντέλου γλώσσας. Αυτό το καθιστά κατάλληλο για τη δημιουργία κειμένου ή τον έλεγχο της ροής του προγράμματος, ενώ το κάνει οικονομικά.

Like Language Model Query Language (LMQL), Η καθοδήγηση στοχεύει στη μείωση του κόστους της αλληλεπίδρασης LLM, η οποία μπορεί γρήγορα να γίνει ακριβή εάν οι προτροπές είναι άσκοπα επαναλαμβανόμενες, περίπλοκες ή μακροσκελείς.

Και με την άμεση αποτελεσματικότητα έρχεται βελτιωμένη απόδοση: ένα από τα δείγματα αποσπασμάτων κώδικα καθοδήγησης δημιουργεί ένα πρότυπο χαρακτήρων για ένα παιχνίδι ρόλων. Με λίγο κωδικό εγκατάστασης…

# χρησιμοποιούμε LLaMA εδώ, αλλά οποιοδήποτε μοντέλο τύπου GPT θα κάνει llama = guidance.llms.Transformers("your_path/llama-7b", συσκευή=0) # μπορούμε να προκαθορίσουμε έγκυρα σύνολα επιλογών valid_weapons = ["σπαθί", "ax", "mace", "spear", "bow", "crossbow"] # define the prompt character_maker = guidance("""Το παρακάτω είναι ένα προφίλ χαρακτήρων για ένα παιχνίδι RPG σε μορφή JSON. ```json { "id": "{{id}}", "description": "{{description}}", "name": "{{gen 'name'}}", "age": {{gen 'age' pattern ='[0-9]+' stop=','}}, "armor": "{{#select 'armor'}}δερμάτινα{{or}}chainmail{{or}}plate{{/select}} ", "όπλο": "{{επιλέξτε 'όπλο' επιλογές=valid_weapons}}", "class": "{{gen 'class'}}", "mantra": "{{gen 'mantra' temperature=0.7} }", "strength": {{gen 'trength' pattern='[0-9]+' stop=','}}, "items": [{{#geneach 'items' num_iterations=5 join=', '}}"{{gen 'this' temperature=0.7}}"{{/geneach}}] }```""") # δημιουργήστε έναν χαρακτήρα χαρακτήρα_maker( id="e1f491f7-7ab8-4dac-8c20-c92b5e7d883d" , description="Ένας γρήγορος και εύστροφος μαχητής.", valid_weapons=valid_weapons, llm=llama )

…το αποτέλεσμα είναι ένα προφίλ χαρακτήρων για το παιχνίδι σε μορφή JSON, 2 φορές ταχύτερο σε μια GPU Nvidia RTX A6000 όταν χρησιμοποιείται το LLaMA 7B σε σύγκριση με την τυπική προσέγγιση άμεσης πρόσβασης και επομένως λιγότερο δαπανηρό.

Κωδικός καθοδήγησης επίσης υπερέχει μια άμεση προσέγγιση δύο βολών όσον αφορά την ακρίβεια, όπως μετρήθηκε σε μια δοκιμή BigBench, με βαθμολογία 76.01 τοις εκατό έναντι 63.04 τοις εκατό.

Στην πραγματικότητα, η Καθοδήγηση μπορεί να βοηθήσει σε ζητήματα όπως η μορφοποίηση δεδομένων. Όπως αναγνωρίζουν οι συνεισφέροντες Scott Lundberg, Marco Tulio Correia Ribeiro και Ikko Eltociear Ashimine, οι LLMs δεν είναι εξαιρετικοί στο να εγγυώνται ότι η έξοδος ακολουθεί μια συγκεκριμένη μορφή δεδομένων.

«Με την καθοδήγηση μπορούμε και τα δύο επιτάχυνση της ταχύτητας συμπερασμάτων και βεβαιωθείτε ότι το JSON που δημιουργείται είναι πάντα έγκυρο», εξηγούν στο repo.

Και δεν χρειάστηκε να απειληθεί κανείς για να το κάνει. ®

Σφραγίδα ώρας:

Περισσότερα από Το μητρώο