Σήμερα, ανακοινώνουμε τη διαθεσιμότητα δειγμάτων σημειωματάριων που επιδεικνύουν εργασίες απάντησης ερωτήσεων χρησιμοποιώντας μια προσέγγιση που βασίζεται στην ανάκτηση επαυξημένης γενιάς (RAG) με μεγάλα γλωσσικά μοντέλα (LLM) στο Amazon SageMaker JumpStart. Η δημιουργία κειμένου με χρήση RAG με LLM σάς δίνει τη δυνατότητα να δημιουργήσετε εξόδους κειμένου για συγκεκριμένο τομέα παρέχοντας συγκεκριμένα εξωτερικά δεδομένα ως μέρος του περιβάλλοντος που τροφοδοτείται στα LLM.
Το JumpStart είναι ένας κόμβος μηχανικής μάθησης (ML) που μπορεί να σας βοηθήσει να επιταχύνετε το ταξίδι σας στο ML. Το JumpStart παρέχει πολλά προεκπαιδευμένα μοντέλα γλώσσας που ονομάζονται μοντέλα θεμελίωσης που μπορεί να σας βοηθήσει να εκτελέσετε εργασίες όπως σύνοψη άρθρων, απάντηση ερωτήσεων και δημιουργία συνομιλιών και δημιουργία εικόνων.
Σε αυτήν την ανάρτηση, περιγράφουμε το RAG και τα πλεονεκτήματά του και δείχνουμε πώς να ξεκινήσετε γρήγορα χρησιμοποιώντας ένα δείγμα σημειωματάριου για να λύσετε μια εργασία απάντησης ερωτήσεων χρησιμοποιώντας την υλοποίηση RAG με LLM στο Jumpstart. Δείχνουμε δύο προσεγγίσεις:
- Πώς να λύσετε το πρόβλημα με το open-source LangChain βιβλιοθήκη και Amazon Sage Maker τελικά σημεία σε μερικές γραμμές κώδικα
- Πώς να χρησιμοποιήσετε τον αλγόριθμο SageMaker KNN για να εκτελέσετε σημασιολογική αναζήτηση δεδομένων μεγάλης κλίμακας χρησιμοποιώντας τελικά σημεία του SageMaker
LLMS και περιορισμοί
Οι LLM εκπαιδεύονται σε μεγάλους όγκους μη δομημένων δεδομένων και είναι εξαιρετικοί στη γενική δημιουργία κειμένου. Τα LLMs μπορούν να αποθηκεύσουν πραγματικές γνώσεις εκπαιδεύοντας τις παραμέτρους τους σε ένα μεγάλο σύνολο δεδομένων φυσικής γλώσσας.
Υπάρχουν μερικοί περιορισμοί στη χρήση προεκπαιδευμένων LLM εκτός ραφιού:
- Συνήθως εκπαιδεύονται εκτός σύνδεσης, καθιστώντας το μοντέλο αγνωστικιστικό στις πιο πρόσφατες πληροφορίες (για παράδειγμα, ένα chatbot που εκπαιδεύτηκε από το 2011–2018 δεν έχει πληροφορίες για τον COVID-19).
- Κάνουν προβλέψεις αναζητώντας μόνο πληροφορίες που είναι αποθηκευμένες στις παραμέτρους τους, οδηγώντας σε κατώτερη ερμηνευτικότητα.
- Είναι κυρίως εκπαιδευμένοι σε σώματα γενικού τομέα, καθιστώντας τα λιγότερο αποτελεσματικά σε εργασίες που αφορούν συγκεκριμένους τομείς. Υπάρχουν σενάρια όταν θέλετε τα μοντέλα να δημιουργούν κείμενο με βάση συγκεκριμένα δεδομένα και όχι γενικά δεδομένα. Για παράδειγμα, μια εταιρεία ασφάλισης υγείας μπορεί να θέλει το bot απάντησης ερωτήσεών της να απαντά σε ερωτήσεις χρησιμοποιώντας τις πιο πρόσφατες πληροφορίες που είναι αποθηκευμένες στο χώρο αποθήκευσης εγγράφων της επιχείρησης ή στη βάση δεδομένων της, ώστε οι απαντήσεις να είναι ακριβείς και να αντικατοπτρίζουν τους μοναδικούς επιχειρηματικούς κανόνες της.
Επί του παρόντος, υπάρχουν δύο δημοφιλείς τρόποι αναφοράς συγκεκριμένων δεδομένων σε LLMs:
- Εισαγάγετε δεδομένα ως πλαίσιο στην προτροπή του μοντέλου ως τρόπο παροχής των πληροφοριών που μπορεί να χρησιμοποιήσει το μοντέλο κατά τη δημιουργία του αποτελέσματος
- Βελτιώστε το μοντέλο παρέχοντας ένα αρχείο με ζεύγη προτροπής και ολοκλήρωσης
Η πρόκληση της προσέγγισης που βασίζεται στο πλαίσιο είναι ότι τα μοντέλα έρχονται με περιορισμένο μέγεθος περιβάλλοντος και περιλαμβάνουν όλα τα έγγραφα ως περιβάλλον ενδέχεται να μην ταιριάζουν στο επιτρεπόμενο μέγεθος περιβάλλοντος του μοντέλου. Ανάλογα με το μοντέλο που χρησιμοποιείται, ενδέχεται να υπάρχει επιπλέον κόστος για μεγαλύτερο περιβάλλον.
Για την προσέγγιση της μικρορύθμισης, η δημιουργία της σωστής μορφοποιημένης πληροφορίας είναι χρονοβόρα και συνεπάγεται κόστος. Επιπλέον, εάν τα εξωτερικά δεδομένα που χρησιμοποιούνται για τη μικρορύθμιση αλλάζουν συχνά, αυτό σημαίνει ότι απαιτούνται συχνές μικρορρυθμίσεις και επανεκπαίδευση για τη δημιουργία ακριβών αποτελεσμάτων. Η συχνή εκπαίδευση επηρεάζει την ταχύτητα στην αγορά και προσθέτει στο συνολικό κόστος της λύσης.
Για να δείξουμε αυτούς τους περιορισμούς, χρησιμοποιήσαμε ένα μοντέλο LLM Flan T5 XXL και θέσαμε την ακόλουθη ερώτηση:
Λαμβάνουμε την ακόλουθη απάντηση:
Όπως μπορείτε να δείτε, η απάντηση δεν είναι ακριβής. Η σωστή απάντηση θα πρέπει να είναι ότι όλες οι παρουσίες του SageMaker υποστηρίζουν την Εκπαίδευση Managed Spot.
Δοκιμάσαμε την ίδια ερώτηση αλλά με πρόσθετο πλαίσιο πέρασε μαζί με την ερώτηση:
Αυτή τη φορά πήραμε την εξής απάντηση:
Η απάντηση είναι καλύτερη αλλά και πάλι δεν είναι ακριβής. Ωστόσο, σε περιπτώσεις χρήσης πραγματικής παραγωγής, οι χρήστες ενδέχεται να στέλνουν διάφορα ερωτήματα και για να παρέχουν ακριβείς απαντήσεις, μπορεί να θέλετε να συμπεριλάβετε όλες ή τις περισσότερες από τις διαθέσιμες πληροφορίες ως μέρος του στατικού περιβάλλοντος για να δημιουργήσετε ακριβείς απαντήσεις. Επομένως, με αυτήν την προσέγγιση, μπορεί να χτυπήσουμε τον περιορισμό περιορισμού μεγέθους περιβάλλοντος επειδή ακόμη και μη σχετικές πληροφορίες για την ερώτηση που τέθηκε αποστέλλονται ως μέρος του περιβάλλοντος. Εδώ μπορείτε να χρησιμοποιήσετε την προσέγγιση που βασίζεται σε RAG για να δημιουργήσετε επεκτάσιμες και ακριβείς απαντήσεις για τα ερωτήματα ενός χρήστη.
Ανάκτηση επαυξημένης γενιάς
Για να λύσουμε τους περιορισμούς που συζητήσαμε, μπορούμε να χρησιμοποιήσουμε το Retrieval Augmented Generation (RAG) με LLM. Το RAG ανακτά δεδομένα εκτός του γλωσσικού μοντέλου (μη παραμετρική) και επαυξάνει τις προτροπές προσθέτοντας τα σχετικά ανακτημένα δεδομένα στο περιβάλλον. Τα μοντέλα RAG εισήχθησαν από Οι Lewis et al. το 2020 ως μοντέλο όπου η παραμετρική μνήμη είναι ένα προ-εκπαιδευμένο μοντέλο seq2seq και η μη παραμετρική μνήμη είναι ένας πυκνός διανυσματικός δείκτης της Wikipedia, προσπελάσιμος με ένα προ-εκπαιδευμένο νευρικό retriever.
Στο RAG, τα εξωτερικά δεδομένα μπορούν να προέρχονται από πολλαπλές πηγές δεδομένων, όπως αποθήκη εγγράφων, βάσεις δεδομένων ή API. Το πρώτο βήμα είναι να μετατρέψετε τα έγγραφα και το ερώτημα χρήστη σε μορφή, ώστε να μπορούν να συγκριθούν και να πραγματοποιηθεί αναζήτηση σχετικότητας. Για να γίνουν οι μορφές συγκρίσιμες για την πραγματοποίηση αναζήτησης συνάφειας, μια συλλογή εγγράφων (βιβλιοθήκη γνώσης) και το ερώτημα που υποβάλλεται από τον χρήστη μετατρέπονται σε αριθμητική αναπαράσταση χρησιμοποιώντας μοντέλα γλώσσας ενσωμάτωσης. Οι ενσωματώσεις είναι ουσιαστικά αριθμητικές αναπαραστάσεις της έννοιας στο κείμενο. Στη συνέχεια, με βάση την ενσωμάτωση του ερωτήματος χρήστη, το σχετικό κείμενό του προσδιορίζεται στη συλλογή εγγράφων με μια αναζήτηση ομοιότητας στον χώρο ενσωμάτωσης. Στη συνέχεια, η προτροπή που παρέχεται από τον χρήστη επισυνάπτεται με σχετικό κείμενο που αναζητήθηκε και προστίθεται στο περιβάλλον. Η προτροπή αποστέλλεται τώρα στο LLM και επειδή το περιβάλλον έχει σχετικά εξωτερικά δεδομένα μαζί με την αρχική προτροπή, η έξοδος του μοντέλου είναι σχετική και ακριβής.
Για να διατηρήσετε ενημερωμένες πληροφορίες για τα έγγραφα αναφοράς, μπορείτε να ενημερώσετε ασύγχρονα τα έγγραφα και να ενημερώσετε την αναπαράσταση ενσωμάτωσης των εγγράφων. Με αυτόν τον τρόπο, τα ενημερωμένα έγγραφα θα χρησιμοποιηθούν για τη δημιουργία απαντήσεων για μελλοντικές ερωτήσεις για την παροχή ακριβών απαντήσεων.
Το παρακάτω διάγραμμα δείχνει την εννοιολογική ροή της χρήσης RAG με LLM.
Σε αυτήν την ανάρτηση, δείχνουμε πώς να εφαρμόσετε μια εφαρμογή απάντησης ερωτήσεων με τα ακόλουθα βήματα:
- Δημιουργήστε ενσωμάτωση για καθένα από τα έγγραφα στη βιβλιοθήκη γνώσεων με ένα μοντέλο ενσωμάτωσης SageMaker GPT-J-6B.
- Προσδιορίστε τα κορυφαία K πιο σχετικά έγγραφα με βάση το ερώτημα χρήστη.
- Για το ερώτημά σας, δημιουργήστε την ενσωμάτωση του ερωτήματος χρησιμοποιώντας το ίδιο μοντέλο ενσωμάτωσης.
- Αναζητήστε τα ευρετήρια των κορυφαίων K πιο συναφών εγγράφων στον χώρο ενσωμάτωσης χρησιμοποιώντας μια αναζήτηση FAISS στη μνήμη.
- Χρησιμοποιήστε τα ευρετήρια για να ανακτήσετε τα αντίστοιχα έγγραφα.
- Χρησιμοποιήστε τα ανακτημένα σχετικά έγγραφα ως πλαίσιο με την προτροπή και την ερώτηση και στείλτε τα στο SageMaker LLM για να δημιουργήσετε την απάντηση.
Δείχνουμε τις ακόλουθες προσεγγίσεις:
- Πώς να λύσετε μια εργασία απάντησης ερωτήσεων με τα SageMaker LLM και την ενσωμάτωση τελικών σημείων και τη βιβλιοθήκη ανοιχτού κώδικα LangChain σε λίγες γραμμές κώδικα. Συγκεκριμένα, χρησιμοποιούμε δύο τελικά σημεία SageMaker για το LLM (Flan T5 XXL) και το μοντέλο ενσωμάτωσης (GPT-J 6B) και η διανυσματική βάση δεδομένων που χρησιμοποιείται είναι στη μνήμη FAISS. Για περισσότερες λεπτομέρειες, δείτε το GitHub repo.
- Εάν το FAISS στη μνήμη δεν χωράει στο μεγάλο σας σύνολο δεδομένων, σας παρέχουμε ένα Αλγόριθμος SageMaker KNN για να εκτελέσετε τη σημασιολογική αναζήτηση, η οποία χρησιμοποιεί επίσης το FAISS ως τον υποκείμενο αλγόριθμο αναζήτησης. Για λεπτομέρειες, δείτε το GitHub repo.
Το παρακάτω διάγραμμα απεικονίζει την αρχιτεκτονική λύσης.
Σημειωματάριο υλοποίησης που βασίζεται σε JumpStart RAG με LangChain
LangChain είναι ένα πλαίσιο ανοιχτού κώδικα για την ανάπτυξη εφαρμογών που υποστηρίζονται από μοντέλα γλώσσας. Το LangChain παρέχει μια γενική διεπαφή για πολλά διαφορετικά LLM. Διευκολύνει επίσης τους προγραμματιστές να συνδέουν διάφορα LLM μεταξύ τους και να δημιουργούν ισχυρές εφαρμογές. Το LangChain παρέχει μια τυπική διεπαφή για τη μνήμη και μια συλλογή εφαρμογών μνήμης για διατήρηση της κατάστασης μεταξύ κλήσεων πρακτόρων ή αλυσίδων.
Το LangChain έχει πολλές άλλες βοηθητικές λειτουργίες που μπορούν να αυξήσουν την παραγωγικότητα των προγραμματιστών. Αυτές οι δυνατότητες περιλαμβάνουν ένα πρότυπο προτροπής που βοηθά στην προσαρμογή των προτροπών χρησιμοποιώντας μεταβλητές στο πρότυπο προτροπής, πράκτορες για τη δημιουργία εφαρμογών από άκρο σε άκρο, ευρετήρια για βήματα αναζήτησης και ανάκτησης της αλυσίδας και πολλά άλλα. Για να εξερευνήσετε περαιτέρω τις δυνατότητες του LangChain, ανατρέξτε στο Τεκμηρίωση LangChain.
Δημιουργία μοντέλου LLM
Ως πρώτο βήμα, αναπτύξτε το μοντέλο JumpStart LLM της επιλογής σας. Σε αυτήν την επίδειξη, χρησιμοποιούμε ένα τελικό σημείο μοντέλου Jumpstart Flan T5 XXL. Για οδηγίες ανάπτυξης, ανατρέξτε στο Προτροπή μηδενικής λήψης για το μοντέλο βάσης Flan-T5 στο Amazon SageMaker JumpStart. Με βάση την περίπτωση χρήσης σας, μπορείτε επίσης να αναπτύξετε άλλα μοντέλα συντονισμένα με οδηγίες όπως π.χ Φλάντζα T5 UL2 or BloomZ 7B1. Για λεπτομέρειες, ανατρέξτε στο παράδειγμα σημειωματάριο.
Για να χρησιμοποιήσουμε το τελικό σημείο SageMaker LLM με το LangChain, χρησιμοποιούμε langchain.llms.sagemaker_endpoint.SagemakerEndpoint
, το οποίο αφαιρεί το τελικό σημείο SageMaker LLM. Πρέπει να πραγματοποιήσουμε έναν μετασχηματισμό για το ωφέλιμο φορτίο αιτήματος και απόκρισης, όπως φαίνεται στον ακόλουθο κώδικα για την ενοποίηση του LangChain SageMaker. Σημειώστε ότι ίσως χρειαστεί να προσαρμόσετε τον κωδικό ContentHandler
με βάση τη content_type
και δέχεται τη μορφή του μοντέλου LLM που επιλέγετε να χρησιμοποιήσετε.
Δημιουργήστε το μοντέλο ενσωμάτωσης
Στη συνέχεια, πρέπει να ετοιμάσουμε το ενσωματωμένο μοντέλο μας. Αναπτύσσουμε το GPT-J 6B μοντέλο ως μοντέλο ενσωμάτωσης. Εάν χρησιμοποιείτε ένα μοντέλο ενσωμάτωσης JumpStart, πρέπει να προσαρμόσετε την κλάση ενσωμάτωσης τελικού σημείου LangChain SageMaker και να μετατρέψετε το αίτημα και την απόκριση του μοντέλου για ενσωμάτωση με το LangChain. Για λεπτομερή εφαρμογή, ανατρέξτε στο GitHub repo.
Φορτώστε έγγραφα για συγκεκριμένο τομέα χρησιμοποιώντας το πρόγραμμα φόρτωσης εγγράφων LangChain και δημιουργήστε ένα ευρετήριο
Χρησιμοποιούμε το CSVLoader
πακέτο στο LangChain για να φορτώσετε έγγραφα με μορφή CSV στη φόρτωση εγγράφων:
Στη συνέχεια, χρησιμοποιούμε το TextSplitter για την προεπεξεργασία δεδομένων για σκοπούς ενσωμάτωσης και χρησιμοποιούμε το μοντέλο ενσωμάτωσης SageMaker GPT-J -6B για να δημιουργήσετε την ενσωμάτωση. Αποθηκεύουμε την ενσωμάτωση σε ένα διανυσματικό κατάστημα FAISS για να δημιουργήσουμε ένα ευρετήριο. Χρησιμοποιούμε αυτό το ευρετήριο για να βρούμε σχετικά έγγραφα που είναι σημασιολογικά παρόμοια με το ερώτημα του χρήστη.
Ο παρακάτω κώδικας δείχνει πώς γίνονται όλα αυτά τα βήματα από το VectorstoreIndexCreator
τάξη σε λίγες μόνο γραμμές κώδικα στο LangChain για να δημιουργήσετε μια συνοπτική υλοποίηση της απάντησης ερωτήσεων με το RAG:
Χρησιμοποιήστε το ευρετήριο για να αναζητήσετε σχετικό περιβάλλον και να το μεταβιβάσετε στο μοντέλο LLM
Στη συνέχεια, χρησιμοποιήστε τη μέθοδο ερωτήματος στο ευρετήριο που δημιουργήθηκε και περάστε την ερώτηση του χρήστη και το τελικό σημείο SageMaker LLM. Το LangChain επιλέγει τα τέσσερα κορυφαία πλησιέστερα έγγραφα (K=4) και μεταβιβάζει το σχετικό πλαίσιο που εξάγεται από τα έγγραφα για να δημιουργήσει μια ακριβή απάντηση. Δείτε τον παρακάτω κώδικα:
Λαμβάνουμε την ακόλουθη απάντηση για το ερώτημα χρησιμοποιώντας την προσέγγιση που βασίζεται σε RAG με το Flan T5 XXL:
Η απάντηση φαίνεται πιο ακριβής σε σύγκριση με την απάντηση που λάβαμε με άλλες προσεγγίσεις που δείξαμε νωρίτερα, οι οποίες δεν έχουν κανένα πλαίσιο ή στατικό πλαίσιο που μπορεί να μην είναι πάντα σχετικό.
Εναλλακτική προσέγγιση για την εφαρμογή RAG με περισσότερη προσαρμογή χρησιμοποιώντας το SageMaker και το LangChain
Σε αυτήν την ενότητα, σας δείχνουμε μια άλλη προσέγγιση για την εφαρμογή του RAG χρησιμοποιώντας το SageMaker και το LangChain. Αυτή η προσέγγιση προσφέρει την ευελιξία για τη διαμόρφωση των κορυφαίων παραμέτρων K για μια αναζήτηση συνάφειας στα έγγραφα. Σας επιτρέπει επίσης να χρησιμοποιήσετε τη δυνατότητα LangChain του πρότυπα προτροπής, που σας επιτρέπουν να παραμετροποιήσετε εύκολα τη δημιουργία προτροπής αντί να κωδικοποιήσετε σκληρά τα μηνύματα.
Στον παρακάτω κώδικα, χρησιμοποιούμε ρητά το FAISS για τη δημιουργία ενσωμάτωσης για κάθε ένα από τα έγγραφα στη βιβλιοθήκη γνώσεων με το μοντέλο ενσωμάτωσης SageMaker GPT-J-6B. Στη συνέχεια, προσδιορίζουμε τα κορυφαία K (K=3) πιο σχετικά έγγραφα με βάση το ερώτημα του χρήστη.
Στη συνέχεια, χρησιμοποιούμε ένα πρότυπο προτροπής και το αλυσιδώνουμε με το SageMaker LLM:
Στέλνουμε τα τρία κορυφαία (K=3) σχετικά έγγραφα που βρήκαμε ως πλαίσιο στην προτροπή χρησιμοποιώντας μια αλυσίδα LangChain:
Με αυτήν την προσέγγιση εφαρμογής RAG, μπορέσαμε να εκμεταλλευτούμε την πρόσθετη ευελιξία των προτύπων προτροπών LangChain και να προσαρμόσουμε τον αριθμό των εγγράφων που αναζητήθηκαν για μια αντιστοίχιση συνάφειας χρησιμοποιώντας την κορυφαία υπερπαράμετρο K.
Σημειωματάριο υλοποίησης που βασίζεται σε JumpStart RAG με το SageMaker KNN
Σε αυτήν την ενότητα, εφαρμόζουμε την προσέγγιση που βασίζεται σε RAG χρησιμοποιώντας τον αλγόριθμο KNN για την εύρεση σχετικών εγγράφων για τη δημιουργία βελτιωμένου περιβάλλοντος. Σε αυτήν την προσέγγιση, δεν χρησιμοποιούμε LangChain, αλλά χρησιμοποιούμε το ίδιο σύνολο δεδομένων Συχνές ερωτήσεις για το Amazon SageMaker ως έγγραφα γνώσης, ενσωματώνοντας τα μοντέλα GPT-J-6B και LLM Flan T5 XXL όπως ακριβώς κάναμε στην προηγούμενη προσέγγιση LangChain.
Εάν έχετε ένα μεγάλο σύνολο δεδομένων, το Αλγόριθμος SageMaker KNN μπορεί να σας προσφέρει μια αποτελεσματική σημασιολογική αναζήτηση. Ο αλγόριθμος SageMaker KNN χρησιμοποιεί επίσης το FAISS ως τον υποκείμενο αλγόριθμο αναζήτησης. Μπορείτε να βρείτε το σημειωματάριο για αυτήν τη λύση GitHub.
Αρχικά, αναπτύσσουμε τα μοντέλα ενσωμάτωσης LLM Flan T5 XXL και GPT-J 6B με τον ίδιο τρόπο όπως στην προηγούμενη ενότητα. Για κάθε εγγραφή στη βάση δεδομένων γνώσης, δημιουργούμε ένα διάνυσμα ενσωμάτωσης χρησιμοποιώντας το μοντέλο ενσωμάτωσης GPT-J.
Στη συνέχεια, χρησιμοποιούμε α SageMaker KNN εργασία κατάρτισης για την ευρετηρίαση της ενσωμάτωσης των δεδομένων γνώσης. Ο υποκείμενος αλγόριθμος που χρησιμοποιείται για την ευρετηρίαση των δεδομένων είναι FAISS. Θέλουμε να βρούμε τα πέντε κορυφαία πιο σχετικά έγγραφα, γι' αυτό ορίσαμε το TOP_K
μεταβλητή σε 5. Δημιουργούμε τον εκτιμητή για τον αλγόριθμο KNN, εκτελούμε την εργασία εκπαίδευσης και αναπτύσσουμε το μοντέλο KNN για να βρούμε ευρετήρια των πέντε κορυφαίων εγγράφων που ταιριάζουν με το ερώτημα. Δείτε τον παρακάτω κώδικα:
Στη συνέχεια, δημιουργούμε μια αναπαράσταση ενσωμάτωσης του ερωτήματος χρησιμοποιώντας το μοντέλο ενσωμάτωσης GPT-J-6B που χρησιμοποιήσαμε για τη δημιουργία μιας ενσωμάτωσης των εγγράφων της βιβλιοθήκης γνώσης:
Στη συνέχεια χρησιμοποιούμε το τελικό σημείο KNN και περνάμε την ενσωμάτωση του ερωτήματος στο τελικό σημείο KNN για να λάβουμε τα ευρετήρια των κορυφαίων K πιο συναφών εγγράφων. Χρησιμοποιούμε τα ευρετήρια για να ανακτήσουμε τα αντίστοιχα κειμενικά έγγραφα. Στη συνέχεια, συνενώνουμε τα έγγραφα, διασφαλίζοντας ότι δεν γίνεται υπέρβαση του μέγιστου επιτρεπόμενου μήκους περιβάλλοντος. Δείτε τον παρακάτω κώδικα:
Τώρα φτάνουμε στο τελικό μας βήμα στο οποίο συνδυάζουμε το ερώτημα, την προτροπή και το περιβάλλον που περιέχει κείμενο από σχετικά έγγραφα και το περνάμε στο μοντέλο παραγωγής κειμένου LLM Flan T5 XXL για να δημιουργήσουμε την απάντηση.
Λαμβάνουμε την ακόλουθη απάντηση για το ερώτημα χρησιμοποιώντας μια προσέγγιση βασισμένη σε RAG με το Flan T5 XXL:
εκκαθάριση
Φροντίστε να διαγράψετε τα τελικά σημεία που δημιουργήσαμε σε αυτό το σημειωματάριο όταν δεν τα χρησιμοποιούμε για να αποφύγετε το επαναλαμβανόμενο κόστος.
Συμπέρασμα
Σε αυτήν την ανάρτηση, δείξαμε την εφαρμογή μιας προσέγγισης βασισμένης σε RAG με LLM για εργασίες απάντησης ερωτήσεων χρησιμοποιώντας δύο προσεγγίσεις: το LangChain και τον ενσωματωμένο αλγόριθμο KNN. Η προσέγγιση που βασίζεται σε RAG βελτιστοποιεί την ακρίβεια της δημιουργίας κειμένου χρησιμοποιώντας το Flan T5 XXL παρέχοντας δυναμικά το σχετικό πλαίσιο που δημιουργήθηκε με την αναζήτηση μιας λίστας εγγράφων.
Μπορείτε να χρησιμοποιήσετε αυτά τα σημειωματάρια στο SageMaker ως έχουν ή μπορείτε να τα προσαρμόσετε στις ανάγκες σας. Για να προσαρμόσετε, μπορείτε να χρησιμοποιήσετε το δικό σας σύνολο εγγράφων στη βιβλιοθήκη γνώσεων, να χρησιμοποιήσετε άλλες εφαρμογές αναζήτησης συνάφειας όπως το OpenSearch και να χρησιμοποιήσετε άλλα μοντέλα ενσωμάτωσης και LLM δημιουργίας κειμένου που είναι διαθέσιμα στο JumpStart.
Ανυπομονούμε να δούμε τι χτίζετε στο JumpStart χρησιμοποιώντας μια προσέγγιση που βασίζεται σε RAG!
Σχετικά με τους συγγραφείς
Δόκτωρ Σιν Χουάνγκ είναι Senior Applied Scientist για τους ενσωματωμένους αλγόριθμους Amazon SageMaker JumpStart και Amazon SageMaker. Επικεντρώνεται στην ανάπτυξη κλιμακωτών αλγορίθμων μηχανικής μάθησης. Τα ερευνητικά του ενδιαφέροντα είναι στον τομέα της επεξεργασίας φυσικής γλώσσας, της εξηγήσιμης βαθιάς μάθησης σε δεδομένα πινάκων και της ισχυρής ανάλυσης της μη παραμετρικής ομαδοποίησης του χωροχρόνου. Έχει δημοσιεύσει πολλές εργασίες σε συνέδρια ACL, ICDM, KDD και Royal Statistical Society: Series A.
Rachna Chadha είναι ένας κύριος αρχιτέκτονας λύσεων AI/ML σε στρατηγικούς λογαριασμούς στο AWS. Η Rachna είναι αισιόδοξη που πιστεύει ότι η ηθική και υπεύθυνη χρήση της τεχνητής νοημοσύνης μπορεί να βελτιώσει την κοινωνία στο μέλλον και να φέρει οικονομική και κοινωνική ευημερία. Στον ελεύθερο χρόνο της, στη Ράχνα αρέσει να περνά χρόνο με την οικογένειά της, να κάνει πεζοπορία και να ακούει μουσική.
Δόκτωρ Kyle Ulrich είναι Εφαρμοσμένος Επιστήμονας με την ομάδα ενσωματωμένων αλγορίθμων του Amazon SageMaker. Τα ερευνητικά του ενδιαφέροντα περιλαμβάνουν κλιμακωτούς αλγόριθμους μηχανικής μάθησης, όραση υπολογιστή, χρονοσειρές, μη παραμετρικές Μπεϋζιανές και διεργασίες Gauss. Το διδακτορικό του είναι από το Πανεπιστήμιο Duke και έχει δημοσιεύσει εργασίες στα NeurIPS, Cell και Neuron.
Χέμαντ Σινγκ είναι Μηχανικός Μηχανικής Μάθησης με εμπειρία στους ενσωματωμένους αλγόριθμους Amazon SageMaker JumpStart και Amazon SageMaker. Πήρε το μεταπτυχιακό του από το Courant Institute of Mathematical Sciences και το B.Tech από το IIT Delhi. Είχε εμπειρία στην εργασία σε ένα ευρύ φάσμα προβλημάτων Μηχανικής Μάθησης στον τομέα της επεξεργασίας φυσικής γλώσσας, της όρασης υπολογιστή και της ανάλυσης χρονοσειρών.
Manas Dadarkar είναι Διευθυντής Ανάπτυξης Λογισμικού που κατέχει τη μηχανική της υπηρεσίας Amazon Forecast. Είναι παθιασμένος με τις εφαρμογές της μηχανικής μάθησης και να κάνει τις τεχνολογίες ML εύκολα διαθέσιμες σε όλους για υιοθέτηση και ανάπτυξη στην παραγωγή. Εκτός δουλειάς, έχει πολλά ενδιαφέροντα, όπως ταξίδια, διάβασμα και να περνά χρόνο με φίλους και οικογένεια.
Δρ Ashish Khetan είναι Ανώτερος Εφαρμοσμένος Επιστήμονας με ενσωματωμένους αλγόριθμους του Amazon SageMaker και βοηθά στην ανάπτυξη αλγορίθμων μηχανικής μάθησης. Πήρε το διδακτορικό του από το Πανεπιστήμιο του Illinois Urbana-Champaign. Είναι ενεργός ερευνητής στη μηχανική μάθηση και στα στατιστικά συμπεράσματα και έχει δημοσιεύσει πολλές εργασίες σε συνέδρια NeurIPS, ICML, ICLR, JMLR, ACL και EMNLP.
- SEO Powered Content & PR Distribution. Ενισχύστε σήμερα.
- PlatoAiStream. Web3 Data Intelligence. Ενισχύθηκε η γνώση. Πρόσβαση εδώ.
- Minting the Future με την Adryenn Ashley. Πρόσβαση εδώ.
- πηγή: https://aws.amazon.com/blogs/machine-learning/question-answering-using-retrieval-augmented-generation-with-foundation-models-in-amazon-sagemaker-jumpstart/
- :έχει
- :είναι
- :δεν
- :που
- $UP
- 1
- 10
- 100
- 11
- 12
- 13
- 26%
- 500
- 7
- 8
- 9
- a
- Ικανός
- ΠΛΗΡΟΦΟΡΙΕΣ
- περιλήψεις
- επιταχύνουν
- Αποδέχεται
- πρόσβαση
- Λογαριασμοί
- ακρίβεια
- ακριβής
- ενεργός
- προσθέτω
- προστιθέμενη
- προσθήκη
- Επιπλέον
- Πρόσθετος
- Προσθέτει
- ενστερνίζομαι
- Πλεονέκτημα
- πλεονεκτήματα
- παράγοντες
- AI
- AI / ML
- AL
- αλγόριθμος
- αλγόριθμοι
- Όλα
- επιτρέπει
- κατά μήκος
- Επίσης
- πάντοτε
- Amazon
- Πρόβλεψη του Αμαζονίου
- Amazon Sage Maker
- Amazon SageMaker JumpStart
- Ποσά
- an
- ανάλυση
- και
- Ανακοινώστε
- Άλλος
- απάντηση
- απαντήσεις
- APIs
- Εφαρμογή
- εφαρμογές
- εφαρμοσμένος
- Εφαρμογή
- πλησιάζω
- προσεγγίσεις
- αρχιτεκτονική
- ΕΙΝΑΙ
- ΠΕΡΙΟΧΗ
- άρθρο
- AS
- At
- επαυξημένης
- διαθεσιμότητα
- διαθέσιμος
- αποφύγετε
- AWS
- βασίζονται
- Bayesian
- BE
- επειδή
- πιστεύει
- Καλύτερα
- μεταξύ
- Bot
- φέρω
- χτίζω
- ενσωματωμένο
- επιχείρηση
- αλλά
- by
- που ονομάζεται
- κλήσεις
- CAN
- δυνατότητες
- περίπτωση
- περιπτώσεις
- αλυσίδα
- αλυσίδες
- πρόκληση
- Αλλαγές
- chatbot
- επιλογή
- Επιλέξτε
- τάξη
- ομαδοποίηση
- κωδικός
- Κωδικοποίηση
- συλλογή
- συνδυασμός
- Ελάτε
- εταίρα
- συγκρίσιμος
- σύγκριση
- ολοκλήρωση
- υπολογιστή
- Computer Vision
- έννοια
- εννοιολογική
- συνέδρια
- περιορισμούς
- Περιέχει
- συμφραζόμενα
- Συνομιλία
- μετατρέψετε
- μετατρέπονται
- διορθώσει
- Αντίστοιχος
- Κόστος
- Covid-19
- δημιουργία
- δημιουργήθηκε
- δημιουργία
- δημιουργία
- Τη στιγμή
- παραμετροποίηση
- προσαρμόσετε
- ημερομηνία
- επιστημονικά δεδομένα
- βάση δεδομένων
- βάσεις δεδομένων
- βαθύς
- βαθιά μάθηση
- Δελχί
- αποδεικνύουν
- κατέδειξε
- Σε συνάρτηση
- παρατάσσω
- αναπτυχθεί
- ανάπτυξη
- περιγράφουν
- λεπτομερής
- καθέκαστα
- ανάπτυξη
- Εργολάβος
- προγραμματιστές
- ανάπτυξη
- Ανάπτυξη
- DID
- διαφορά
- διαφορετικές
- συζήτηση
- διάφορα
- έγγραφο
- έγγραφα
- Όχι
- πράξη
- τομέα
- γίνεται
- Δούκας
- πανεπιστήμιο του Δούκα
- δυναμικά
- Ε & Τ
- κάθε
- Νωρίτερα
- ευκολότερη
- εύκολα
- Αποτελεσματικός
- ενσωματωμένο
- ενσωμάτωση
- δίνει τη δυνατότητα
- από άκρη σε άκρη
- Τελικό σημείο
- μηχανικός
- Μηχανική
- ενισχυμένη
- εξασφαλίζοντας
- Εταιρεία
- κατ 'ουσίαν,
- ηθικά
- Even
- όλοι
- παράδειγμα
- υπέρβαση
- εμπειρία
- διερευνήσει
- εξωτερικός
- οικογένεια
- Χαρακτηριστικό
- Χαρακτηριστικά
- Fed
- λίγοι
- Αρχεία
- τελικός
- Εύρεση
- εύρεση
- Όνομα
- ταιριάζουν
- καθορίζεται
- Ευελιξία
- ροή
- εστιάζει
- Εξής
- Για
- Πρόβλεψη
- μορφή
- Προς τα εμπρός
- Βρέθηκαν
- Θεμέλιο
- τέσσερα
- Πλαίσιο
- συχνάζω
- συχνά
- φίλους
- από
- περαιτέρω
- μελλοντικός
- General
- παράγουν
- παράγεται
- παραγωγής
- γενεά
- παίρνω
- δεδομένου
- εξαιρετική
- είχε
- Σκληρά
- Έχω
- he
- Υγεία
- ασφάλεια υγείας
- βοήθεια
- βοηθά
- αυτήν
- Ψηλά
- του
- Επιτυχία
- Πως
- Πώς να
- Ωστόσο
- HTML
- HTTPS
- Hub
- i
- προσδιορίζονται
- προσδιορίσει
- if
- Ιλλινόις
- εικόνα
- Επιπτώσεις
- εφαρμογή
- εκτέλεση
- εισαγωγή
- βελτίωση
- in
- περιλαμβάνουν
- Συμπεριλαμβανομένου
- ευρετήριο
- δείκτες
- πληροφορίες
- παράδειγμα
- αντί
- Ινστιτούτο
- οδηγίες
- ασφάλιση
- ενσωματώσει
- ολοκλήρωση
- συμφέροντα
- περιβάλλον λειτουργίας
- σε
- εισήγαγε
- IT
- ΤΟΥ
- Δουλειά
- ταξίδι
- jpg
- json
- μόλις
- γνώση
- Γλώσσα
- large
- μεγάλης κλίμακας
- μεγαλύτερος
- αργότερο
- που οδηγεί
- μάθηση
- Μήκος
- Βιβλιοθήκη
- Μου αρέσει
- συμπαθεί
- περιορισμός
- περιορισμούς
- Περιωρισμένος
- όρια
- γραμμές
- Λιστα
- Ακούγοντας
- LLM
- φορτίο
- φορτωτής
- θέσεις
- ματιά
- κοιτάζοντας
- ΦΑΊΝΕΤΑΙ
- Χαμηλός
- μηχανή
- μάθηση μηχανής
- διατηρήσουν
- κάνω
- ΚΑΝΕΙ
- Κατασκευή
- διαχειρίζεται
- διευθυντής
- πολοί
- αγορά
- Ταίριασμα
- ταιριάζουν
- μαθηματικός
- ανώτατο όριο
- Ενδέχεται..
- Μνήμη
- μέθοδος
- ML
- μοντέλο
- μοντέλα
- περισσότερο
- πλέον
- πολύ
- πολλαπλούς
- Μουσική
- Φυσικό
- Επεξεργασία φυσικής γλώσσας
- Ανάγκη
- που απαιτούνται
- ανάγκες
- επόμενη
- Όχι.
- σημειωματάριο
- τώρα
- αριθμός
- of
- προσφορές
- offline
- on
- αποκλειστικά
- ανοικτού κώδικα
- Βελτιστοποιεί
- or
- πρωτότυπο
- ΑΛΛΑ
- δικός μας
- παραγωγή
- εκτός
- φόρμες
- δική
- πακέτο
- χαρτιά
- παράμετροι
- μέρος
- Ειδικότερα
- passieren
- πέρασε
- περάσματα
- παθιασμένος
- Εκτελέστε
- φώναξε
- Πλάτων
- Πληροφορία δεδομένων Plato
- Πλάτωνα δεδομένα
- Δημοφιλής
- Θέση
- τροφοδοτείται
- ισχυρός
- Προβλέψεις
- Predictor
- προηγούμενος
- Κύριος
- Πρόβλημα
- προβλήματα
- Διεργασίες
- μεταποίηση
- Προϊόν
- παραγωγή
- παραγωγικότητα
- ευημερία
- παρέχουν
- παρέχεται
- παρέχει
- χορήγηση
- δημοσιεύθηκε
- σκοποί
- ερωτήματα
- ερώτηση
- Ερωτήσεις
- γρήγορα
- σειρά
- μάλλον
- Ανάγνωση
- έτοιμος
- πραγματικός
- ρεκόρ
- αντανακλούν
- περιοχές
- Αποθήκη
- αντιπροσώπευση
- ζητήσει
- έρευνα
- ερευνητής
- απάντησης
- απαντήσεις
- υπεύθυνος
- Αποτελέσματα
- απόδοση
- εύρωστος
- βασιλικός
- κανόνες
- τρέξιμο
- σοφός
- ίδιο
- Οικονομίες
- επεκτάσιμη
- σενάρια
- Επιστήμη
- ΕΠΙΣΤΗΜΕΣ
- Επιστήμονας
- Αναζήτηση
- αναζήτηση
- Τμήμα
- τμήματα
- δείτε
- βλέποντας
- επιλέγονται
- ΕΑΥΤΟΣ
- στείλετε
- αρχαιότερος
- Ακολουθία
- Σειρές
- Σειρά Α
- υπηρεσία
- Υπηρεσίες
- σειρά
- θα πρέπει να
- δείχνουν
- παρουσιάζεται
- Δείχνει
- παρόμοιες
- Μέγεθος
- So
- Μ.Κ.Δ
- Κοινωνία
- λογισμικό
- ανάπτυξη λογισμικού
- λύση
- SOLVE
- Πηγές
- Χώρος
- συγκεκριμένες
- ταχύτητα
- Δαπάνες
- Spot
- πρότυπο
- ξεκίνησε
- Κατάσταση
- στατιστικός
- Βήμα
- Βήματα
- Ακόμη
- κατάστημα
- αποθηκεύονται
- Στρατηγική
- συνδρομές
- τέτοιος
- προμήθεια
- υποστήριξη
- υποστηριζόνται!
- Πάρτε
- Έργο
- εργασίες
- tech
- Τεχνολογίες
- πρότυπο
- πρότυπα
- από
- ότι
- Η
- Η περιοχή
- οι πληροφορίες
- Το κράτος
- τους
- Τους
- τότε
- Εκεί.
- επομένως
- Αυτοί
- αυτοί
- αυτό
- τρία
- ώρα
- Χρονική σειρά
- προς την
- μαζι
- κορυφή
- Τρένο
- εκπαιδευμένο
- Εκπαίδευση
- Μεταμορφώστε
- Μεταμόρφωση
- Προσπάθησα
- δύο
- υποκείμενες
- μοναδικός
- πανεπιστήμιο
- up-to-ημερομηνία
- Ενημέρωση
- ενημερώθηκε
- Χρήση
- χρήση
- περίπτωση χρήσης
- μεταχειρισμένος
- Χρήστες
- Χρήστες
- χρησιμοποιώντας
- συνήθως
- χρησιμότητα
- διάφορα
- Πραγματικός
- εικονική μηχανή
- όραμα
- θέλω
- ήταν
- Τρόπος..
- τρόπους
- we
- ήταν
- Τι
- πότε
- Ποιό
- ενώ
- Ο ΟΠΟΊΟΣ
- Wikipedia
- θα
- με
- εντός
- Εργασία
- εργαζόμενος
- θα
- Εσείς
- Σας
- zephyrnet