اطلاعات کلیدی را از اسناد متنی از طریق تنظیم دقیق و HPO با Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence شناسایی کنید. جستجوی عمودی Ai.

شناسایی بینش های کلیدی از اسناد متنی از طریق تنظیم دقیق و HPO با Amazon SageMaker JumpStart

سازمان‌ها در سراسر صنایع مانند خرده‌فروشی، بانک‌داری، مالی، مراقبت‌های بهداشتی، تولیدی و وام‌دهی اغلب مجبورند با حجم وسیعی از اسناد متنی بدون ساختار که از منابع مختلفی مانند اخبار، وبلاگ‌ها، بررسی‌های محصول، کانال‌های پشتیبانی مشتری و رسانه‌های اجتماعی می‌آیند، سر و کار داشته باشند. این اسناد حاوی اطلاعات مهمی هستند که کلید تصمیم گیری های تجاری مهم هستند. با رشد یک سازمان، استخراج اطلاعات حیاتی از این اسناد به یک چالش تبدیل می شود. با پیشرفت تکنیک‌های پردازش زبان طبیعی (NLP) و یادگیری ماشینی (ML)، می‌توانیم بینش‌ها و ارتباطات ارزشمندی را از این اسناد متنی به سرعت و با دقت بالا کشف کنیم و از این طریق به شرکت‌ها کمک کنیم تا به موقع تصمیم‌های تجاری باکیفیت بگیرند. خدمات NLP کاملاً مدیریت شده نیز پذیرش NLP را تسریع کرده است. درک آمازون یک سرویس کاملاً مدیریت شده است که به شما امکان می‌دهد مدل‌های NLP سفارشی را که مخصوص نیازهای شما هستند، بدون نیاز به تخصص ML بسازید.

در این پست، نحوه استفاده از تکنیک‌های پیشرفته ML برای حل پنج کار مختلف NLP را نشان می‌دهیم: خلاصه‌سازی اسناد، طبقه‌بندی متن، پاسخ به سؤال، شناسایی موجودیت نام‌گذاری شده و استخراج رابطه. برای هر یک از این وظایف NLP، نحوه استفاده را نشان می دهیم آمازون SageMaker برای انجام اقدامات زیر:

  • استقرار و اجرای استنتاج بر روی یک مدل از پیش آموزش دیده
  • مدل از پیش آموزش داده شده را روی یک مجموعه داده سفارشی جدید تنظیم کنید
  • بهبود بیشتر عملکرد تنظیم دقیق با تنظیم خودکار مدل SageMaker
  • ارزیابی عملکرد مدل بر روی داده های آزمون نگهدارنده با معیارهای ارزیابی مختلف

اگرچه در این پست پنج وظیفه NLP خاص را پوشش می‌دهیم، می‌توانید از این راه‌حل به‌عنوان الگویی برای تعمیم مدل‌های از پیش آموزش‌دیده شده با مجموعه داده‌های خود استفاده کنید و متعاقباً برای بهبود دقت، بهینه‌سازی هایپرپارامتر را اجرا کنید.

قالب های راه حل JumpStart

Amazon SageMaker JumpStart راه حل های یک کلیک و سرتاسر برای بسیاری از موارد رایج استفاده از ML ارائه می دهد. برای اطلاعات بیشتر در مورد الگوهای راه حل موجود، موارد استفاده زیر را کاوش کنید:

قالب‌های راه‌حل JumpStart موارد استفاده مختلفی را پوشش می‌دهند، که تحت هر یک از آنها چندین الگوی راه‌حل مختلف ارائه می‌شود (این راه‌حل درک سند در زیر مورد استفاده «استخراج و تجزیه و تحلیل داده‌ها از اسناد» است).

از صفحه فرود JumpStart الگوی راه حلی را انتخاب کنید که به بهترین وجه مناسب مورد استفاده شما باشد. برای اطلاعات بیشتر در مورد راه حل های خاص در هر مورد و نحوه راه اندازی راه حل JumpStart، نگاه کنید الگوهای راه حل.

بررسی اجمالی راه حل

تصویر زیر نشان می دهد که چگونه می توانید از این راه حل با اجزای SageMaker استفاده کنید. مشاغل آموزشی SageMaker برای آموزش مدل های مختلف NLP و نقاط پایانی SageMaker برای استقرار مدل ها در هر مرحله استفاده می شود. ما استفاده می کنیم سرویس ذخیره سازی ساده آمازون (Amazon S3) در کنار SageMaker برای ذخیره داده های آموزشی و مدل سازی مصنوعات و CloudWatch آمازون برای ورود به سیستم آموزشی و خروجی های نقطه پایانی.

راه حل Document Understanding را باز کنید

به راه حل Document Understanding در JumpStart بروید.

اکنون می‌توانیم نگاهی دقیق‌تر به برخی از دارایی‌های موجود در این راه‌حل بیندازیم، که از نوت‌بوک دمو شروع می‌شود.

اطلاعات کلیدی را از اسناد متنی از طریق تنظیم دقیق و HPO با Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence شناسایی کنید. جستجوی عمودی Ai.

نوت بوک نمایشی

می‌توانید از نوت‌بوک آزمایشی برای ارسال داده‌های نمونه به نقاط پایانی مدل از قبل مستقر شده برای خلاصه‌سازی اسناد و وظایف پاسخ‌گویی به سؤال استفاده کنید. نوت بوک نسخه ی نمایشی به سرعت به شما امکان می دهد با جستجو در داده های نمونه، تجربه عملی داشته باشید.

پس از راه‌اندازی راه‌حل Document Understanding، نوت‌بوک آزمایشی را با انتخاب باز کنید از Endpoint در Notebook استفاده کنید.

اطلاعات کلیدی را از اسناد متنی از طریق تنظیم دقیق و HPO با Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence شناسایی کنید. جستجوی عمودی Ai.

بیایید به هر یک از پنج نوت بوک اصلی برای این راه حل عمیق تر بپردازیم.

پیش نیازها

In Amazon SageMaker Studio، مطمئن شوید که از آن استفاده می کنید PyTorch 1.10 Python 3.8 CPU Optimized تصویر/هسته برای باز کردن نوت بوک ها. آموزش از پنج نمونه ml.g4dn.2xlarge استفاده می‌کند، بنابراین باید a را بالا ببرید درخواست افزایش محدودیت خدمات اگر حساب شما نیاز به افزایش محدودیت برای این نوع دارد.

طبقه بندی متن

طبقه بندی متن به طبقه بندی یک جمله ورودی به یکی از برچسب های کلاس مجموعه داده آموزشی اشاره دارد. این نوت بوک نحوه استفاده از JumpStart API برای طبقه بندی متن

استقرار و اجرای استنتاج بر روی مدل از پیش آموزش دیده

مدل طبقه‌بندی متنی که ما برای استفاده انتخاب کرده‌ایم بر اساس جاسازی متن ساخته شده است (tensorflow-tc-bert-en-uncased-L-12-H-768-A-12-2) مدل از تنسورفلو هاب، که در مجموعه داده های ویکی پدیا و BookCorpus از قبل آموزش داده شده است.

مدل موجود برای استقرار با اتصال یک لایه طبقه‌بندی باینری به خروجی مدل جاسازی متن، و سپس تنظیم دقیق کل مدل بر روی ایجاد می‌شود. SST-2 مجموعه داده ای که از نقدهای مثبت و منفی فیلم تشکیل شده است.

برای اجرای استنتاج در این مدل، ابتدا باید محفظه استنتاج را دانلود کنیم (deploy_image_uri) اسکریپت استنتاج (deploy_source_uriو مدل از پیش آموزش دیده (base_model_uri). سپس آن‌ها را به عنوان پارامتر برای نمونه‌سازی یک شی مدل SageMaker ارسال می‌کنیم، که سپس می‌توانیم آن را مستقر کنیم:

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 مجموعه داده می توانید این مجموعه داده را با هر مجموعه داده ای که به آن علاقه دارید جایگزین کنید.

ما ظرف Docker آموزشی، منبع الگوریتم آموزشی و مدل از پیش آموزش دیده را بازیابی می کنیم:

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)

پس از تکمیل کار تنظیم دقیق، مدل را به کار می‌گیریم، استنتاج را روی مجموعه داده‌های تست نگهدارنده اجرا می‌کنیم و معیارهای ارزیابی را محاسبه می‌کنیم. از آنجا که این یک کار طبقه بندی باینری است، ما از آن استفاده می کنیم امتیاز دقت و امتیاز F1 به عنوان معیارهای ارزیابی مقدار بزرگتر نشان دهنده عملکرد بهتر است. تصویر زیر نتایج ما را نشان می دهد.

اطلاعات کلیدی را از اسناد متنی از طریق تنظیم دقیق و HPO با Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence شناسایی کنید. جستجوی عمودی Ai.

با تنظیم خودکار مدل SageMaker، عملکرد تنظیم دقیق را بیشتر بهبود بخشید

در این مرحله، نشان می‌دهیم که چگونه می‌توانید با تنظیم دقیق مدل با تنظیم خودکار مدل SageMaker، عملکرد مدل را بیشتر بهبود بخشید. تنظیم خودکار مدل، همچنین به عنوان بهینه سازی هایپرپارامتر (HPO) شناخته می شود، بهترین نسخه یک مدل را با اجرای چندین کار آموزشی روی مجموعه داده شما با طیف وسیعی از فراپارامترهایی که شما مشخص می کنید، پیدا می کند. سپس مقادیر فراپارامتر را انتخاب می‌کند که منجر به مدلی می‌شود که بهترین عملکرد را، همانطور که با معیاری که شما انتخاب می‌کنید، در مجموعه داده اعتبارسنجی اندازه‌گیری می‌کند.

ابتدا، هدف را به عنوان امتیاز دقت در داده های اعتبار سنجی (val_accuracy) و معیارهایی را برای کار تنظیم با تعیین نام متریک هدف و یک عبارت منظم (regex) تعریف کرد. عبارت منظم برای مطابقت با خروجی گزارش الگوریتم و گرفتن مقادیر عددی معیارها استفاده می شود. در مرحله بعد، محدوده هایپرپارامتر را مشخص می کنیم تا بهترین مقادیر هایپرپارامتر را از بین آنها انتخاب کنیم. ما تعداد کل کارهای تنظیم را XNUMX قرار می دهیم و این کارها را روی سه کار مختلف توزیع می کنیم ابر محاسبه الاستیک آمازون نمونه هایی (Amazon 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 شی به عنوان پارامتری به HyperparameterTuner سازنده و فراخوانی کنید 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})

پس از تکمیل کارهای تنظیم، مدلی را به کار می‌گیریم که بهترین امتیاز معیار ارزیابی را در مجموعه داده اعتبارسنجی می‌دهد، استنتاج را بر روی همان مجموعه داده تست نگهدارنده که در بخش قبل انجام دادیم، انجام می‌دهیم و معیارهای ارزیابی را محاسبه می‌کنیم.

اطلاعات کلیدی را از اسناد متنی از طریق تنظیم دقیق و HPO با Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence شناسایی کنید. جستجوی عمودی Ai.

نتایج نشان می دهد که مدل انتخاب شده با تنظیم خودکار مدل به طور قابل توجهی بهتر از مدل تنظیم شده در بخش قبلی در مجموعه داده آزمایشی نگهدارنده است.

شناسایی موجودیت نامگذاری شده

شناسایی موجودیت نام‌گذاری شده (NER) فرآیند شناسایی و طبقه‌بندی موجودیت‌های نام‌گذاری‌شده به دسته‌های از پیش تعریف‌شده، مانند نام افراد، سازمان‌ها، مکان‌ها و مقادیر است. موارد استفاده در دنیای واقعی بسیاری از NER وجود دارد، مانند موتورهای توصیه، دسته بندی و اختصاص بلیط های پشتیبانی مشتری به بخش مناسب، استخراج اطلاعات ضروری از گزارش های بیماران در مراقبت های بهداشتی، و طبقه بندی محتوا از اخبار و وبلاگ ها.

استقرار و اجرای استنتاج بر روی مدل از پیش آموزش دیده

را مستقر می کنیم En_core_web_md مدل از فضایی کتابخانه spaCy یک کتابخانه NLP منبع باز است که می تواند برای کارهای مختلف استفاده شود و دارای روش های داخلی برای NER است. ما از AWS PyTorch Deep Learning Container (DLC) با حالت اسکریپت استفاده می کنیم و کتابخانه spaCy را به عنوان یک وابستگی در بالای کانتینر نصب می کنیم.

بعد، یک نقطه ورودی برای اسکریپت (استدلال entry_point.py) مشخص شده است که حاوی تمام کدهای دانلود و بارگذاری است En_core_web_md داده هایی که به نقطه پایانی ارسال می شوند را مدل کرده و استنتاج انجام دهید. در نهایت، ما هنوز باید ارائه دهیم model_data به عنوان مدل از پیش آموزش دیده برای استنتاج. از آنجا که از قبل آموزش دیده است En_core_web_md مدل در پرواز دانلود می شود، که در اسکریپت ورودی مشخص شده است، ما یک فایل بایگانی خالی ارائه می دهیم. پس از استقرار نقطه پایانی، می توانید با استفاده از SageMaker Python SDK، نقطه پایانی را مستقیماً از نوت بوک فراخوانی کنید. 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}]

مدل از پیش آموزش دیده را روی یک مجموعه داده سفارشی تنظیم دقیق کنید

در این مرحله، نحوه تنظیم دقیق مدل‌های زبان از پیش آموزش‌دیده برای NER را در مجموعه داده‌های خود نشان می‌دهیم. مرحله تنظیم دقیق، پارامترهای مدل را به‌روزرسانی می‌کند تا ویژگی‌های داده‌های خود را ثبت کند و دقت را بهبود بخشد. ما استفاده می کنیم WikiANN مجموعه داده (PAN-X) برای تنظیم دقیق DistilBERT-base-uncased مدل ترانسفورماتور از Hugging Face.

مجموعه داده به مجموعه های آموزشی، اعتبار سنجی و آزمایش تقسیم می شود.

در مرحله بعد، هایپرپارامترهای مدل را مشخص می کنیم و از یک DLC AWS Hugging Face با حالت اسکریپت (آرگومنت) استفاده می کنیم. 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
)

پس از تکمیل کار تنظیم دقیق، یک نقطه پایانی را مستقر می کنیم و آن نقطه پایانی را با داده های تست نگهدارنده جستجو می کنیم. برای پرس و جو در نقطه پایانی، هر رشته متنی باید به یک یا چند توکن تبدیل شود و به مدل ترانسفورماتور ارسال شود. هر توکن یک تگ موجودیت با نام پیش بینی شده دریافت می کند. از آنجایی که هر رشته متنی را می توان به یک یا چند توکن تبدیل کرد، باید تگ موجودیت به نام حقیقت پایه رشته را به تمام نشانه هایی که به آن مرتبط هستند کپی کنیم. نوت بوک ارائه شده شما را از طریق مراحل رسیدن به این هدف راهنمایی می کند.

در نهایت، ما از معیارهای ارزیابی داخلی Hugging Face استفاده می‌کنیم seqeval برای محاسبه نمرات ارزیابی بر روی داده های آزمون نگهدارنده. معیارهای ارزیابی مورد استفاده عبارتند از: دقت کلی، فراخوانی کلی، F1 کلی و دقت. تصویر زیر نتایج ما را نشان می دهد.

اطلاعات کلیدی را از اسناد متنی از طریق تنظیم دقیق و HPO با Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence شناسایی کنید. جستجوی عمودی Ai.

با تنظیم خودکار مدل 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)

پس از تکمیل کارهای تنظیم، مدلی را به کار می‌گیریم که بهترین امتیاز معیار ارزیابی را در مجموعه داده اعتبارسنجی می‌دهد، استنتاج را بر روی همان مجموعه داده تست نگهدارنده که در بخش قبل انجام دادیم، انجام می‌دهیم و معیارهای ارزیابی را محاسبه می‌کنیم.

اطلاعات کلیدی را از اسناد متنی از طریق تنظیم دقیق و HPO با Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence شناسایی کنید. جستجوی عمودی Ai.

می‌توانیم ببینیم که مدل با HPO عملکرد بهتری را در تمام معیارها به دست می‌آورد.

جواب سوال

پاسخ به سوال زمانی مفید است که می خواهید مقدار زیادی متن را برای اطلاعات خاص جستجو کنید. این به کاربر اجازه می دهد تا یک سوال را به زبان طبیعی بیان کند و یک پاسخ فوری و مختصر دریافت کند. سیستم های پاسخگویی به سوال که توسط NLP ارائه می شوند را می توان در موتورهای جستجو و رابط های مکالمه تلفنی استفاده کرد.

استقرار و اجرای استنتاج بر روی مدل از پیش آموزش دیده

مدل از پیش آموزش دیده ما، مدل پاسخ به سؤال استخراجی (EQA) است برت-بزرگ-بدون حفاظ-کل-کلمه-پوشاندن-جذب-جوخه ساخته شده بر روی یک مدل ترانسفورماتور از Hugging Face. ما از یک DLC AWS PyTorch با حالت اسکریپت استفاده می کنیم و آن را نصب می کنیم ترانسفورماتور کتابخانه به عنوان یک وابستگی در بالای ظرف. مشابه وظیفه NER، یک فایل بایگانی خالی در آرگومان ارائه می کنیم model_data زیرا مدل از پیش آموزش دیده در پرواز دانلود می شود. پس از استقرار نقطه پایانی، می توانید با استفاده از SageMaker Python SDK، نقطه پایانی را مستقیماً از نوت بوک فراخوانی کنید. 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 روی مجموعه داده خود تنظیم کنید. مرحله تنظیم دقیق، پارامترهای مدل را به‌روزرسانی می‌کند تا ویژگی‌های داده‌های خود را ثبت کند و دقت را بهبود بخشد. ما استفاده می کنیم SQUAD2.0 مجموعه داده برای تنظیم دقیق مدل جاسازی متن پایه برت-بدون محفظه از در آغوش گرفتن صورت. مدل موجود برای تنظیم دقیق یک لایه استخراج پاسخ را به مدل جاسازی متن متصل می کند و پارامترهای لایه را به مقادیر تصادفی مقداردهی اولیه می کند. مرحله تنظیم دقیق تمام پارامترهای مدل را برای به حداقل رساندن خطای پیش‌بینی در داده‌های ورودی دقیق تنظیم می‌کند و مدل دقیق تنظیم شده را برمی‌گرداند.

مشابه کار طبقه بندی متن، مجموعه داده (SQuAD2.0) به آموزش، اعتبار سنجی و مجموعه تست تقسیم می شود.

در مرحله بعد، ما فراپارامترهای مدل را مشخص کرده و از آن استفاده می کنیم JumpStart API برای راه اندازی یک کار تنظیم دقیق:

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 است. تصویر زیر نتایج را نشان می دهد.

اطلاعات کلیدی را از اسناد متنی از طریق تنظیم دقیق و HPO با Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence شناسایی کنید. جستجوی عمودی Ai.

با تنظیم خودکار مدل 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 با Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence شناسایی کنید. جستجوی عمودی Ai.

ما می توانیم ببینیم که مدل با HPO عملکرد قابل توجهی بهتری در داده های تست نگهدارنده نشان می دهد.

استخراج رابطه

استخراج رابطه وظیفه استخراج روابط معنایی از متن است که معمولاً بین دو یا چند موجودیت اتفاق می افتد. استخراج رابطه نقش مهمی در استخراج اطلاعات ساختاریافته از منابع بدون ساختار مانند متن خام دارد. در این نوت بوک، دو مورد استفاده از استخراج رابطه را نشان می دهیم.

مدل از پیش آموزش دیده را روی یک مجموعه داده سفارشی تنظیم دقیق کنید

ما از یک مدل استخراج رابطه ساخته شده بر روی a استفاده می کنیم BERT-base-uncased مدل با استفاده از ترانسفورماتور از ترانسفورماتورهای صورت بغل کردن کتابخانه مدل برای تنظیم دقیق یک لایه طبقه‌بندی خطی را متصل می‌کند که یک جفت جاسازی توکن را می‌گیرد که توسط مدل جاسازی متن خروجی می‌شود و پارامترهای لایه را به مقادیر تصادفی مقداردهی اولیه می‌کند. مرحله تنظیم دقیق تمام پارامترهای مدل را برای به حداقل رساندن خطای پیش‌بینی در داده‌های ورودی دقیق تنظیم می‌کند و مدل دقیق تنظیم شده را برمی‌گرداند.

مجموعه داده ای که ما مدل را به دقت تنظیم می کنیم SemEval-2010 Task 8. مدل بازگشتی با تنظیم دقیق را می توان برای استنتاج بیشتر به کار برد.

مجموعه داده شامل آموزش، اعتبار سنجی و مجموعه تست است.

ما از DLC AWS PyTorch با یک حالت اسکریپت از SageMaker Python SDK استفاده می کنیم، جایی که transformers کتابخانه به عنوان وابستگی در بالای ظرف نصب می شود. ما SageMaker را تعریف می کنیم 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 دقیقه طول می کشد. ما از این مدل برای انجام استنتاج در مجموعه آزمون نگهدارنده و ارزیابی نتایج استفاده می‌کنیم دقت, ماکرو F1و F1 میکرو امتیازات تصویر زیر نمرات ارزیابی را نشان می دهد.

اطلاعات کلیدی را از اسناد متنی از طریق تنظیم دقیق و HPO با Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence شناسایی کنید. جستجوی عمودی Ai.

با تنظیم خودکار مدل SageMaker، عملکرد تنظیم دقیق را بیشتر بهبود بخشید

مشابه قسمت های قبلی از a استفاده می کنیم HyperparameterTuner شی برای تعامل با APIهای تنظیم فراپارامتر SageMaker. ما می توانیم کار تنظیم هایپرپارامتر را با فراخوانی شروع کنیم 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 با Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence شناسایی کنید. جستجوی عمودی Ai.

می‌توانیم ببینیم که مدل با HPO عملکرد بهتری را در داده‌های تست نگهدارنده نشان می‌دهد.

خلاصه سند

خلاصه‌سازی سند یا متن وظیفه متراکم کردن مقادیر زیادی از داده‌های متنی در زیرمجموعه کوچک‌تری از جملات معنادار است که نشان‌دهنده مهم‌ترین یا مرتبط‌ترین اطلاعات در محتوای اصلی است. خلاصه کردن اسناد یک تکنیک مفید برای تقطیر اطلاعات مهم از مقادیر زیاد داده های متنی به چند جمله است. خلاصه سازی متن در بسیاری از موارد استفاده می شود، مانند پردازش اسناد و استخراج اطلاعات از وبلاگ ها، مقالات و اخبار.

این نوت بوک استقرار مدل خلاصه سازی سند را نشان می دهد پایه T5 از ترانسفورماتورهای صورت بغل کردن کتابخانه ما همچنین نقاط پایانی مستقر شده را با استفاده از یک مقاله متنی آزمایش می کنیم و نتایج را با استفاده از معیار ارزیابی داخلی Hugging Face ارزیابی می کنیم. RED.

مشابه پاسخگویی به سوالات و نوت بوک های NER، ما از PyTorchModel از SageMaker Python SDK به همراه یک 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 بین متن تولید شده توسط مدل (نتیجه خلاصه سازی) و الف 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. هر نوت بوک همچنین یک بخش پاکسازی با کد برای حذف نقاط پایانی ارائه می دهد.

اطلاعات کلیدی را از اسناد متنی از طریق تنظیم دقیق و HPO با Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence شناسایی کنید. جستجوی عمودی Ai.

نتیجه

در این پست، نحوه استفاده از تکنیک‌های پیشرفته ML برای حل پنج کار مختلف NLP را نشان دادیم: خلاصه‌سازی اسناد، طبقه‌بندی متن، پرسش و پاسخ، شناسایی موجودیت نام‌گذاری شده، و استخراج رابطه با استفاده از Jumpstart. اکنون با Jumpstart شروع کنید!


درباره نویسنده

اطلاعات کلیدی را از اسناد متنی از طریق تنظیم دقیق و HPO با Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence شناسایی کنید. جستجوی عمودی Ai.دکتر شین هوانگ یک دانشمند کاربردی برای آمازون SageMaker JumpStart و آمازون SageMaker الگوریتم های داخلی است. او بر روی توسعه الگوریتم های یادگیری ماشینی مقیاس پذیر تمرکز می کند. علایق تحقیقاتی او در زمینه پردازش زبان طبیعی، یادگیری عمیق قابل توضیح بر روی داده های جدولی و تجزیه و تحلیل قوی خوشه بندی ناپارامتریک فضا-زمان است. او مقالات زیادی را در کنفرانس‌های ACL، ICDM، KDD و مجله Royal Statistical Society: Series A منتشر کرده است.

اطلاعات کلیدی را از اسناد متنی از طریق تنظیم دقیق و HPO با Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence شناسایی کنید. جستجوی عمودی Ai.ویوک گانگاسانی یک معمار ارشد راه حل های یادگیری ماشین در خدمات وب آمازون است. او به استارت‌آپ‌ها کمک می‌کند تا اپلیکیشن‌های AI/ML را بسازند و عملیاتی کنند. او در حال حاضر بر ترکیب پیشینه خود در Containers و Machine Learning برای ارائه راه حل هایی در MLOps، ML Inference و ML با کد کم متمرکز است. او در اوقات فراغت خود از امتحان رستوران های جدید و کاوش در روندهای نوظهور در هوش مصنوعی و یادگیری عمیق لذت می برد.

اطلاعات کلیدی را از اسناد متنی از طریق تنظیم دقیق و HPO با Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence شناسایی کنید. جستجوی عمودی Ai.گرمی کوهن یک معمار راه حل با AWS است که در آن به مشتریان کمک می کند تا راه حل های پیشرفته و مبتنی بر ابر بسازند. او در اوقات فراغت خود از پیاده‌روی کوتاه در ساحل، کاوش در منطقه خلیج با خانواده‌اش، تعمیر وسایل اطراف خانه، شکستن وسایل اطراف خانه و باربیکیو لذت می‌برد.

اطلاعات کلیدی را از اسناد متنی از طریق تنظیم دقیق و HPO با Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence شناسایی کنید. جستجوی عمودی Ai.نیلم کوشیا یک معمار راه حل سازمانی در AWS است. تمرکز فعلی او کمک به مشتریان سازمانی در سفر پذیرش ابری برای نتایج استراتژیک تجاری است. در اوقات فراغت خود از خواندن و بیرون بودن لذت می برد.

تمبر زمان:

بیشتر از آموزش ماشین AWS