अमेज़ॅन सैजमेकर जम्पस्टार्ट प्लेटोब्लॉकचैन डेटा इंटेलिजेंस के साथ फाइन-ट्यूनिंग और एचपीओ के माध्यम से टेक्स्ट दस्तावेज़ों से महत्वपूर्ण अंतर्दृष्टि की पहचान करें। लंबवत खोज। ऐ।

अमेज़ॅन सैजमेकर जम्पस्टार्ट के साथ फाइन-ट्यूनिंग और एचपीओ के माध्यम से टेक्स्ट दस्तावेज़ों से महत्वपूर्ण अंतर्दृष्टि की पहचान करें

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

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

  • पूर्व-प्रशिक्षित मॉडल पर परिनियोजित करें और निष्कर्ष निकालें
  • नए कस्टम डेटासेट पर पूर्व-प्रशिक्षित मॉडल को फ़ाइन-ट्यून करें
  • इसके साथ फाइन-ट्यूनिंग प्रदर्शन में और सुधार करें SageMaker स्वचालित मॉडल ट्यूनिंग
  • विभिन्न मूल्यांकन मेट्रिक्स के साथ होल्ड-आउट परीक्षण डेटा पर मॉडल के प्रदर्शन का मूल्यांकन करें

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

जम्पस्टार्ट समाधान टेम्पलेट्स

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

जम्पस्टार्ट समाधान टेम्प्लेट विभिन्न प्रकार के उपयोग मामलों को कवर करते हैं, जिनमें से प्रत्येक के तहत कई अलग-अलग समाधान टेम्पलेट पेश किए जाते हैं (यह दस्तावेज़ समझ समाधान "दस्तावेज़ों से डेटा निकालें और विश्लेषण करें" उपयोग केस के अंतर्गत है)।

जम्पस्टार्ट लैंडिंग पृष्ठ से समाधान टेम्प्लेट चुनें जो आपके उपयोग के मामले में सबसे उपयुक्त हो। प्रत्येक उपयोग मामले के अंतर्गत विशिष्ट समाधानों पर अधिक जानकारी के लिए और जम्पस्टार्ट समाधान कैसे लॉन्च करें, देखें समाधान टेम्पलेट्स.

समाधान अवलोकन

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

दस्तावेज़ समझ समाधान खोलें

जम्पस्टार्ट में दस्तावेज़ समझ समाधान पर नेविगेट करें।

अब हम डेमो नोटबुक से शुरू करते हुए, इस समाधान में शामिल कुछ संपत्तियों पर करीब से नज़र डाल सकते हैं।

अमेज़ॅन सैजमेकर जम्पस्टार्ट प्लेटोब्लॉकचैन डेटा इंटेलिजेंस के साथ फाइन-ट्यूनिंग और एचपीओ के माध्यम से टेक्स्ट दस्तावेज़ों से महत्वपूर्ण अंतर्दृष्टि की पहचान करें। लंबवत खोज। ऐ।

डेमो नोटबुक

आप दस्तावेज़ सारांशीकरण और प्रश्न उत्तर कार्यों के लिए पहले से तैनात मॉडल एंडपॉइंट्स को उदाहरण डेटा भेजने के लिए डेमो नोटबुक का उपयोग कर सकते हैं। डेमो नोटबुक आपको उदाहरण डेटा को क्वेरी करके तुरंत अनुभव प्राप्त करने की अनुमति देता है।

दस्तावेज़ समझ समाधान लॉन्च करने के बाद, चुनकर डेमो नोटबुक खोलें नोटबुक में समापन बिंदु का प्रयोग करें.

अमेज़ॅन सैजमेकर जम्पस्टार्ट प्लेटोब्लॉकचैन डेटा इंटेलिजेंस के साथ फाइन-ट्यूनिंग और एचपीओ के माध्यम से टेक्स्ट दस्तावेज़ों से महत्वपूर्ण अंतर्दृष्टि की पहचान करें। लंबवत खोज। ऐ।

आइए इस समाधान के लिए पाँच मुख्य नोटबुक्स में से प्रत्येक में गहराई से गोता लगाएँ।

.. पूर्वापेक्षाएँ

In अमेज़ॅन सैजमेकर स्टूडियो, सुनिश्चित करें कि आप का उपयोग कर रहे हैं PyTorch 1.10 Python 3.8 CPU Optimized छवि/कर्नेल नोटबुक खोलने के लिए। प्रशिक्षण पांच ml.g4dn.2xlarge उदाहरणों का उपयोग करता है, इसलिए आपको एक उठाना चाहिए सेवा सीमा बढ़ाने का अनुरोध यदि आपके खाते को इस प्रकार के लिए बढ़ी हुई सीमा की आवश्यकता है।

पाठ का वर्गीकरण

पाठ वर्गीकरण का तात्पर्य प्रशिक्षण डेटासेट के वर्ग लेबलों में से एक में इनपुट वाक्य को वर्गीकृत करना है। यह नोटबुक दर्शाती है कि कैसे उपयोग करना है जम्पस्टार्ट एपीआई पाठ वर्गीकरण के लिए।

पूर्व-प्रशिक्षित मॉडल पर अनुमान लगाएं और चलाएं

हमने जिस टेक्स्ट वर्गीकरण मॉडल का उपयोग करने के लिए चुना है, वह टेक्स्ट एम्बेडिंग पर बनाया गया है (tensorflow-tc-bert-en-uncased-L-12-H-768-A-12-2) से मॉडल टेंसरफ्लो हब, जो विकिपीडिया और BookCorpus डेटासेट पर पूर्व-प्रशिक्षित है।

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

इस मॉडल पर निष्कर्ष चलाने के लिए, हमें पहले अनुमान कंटेनर डाउनलोड करना होगा (deploy_image_uri), अनुमान स्क्रिप्ट (deploy_source_uri), और पूर्व प्रशिक्षित मॉडल (base_model_uri). फिर हम उन्हें सैजमेकर मॉडल ऑब्जेक्ट को इंस्टेंट करने के लिए पैरामीटर के रूप में पास करते हैं, जिसे हम तब तैनात कर सकते हैं:

model = Model(
    image_uri=deploy_image_uri,
    source_dir=deploy_source_uri,
    model_data=base_model_uri,
    entry_point="inference.py",
    role=aws_role,
    predictor_cls=Predictor,
    name=endpoint_name_tc,
)
# deploy the Model.
base_model_predictor = model.deploy(
    initial_instance_count=1,
    instance_type=inference_instance_type,
    endpoint_name=endpoint_name_tc,
)

मॉडल को तैनात करने के बाद, हम कुछ उदाहरण इनपुट इकट्ठा करते हैं और समापन बिंदु को क्वेरी करते हैं:

text1 = "astonishing ... ( frames ) profound ethical and philosophical questions in the form of dazzling pop entertainment" 
text2 = "simply stupid , irrelevant and deeply , truly , bottomlessly cynical "

निम्नलिखित कोड हमारी प्रतिक्रिया दिखाता है:

Inference:
Input text: 'astonishing ... ( frames ) profound ethical and philosophical questions in the form of dazzling pop entertainment'
Model prediction: [0.000452966779, 0.999547064]
Labels: [0, 1]
Predicted Label: 1 # value 0 means negative sentiment and value 1 means positive sentiment

Inference:
Input text: 'simply stupid , irrelevant and deeply , truly , bottomlessly cynical '
Model prediction: [0.998723, 0.00127695734]
Labels: [0, 1]
Predicted Label: 0

कस्टम डेटासेट पर पूर्व-प्रशिक्षित मॉडल को फ़ाइन-ट्यून करें

हम अभी-अभी एक पूर्व-प्रशिक्षित BERT मॉडल पर चल रहे अनुमान से गुजरे हैं, जिसे ठीक-ठीक किया गया था SST-2 डाटासेट।

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

हम प्रशिक्षण डॉकटर कंटेनर, प्रशिक्षण एल्गोरिथम स्रोत और पूर्व-प्रशिक्षित मॉडल को पुनः प्राप्त करते हैं:

from sagemaker import image_uris, model_uris, script_uris, hyperparameters

model_id, model_version = model_id, "*" # all the other options of model_id are the same as the one in Section 2.
training_instance_type = config.TRAINING_INSTANCE_TYPE

# Retrieve the docker image
train_image_uri = image_uris.retrieve(
    region=None,
    framework=None,
    model_id=model_id,
    model_version=model_version,
    image_scope="training",
    instance_type=training_instance_type,
)
# Retrieve the training script
train_source_uri = script_uris.retrieve(
    model_id=model_id, model_version=model_version, script_scope="training"
)
# Retrieve the pre-trained model tarball to further fine-tune
train_model_uri = model_uris.retrieve(
    model_id=model_id, model_version=model_version, model_scope="training"
)

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

from sagemaker import hyperparameters

# Retrieve the default hyper-parameters for fine-tuning the model
hyperparameters = hyperparameters.retrieve_default(model_id=model_id, model_version=model_version)

# [Optional] Override default hyperparameters with custom values
hyperparameters["batch-size"] = "64"
hyperparameters["adam-learning-rate"] = "1e-6"

डेटासेट (SST-2) प्रशिक्षण, सत्यापन और परीक्षण सेटों में विभाजित है, जहां मॉडल को फिट करने के लिए प्रशिक्षण सेट का उपयोग किया जाता है, सत्यापन सेट का उपयोग मूल्यांकन मेट्रिक्स की गणना के लिए किया जाता है जिसका उपयोग HPO के लिए किया जा सकता है, और परीक्षण सेट का उपयोग होल्ड-आउट डेटा के रूप में किया जाता है मॉडल के प्रदर्शन का मूल्यांकन करने के लिए। अगला, ट्रेन और सत्यापन डेटासेट अमेज़न S3 पर अपलोड किए जाते हैं और फाइन-ट्यूनिंग प्रशिक्षण कार्य शुरू करने के लिए उपयोग किए जाते हैं:

# Create SageMaker Estimator instance
tc_estimator = Estimator(
    role=role,
    image_uri=train_image_uri,
    source_dir=train_source_uri,
    model_uri=train_model_uri,
    entry_point="transfer_learning.py",
    instance_count=1,
    instance_type=training_instance_type,
    max_run=360000,
    hyperparameters=hyperparameters,
    output_path=s3_output_location,
    tags=[{'Key': config.TAG_KEY, 'Value': config.SOLUTION_PREFIX}],
    base_job_name=training_job_name,
)

training_data_path_updated = f"s3://{config.S3_BUCKET}/{prefix}/train"
# Launch a SageMaker Training job by passing s3 path of the training data
tc_estimator.fit({"training": training_data_path_updated}, logs=True)

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

अमेज़ॅन सैजमेकर जम्पस्टार्ट प्लेटोब्लॉकचैन डेटा इंटेलिजेंस के साथ फाइन-ट्यूनिंग और एचपीओ के माध्यम से टेक्स्ट दस्तावेज़ों से महत्वपूर्ण अंतर्दृष्टि की पहचान करें। लंबवत खोज। ऐ।

SageMaker स्वचालित मॉडल ट्यूनिंग के साथ फाइन-ट्यूनिंग प्रदर्शन में और सुधार करें

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

सबसे पहले, हम सत्यापन डेटा पर सटीकता स्कोर के रूप में उद्देश्य निर्धारित करते हैं (val_accuracy) और उद्देश्य मीट्रिक नाम और एक नियमित अभिव्यक्ति (रेगेक्स) निर्दिष्ट करके ट्यूनिंग कार्य के लिए परिभाषित मीट्रिक। एल्गोरिदम के लॉग आउटपुट से मिलान करने और मेट्रिक्स के संख्यात्मक मानों को कैप्चर करने के लिए रेगुलर एक्सप्रेशन का उपयोग किया जाता है। इसके बाद, हम हाइपरपैरामीटर रेंज निर्दिष्ट करते हैं, जिससे सर्वश्रेष्ठ हाइपरपैरामीटर मान का चयन किया जा सके। हम ट्यूनिंग नौकरियों की कुल संख्या छह के रूप में निर्धारित करते हैं और इन नौकरियों को तीन अलग-अलग पर वितरित करते हैं अमेज़ॅन इलास्टिक कम्प्यूट क्लाउड (अमेज़न EC2) समानांतर ट्यूनिंग कार्य चलाने के उदाहरण। निम्नलिखित कोड देखें:

# Define objective metric per framework, based on which the best model will be selected.
metric_definitions_per_model = {
    "tensorflow": {
        "metrics": [{"Name": "val_accuracy", "Regex": "val_accuracy: ([0-9.]+)"}],
        "type": "Maximize",
    }
}

# You can select from the hyperparameters supported by the model, and configure ranges of values to be searched for training the optimal model.(https://docs.aws.amazon.com/sagemaker/latest/dg/automatic-model-tuning-define-ranges.html)
hyperparameter_ranges = {
    "adam-learning-rate": ContinuousParameter(0.00001, 0.01, scaling_type="Logarithmic")
}

# Increase the total number of training jobs run by AMT, for increased accuracy (and training time).
max_jobs = 6
# Change parallel training jobs run by AMT to reduce total training time, constrained by your account limits.
# if max_jobs=max_parallel_jobs then Bayesian search turns to Random.
max_parallel_jobs = 3

हम SageMaker Estimator ऑब्जेक्ट को इंस्टैंट करने के लिए उन मानों को पास करते हैं, जैसा कि हमने पिछले फ़ाइन-ट्यूनिंग चरण में किया था। कॉल करने के बजाय fit का कार्य Estimator वस्तु, हम पास करते हैं Estimator ऑब्जेक्ट को एक पैरामीटर के रूप में हाइपरपैरामीटरट्यूनर कंस्ट्रक्टर और कॉल करें fit ट्यूनिंग जॉब लॉन्च करने के लिए इसका कार्य:

hp_tuner = HyperparameterTuner(
    tc_estimator,
    metric_definitions["metrics"][0]["Name"],
    hyperparameter_ranges,
    metric_definitions["metrics"],
    max_jobs=max_jobs,
    max_parallel_jobs=max_parallel_jobs,
    objective_type=metric_definitions["type"],
    base_tuning_job_name=tuning_job_name,
)

# Launch a SageMaker Tuning job to search for the best hyperparameters
hp_tuner.fit({"training": training_data_path_updated})

ट्यूनिंग कार्य पूरा होने के बाद, हम उस मॉडल को तैनात करते हैं जो सत्यापन डेटासेट पर सर्वश्रेष्ठ मूल्यांकन मीट्रिक स्कोर देता है, उसी होल्ड-आउट टेस्ट डेटासेट पर अनुमान लगाता है जिसे हमने पिछले अनुभाग में किया था, और मूल्यांकन मेट्रिक्स की गणना करता है।

अमेज़ॅन सैजमेकर जम्पस्टार्ट प्लेटोब्लॉकचैन डेटा इंटेलिजेंस के साथ फाइन-ट्यूनिंग और एचपीओ के माध्यम से टेक्स्ट दस्तावेज़ों से महत्वपूर्ण अंतर्दृष्टि की पहचान करें। लंबवत खोज। ऐ।

परिणाम बताते हैं कि स्वचालित मॉडल ट्यूनिंग द्वारा चयनित मॉडल पिछले अनुभाग में होल्ड-आउट टेस्ट डेटासेट पर ठीक-ठीक किए गए मॉडल से बेहतर प्रदर्शन करता है।

नामित संस्था मान्यता

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

पूर्व-प्रशिक्षित मॉडल पर अनुमान लगाएं और चलाएं

हम तैनात करते हैं एन_कोर_वेब_एमडी से मॉडल spacy पुस्तकालय। स्पासी एक ओपन-सोर्स एनएलपी लाइब्रेरी है जिसका उपयोग विभिन्न कार्यों के लिए किया जा सकता है, और इसमें एनईआर के लिए अंतर्निहित तरीके हैं। हम एक स्क्रिप्ट मोड के साथ AWS PyTorch डीप लर्निंग कंटेनर (DLC) का उपयोग करते हैं और कंटेनर के शीर्ष पर स्पासी लाइब्रेरी को निर्भरता के रूप में स्थापित करते हैं।

अगला, स्क्रिप्ट के लिए एक प्रवेश बिंदु (argument entry_point.py) निर्दिष्ट है, जिसमें डाउनलोड करने और लोड करने के लिए सभी कोड शामिल हैं En_core_web_md मॉडल और समापन बिंदु पर भेजे गए डेटा पर निष्कर्ष निकालना। अंत में, हमें अभी भी प्रदान करने की आवश्यकता है model_data अनुमान के लिए पूर्व प्रशिक्षित मॉडल के रूप में। क्योंकि पूर्व प्रशिक्षित En_core_web_md मॉडल फ्लाई पर डाउनलोड किया जाता है, जिसे प्रविष्टि स्क्रिप्ट में निर्दिष्ट किया गया है, हम एक खाली संग्रह फ़ाइल प्रदान करते हैं। समापन बिंदु तैनात होने के बाद, आप SageMaker Python SDK's का उपयोग करके सीधे नोटबुक से समापन बिंदु का आह्वान कर सकते हैं Predictor। निम्नलिखित कोड देखें:

model = PyTorchModel(
    model_data=f"{config.SOURCE_S3_PATH}/artifacts/models/empty.tar.gz",
    entry_point="entry_point.py",
    source_dir="../containers/entity_recognition",
    role=config.IAM_ROLE,
    framework_version="1.5.0",
    py_version="py3",
    code_location="s3://" + config.S3_BUCKET + "/code",
    env={
        "MMS_DEFAULT_RESPONSE_TIMEOUT": "3000"
    }
)
predictor = model.deploy(
    endpoint_name=endpoint_name,
    instance_type=config.HOSTING_INSTANCE_TYPE,
    initial_instance_count=1,
    serializer=JSONSerializer(),
    deserializer=JSONDeserializer()
)

मॉडल के लिए इनपुट डेटा एक शाब्दिक दस्तावेज़ है। नामित इकाई मॉडल शाब्दिक दस्तावेज़ में संज्ञा खंड और नामित संस्थाओं को निकालता है और उन्हें कई अलग-अलग प्रकारों (जैसे लोग, स्थान और संगठन) में वर्गीकृत करता है। उदाहरण इनपुट और आउटपुट निम्नलिखित कोड में दिखाए गए हैं। start_char पैरामीटर स्पैन की शुरुआत के लिए कैरेक्टर ऑफ़सेट को इंगित करता है, और end_char स्पैन के अंत को इंगित करता है।

data = {'text': 'Amazon SageMaker is a fully managed service that provides every developer and data scientist with the ability to build, train, and deploy machine learning (ML) models quickly.'}
response = predictor.predict(data=data)

print(response['entities'])
print(response['noun_chunks'])

[{'text': 'Amazon SageMaker', 'start_char': 0, 'end_char': 16, 'label': 'ORG'}]
[{'text': 'Amazon SageMaker', 'start_char': 0, 'end_char': 16}, {'text': 'a fully managed service', 'start_char': 20, 'end_char': 43}, {'text': 'that', 'start_char': 44, 'end_char': 48}, {'text': 'every developer and data scientist', 'start_char': 58, 'end_char': 92}, {'text': 'the ability', 'start_char': 98, 'end_char': 109}, {'text': 'ML', 'start_char': 156, 'end_char': 158}]

कस्टम डेटासेट पर पूर्व-प्रशिक्षित मॉडल को फ़ाइन-ट्यून करें

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

डेटासेट को प्रशिक्षण, सत्यापन और परीक्षण सेट में विभाजित किया गया है।

अगला, हम मॉडल के हाइपरपैरामीटर निर्दिष्ट करते हैं, और स्क्रिप्ट मोड (तर्क) के साथ AWS हगिंग फेस DLC का उपयोग करते हैं entry_point) फाइन-ट्यूनिंग जॉब को ट्रिगर करने के लिए:

hyperparameters = {
    "pretrained-model": "distilbert-base-uncased",
    "learning-rate": 2e-6,
    "num-train-epochs": 2,
    "batch-size": 16,
    "weight-decay": 1e-5,
    "early-stopping-patience": 2,
}

ner_estimator = HuggingFace(
    pytorch_version='1.10.2',
    py_version='py38',
    transformers_version="4.17.0",
    entry_point='training.py',
    source_dir='../containers/entity_recognition/finetuning',
    hyperparameters=hyperparameters,
    role=aws_role,
    instance_count=1,
    instance_type=training_instance_type,
    output_path=f"s3://{bucket}/{prefix}/output",
    code_location=f"s3://{bucket}/{prefix}/output",
    tags=[{'Key': config.TAG_KEY, 'Value': config.SOLUTION_PREFIX}],
    sagemaker_session=sess,
    volume_size=30,
    env={
        'MMS_DEFAULT_RESPONSE_TIMEOUT': '500'
    },
    base_job_name = training_job_name
)

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

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

अमेज़ॅन सैजमेकर जम्पस्टार्ट प्लेटोब्लॉकचैन डेटा इंटेलिजेंस के साथ फाइन-ट्यूनिंग और एचपीओ के माध्यम से टेक्स्ट दस्तावेज़ों से महत्वपूर्ण अंतर्दृष्टि की पहचान करें। लंबवत खोज। ऐ।

SageMaker स्वचालित मॉडल ट्यूनिंग के साथ फाइन-ट्यूनिंग प्रदर्शन में और सुधार करें

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

hyperparameters_range = {
    "learning-rate": ContinuousParameter(1e-5, 0.1, scaling_type="Logarithmic"),
    "weight-decay": ContinuousParameter(1e-6, 1e-2, scaling_type="Logarithmic"),
}

tuner = HyperparameterTuner(
    estimator,
    "f1",
    hyperparameters_range,
    [{"Name": "f1", "Regex": "'eval_f1': ([0-9.]+)"}],
    max_jobs=6,
    max_parallel_jobs=3,
    objective_type="Maximize",
    base_tuning_job_name=tuning_job_name,
)

tuner.fit({
    "train": f"s3://{bucket}/{prefix}/train/",
    "validation": f"s3://{bucket}/{prefix}/validation/",
}, logs=True)

ट्यूनिंग कार्य पूरा होने के बाद, हम उस मॉडल को तैनात करते हैं जो सत्यापन डेटासेट पर सर्वश्रेष्ठ मूल्यांकन मीट्रिक स्कोर देता है, उसी होल्ड-आउट टेस्ट डेटासेट पर अनुमान लगाता है जिसे हमने पिछले अनुभाग में किया था, और मूल्यांकन मेट्रिक्स की गणना करता है।

अमेज़ॅन सैजमेकर जम्पस्टार्ट प्लेटोब्लॉकचैन डेटा इंटेलिजेंस के साथ फाइन-ट्यूनिंग और एचपीओ के माध्यम से टेक्स्ट दस्तावेज़ों से महत्वपूर्ण अंतर्दृष्टि की पहचान करें। लंबवत खोज। ऐ।

हम देख सकते हैं कि एचपीओ वाला मॉडल सभी मेट्रिक्स में काफी बेहतर प्रदर्शन हासिल करता है।

सवाल जवाब

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

पूर्व-प्रशिक्षित मॉडल पर अनुमान लगाएं और चलाएं

हमारा पूर्व-प्रशिक्षित मॉडल एक्स्ट्रेक्टिव क्वेश्चन आंसरिंग (EQA) मॉडल है बर्ट-लार्ज-अनकेस्ड-पूरा-शब्द-मास्किंग-फाइनट्यून-स्क्वाड हगिंग फेस से ट्रांसफॉर्मर मॉडल पर बनाया गया। हम स्क्रिप्ट मोड के साथ AWS PyTorch DLC का उपयोग करते हैं और ट्रान्सफ़ॉर्मर पुस्तकालय कंटेनर के शीर्ष पर निर्भरता के रूप में। एनईआर कार्य के समान, हम तर्क में एक खाली संग्रह फ़ाइल प्रदान करते हैं model_data क्योंकि पूर्व-प्रशिक्षित मॉडल को तुरंत डाउनलोड किया जाता है। समापन बिंदु तैनात होने के बाद, आप SageMaker Python SDK's का उपयोग करके सीधे नोटबुक से समापन बिंदु का आह्वान कर सकते हैं Predictor। निम्नलिखित कोड देखें:

model = PyTorchModel(
    model_data=f"{config.SOURCE_S3_PATH}/artifacts/models/empty.tar.gz",
    entry_point="entry_point.py",
    source_dir="../containers/question_answering",
    role=config.IAM_ROLE,
    framework_version="1.5.0",
    py_version="py3",
    code_location="s3://" + config.S3_BUCKET + "/code",
    env={
        "MODEL_ASSETS_S3_BUCKET": config.SOURCE_S3_BUCKET,
        "MODEL_ASSETS_S3_PREFIX": f"{config.SOURCE_S3_PREFIX}/artifacts/models/question_answering/",
        "MMS_DEFAULT_RESPONSE_TIMEOUT": "3000",
    },
)

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

हमें केवल दो चाबियों के साथ एक शब्दकोश वस्तु का निर्माण करना है। context वह पाठ है जिससे हम जानकारी प्राप्त करना चाहते हैं। question प्राकृतिक भाषा क्वेरी है जो निर्दिष्ट करती है कि हम कौन सी जानकारी निकालने में रुचि रखते हैं। हम बुलाते है predict हमारे भविष्यवक्ता पर, और हमें उस समापन बिंदु से प्रतिक्रिया प्राप्त करनी चाहिए जिसमें सबसे अधिक संभावित उत्तर हों:

data = {'question': 'what is my name?', 'context': "my name is thom"}
response = predictor.predict(data=data)

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

print(response['answers'])
[{'score': 0.9793591499328613, 'start': 11, 'end': 15, 'answer': 'thom'}, 
{'score': 0.02019440196454525, 'start': 0, 'end': 15, 'answer': 'my name is thom'}, 
{'score': 4.349117443780415e-05, 'start': 3, 'end': 15, 'answer': 'name is thom'}]

अब हम बेहतर परिणाम प्राप्त करने के लिए इस मॉडल को अपने स्वयं के कस्टम डेटासेट के साथ फाइन-ट्यून करते हैं।

कस्टम डेटासेट पर पूर्व-प्रशिक्षित मॉडल को फ़ाइन-ट्यून करें

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

पाठ वर्गीकरण कार्य के समान, डेटासेट (SQuAD2.0) को प्रशिक्षण, सत्यापन और परीक्षण सेट में विभाजित किया गया है।

अगला, हम मॉडल के हाइपरपरमेटर्स को निर्दिष्ट करते हैं और इसका उपयोग करते हैं जम्पस्टार्ट एपीआई फ़ाइन-ट्यूनिंग कार्य को ट्रिगर करने के लिए:

hyperparameters = {'epochs': '3', 'adam-learning-rate': '2e-05', 'batch-size': '16'}

eqa_estimator = Estimator(
    role=role,
    image_uri=train_image_uri,
    source_dir=train_source_uri,
    model_uri=train_model_uri,
    entry_point="transfer_learning.py",
    instance_count=1,
    instance_type=training_instance_type,
    max_run=360000,
    hyperparameters=hyperparameters,
    output_path=s3_output_location,
    tags=[{'Key': config.TAG_KEY, 'Value': config.SOLUTION_PREFIX}],
    base_job_name=training_job_name,
    debugger_hook_config=False,
)

training_data_path_updated = f"s3://{config.S3_BUCKET}/{prefix}/train"
# Launch a SageMaker Training job by passing s3 path of the training data
eqa_estimator.fit({"training": training_data_path_updated}, logs=True)

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

अमेज़ॅन सैजमेकर जम्पस्टार्ट प्लेटोब्लॉकचैन डेटा इंटेलिजेंस के साथ फाइन-ट्यूनिंग और एचपीओ के माध्यम से टेक्स्ट दस्तावेज़ों से महत्वपूर्ण अंतर्दृष्टि की पहचान करें। लंबवत खोज। ऐ।

SageMaker स्वचालित मॉडल ट्यूनिंग के साथ फाइन-ट्यूनिंग प्रदर्शन में और सुधार करें

पिछले अनुभागों के समान, हम a का उपयोग करते हैं HyperparameterTuner ट्यूनिंग जॉब लॉन्च करने का विरोध:

hyperparameter_ranges = {
    "adam-learning-rate": ContinuousParameter(0.00001, 0.01, scaling_type="Logarithmic"),
    "epochs": IntegerParameter(3, 10),
    "train-only-top-layer": CategoricalParameter(["True", "False"]),
}

hp_tuner = HyperparameterTuner(
    eqa_estimator,
    metric_definitions["metrics"][0]["Name"],
    hyperparameter_ranges,
    metric_definitions["metrics"],
    max_jobs=max_jobs,
    max_parallel_jobs=max_parallel_jobs,
    objective_type=metric_definitions["type"],
    base_tuning_job_name=training_job_name,
)

# Launch a SageMaker Tuning job to search for the best hyperparameters
hp_tuner.fit({"training": training_data_path_updated})

ट्यूनिंग कार्य पूरा होने के बाद, हम उस मॉडल को तैनात करते हैं जो सत्यापन डेटासेट पर सर्वश्रेष्ठ मूल्यांकन मीट्रिक स्कोर देता है, उसी होल्ड-आउट टेस्ट डेटासेट पर अनुमान लगाता है जिसे हमने पिछले अनुभाग में किया था, और मूल्यांकन मेट्रिक्स की गणना करता है।

अमेज़ॅन सैजमेकर जम्पस्टार्ट प्लेटोब्लॉकचैन डेटा इंटेलिजेंस के साथ फाइन-ट्यूनिंग और एचपीओ के माध्यम से टेक्स्ट दस्तावेज़ों से महत्वपूर्ण अंतर्दृष्टि की पहचान करें। लंबवत खोज। ऐ।

हम देख सकते हैं कि HPO वाला मॉडल होल्ड-आउट टेस्ट डेटा पर काफी बेहतर प्रदर्शन दिखाता है।

संबंध निष्कर्षण

संबंध निष्कर्षण पाठ से शब्दार्थ संबंधों को निकालने का कार्य है, जो आमतौर पर दो या दो से अधिक संस्थाओं के बीच होता है। कच्चे पाठ जैसे असंरचित स्रोतों से संरचित जानकारी निकालने में संबंध निष्कर्षण एक महत्वपूर्ण भूमिका निभाता है। इस नोटबुक में, हमने संबंध निष्कर्षण के दो उपयोग मामलों को प्रदर्शित किया है।

कस्टम डेटासेट पर पूर्व-प्रशिक्षित मॉडल को फ़ाइन-ट्यून करें

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

वह डेटासेट जिसे हम मॉडल को फ़ाइन-ट्यून करते हैं SemEval-2010 टास्क 8. फाइन-ट्यूनिंग द्वारा लौटाए गए मॉडल को अनुमान के लिए आगे तैनात किया जा सकता है।

डेटासेट में प्रशिक्षण, सत्यापन और परीक्षण सेट होते हैं।

हम SageMaker Python SDK के स्क्रिप्ट मोड के साथ AWS PyTorch DLC का उपयोग करते हैं, जहाँ transformers पुस्तकालय कंटेनर के शीर्ष पर निर्भरता के रूप में स्थापित है। हम सैजमेकर को परिभाषित करते हैं PyTorch अनुमानक और हाइपरपरमेटर्स का एक सेट जैसे कि पूर्व-प्रशिक्षित मॉडल, सीखने की दर, और ठीक-ट्यूनिंग करने के लिए युग संख्या। संबंध निष्कर्षण मॉडल को फ़ाइन-ट्यूनिंग करने के लिए कोड परिभाषित किया गया है entry_point.py। निम्नलिखित कोड देखें:

hyperparameters = {
    "pretrained-model": "bert-base-uncased",
    "learning-rate": 0.0002,
    "max-epoch": 2,
    "weight-decay": 0,
    "batch-size": 16,
    "accumulate-grad-batches": 2,
    "gradient-clip-val": 1.0
}

re_estimator = PyTorch(
    framework_version='1.5.0',
    py_version='py3',
    entry_point='entry_point.py',
    source_dir='../containers/relationship_extraction',
    hyperparameters=hyperparameters,
    role=aws_role,
    instance_count=1,
    instance_type=train_instance_type,
    output_path=f"s3://{bucket}/{prefix}/output",
    code_location=f"s3://{bucket}/{prefix}/output",
    base_job_name=training_job_name,
    tags=[{'Key': config.TAG_KEY, 'Value': config.SOLUTION_PREFIX}],
    sagemaker_session=sess,
    volume_size=30,
    env={
        'MMS_DEFAULT_RESPONSE_TIMEOUT': '500'
    },
    debugger_hook_config=False
)

re_estimator.fit(
    {
        "train": f"s3://{bucket}/{prefix}/train/",
        "validation": f"s3://{bucket}/{prefix}/validation/",
    }
)

प्रशिक्षण कार्य को पूरा होने में लगभग 31 मिनट लगते हैं। हम इस मॉडल का उपयोग होल्ड-आउट टेस्ट सेट पर अनुमान लगाने और परिणामों का मूल्यांकन करने के लिए करते हैं शुद्धता, एफ 1 मैक्रो, तथा एफ 1 माइक्रो स्कोर। निम्न स्क्रीनशॉट मूल्यांकन स्कोर दिखाता है।

अमेज़ॅन सैजमेकर जम्पस्टार्ट प्लेटोब्लॉकचैन डेटा इंटेलिजेंस के साथ फाइन-ट्यूनिंग और एचपीओ के माध्यम से टेक्स्ट दस्तावेज़ों से महत्वपूर्ण अंतर्दृष्टि की पहचान करें। लंबवत खोज। ऐ।

SageMaker स्वचालित मॉडल ट्यूनिंग के साथ फाइन-ट्यूनिंग प्रदर्शन में और सुधार करें

पिछले अनुभागों के समान, हम a का उपयोग करते हैं HyperparameterTuner SageMaker हाइपरपैरामीटर ट्यूनिंग API के साथ इंटरैक्ट करने के लिए ऑब्जेक्ट। हम कॉल करके हाइपरपैरामीटर ट्यूनिंग का काम शुरू कर सकते हैं fit तरीका:

hyperparameters = {
    "max-epoch": 2,
    "weight-decay": 0,
    "batch-size": 16,
    "accumulate-grad-batches": 2,
    "gradient-clip-val": 1.0
}

estimator = PyTorch(
    framework_version='1.5.0',
    py_version='py3',
    entry_point='entry_point.py',
    source_dir='../containers/relationship_extraction',
    hyperparameters=hyperparameters,
    role=aws_role,
    instance_count=1,
    instance_type=train_instance_type,
    output_path=f"s3://{bucket}/{prefix}/output",
    code_location=f"s3://{bucket}/{prefix}/output",
    base_job_name=tuning_job_name,
    tags=[{'Key': config.TAG_KEY, 'Value': config.SOLUTION_PREFIX}],
    sagemaker_session=sess,
    volume_size=30,
    env={
        'MMS_DEFAULT_RESPONSE_TIMEOUT': '500'
    },
    debugger_hook_config=False
    
    re_tuner = HyperparameterTuner(
    estimator,
    metric_definitions["metrics"][0]["Name"],
    hyperparameter_ranges,
    metric_definitions["metrics"],
    max_jobs=max_jobs,
    max_parallel_jobs=max_parallel_jobs,
    objective_type=metric_definitions["type"],
    base_tuning_job_name=tuning_job_name,
)

re_tuner.fit({
    "train": f"s3://{bucket}/{prefix}/train/",
    "validation": f"s3://{bucket}/{prefix}/validation/",
})

जब हाइपरपरमीटर ट्यूनिंग का काम पूरा हो जाता है, तो हम अनुमान लगाते हैं और मूल्यांकन स्कोर की जांच करते हैं।

अमेज़ॅन सैजमेकर जम्पस्टार्ट प्लेटोब्लॉकचैन डेटा इंटेलिजेंस के साथ फाइन-ट्यूनिंग और एचपीओ के माध्यम से टेक्स्ट दस्तावेज़ों से महत्वपूर्ण अंतर्दृष्टि की पहचान करें। लंबवत खोज। ऐ।

हम देख सकते हैं कि HPO वाला मॉडल होल्ड-आउट टेस्ट डेटा पर बेहतर प्रदर्शन दिखाता है।

दस्तावेज़ सारांश

दस्तावेज़ या पाठ सारांशीकरण, पाठ डेटा की बड़ी मात्रा को सार्थक वाक्यों के एक छोटे उपसमुच्चय में संघनित करने का कार्य है जो मूल सामग्री के भीतर सबसे महत्वपूर्ण या प्रासंगिक जानकारी का प्रतिनिधित्व करता है। बड़ी मात्रा में टेक्स्ट डेटा से कुछ वाक्यों तक महत्वपूर्ण जानकारी को डिस्टिल करने के लिए दस्तावेज़ सारांश एक उपयोगी तकनीक है। टेक्स्ट सारांशीकरण का उपयोग कई उपयोग मामलों में किया जाता है, जैसे दस्तावेज़ प्रसंस्करण और ब्लॉग, लेख और समाचार से जानकारी निकालना।

यह नोटबुक दस्तावेज़ सारांशीकरण मॉडल को लागू करने का प्रदर्शन करती है T5-आधार से हगिंग फेस ट्रांसफॉर्मर पुस्तकालय। हम टेक्स्ट आलेख का उपयोग करके परिनियोजित एंडपॉइंट्स का भी परीक्षण करते हैं और हगिंग फेस बिल्ट-इन मूल्यांकन मीट्रिक का उपयोग करके परिणामों का मूल्यांकन करते हैं लाल.

प्रश्न उत्तर और एनईआर नोटबुक के समान, हम इसका उपयोग करते हैं PyTorchModel सेजमेकर पायथन एसडीके से एक के साथ entry_point.py T5-बेस मॉडल को HTTPS एंडपॉइंट पर लोड करने के लिए स्क्रिप्ट। एंडपॉइंट सफलतापूर्वक तैनात होने के बाद, हम भविष्यवाणी प्रतिक्रिया प्राप्त करने के लिए एंडपॉइंट पर एक टेक्स्ट आलेख भेज सकते हैं:

ARTICLE = """ Documents are a primary tool for communication,
collaboration, record keeping, and transactions across industries,
including financial, medical, legal, and real estate. The format of data
can pose an extra challenge in data extraction, especially if the content
is typed, handwritten, or embedded in a form or table. Furthermore,
extracting data from your documents is manual, error-prone, time-consuming,
expensive, and does not scale. Amazon Textract is a machine learning (ML)
service that extracts printed text and other data from documents as well as
tables and forms. We’re pleased to announce two new features for Amazon
Textract: support for handwriting in English documents, and expanding
language support for extracting printed text from documents typed in
Spanish, Portuguese, French, German, and Italian. Many documents, such as
medical intake forms or employment applications, contain both handwritten
and printed text. The ability to extract text and handwriting has been a
need our customers have asked us for. Amazon Textract can now extract
printed text and handwriting from documents written in English with high
confidence scores, whether it’s free-form text or text embedded in tables
and forms. Documents can also contain a mix of typed text or handwritten
text. The following image shows an example input document containing a mix
of typed and handwritten text, and its converted output document.."""

data = {'text': ARTICLE}
response = predictor.predict(data=data)
print(response['summary'])

"""Amazon Textract is a machine learning (ML) service that extracts printed text 
and other data from documents as well as tables and forms . 
customers can now extract and process documents in more languages .
support for handwriting in english documents and expanding language support for extracting 
printed text ."""

इसके बाद, हम ROUGE मेट्रिक का उपयोग करके टेक्स्ट आलेख और सारांश परिणाम का मूल्यांकन और तुलना करते हैं। तीन मूल्यांकन मेट्रिक्स की गणना की जाती है: rougeN, rougeL, तथा rougeLsum. rougeN मिलान की संख्या को मापता है n-grams मॉडल-जनित पाठ (सारांश परिणाम) और a के बीच reference (इनपुट टेक्स्ट)। मेट्रिक्स rougeL और rougeLsum जेनरेट किए गए और संदर्भ सारांशों में सबसे लंबे सामान्य सबस्ट्रिंग की तलाश करके शब्दों के सबसे लंबे मिलान क्रम को मापें। प्रत्येक मीट्रिक के लिए, सटीकता, रिकॉल और F1 स्कोर के लिए विश्वास अंतराल की गणना की जाती है। निम्नलिखित कोड देखें:

results = rouge.compute(predictions=[response['summary']], references=[ARTICLE])

rouge1: AggregateScore(low=Score(precision=1.0, recall=0.1070615034168565, fmeasure=0.1934156378600823), 
mid=Score(precision=1.0, recall=0.1070615034168565, fmeasure=0.1934156378600823), high=Score(precision=1.0, recall=0.1070615034168565, fmeasure=0.1934156378600823))

rouge2: AggregateScore(low=Score(precision=0.9565217391304348, recall=0.1004566210045662, fmeasure=0.18181818181818182), 
mid=Score(precision=0.9565217391304348, recall=0.1004566210045662, fmeasure=0.18181818181818182), high=Score(precision=0.9565217391304348, recall=0.1004566210045662, 
fmeasure=0.18181818181818182))

rougeL: AggregateScore(low=Score(precision=0.8085106382978723, recall=0.08656036446469248, fmeasure=0.15637860082304528), 
mid=Score(precision=0.8085106382978723, recall=0.08656036446469248, fmeasure=0.15637860082304528), high=Score(precision=0.8085106382978723, recall=0.08656036446469248, 
fmeasure=0.15637860082304528))

rougeLsum: AggregateScore(low=Score(precision=0.9787234042553191, recall=0.10478359908883828, fmeasure=0.18930041152263374), 
mid=Score(precision=0.9787234042553191, recall=0.10478359908883828, fmeasure=0.18930041152263374), high=Score(precision=0.9787234042553191, recall=0.10478359908883828, 
fmeasure=0.18930041152263374))

क्लीन अप

इस समाधान के लिए बनाए गए संसाधनों का उपयोग करके हटाया जा सकता है सभी संसाधन हटाएं SageMaker Studio IDE से बटन। प्रत्येक नोटबुक एंडपॉइंट्स को हटाने के लिए कोड के साथ एक क्लीन-अप सेक्शन भी प्रदान करता है।

अमेज़ॅन सैजमेकर जम्पस्टार्ट प्लेटोब्लॉकचैन डेटा इंटेलिजेंस के साथ फाइन-ट्यूनिंग और एचपीओ के माध्यम से टेक्स्ट दस्तावेज़ों से महत्वपूर्ण अंतर्दृष्टि की पहचान करें। लंबवत खोज। ऐ।

निष्कर्ष

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


लेखक के बारे में

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

अमेज़ॅन सैजमेकर जम्पस्टार्ट प्लेटोब्लॉकचैन डेटा इंटेलिजेंस के साथ फाइन-ट्यूनिंग और एचपीओ के माध्यम से टेक्स्ट दस्तावेज़ों से महत्वपूर्ण अंतर्दृष्टि की पहचान करें। लंबवत खोज। ऐ।विवेक गंगासानी Amazon Web Services में सीनियर मशीन लर्निंग सॉल्यूशंस आर्किटेक्ट हैं। वह एआई/एमएल अनुप्रयोगों के निर्माण और संचालन में स्टार्टअप्स की मदद करते हैं। वह वर्तमान में MLOps, ML Inference और लो-कोड ML पर समाधान देने के लिए कंटेनर और मशीन लर्निंग में अपनी पृष्ठभूमि के संयोजन पर केंद्रित है। अपने खाली समय में, उन्हें नए रेस्तरां आज़माने और एआई और गहन शिक्षा में उभरते रुझानों की खोज करने में मज़ा आता है।

अमेज़ॅन सैजमेकर जम्पस्टार्ट प्लेटोब्लॉकचैन डेटा इंटेलिजेंस के साथ फाइन-ट्यूनिंग और एचपीओ के माध्यम से टेक्स्ट दस्तावेज़ों से महत्वपूर्ण अंतर्दृष्टि की पहचान करें। लंबवत खोज। ऐ।जेरेमी कोहेन AWS के साथ एक समाधान वास्तुकार है जहां वह ग्राहकों को अत्याधुनिक, क्लाउड-आधारित समाधान बनाने में मदद करता है। अपने खाली समय में, वह समुद्र तट पर छोटी सैर का आनंद लेते हैं, अपने परिवार के साथ खाड़ी क्षेत्र की खोज करते हैं, घर के चारों ओर चीजों को ठीक करते हैं, घर के चारों ओर चीजों को तोड़ते हैं, और बीबीक्यू करते हैं।

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

समय टिकट:

से अधिक AWS मशीन लर्निंग

अमेज़ॅन सेजमेकर के साथ क्लासिकल एमएल और एलएलएम को आसानी से पैकेज और तैनात करें, भाग 2: सेजमेकर स्टूडियो में इंटरएक्टिव उपयोगकर्ता अनुभव | अमेज़न वेब सेवाएँ

स्रोत नोड: 1920475
समय टिकट: नवम्बर 30, 2023

एडब्ल्यूएस ग्लू इंटरैक्टिव सत्र और अमेज़ॅन सैजमेकर स्टूडियो का उपयोग करके संवेदनशील डेटा सुरक्षा के साथ बड़े पैमाने पर फीचर इंजीनियरिंग

स्रोत नोड: 1758879
समय टिकट: नवम्बर 17, 2022