Xác định những hiểu biết quan trọng từ tài liệu văn bản thông qua tinh chỉnh và HPO với Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái.

Xác định những hiểu biết chính từ tài liệu văn bản thông qua tinh chỉnh và HPO với Amazon SageMaker JumpStart

Các tổ chức trong các ngành như bán lẻ, ngân hàng, tài chính, y tế, sản xuất và cho vay thường phải xử lý một lượng lớn tài liệu văn bản phi cấu trúc đến từ nhiều nguồn khác nhau, chẳng hạn như tin tức, blog, đánh giá sản phẩm, kênh hỗ trợ khách hàng và phương tiện truyền thông xã hội. Những tài liệu này chứa thông tin quan trọng là chìa khóa để đưa ra các quyết định kinh doanh quan trọng. Khi một tổ chức phát triển, việc trích xuất thông tin quan trọng từ các tài liệu này trở thành một thách thức. Với sự tiến bộ của kỹ thuật xử lý ngôn ngữ tự nhiên (NLP) và máy học (ML), chúng ta có thể khám phá những hiểu biết và kết nối có giá trị từ các tài liệu văn bản này một cách nhanh chóng và với độ chính xác cao, từ đó giúp các công ty đưa ra các quyết định kinh doanh chất lượng đúng thời hạn. Các dịch vụ NLP được quản lý hoàn toàn cũng đã đẩy nhanh việc áp dụng NLP. Amazon hiểu là một dịch vụ được quản lý hoàn toàn cho phép bạn xây dựng các mô hình NLP tùy chỉnh dành riêng cho các yêu cầu của bạn mà không cần bất kỳ kiến ​​thức chuyên môn nào về ML.

Trong bài đăng này, chúng tôi trình bày cách sử dụng các kỹ thuật ML tiên tiến nhất để giải quyết năm tác vụ NLP khác nhau: tóm tắt tài liệu, phân loại văn bản, trả lời câu hỏi, nhận dạng thực thể được đặt tên và trích xuất mối quan hệ. Đối với mỗi nhiệm vụ NLP này, chúng tôi trình bày cách sử dụng Amazon SageMaker để thực hiện các hành động sau:

  • Triển khai và chạy suy luận trên một mô hình được đào tạo trước
  • Tinh chỉnh mô hình được đào tạo trước trên tập dữ liệu tùy chỉnh mới
  • Cải thiện hơn nữa hiệu suất tinh chỉnh với SageMaker điều chỉnh mô hình tự động
  • Đánh giá hiệu suất của mô hình trên dữ liệu thử nghiệm tạm dừng với các chỉ số đánh giá khác nhau

Mặc dù chúng tôi đề cập đến năm nhiệm vụ NLP cụ thể trong bài đăng này, nhưng bạn có thể sử dụng giải pháp này làm mẫu để tổng quát hóa các mô hình được đào tạo trước, tinh chỉnh với tập dữ liệu của riêng bạn và sau đó chạy tối ưu hóa siêu tham số để cải thiện độ chính xác.

Các mẫu giải pháp JumpStart

Khởi động Amazon SageMaker cung cấp các giải pháp toàn diện, chỉ bằng một cú nhấp chuột cho nhiều trường hợp sử dụng ML phổ biến. Khám phá các trường hợp sử dụng sau để biết thêm thông tin về các mẫu giải pháp có sẵn:

Các mẫu giải pháp JumpStart bao gồm nhiều trường hợp sử dụng khác nhau, trong mỗi trường hợp có một số mẫu giải pháp khác nhau được cung cấp (giải pháp Hiểu tài liệu này nằm trong trường hợp sử dụng “Trích xuất và phân tích dữ liệu từ tài liệu”).

Chọn mẫu giải pháp phù hợp nhất với trường hợp sử dụng của bạn từ trang đích JumpStart. Để biết thêm thông tin về các giải pháp cụ thể trong từng trường hợp sử dụng và cách khởi chạy giải pháp JumpStart, hãy xem Mẫu giải pháp.

Tổng quan về giải pháp

Hình ảnh sau đây minh họa cách bạn có thể sử dụng giải pháp này với các thành phần SageMaker. Các công việc đào tạo SageMaker được sử dụng để đào tạo các mô hình NLP khác nhau và các điểm cuối SageMaker được sử dụng để triển khai các mô hình trong từng giai đoạn. Chúng tôi sử dụng Dịch vụ lưu trữ đơn giản của Amazon (Amazon S3) cùng với SageMaker để lưu trữ dữ liệu huấn luyện và tạo phẩm mô hình, đồng thời amazoncloudwatch để ghi nhật ký đầu ra đào tạo và điểm cuối.

Mở giải pháp Hiểu tài liệu

Điều hướng đến giải pháp Hiểu tài liệu trong JumpStart.

Bây giờ chúng ta có thể xem xét kỹ hơn một số nội dung được bao gồm trong giải pháp này, bắt đầu với sổ ghi chép demo.

Xác định những hiểu biết quan trọng từ tài liệu văn bản thông qua tinh chỉnh và HPO với Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái.

Sổ ghi chép demo

Bạn có thể sử dụng sổ ghi chép demo để gửi dữ liệu mẫu đến các điểm cuối mô hình đã được triển khai cho các tác vụ trả lời câu hỏi và tóm tắt tài liệu. Sổ tay demo nhanh chóng cho phép bạn có được trải nghiệm thực tế bằng cách truy vấn dữ liệu mẫu.

Sau khi bạn khởi chạy giải pháp Hiểu tài liệu, hãy mở sổ tay minh họa bằng cách chọn Sử dụng Endpoint trong Notebook.

Xác định những hiểu biết quan trọng từ tài liệu văn bản thông qua tinh chỉnh và HPO với Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái.

Hãy tìm hiểu sâu hơn về từng sổ ghi chép trong số năm sổ ghi chép chính cho giải pháp này.

Điều kiện tiên quyết

In Xưởng sản xuất Amazon SageMaker, đảm bảo bạn đang sử dụng PyTorch 1.10 Python 3.8 CPU Optimized image/kernel để mở sổ ghi chép. Quá trình đào tạo sử dụng năm phiên bản ml.g4dn.2xlarge, vì vậy bạn nên nâng cao yêu cầu tăng giới hạn dịch vụ nếu tài khoản của bạn yêu cầu tăng giới hạn cho loại này.

Phân loại văn bản

Phân loại văn bản đề cập đến việc phân loại một câu đầu vào thành một trong các nhãn lớp của tập dữ liệu huấn luyện. Sổ ghi chép này trình bày cách sử dụng API Khởi động để phân loại văn bản.

Triển khai và chạy suy luận trên mô hình được đào tạo trước

Mô hình phân loại văn bản mà chúng tôi đã chọn sử dụng được xây dựng trên cơ sở nhúng văn bản (tensorflow-tc-bert-en-uncased-L-12-H-768-A-12-2) mô hình từ Trung tâm TensorFlow, được đào tạo trước trên bộ dữ liệu Wikipedia và BookCorpus.

Mô hình có sẵn để triển khai được tạo bằng cách gắn một lớp phân loại nhị phân vào đầu ra của mô hình nhúng văn bản, sau đó tinh chỉnh toàn bộ mô hình trên SST-2 bộ dữ liệu, bao gồm các đánh giá phim tích cực và tiêu cực.

Để chạy suy luận trên mô hình này, trước tiên chúng ta cần tải xuống bộ chứa suy luận (deploy_image_uri), tập lệnh suy luận (deploy_source_uri) và mô hình được đào tạo trước (base_model_uri). Sau đó, chúng tôi chuyển các tham số đó dưới dạng tham số để khởi tạo một đối tượng mô hình SageMaker, sau đó chúng tôi có thể triển khai:

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,
)

Sau khi chúng tôi triển khai mô hình, chúng tôi tập hợp một số đầu vào ví dụ và truy vấn điểm cuối:

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

Đoạn mã sau hiển thị phản hồi của chúng tôi:

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

Tinh chỉnh mô hình được đào tạo trước trên tập dữ liệu tùy chỉnh

Chúng ta vừa xem qua việc chạy suy luận trên một mô hình BERT đã được đào tạo trước, được tinh chỉnh trên SST-2 tập dữ liệu.

Tiếp theo, chúng tôi thảo luận về cách tinh chỉnh mô hình trên tập dữ liệu tùy chỉnh với bất kỳ số lượng lớp nào. Bộ dữ liệu chúng tôi sử dụng để tinh chỉnh vẫn là SST-2 tập dữ liệu. Bạn có thể thay thế tập dữ liệu này bằng bất kỳ tập dữ liệu nào mà bạn quan tâm.

Chúng tôi truy xuất vùng chứa Docker đào tạo, nguồn thuật toán đào tạo và mô hình được đào tạo trước:

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"
)

Đối với các siêu đường kính dành riêng cho thuật toán, chúng tôi bắt đầu bằng cách tìm nạp một từ điển Python về các siêu đường kính đào tạo mà thuật toán chấp nhận với các giá trị mặc định của chúng. Bạn có thể ghi đè chúng bằng các giá trị tùy chỉnh, như được hiển thị trong đoạn mã sau:

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"

Bộ dữ liệu (SST-2) được chia thành các tập huấn luyện, xác thực và kiểm tra, trong đó tập huấn luyện được sử dụng để phù hợp với mô hình, tập xác thực được sử dụng để tính toán các chỉ số đánh giá có thể được sử dụng cho HPO và tập kiểm tra được sử dụng làm dữ liệu lưu giữ để đánh giá hiệu suất của mô hình. Tiếp theo, tập dữ liệu đào tạo và xác thực được tải lên Amazon S3 và được sử dụng để khởi chạy công việc đào tạo tinh chỉnh:

# 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)

Sau khi công việc tinh chỉnh hoàn tất, chúng tôi triển khai mô hình, chạy suy luận trên tập dữ liệu thử nghiệm tạm dừng và tính toán các chỉ số đánh giá. Bởi vì đó là một nhiệm vụ phân loại nhị phân, chúng tôi sử dụng điểm chính xácĐiểm F1 như các thước đo đánh giá. Một giá trị lớn hơn cho thấy hiệu suất tốt hơn. Ảnh chụp màn hình sau đây cho thấy kết quả của chúng tôi.

Xác định những hiểu biết quan trọng từ tài liệu văn bản thông qua tinh chỉnh và HPO với Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái.

Cải thiện hơn nữa hiệu suất tinh chỉnh với tính năng điều chỉnh mô hình tự động của SageMaker

Trong bước này, chúng tôi trình bày cách bạn có thể cải thiện hơn nữa hiệu suất của mô hình bằng cách tinh chỉnh mô hình bằng tính năng điều chỉnh mô hình tự động của SageMaker. Điều chỉnh mô hình tự động, còn được gọi là tối ưu hóa siêu tham số (HPO), tìm phiên bản tốt nhất của mô hình bằng cách chạy nhiều công việc đào tạo trên tập dữ liệu của bạn với một loạt siêu tham số mà bạn chỉ định. Sau đó, nó chọn các giá trị siêu tham số dẫn đến một mô hình hoạt động tốt nhất, như được đo bằng chỉ số mà bạn chọn, trên tập dữ liệu xác thực.

Đầu tiên, chúng tôi đặt mục tiêu là điểm chính xác trên dữ liệu xác thực (val_accuracy) và các chỉ số đã xác định cho công việc điều chỉnh bằng cách chỉ định tên chỉ số mục tiêu và một biểu thức chính quy (regex). Cụm từ thông dụng được sử dụng để khớp với đầu ra nhật ký của thuật toán và nắm bắt các giá trị số của chỉ số. Tiếp theo, chúng tôi chỉ định các phạm vi siêu tham số để chọn các giá trị siêu tham số tốt nhất từ ​​đó. Chúng tôi đặt tổng số công việc điều chỉnh là sáu và phân phối các công việc này trên ba công việc khác nhau. Đám mây điện toán đàn hồi Amazon (Amazon EC2) để chạy các tác vụ điều chỉnh song song. Xem đoạn mã sau:

# 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

Chúng tôi chuyển các giá trị đó để khởi tạo một đối tượng Công cụ ước tính SageMaker, tương tự như những gì chúng tôi đã làm trong bước tinh chỉnh trước đó. Thay vì gọi các fit chức năng của Estimator đối tượng, chúng tôi vượt qua Estimator đối tượng trong như một tham số cho Siêu tham sốTuner hàm tạo và gọi fit chức năng của nó để khởi động công việc điều chỉnh:

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})

Sau khi công việc điều chỉnh hoàn tất, chúng tôi triển khai mô hình mang lại điểm chỉ số đánh giá tốt nhất trên tập dữ liệu xác thực, thực hiện suy luận trên cùng một tập dữ liệu thử nghiệm tạm dừng mà chúng tôi đã thực hiện trong phần trước và tính toán chỉ số đánh giá.

Xác định những hiểu biết quan trọng từ tài liệu văn bản thông qua tinh chỉnh và HPO với Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái.

Kết quả cho thấy mô hình được chọn bằng cách điều chỉnh mô hình tự động vượt trội hơn đáng kể so với mô hình được tinh chỉnh trong phần trước trên bộ dữ liệu thử nghiệm tạm dừng.

Được công nhận thực thể

Nhận dạng thực thể được đặt tên (NER) là quá trình phát hiện và phân loại các thực thể được đặt tên thành các danh mục được xác định trước, chẳng hạn như tên của người, tổ chức, địa điểm và số lượng. Có nhiều trường hợp sử dụng NER trong thế giới thực, chẳng hạn như công cụ đề xuất, phân loại và chỉ định phiếu hỗ trợ khách hàng cho đúng bộ phận, trích xuất thông tin cần thiết từ các báo cáo của bệnh nhân trong lĩnh vực chăm sóc sức khỏe và phân loại nội dung từ tin tức và blog.

Triển khai và chạy suy luận trên mô hình được đào tạo trước

Chúng tôi triển khai En_core_web_md mô hình từ spaCy thư viện. spaCy là một thư viện NLP nguồn mở có thể được sử dụng cho nhiều tác vụ khác nhau và có các phương thức tích hợp sẵn cho NER. Chúng tôi sử dụng Bộ chứa AWS PyTorch Deep Learning (DLC) với chế độ tập lệnh và cài đặt thư viện spaCy dưới dạng phần phụ thuộc ở đầu bộ chứa.

Tiếp theo, một điểm vào cho tập lệnh (đối số entry_point.py) được chỉ định, chứa tất cả mã để tải xuống và tải tệp En_core_web_md lập mô hình và thực hiện suy luận trên dữ liệu được gửi đến điểm cuối. Cuối cùng, chúng ta vẫn cần cung cấp model_data như mô hình được đào tạo trước để suy luận. Vì đã được đào tạo trước En_core_web_md mô hình được tải xuống nhanh chóng, được chỉ định trong tập lệnh nhập cảnh, chúng tôi cung cấp một tệp lưu trữ trống. Sau khi điểm cuối được triển khai, bạn có thể gọi điểm cuối trực tiếp từ sổ ghi chép bằng SageMaker Python SDK's Predictor. Xem mã sau đây:

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()
)

Dữ liệu đầu vào cho mô hình là một tài liệu văn bản. Mô hình thực thể được đặt tên trích xuất các khối danh từ và các thực thể được đặt tên trong tài liệu văn bản và phân loại chúng thành một số loại khác nhau (chẳng hạn như người, địa điểm và tổ chức). Ví dụ đầu vào và đầu ra được hiển thị trong đoạn mã sau. Các start_char tham số cho biết độ lệch ký tự khi bắt đầu khoảng và end_char chỉ ra sự kết thúc của nhịp.

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}]

Tinh chỉnh mô hình được đào tạo trước trên tập dữ liệu tùy chỉnh

Trong bước này, chúng tôi trình bày cách tinh chỉnh mô hình ngôn ngữ được đào tạo trước cho NER trên tập dữ liệu của riêng bạn. Bước tinh chỉnh cập nhật các tham số mô hình để nắm bắt đặc điểm của dữ liệu của riêng bạn và cải thiện độ chính xác. chúng tôi sử dụng WikiANN (PAN-X) để tinh chỉnh DistilBERT-base-unased Người mẫu biến hình từ Ôm Mặt.

Tập dữ liệu được chia thành các tập huấn luyện, xác nhận và kiểm tra.

Tiếp theo, chúng tôi chỉ định siêu tham số của mô hình và sử dụng DLC ​​AWS Hugging Face với chế độ tập lệnh (đối số entry_point) để kích hoạt công việc tinh chỉnh:

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
)

Sau khi công việc tinh chỉnh hoàn tất, chúng tôi triển khai một điểm cuối và truy vấn điểm cuối đó bằng dữ liệu kiểm tra tạm dừng. Để truy vấn điểm cuối, mỗi chuỗi văn bản cần được mã hóa thành một hoặc nhiều mã thông báo và gửi đến mô hình máy biến áp. Mỗi mã thông báo nhận được một thẻ thực thể được đặt tên dự đoán. Bởi vì mỗi chuỗi văn bản có thể được mã hóa thành một hoặc nhiều mã thông báo, nên chúng tôi cần sao chép thẻ thực thể có tên là sự thật cơ bản của chuỗi cho tất cả các mã thông báo được liên kết với nó. Sổ ghi chép được cung cấp sẽ hướng dẫn bạn các bước để đạt được điều này.

Cuối cùng, chúng tôi sử dụng các chỉ số đánh giá tích hợp Hugging Face tuần tự để tính điểm đánh giá trên dữ liệu kiểm tra giữ lại. Các chỉ số đánh giá được sử dụng là độ chính xác tổng thể, khả năng thu hồi tổng thể, F1 tổng thể và độ chính xác. Ảnh chụp màn hình sau đây cho thấy kết quả của chúng tôi.

Xác định những hiểu biết quan trọng từ tài liệu văn bản thông qua tinh chỉnh và HPO với Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái.

Cải thiện hơn nữa hiệu suất tinh chỉnh với tính năng điều chỉnh mô hình tự động của SageMaker

Tương tự như phân loại văn bản, chúng tôi trình bày cách bạn có thể cải thiện hơn nữa hiệu suất của mô hình bằng cách tinh chỉnh mô hình bằng tính năng điều chỉnh mô hình tự động của SageMaker. Để chạy tác vụ điều chỉnh, chúng tôi cần xác định một số liệu khách quan mà chúng tôi muốn sử dụng để đánh giá hiệu suất của mô hình trên tập dữ liệu xác thực (điểm F1 trong trường hợp này), phạm vi siêu tham số để chọn các giá trị siêu tham số tốt nhất, cũng như các cấu hình tác vụ điều chỉnh chẳng hạn như số lượng công việc điều chỉnh tối đa và số lượng công việc song song để khởi chạy tại một thời điểm:

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)

Sau khi công việc điều chỉnh hoàn tất, chúng tôi triển khai mô hình mang lại điểm chỉ số đánh giá tốt nhất trên tập dữ liệu xác thực, thực hiện suy luận trên cùng một tập dữ liệu thử nghiệm tạm dừng mà chúng tôi đã thực hiện trong phần trước và tính toán chỉ số đánh giá.

Xác định những hiểu biết quan trọng từ tài liệu văn bản thông qua tinh chỉnh và HPO với Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái.

Chúng ta có thể thấy rằng mô hình với HPO đạt được hiệu suất tốt hơn đáng kể trên tất cả các chỉ số.

Câu trả lời câu hỏi

Trả lời câu hỏi rất hữu ích khi bạn muốn truy vấn một lượng lớn văn bản để biết thông tin cụ thể. Nó cho phép người dùng diễn đạt một câu hỏi bằng ngôn ngữ tự nhiên và nhận được phản hồi ngay lập tức và ngắn gọn. Các hệ thống trả lời câu hỏi do NLP cung cấp có thể được sử dụng trong các công cụ tìm kiếm và giao diện đàm thoại qua điện thoại.

Triển khai và chạy suy luận trên mô hình được đào tạo trước

Mô hình được đào tạo trước của chúng tôi là mô hình trả lời câu hỏi khai thác (EQA) bert-big-uncased-whole-word-masking-finetuned-squad được xây dựng dựa trên mô hình Transformer từ Ôm mặt. Chúng tôi sử dụng DLC ​​AWS PyTorch với chế độ tập lệnh và cài đặt máy biến áp thư viện dưới dạng phụ thuộc ở trên cùng của vùng chứa. Tương tự như tác vụ NER, chúng tôi cung cấp tệp lưu trữ trống trong đối số model_data bởi vì mô hình được đào tạo trước được tải xuống nhanh chóng. Sau khi điểm cuối được triển khai, bạn có thể gọi điểm cuối trực tiếp từ sổ ghi chép bằng SageMaker Python SDK's Predictor. Xem mã sau đây:

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",
    },
)

Sau khi điểm cuối được triển khai thành công và bộ dự đoán được định cấu hình, chúng ta có thể thử mô hình trả lời câu hỏi trên các đầu vào mẫu. Mô hình này đã được đào tạo trước trên Bộ dữ liệu câu hỏi và trả lời của Stanford (SQuAD) bộ dữ liệu. Bộ dữ liệu này được giới thiệu với hy vọng tiếp tục phát triển lĩnh vực mô hình trả lời câu hỏi. Đó là một bộ dữ liệu đọc hiểu bao gồm các đoạn văn, câu hỏi và câu trả lời.

Tất cả những gì chúng ta cần làm là xây dựng một đối tượng từ điển với hai khóa. context là văn bản mà chúng tôi muốn lấy thông tin từ đó. question là truy vấn ngôn ngữ tự nhiên chỉ định thông tin nào chúng tôi muốn trích xuất. Chúng tôi gọi predict trên công cụ dự đoán của chúng tôi và chúng tôi sẽ nhận được phản hồi từ điểm cuối chứa các câu trả lời có khả năng xảy ra nhất:

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

Chúng tôi có câu trả lời và chúng tôi có thể in ra những câu trả lời có khả năng nhất đã được trích xuất từ ​​​​văn bản trước đó. Mỗi câu trả lời có một điểm tin cậy được sử dụng để xếp hạng (nhưng điểm số này không nên được hiểu là xác suất thực). Ngoài câu trả lời đúng nguyên văn, bạn cũng nhận được chỉ số ký tự bắt đầu và kết thúc của câu trả lời từ ngữ cảnh ban đầu:

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'}]

Bây giờ, chúng tôi tinh chỉnh mô hình này bằng tập dữ liệu tùy chỉnh của riêng mình để có kết quả tốt hơn.

Tinh chỉnh mô hình được đào tạo trước trên tập dữ liệu tùy chỉnh

Trong bước này, chúng tôi trình bày cách tinh chỉnh mô hình ngôn ngữ được đào tạo trước cho EQA trên tập dữ liệu của riêng bạn. Bước tinh chỉnh cập nhật các tham số mô hình để nắm bắt đặc điểm của dữ liệu của riêng bạn và cải thiện độ chính xác. chúng tôi sử dụng SQuAD2.0 tập dữ liệu để tinh chỉnh mô hình nhúng văn bản bert-base-không phân biệt từ Ôm Mặt. Mô hình có sẵn để tinh chỉnh gắn một lớp trích xuất câu trả lời vào mô hình nhúng văn bản và khởi tạo các tham số lớp thành các giá trị ngẫu nhiên. Bước tinh chỉnh sẽ tinh chỉnh tất cả các tham số của mô hình để giảm thiểu lỗi dự đoán trên dữ liệu đầu vào và trả về mô hình đã tinh chỉnh.

Tương tự như tác vụ phân loại văn bản, tập dữ liệu (SQuAD2.0) được chia thành tập huấn luyện, xác thực và kiểm tra.

Tiếp theo, chúng tôi chỉ định các siêu tham số của mô hình và sử dụng API Khởi động để kích hoạt một công việc tinh chỉnh:

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)

Sau khi công việc tinh chỉnh hoàn tất, chúng tôi triển khai mô hình, chạy suy luận trên tập dữ liệu thử nghiệm tạm dừng và tính toán các chỉ số đánh giá. Các số liệu đánh giá được sử dụng là điểm khớp chính xác trung bình và điểm F1 trung bình. Ảnh chụp màn hình sau đây cho thấy kết quả.

Xác định những hiểu biết quan trọng từ tài liệu văn bản thông qua tinh chỉnh và HPO với Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái.

Cải thiện hơn nữa hiệu suất tinh chỉnh với tính năng điều chỉnh mô hình tự động của SageMaker

Tương tự như các phần trước, chúng tôi sử dụng một HyperparameterTuner đối tượng để khởi động công việc điều chỉnh:

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})

Sau khi công việc điều chỉnh hoàn tất, chúng tôi triển khai mô hình mang lại điểm chỉ số đánh giá tốt nhất trên tập dữ liệu xác thực, thực hiện suy luận trên cùng một tập dữ liệu thử nghiệm tạm dừng mà chúng tôi đã thực hiện trong phần trước và tính toán chỉ số đánh giá.

Xác định những hiểu biết quan trọng từ tài liệu văn bản thông qua tinh chỉnh và HPO với Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái.

Chúng ta có thể thấy rằng mô hình với HPO cho thấy hiệu suất tốt hơn đáng kể trên dữ liệu thử nghiệm tạm dừng.

Khai thác mối quan hệ

Trích xuất mối quan hệ là nhiệm vụ trích xuất các mối quan hệ ngữ nghĩa từ văn bản, thường xảy ra giữa hai hoặc nhiều thực thể. Trích xuất mối quan hệ đóng một vai trò quan trọng trong việc trích xuất thông tin có cấu trúc từ các nguồn phi cấu trúc như văn bản thô. Trong sổ ghi chép này, chúng tôi trình bày hai trường hợp sử dụng trích xuất mối quan hệ.

Tinh chỉnh mô hình được đào tạo trước trên tập dữ liệu tùy chỉnh

Chúng tôi sử dụng một mô hình khai thác mối quan hệ được xây dựng trên một BERT-cơ sở-không có vỏ mô hình sử dụng máy biến áp từ Người máy biến hình ôm mặt thư viện. Mô hình để tinh chỉnh đính kèm một lớp phân loại tuyến tính, lớp này nhận một cặp nhúng mã thông báo do mô hình nhúng văn bản xuất ra và khởi tạo các tham số lớp thành các giá trị ngẫu nhiên. Bước tinh chỉnh sẽ tinh chỉnh tất cả các tham số của mô hình để giảm thiểu lỗi dự đoán trên dữ liệu đầu vào và trả về mô hình đã tinh chỉnh.

Tập dữ liệu chúng tôi tinh chỉnh mô hình là SemEval-2010 Nhiệm vụ 8. Mô hình được trả về bằng cách tinh chỉnh có thể được triển khai thêm để suy luận.

Tập dữ liệu chứa các tập huấn luyện, xác nhận và kiểm tra.

Chúng tôi sử dụng AWS PyTorch DLC với chế độ tập lệnh từ SageMaker Python SDK, trong đó transformers thư viện được cài đặt dưới dạng phần phụ thuộc trên đầu vùng chứa. Chúng tôi xác định SageMaker PyTorch công cụ ước tính và một tập hợp các siêu tham số như mô hình được đào tạo trước, tốc độ học và số kỷ nguyên để thực hiện tinh chỉnh. Mã để tinh chỉnh mô hình trích xuất mối quan hệ được định nghĩa trong entry_point.py. Xem mã sau đây:

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/",
    }
)

Công việc đào tạo mất khoảng 31 phút để hoàn thành. Chúng tôi sử dụng mô hình này để thực hiện suy luận trên tập kiểm tra giữ lại và đánh giá kết quả bằng cách sử dụng chính xác, vĩ mô F1vi F1 điểm số. Ảnh chụp màn hình sau đây cho thấy điểm đánh giá.

Xác định những hiểu biết quan trọng từ tài liệu văn bản thông qua tinh chỉnh và HPO với Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái.

Cải thiện hơn nữa hiệu suất tinh chỉnh với tính năng điều chỉnh mô hình tự động của SageMaker

Tương tự như các phần trước, chúng tôi sử dụng một HyperparameterTuner đối tượng để tương tác với API điều chỉnh siêu tham số SageMaker. Chúng ta có thể bắt đầu công việc điều chỉnh siêu tham số bằng cách gọi fit phương pháp:

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/",
})

Khi công việc điều chỉnh siêu tham số hoàn tất, chúng tôi thực hiện suy luận và kiểm tra điểm đánh giá.

Xác định những hiểu biết quan trọng từ tài liệu văn bản thông qua tinh chỉnh và HPO với Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái.

Chúng ta có thể thấy rằng mô hình với HPO cho thấy hiệu suất tốt hơn trên dữ liệu thử nghiệm tạm dừng.

tóm tắt tài liệu

Tóm tắt tài liệu hoặc văn bản là nhiệm vụ cô đọng một lượng lớn dữ liệu văn bản thành một tập hợp con nhỏ hơn gồm các câu có ý nghĩa thể hiện thông tin quan trọng nhất hoặc có liên quan trong nội dung gốc. Tóm tắt tài liệu là một kỹ thuật hữu ích để chắt lọc thông tin quan trọng từ một lượng lớn dữ liệu văn bản thành một vài câu. Tóm tắt văn bản được sử dụng trong nhiều trường hợp sử dụng, chẳng hạn như xử lý tài liệu và trích xuất thông tin từ blog, bài viết và tin tức.

Sổ ghi chép này minh họa việc triển khai mô hình tóm tắt tài liệu cơ sở T5 từ Người máy biến hình ôm mặt thư viện. Chúng tôi cũng kiểm tra các điểm cuối đã triển khai bằng cách sử dụng một bài viết văn bản và đánh giá kết quả bằng chỉ số đánh giá tích hợp Hugging Face ĐỎ.

Tương tự như phần trả lời câu hỏi và sổ ghi chép NER, chúng tôi sử dụng PyTorchModel từ SageMaker Python SDK cùng với một entry_point.py tập lệnh để tải mô hình cơ sở T5 tới điểm cuối HTTPS. Sau khi điểm cuối được triển khai thành công, chúng tôi có thể gửi một bài báo văn bản đến điểm cuối để nhận phản hồi dự đoán:

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 ."""

Tiếp theo, chúng tôi đánh giá và so sánh bài viết văn bản và kết quả tóm tắt bằng cách sử dụng số liệu ROUGE. Ba số liệu đánh giá được tính toán: rougeN, rougeLrougeLsum. rougeN đo lường số lượng phù hợp n-grams giữa văn bản do mô hình tạo ra (kết quả tóm tắt) và một reference (nhập ký tự). các số liệu rougeLrougeLsum đo các chuỗi từ phù hợp dài nhất bằng cách tìm kiếm các chuỗi con chung dài nhất trong các bản tóm tắt được tạo và tham chiếu. Đối với mỗi chỉ số, khoảng tin cậy cho độ chính xác, thu hồi và điểm F1 được tính toán. Hãy xem đoạn mã sau:

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))

Làm sạch

Tài nguyên được tạo cho giải pháp này có thể bị xóa bằng cách sử dụng Xóa tất cả tài nguyên từ SageMaker Studio IDE. Mỗi sổ ghi chép cũng cung cấp một phần dọn dẹp với mã để xóa các điểm cuối.

Xác định những hiểu biết quan trọng từ tài liệu văn bản thông qua tinh chỉnh và HPO với Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái.

Kết luận

Trong bài đăng này, chúng tôi đã trình bày cách sử dụng các kỹ thuật ML tiên tiến nhất để giải quyết năm tác vụ NLP khác nhau: tóm tắt tài liệu, phân loại văn bản, hỏi và trả lời, nhận dạng thực thể được đặt tên và trích xuất mối quan hệ bằng Khởi động. Bắt đầu với Khởi động ngay bây giờ!


Về các tác giả

Xác định những hiểu biết quan trọng từ tài liệu văn bản thông qua tinh chỉnh và HPO với Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái.Tiến sĩ Xin Huang là Nhà khoa học ứng dụng cho các thuật toán tích hợp sẵn của Amazon SageMaker JumpStart và Amazon SageMaker. Ông tập trung vào việc phát triển các thuật toán học máy có thể mở rộng. Mối quan tâm nghiên cứu của anh ấy là trong lĩnh vực xử lý ngôn ngữ tự nhiên, học sâu có thể giải thích được trên dữ liệu dạng bảng và phân tích mạnh mẽ phân nhóm không-thời gian phi tham số. Ông đã xuất bản nhiều bài báo trong các hội nghị ACL, ICDM, KDD và Hiệp hội Thống kê Hoàng gia: Tạp chí Series A.

Xác định những hiểu biết quan trọng từ tài liệu văn bản thông qua tinh chỉnh và HPO với Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái.Vivek Gangasani là Kiến trúc sư giải pháp máy học cao cấp tại Amazon Web Services. Anh ấy giúp các Startup xây dựng và vận hành các ứng dụng AI/ML. Anh ấy hiện đang tập trung vào việc kết hợp nền tảng kiến ​​thức của mình về Bộ chứa và Máy học để cung cấp các giải pháp về MLOps, Suy luận ML và ML mã thấp. Trong thời gian rảnh rỗi, anh ấy thích thử các nhà hàng mới và khám phá các xu hướng mới nổi về AI và học sâu.

Xác định những hiểu biết quan trọng từ tài liệu văn bản thông qua tinh chỉnh và HPO với Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái.Geremy Cohen là Kiến trúc sư giải pháp của AWS, nơi anh ấy giúp khách hàng xây dựng các giải pháp tiên tiến dựa trên đám mây. Khi rảnh rỗi, anh ấy thích đi bộ ngắn trên bãi biển, khám phá khu vực vịnh cùng gia đình, sửa chữa đồ đạc xung quanh nhà, đập phá đồ đạc xung quanh nhà và tổ chức tiệc nướng ngoài trời.

Xác định những hiểu biết quan trọng từ tài liệu văn bản thông qua tinh chỉnh và HPO với Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái.Neelam Koshiya là một kiến ​​trúc sư giải pháp doanh nghiệp tại AWS. Trọng tâm hiện tại của cô là giúp khách hàng doanh nghiệp trong hành trình sử dụng đám mây của họ để đạt được kết quả kinh doanh chiến lược. Trong thời gian rảnh rỗi, cô ấy thích đọc sách và ở ngoài trời.

Dấu thời gian:

Thêm từ Học máy AWS