paint-brush
अपने आरएजी + एलएलएम अनुप्रयोगों का प्रभावी ढंग से मूल्यांकन कैसे करेंद्वारा@vndee
1,954 रीडिंग
1,954 रीडिंग

अपने आरएजी + एलएलएम अनुप्रयोगों का प्रभावी ढंग से मूल्यांकन कैसे करें

द्वारा Duy Huynh17m2023/12/27
Read on Terminal Reader

बहुत लंबा; पढ़ने के लिए

क्या आपने कभी सोचा है कि आज के कुछ एप्लिकेशन लगभग जादुई रूप से स्मार्ट कैसे लगते हैं? उस जादू का एक बड़ा हिस्सा आरएजी और एलएलएम नामक चीज़ से आता है।
featured image - अपने आरएजी + एलएलएम अनुप्रयोगों का प्रभावी ढंग से मूल्यांकन कैसे करें
Duy Huynh HackerNoon profile picture
0-item
1-item

सुनो! क्या आपने कभी सोचा है कि आज के कुछ एप्लिकेशन लगभग जादुई रूप से स्मार्ट कैसे लगते हैं? उस जादू का एक बड़ा हिस्सा आरएजी और एलएलएम नामक चीज़ से आता है। RAG (रिट्रीवल-ऑगमेंटेड जेनरेशन) को AI दुनिया का दिमागदार किताबी कीड़ा समझें। आपके प्रश्न के लिए वास्तव में क्या आवश्यक है, यह जानने के लिए यह ढेर सारी जानकारी खंगालता है। फिर, एलएलएम (बड़ी भाषा मॉडल) है, जैसे प्रसिद्ध जीपीटी श्रृंखला अपनी प्रभावशाली पाठ पीढ़ी क्षमताओं के आधार पर एक सहज उत्तर उत्पन्न करेगी। इन दोनों के एक साथ होने से, आपको एक ऐसा एआई मिलता है जो न केवल स्मार्ट है बल्कि अत्यधिक प्रासंगिक और संदर्भ-जागरूक भी है। यह एक सुपर-फास्ट शोध सहायक को एक मजाकिया बातचीत करने वाले के साथ मिलाने जैसा है। यह कॉम्बो किसी भी चीज़ के लिए शानदार है, जिससे आपको विशिष्ट जानकारी तुरंत ढूंढने में मदद मिलती है, ऐसी चैट करने में मदद मिलती है जो आश्चर्यजनक रूप से वास्तविक लगती है।


लेकिन यहाँ एक समस्या है: हमें कैसे पता चलेगा कि हमारा एआई वास्तव में मददगार है और सिर्फ फैंसी शब्दजाल नहीं बोल रहा है? यहीं पर मूल्यांकन आता है। यह महत्वपूर्ण है, न कि केवल अच्छा व्यवहार करना। हमें यह सुनिश्चित करने की आवश्यकता है कि हमारा एआई न केवल सटीक हो, बल्कि प्रासंगिक, उपयोगी भी हो और अजीब बातों पर आधारित न हो। आख़िरकार, एक स्मार्ट सहायक का क्या उपयोग है यदि वह यह नहीं समझ पाता कि आपको क्या चाहिए या आपको ऐसे उत्तर देता है जो आधारहीन हैं?


हमारे आरएजी + एलएलएम एप्लिकेशन का मूल्यांकन एक वास्तविकता जांच की तरह है। यह हमें बताता है कि क्या हम वास्तव में एक ऐसा एआई बनाने की राह पर हैं जो वास्तव में मददगार है न कि केवल तकनीकी रूप से प्रभावशाली। तो, इस पोस्ट में, हम इस बात पर विचार कर रहे हैं कि ऐसा कैसे किया जाए - यह सुनिश्चित करना कि हमारा AI व्यवहार में उतना ही अद्भुत हो जितना कि सिद्धांत में!

विकास का चरण

विकास चरण में, एक विशिष्ट मशीन लर्निंग मॉडल मूल्यांकन पाइपलाइन की तर्ज पर सोचना आवश्यक है। एक मानक एआई/एमएल सेटअप में, हम आम तौर पर विकास, प्रशिक्षण और परीक्षण सेट जैसे कई डेटासेट के साथ काम करते हैं, और मॉडल की प्रभावशीलता का आकलन करने के लिए मात्रात्मक मैट्रिक्स को नियोजित करते हैं। हालाँकि, बड़े भाषा मॉडल (एलएलएम) का मूल्यांकन अद्वितीय चुनौतियाँ प्रस्तुत करता है। पारंपरिक मात्रात्मक मेट्रिक्स एलएलएम से आउटपुट की गुणवत्ता को पकड़ने के लिए संघर्ष करते हैं क्योंकि ये मॉडल ऐसी भाषा उत्पन्न करने में उत्कृष्ट हैं जो विविध और रचनात्मक दोनों है। नतीजतन, प्रभावी मूल्यांकन के लिए लेबल का एक व्यापक सेट रखना मुश्किल है।


अकादमिक हलकों में, शोधकर्ता एलएलएम को रैंक करने के लिए एमएमएलयू जैसे बेंचमार्क और स्कोर को नियोजित कर सकते हैं, और एलएलएम आउटपुट की गुणवत्ता का मूल्यांकन करने के लिए मानव विशेषज्ञों को सूचीबद्ध किया जा सकता है। हालाँकि, ये विधियाँ उत्पादन वातावरण में निर्बाध रूप से परिवर्तित नहीं होती हैं, जहाँ विकास की गति तेज़ है, और व्यावहारिक अनुप्रयोगों के लिए तत्काल परिणामों की आवश्यकता होती है। यह केवल एलएलएम प्रदर्शन के बारे में नहीं है; वास्तविक दुनिया की मांगें पूरी प्रक्रिया को ध्यान में रखती हैं, जिसमें डेटा पुनर्प्राप्ति, त्वरित संरचना और एलएलएम का योगदान शामिल है। प्रत्येक नए सिस्टम पुनरावृत्ति के लिए या दस्तावेज़ों या डोमेन में परिवर्तन होने पर मानव-क्यूरेटेड बेंचमार्क तैयार करना अव्यावहारिक है। इसके अलावा, उद्योग में विकास की तेज गति तैनाती से पहले प्रत्येक अद्यतन का मूल्यांकन करने के लिए मानव परीक्षकों के लिए लंबी प्रतीक्षा की सुविधा नहीं देती है। इसलिए, अकादमिक क्षेत्र में काम करने वाली मूल्यांकन रणनीतियों को तेज और परिणाम-केंद्रित उत्पादन वातावरण के साथ समायोजित करना एक काफी चुनौती पेश करता है।


इसलिए यदि आप इस मामले में पड़ते हैं, तो आप एक छद्म स्कोर जैसी चीज़ के बारे में सोच सकते हैं जो एक मास्टर एलएलएम द्वारा प्रदान किया जाता है। यह स्कोर स्वचालित मूल्यांकन मेट्रिक्स और मानव निर्णय के आसुत सार के संयोजन को प्रतिबिंबित कर सकता है। इस तरह के हाइब्रिड दृष्टिकोण का उद्देश्य मानव मूल्यांकनकर्ताओं की सूक्ष्म समझ और मशीन मूल्यांकन के स्केलेबल, व्यवस्थित विश्लेषण के बीच अंतर को पाटना है।

आरएजी + एलएलएम श्रृंखला


उदाहरण के लिए, यदि आपकी टीम एक इन-हाउस एलएलएम विकसित कर रही है जो आपके विशिष्ट डोमेन और डेटा पर प्रशिक्षित है, तो इस प्रक्रिया में आम तौर पर डेवलपर्स, शीघ्र इंजीनियरों और डेटा वैज्ञानिकों का सहयोगात्मक प्रयास शामिल होगा। प्रत्येक सदस्य एक महत्वपूर्ण भूमिका निभाता है:

  • डेवलपर्स आर्किटेक्ट हैं। वे एप्लिकेशन के ढांचे का निर्माण करते हैं, यह सुनिश्चित करते हुए कि आरएजी + एलएलएम श्रृंखला निर्बाध रूप से एकीकृत है और विभिन्न परिदृश्यों में आसानी से नेविगेट कर सकती है।

  • प्रॉम्प्ट इंजीनियर रचनात्मक होते हैं। वे ऐसे परिदृश्य और संकेत तैयार करते हैं जो वास्तविक दुनिया के उपयोगकर्ता इंटरैक्शन का अनुकरण करते हैं। वे "क्या होगा अगर" पर विचार करते हैं और सिस्टम को विषयों और प्रश्नों के व्यापक स्पेक्ट्रम से निपटने के लिए प्रेरित करते हैं।

  • डेटा वैज्ञानिक रणनीतिकार हैं। वे प्रतिक्रियाओं का विश्लेषण करते हैं, डेटा में गहराई से जाते हैं, और यह आकलन करने के लिए अपनी सांख्यिकीय विशेषज्ञता का उपयोग करते हैं कि एआई का प्रदर्शन लक्ष्य के अनुरूप है या नहीं।


यहां फीडबैक लूप आवश्यक है। जैसे ही हमारा एआई संकेतों पर प्रतिक्रिया करता है, टीम हर आउटपुट की जांच करती है। क्या एआई को प्रश्न समझ में आया? क्या प्रतिक्रिया सटीक और प्रासंगिक थी? क्या भाषा अधिक सहज हो सकती है? इस फीडबैक को सुधार के लिए सिस्टम में वापस भेज दिया जाता है।


इसे एक पायदान ऊपर ले जाने के लिए, अपने स्व-विकसित एलएलएम के मूल्यांकन के लिए एक बेंचमार्क के रूप में ओपनएआई के जीपीटी-4 जैसे मास्टर एलएलएम का उपयोग करने की कल्पना करें। आपका लक्ष्य GPT श्रृंखला के प्रदर्शन की बराबरी करना या उससे भी आगे निकलना है, जो अपनी मजबूती और बहुमुखी प्रतिभा के लिए जानी जाती है। यहां बताया गया है कि आप कैसे आगे बढ़ सकते हैं:

  • प्रासंगिक डेटासेट तैयार करना: एक डेटासेट बनाकर शुरुआत करें जो आपके डोमेन की बारीकियों को दर्शाता हो। समय बचाने के लिए इस डेटासेट को विशेषज्ञों द्वारा क्यूरेट किया जा सकता है या GPT-4 की मदद से संश्लेषित किया जा सकता है, यह सुनिश्चित करते हुए कि यह आपके स्वर्ण मानक से मेल खाता है।

  • सफलता के लिए मेट्रिक्स को परिभाषित करना: अपने मेट्रिक्स को परिभाषित करने में सहायता के लिए मास्टर एलएलएम की शक्तियों का लाभ उठाएं। आपके पास ऐसे मेट्रिक्स चुनने की स्वतंत्रता है जो आपके लक्ष्यों के लिए सबसे उपयुक्त हों, यह देखते हुए कि मास्टर एलएलएम अधिक जटिल कार्यों को संभाल सकता है। सामुदायिक मानक में, आप लैंगचैन और कुछ अन्य पुस्तकालयों जैसे रागों से कुछ काम देखना चाह सकते हैं। उनके पास कुछ मेट्रिक्स हैं जैसे विश्वासयोग्यता, संदर्भ स्मरण, संदर्भ परिशुद्धता, उत्तर समानता, आदि।

  • अपनी मूल्यांकन पाइपलाइन को स्वचालित करना: तीव्र विकास चक्रों के साथ तालमेल बनाए रखने के लिए, एक स्वचालित पाइपलाइन स्थापित करें। यह प्रत्येक अद्यतन या परिवर्तन के बाद आपके पूर्वनिर्धारित मेट्रिक्स के विरुद्ध एप्लिकेशन के प्रदर्शन का लगातार आकलन करेगा। प्रक्रिया को स्वचालित करके, आप सुनिश्चित करते हैं कि आपका मूल्यांकन न केवल संपूर्ण है, बल्कि कुशलतापूर्वक पुनरावृत्त भी है, जिससे त्वरित अनुकूलन और परिशोधन की अनुमति मिलती है।


उदाहरण के लिए, निम्नलिखित प्रदर्शन में, मैं आपको दिखाऊंगा कि OpenAI के GPT-4 का उपयोग करके एक सरल दस्तावेज़ पुनर्प्राप्ति वार्तालाप कार्य पर विभिन्न ओपन-सोर्स एलएलएम का स्वचालित रूप से मूल्यांकन कैसे करें।


सबसे पहले, हम एक दस्तावेज़ से प्राप्त संश्लेषित डेटासेट बनाने के लिए OpenAI GPT-4 का उपयोग करते हैं जैसा कि नीचे दिखाया गया है:

 import os import json import pandas as pd from dataclasses import dataclass from langchain.chat_models import ChatOpenAI from langchain.chains import LLMChain from langchain.prompts import PromptTemplate from langchain.document_loaders import PyPDFLoader from langchain.text_splitter import CharacterTextSplitter from langchain.output_parsers import JsonOutputToolsParser, PydanticOutputParser from langchain.prompts import ChatPromptTemplate, HumanMessagePromptTemplate QA_DATASET_GENERATION_PROMPT = PromptTemplate.from_template( "You are an expert on generate question-and-answer dataset based on a given context. You are given a context. " "Your task is to generate a question and answer based on the context. The generated question should be able to" " to answer by leverage the given context. And the generated question-and-answer pair must be grammatically " "and semantically correct. Your response must be in a json format with 2 keys: question, answer. For example," "\n\n" "Context: France, in Western Europe, encompasses medieval cities, alpine villages and Mediterranean beaches. Paris, its capital, is famed for its fashion houses, classical art museums including the Louvre and monuments like the Eiffel Tower." "\n\n" "Response: {{" "\n" " \"question\": \"Where is France and what is it's capital?\"," "\n" " \"answer\": \"France is in Western Europe and it's capital is Paris.\"" "\n" "}}" "\n\n" "Context: The University of California, Berkeley is a public land-grant research university in Berkeley, California. Established in 1868 as the state's first land-grant university, it was the first campus of the University of California system and a founding member of the Association of American Universities." "\n\n" "Response: {{" "\n" " \"question\": \"When was the University of California, Berkeley established?\"," "\n" " \"answer\": \"The University of California, Berkeley was established in 1868.\"" "\n" "}}" "\n\n" "Now your task is to generate a question-and-answer dataset based on the following context:" "\n\n" "Context: {context}" "\n\n" "Response: ", ) OPENAI_API_KEY = os.getenv("OPENAI_API_KEY") if OPENAI_API_KEY is None: raise ValueError("OPENAI_API_KEY is not set") llm = ChatOpenAI( model="gpt-4-1106-preview", api_key=OPENAI_API_KEY, temperature=0.7, response_format={ "type": "json_object" }, ) chain = LLMChain( prompt=QA_DATASET_GENERATION_PROMPT, llm=llm ) file_loader = PyPDFLoader("./data/cidr_lakehouse.pdf") text_splitter = CharacterTextSplitter(chunk_size=1000) chunks = text_splitter.split_documents(file_loader.load()) questions, answers = [], [] for chunk in chunks: for _ in range(2): response = chain.invoke({ "context": chunk }) obj = json.loads(response["text"]) questions.append(obj["question"]) answers.append(obj["answer"]) df = pd.DataFrame({ "question": questions, "answer": answers }) df.to_csv("./data/cidr_lakehouse_qa.csv", index=False)


ऊपर उल्लिखित कोड को चलाने के बाद, हमें परिणाम के रूप में एक CSV फ़ाइल प्राप्त होती है। इस फ़ाइल में हमारे द्वारा इनपुट किए गए दस्तावेज़ से संबंधित प्रश्नों और उत्तरों की जोड़ी इस प्रकार है:

पेपर "लेकहाउस: ओपन प्लेटफ़ॉर्म की एक नई पीढ़ी जो डेटा वेयरहाउसिंग और उन्नत एनालिटिक्स को एकीकृत करती है" के लिए संश्लेषित क्यूए कॉर्पस।


फिर, हम लैंगचैन का उपयोग करके सरल दस्तावेज़ पुनर्प्राप्तिQA श्रृंखला बनाते हैं और कई ओपन-सोर्स एलएलएम में स्थानापन्न करते हैं जो ओलामा के माध्यम से स्थानीय रूप से संचालित होते हैं। आप उस पर मेरा पिछला ट्यूटोरियल यहां पा सकते हैं।

 from tqdm import tqdm from langchain.chains import RetrievalQA from langchain.chat_models import ChatOllama from langchain.vectorstores import FAISS from langchain.embeddings import HuggingFaceEmbeddings vector_store = FAISS.from_documents(chunks, HuggingFaceEmbeddings()) retriever = vector_store.as_retriever() def test_local_retrieval_qa(model: str): chain = RetrievalQA.from_llm( llm=ChatOllama(model=model), retriever=retriever, ) predictions = [] for it, row in tqdm(df.iterrows(), total=len(df)): resp = chain.invoke({ "query": row["question"] }) predictions.append(resp["result"]) df[f"{model}_result"] = predictions test_local_retrieval_qa("mistral") test_local_retrieval_qa("llama2") test_local_retrieval_qa("zephyr") test_local_retrieval_qa("orca-mini") test_local_retrieval_qa("phi") df.to_csv("./data/cidr_lakehouse_qa_retrieval_prediction.csv", index=False)


संक्षेप में, उपरोक्त कोड एक सरल दस्तावेज़ पुनर्प्राप्ति श्रृंखला स्थापित करता है। हम मिस्ट्रल, लामा2, जेफायर, ओर्का-मिनी और फी जैसे कई मॉडलों का उपयोग करके इस श्रृंखला को निष्पादित करते हैं। परिणामस्वरूप, हम प्रत्येक एलएलएम मॉडल के पूर्वानुमान परिणामों को संग्रहीत करने के लिए अपने मौजूदा डेटाफ़्रेम में पांच अतिरिक्त कॉलम जोड़ते हैं।

क्यूए भविष्यवाणी परिणाम।


अब, आइए भविष्यवाणी परिणामों का मूल्यांकन करने के लिए OpenAI के GPT-4 का उपयोग करके एक मास्टर श्रृंखला को परिभाषित करें। इस सेटअप में, हम अनुमानित F1 स्कोर के समान शुद्धता स्कोर की गणना करेंगे, जैसा कि पारंपरिक AI/ML समस्याओं में आम है। इसे पूरा करने के लिए, हम सच्चे सकारात्मक (टीपी), गलत सकारात्मक (एफपी), और गलत नकारात्मक (एफएन) जैसी समानांतर अवधारणाओं को लागू करेंगे, जिन्हें निम्नानुसार परिभाषित किया गया है:


  • टीपी: ऐसे कथन जो उत्तर और जमीनी सच्चाई दोनों में मौजूद हैं।
  • एफपी: उत्तर में बयान मौजूद हैं लेकिन जमीनी सच्चाई नहीं है।
  • एफएन: प्रासंगिक कथन जमीनी सच्चाई में पाए गए लेकिन उत्तर में छोड़ दिए गए।


इन परिभाषाओं के साथ, हम नीचे दिए गए सूत्रों का उपयोग करके सटीकता, रिकॉल और F1 स्कोर की गणना कर सकते हैं:

फ़ॉर्मूले का उपयोग करके F1 स्कोर


 import os import numpy as np import pandas as pd from tqdm import tqdm from langchain.chains import LLMChain from langchain.chat_models import ChatOpenAI from langchain.prompts import PromptTemplate OPENAI_API_KEY = os.getenv("OPENAI_API_KEY") if OPENAI_API_KEY is None: raise ValueError("OPENAI_API_KEY is not set") CORRECTNESS_PROMPT = PromptTemplate.from_template( """ Extract following from given question and ground truth. Your response must be in a json format with 3 keys and does not need to be in any specific order: - statements that are present in both the answer and the ground truth - statements present in the answer but not found in the ground truth - relevant statements found in the ground truth but omitted in the answer Please be concise and do not include any unnecessary information. You should classify the statements as claims, facts, or opinions with semantic matching, no need exact word-by-word matching. Question:What powers the sun and what is its primary function? Answer: The sun is powered by nuclear fission, similar to nuclear reactors on Earth, and its primary function is to provide light to the solar system. Ground truth: The sun is actually powered by nuclear fusion, not fission. In its core, hydrogen atoms fuse to form helium, releasing a tremendous amount of energy. This energy is what lights up the sun and provides heat and light, essential for life on Earth. The sun's light also plays a critical role in Earth's climate system and helps to drive the weather and ocean currents. Extracted statements: [ {{ "statements that are present in both the answer and the ground truth": ["The sun's primary function is to provide light"], "statements present in the answer but not found in the ground truth": ["The sun is powered by nuclear fission", "similar to nuclear reactors on Earth"], "relevant statements found in the ground truth but omitted in the answer": ["The sun is powered by nuclear fusion, not fission", "In its core, hydrogen atoms fuse to form helium, releasing a tremendous amount of energy", "This energy provides heat and light, essential for life on Earth", "The sun's light plays a critical role in Earth's climate system", "The sun helps to drive the weather and ocean currents"] }} ] Question: What is the boiling point of water? Answer: The boiling point of water is 100 degrees Celsius at sea level. Ground truth: The boiling point of water is 100 degrees Celsius (212 degrees Fahrenheit) at sea level, but it can change with altitude. Extracted statements: [ {{ "statements that are present in both the answer and the ground truth": ["The boiling point of water is 100 degrees Celsius at sea level"], "statements present in the answer but not found in the ground truth": [], "relevant statements found in the ground truth but omitted in the answer": ["The boiling point can change with altitude", "The boiling point of water is 212 degrees Fahrenheit at sea level"] }} ] Question: {question} Answer: {answer} Ground truth: {ground_truth} Extracted statements:""", ) judy_llm = ChatOpenAI( model="gpt-4-1106-preview", api_key=OPENAI_API_KEY, temperature=0.0, response_format={ "type": "json_object" }, ) judy_chain = LLMChain( prompt=CORRECTNESS_PROMPT, llm=judy_llm ) def evaluate_correctness(column_name: str): chain = LLMChain( prompt=CORRECTNESS_PROMPT, llm=ChatOpenAI( model="gpt-4-1106-preview", api_key=OPENAI_API_KEY, temperature=0.0, response_format={ "type": "json_object" }, ) ) key_map = { "TP": "statements that are present in both the answer and the ground truth", "FP": "statements present in the answer but not found in the ground truth", "FN": "relevant statements found in the ground truth but omitted in the answer", # noqa: E501 } TP, FP, FN = [], [], [] for it, row in tqdm(df.iterrows(), total=len(df)): resp = chain.invoke({ "question": row["question"], "answer": row[column_name], "ground_truth": row["answer"] }) obj = json.loads(resp["text"]) TP.append(len(obj[key_map["TP"]])) FP.append(len(obj[key_map["FP"]])) FN.append(len(obj[key_map["FN"]])) # convert to numpy array TP = np.array(TP) FP = np.array(FP) FN = np.array(FN) df[f"{column_name}_recall"] = TP / (TP + FN) df[f"{column_name}_precision"] = TP / (TP + FP) df[f"{column_name}_correctness"] = 2 * df[f"{column_name}_recall"] * df[f"{column_name}_precision"] / (df[f"{column_name}_recall"] + df[f"{column_name}_precision"]) evaluate_correctness("mistral_result") evaluate_correctness("llama2_result") evaluate_correctness("zephyr_result") evaluate_correctness("orca-mini_result") evaluate_correctness("phi_result") print("|====Model====|=== Recall ===|== Precision ==|== Correctness ==|") print(f"|mistral | {df['mistral_result_recall'].mean():.4f} | {df['mistral_result_precision'].mean():.4f} | {df['mistral_result_correctness'].mean():.4f} |") print(f"|llama2 | {df['llama2_result_recall'].mean():.4f} | {df['llama2_result_precision'].mean():.4f} | {df['llama2_result_correctness'].mean():.4f} |") print(f"|zephyr | {df['zephyr_result_recall'].mean():.4f} | {df['zephyr_result_precision'].mean():.4f} | {df['zephyr_result_correctness'].mean():.4f} |") print(f"|orca-mini | {df['orca-mini_result_recall'].mean():.4f} | {df['orca-mini_result_precision'].mean():.4f} | {df['orca-mini_result_correctness'].mean():.4f} |") print(f"|phi | {df['phi_result_recall'].mean():.4f} | {df['phi_result_precision'].mean():.4f} | {df['phi_result_correctness'].mean():.4f} |") print("|==============================================================|") df.to_csv("./data/cidr_lakehouse_qa_retrieval_prediction_correctness.csv", index=False) 


परिणाम


ठीक है, अब हमें कई मॉडलों के लिए एक सरल बेंचमार्क मिल गया है। इसे इस बात का प्रारंभिक संकेतक माना जा सकता है कि प्रत्येक मॉडल दस्तावेज़ पुनर्प्राप्ति कार्य को कैसे संभालता है। हालाँकि ये आंकड़े एक स्नैपशॉट पेश करते हैं, ये सिर्फ कहानी की शुरुआत हैं। वे यह समझने के लिए आधार रेखा के रूप में कार्य करते हैं कि कौन से मॉडल किसी दिए गए कोष से सटीक और प्रासंगिक जानकारी प्राप्त करने में बेहतर हैं। आप यहां स्रोत कोड पा सकते हैं।

ह्यूमन-इन-लूप-फीडबैक

जब ह्यूमन-इन-लूप फीडबैक के माध्यम से हमारे एआई को ट्यून करने की बात आती है, तो मानव परीक्षकों और मास्टर एलएलएम के बीच तालमेल महत्वपूर्ण है। यह संबंध केवल प्रतिक्रिया एकत्र करने के बारे में नहीं है बल्कि एक उत्तरदायी एआई प्रणाली बनाने के बारे में है जो मानव इनपुट से सीखता है और अनुकूलित करता है।

इंटरैक्टिव प्रक्रिया

  • परीक्षक का इनपुट: परीक्षक आरएजी + एलएलएम श्रृंखला से जुड़ते हैं, मानवीय दृष्टिकोण से इसके आउटपुट का आकलन करते हैं। वे एआई की प्रतिक्रियाओं की प्रासंगिकता, सटीकता और स्वाभाविकता जैसे पहलुओं पर प्रतिक्रिया प्रदान करते हैं।
  • मास्टर एलएलएम को प्रतिक्रिया: यहीं पर जादू होता है। मानव परीक्षकों की प्रतिक्रिया सीधे मास्टर एलएलएम को भेजी जाती है। मानक मॉडलों के विपरीत, मास्टर एलएलएम को इसके बाद के आउटपुट को परिष्कृत करने के लिए इस फीडबैक को समझने और व्याख्या करने के लिए डिज़ाइन किया गया है।
  • मास्टर एलएलएम द्वारा प्रॉम्प्ट ट्यूनिंग: इस फीडबैक से लैस, मास्टर एलएलएम हमारे विकासात्मक एलएलएम के लिए प्रॉम्प्ट को समायोजित करता है। यह प्रक्रिया एक गुरु द्वारा एक छात्र को निर्देश देने के समान है। मास्टर एलएलएम सावधानीपूर्वक संशोधित करता है कि विकासात्मक एलएलएम संकेतों की व्याख्या और प्रतिक्रिया कैसे करता है, और अधिक प्रभावी और प्रासंगिक रूप से जागरूक प्रतिक्रिया तंत्र सुनिश्चित करता है।

मास्टर एलएलएम की दोहरी भूमिका

मास्टर एलएलएम इन-हाउस विकसित एलएलएम के लिए एक बेंचमार्क के रूप में और फीडबैक लूप में एक सक्रिय भागीदार के रूप में कार्य करता है। यह फीडबैक का आकलन करता है, संकेतों या मॉडल मापदंडों को समायोजित करता है, और अनिवार्य रूप से मानवीय बातचीत से 'सीखता' है।

वास्तविक समय अनुकूलन का लाभ

यह प्रक्रिया परिवर्तनकारी है. यह एआई को वास्तविक समय में अनुकूलन करने की अनुमति देता है, जिससे यह अधिक चुस्त हो जाता है और मानव भाषा और विचार प्रक्रियाओं की जटिलताओं के साथ संरेखित हो जाता है। इस तरह का वास्तविक समय अनुकूलन यह सुनिश्चित करता है कि एआई का सीखने का क्रम तीव्र और निरंतर है।

सुधार का चक्र

बातचीत, फीडबैक और अनुकूलन के इस चक्र के माध्यम से, हमारा एआई सिर्फ एक उपकरण से कहीं अधिक बन जाता है; यह एक सीखने वाली इकाई बन जाती है, जो मानव परीक्षक के साथ प्रत्येक बातचीत के माध्यम से सुधार करने में सक्षम होती है। यह ह्यूमन-इन-द-लूप मॉडल यह सुनिश्चित करता है कि हमारा AI स्थिर न हो बल्कि अधिक कुशल और सहज सहायक बनने के लिए विकसित हो।


संक्षेप में, ह्यूमन-इन-लूप फीडबैक केवल मानवीय अंतर्दृष्टि एकत्र करने के बारे में नहीं है - यह एक गतिशील और अनुकूलनीय एआई बनाने के बारे में है जो उपयोगकर्ताओं को बेहतर सेवा देने के लिए अपने व्यवहार को ठीक कर सकता है। यह पुनरावृत्तीय प्रक्रिया यह सुनिश्चित करती है कि हमारे आरएजी + एलएलएम एप्लिकेशन अत्याधुनिक बने रहें, न केवल उत्तर प्रदान करें बल्कि प्रासंगिक रूप से जागरूक, सूक्ष्म प्रतिक्रियाएं प्रदान करें जो उपयोगकर्ता की जरूरतों की वास्तविक समझ को दर्शाती हैं।


एक सरल डेमो के लिए, आप इस वीडियो में देख सकते हैं कि कैसे ClearML प्रॉम्प्टिमाइज़र को बढ़ाने के लिए इस अवधारणा का उपयोग करता है।

ऑपरेशन चरण

ऑपरेशन चरण में परिवर्तन ड्रेस रिहर्सल से ओपनिंग नाइट की ओर बढ़ने जैसा है। यहां, हमारे आरएजी + एलएलएम एप्लिकेशन अब काल्पनिक संस्थाएं नहीं हैं; वे वास्तविक उपयोगकर्ताओं के दैनिक कार्यप्रवाह में सक्रिय भागीदार बन जाते हैं। यह चरण विकास चरण में की गई सभी तैयारियों और फाइन-ट्यूनिंग के लिए लिटमस टेस्ट है।


इस चरण में, हमारी टीमें - संचालन, उत्पाद और विश्लेषक - अनुप्रयोगों को तैनात करने और प्रबंधित करने के लिए संरेखित होती हैं, यह सुनिश्चित करते हुए कि हमने जो कुछ भी बनाया है वह न केवल काम कर रहा है बल्कि एक जीवंत वातावरण में पनप रहा है। यहीं पर हम अपने अनुप्रयोगों की प्रभावशीलता को नियंत्रित तरीके से मापने के लिए ए/बी परीक्षण रणनीतियों को लागू करने पर विचार कर सकते हैं।


  • ए/बी परीक्षण ढांचा: हमने अपने उपयोगकर्ता आधार को दो खंडों में विभाजित किया है - नियंत्रण खंड, जो एप्लिकेशन के स्थापित संस्करण (संस्करण 1) का उपयोग करना जारी रखता है, और परीक्षण खंड, जो संस्करण 2 में नई सुविधाओं को आज़माता है (वास्तव में) आप एक ही समय में एकाधिक ए/बी परीक्षण भी चला सकते हैं)। यह हमें उपयोगकर्ता अनुभव, सुविधा ग्रहणशीलता और समग्र प्रदर्शन पर तुलनात्मक डेटा इकट्ठा करने की अनुमति देता है।

  • ऑपरेशनल रोलआउट: ऑपरेशंस टीम को दोनों संस्करणों के सुचारू रोलआउट का काम सौंपा गया है, यह सुनिश्चित करते हुए कि बुनियादी ढांचा मजबूत है और कोई भी संस्करण परिवर्तन उपयोगकर्ता के लिए निर्बाध है।

  • उत्पाद विकास: उत्पाद टीम, उपयोगकर्ता की प्रतिक्रिया की नब्ज पर अपनी उंगली के साथ, उत्पाद को पुनरावृत्त करने के लिए काम करती है। यह टीम सुनिश्चित करती है कि नई सुविधाएँ उपयोगकर्ता की ज़रूरतों और समग्र उत्पाद दृष्टिकोण के अनुरूप हों।

  • विश्लेषणात्मक अंतर्दृष्टि: विश्लेषक टीम ए/बी परीक्षण से एकत्र किए गए डेटा की कठोरता से जांच करती है। उनकी अंतर्दृष्टि यह निर्धारित करने में महत्वपूर्ण है कि क्या नया संस्करण पुराने संस्करण से बेहतर प्रदर्शन करता है और क्या यह व्यापक रिलीज के लिए तैयार है।

  • प्रदर्शन मेट्रिक्स: प्रत्येक संस्करण की सफलता को मापने के लिए मुख्य प्रदर्शन संकेतक (KPI) की निगरानी की जाती है। इनमें उपयोगकर्ता सहभागिता मेट्रिक्स, संतुष्टि स्कोर और एप्लिकेशन के आउटपुट की सटीकता शामिल हैं।


ऑपरेशन चरण गतिशील है, निरंतर फीडबैक लूप द्वारा सूचित किया जाता है जो न केवल अनुप्रयोगों में सुधार करता है बल्कि उपयोगकर्ता की सहभागिता और संतुष्टि को भी बढ़ाता है। यह एक ऐसा चरण है जिसमें निगरानी, विश्लेषण, पुनरावृत्ति और सबसे बढ़कर, लाइव डेटा से सीखना शामिल है।


जैसे ही हम इस चरण में आगे बढ़ते हैं, हमारा लक्ष्य न केवल विकास चरण द्वारा निर्धारित उच्च मानकों को बनाए रखना है बल्कि उन्हें पार करना है, यह सुनिश्चित करना है कि हमारा आरएजी + एलएलएम एप्लिकेशन नवाचार और प्रयोज्य के मामले में सबसे आगे बना रहे।

निष्कर्ष

संक्षेप में, पुनर्प्राप्ति-संवर्धित पीढ़ी (आरएजी) और बड़े भाषा मॉडल (एलएलएम) का एकीकरण एआई में एक महत्वपूर्ण प्रगति का प्रतीक है, जो परिष्कृत पाठ पीढ़ी के साथ गहन डेटा पुनर्प्राप्ति का मिश्रण है। हालाँकि, हमें मूल्यांकन के लिए एक उचित और प्रभावी पद्धति और एक पुनरावृत्तीय विकास रणनीति की आवश्यकता है। विकास चरण एआई मूल्यांकन को अनुकूलित करने और इसे मानव-इन-लूप फीडबैक के साथ बढ़ाने पर जोर देता है, यह सुनिश्चित करते हुए कि ये सिस्टम वास्तविक दुनिया के परिदृश्यों के लिए सहानुभूतिपूर्ण और अनुकूलनीय हैं। यह दृष्टिकोण एक मात्र उपकरण से सहयोगी भागीदार तक एआई के विकास पर प्रकाश डालता है। परिचालन चरण उपयोगकर्ता इंटरैक्शन के आधार पर प्रभावशीलता और चल रहे विकास को सुनिश्चित करने के लिए ए/बी परीक्षण और निरंतर फीडबैक लूप जैसी रणनीतियों का उपयोग करके वास्तविक दुनिया के परिदृश्यों में इन अनुप्रयोगों का परीक्षण करता है।