Chuyển đến nội dung chính

Hướng dẫn Vertex AI: Cẩm nang toàn diện cho người mới bắt đầu

Nắm vững nền tảng thiết lập Vertex AI và thực hiện các quy trình học máy.
Đã cập nhật 5 thg 10, 2026  · 14 phút đọc

Khám phá cùng AI

ChatGPTClaudePerplexity

Dù phần lớn mọi người gắn Google với công cụ tìm kiếm, công ty này cũng có nền tảng sâu rộng trong lĩnh vực khoa học dữ liệu. Google liên tục cung cấp các sản phẩm và giải pháp tiên tiến nhằm khai thác dữ liệu hiệu quả nhất. Một trong những sản phẩm đó, Vertex AI, ra mắt năm 2021 để đơn giản hóa quy trình học máy ở quy mô doanh nghiệp.

Trong hướng dẫn này, chúng ta sẽ học cách bắt đầu với nền tảng Vertex AI của Google và sử dụng nó để bao phủ nhiều tác vụ trong vòng đời ML. Kết thúc, chúng ta sẽ có một mô hình đã triển khai để gửi yêu cầu và tạo dự đoán cho một bài toán phân loại.

Vertex AI là gì?

Một vòng đời học máy điển hình gồm nhiều giai đoạn:

  • Chuẩn bị, nạp và khám phá dữ liệu
  • Trích chọn và lựa chọn đặc trưng
  • Huấn luyện và tinh chỉnh mô hình
  • Triển khai và giám sát mô hình

Tất cả các giai đoạn và tiểu giai đoạn này đòi hỏi các bộ công cụ khác nhau và một đội ngũ đa dạng chuyên gia để phối hợp thực hiện.

Vertex AI của Google Cloud hợp lý hóa và hợp nhất toàn bộ quy trình này vào một nền tảng duy nhất.

Mặc dù các ứng dụng ML quy mô lớn cần những chuyên gia dày dạn, Vertex AI trao quyền cho người dùng ở mọi cấp độ kỹ năng:

  • AutoML cho người mới bắt đầu: Không cần kinh nghiệm lập trình. Chỉ cần nạp dữ liệu của bạn và với vài cú nhấp chuột, AutoML sẽ tạo ra một mô hình chất lượng cao. Toàn bộ công việc nặng nhọc như chuẩn bị dữ liệu, xây dựng mô hình bao gồm chọn thuật toán và tinh chỉnh siêu tham số đều được thực hiện ngầm.
  • Huấn luyện mô hình tùy chỉnh cho chuyên gia: Kinh nghiệm của bạn là giới hạn. Với các nhà khoa học dữ liệu và kỹ sư ML giàu kinh nghiệm, Vertex AI cung cấp sự linh hoạt để huấn luyện mô hình bằng các framework ưa thích như PyTorch, TensorFlow hoặc XGBoost.
  • Triển khai cho mọi người: Khi bạn đã có mô hình do AutoML hoặc tự huấn luyện, Vertex AI giúp triển khai dễ dàng. Bạn có thể công bố mô hình dưới dạng API thời gian thực để tích hợp vào sản phẩm, hoặc dùng dự đoán theo lô cho các tác vụ quy mô lớn.

Có nhiều nội dung chúng tôi không đề cập ở phần này, vì bạn sẽ tự tay làm hầu hết trong hướng dẫn này.

Google Cloud Services là gì?

Trang chủ của Google Cloud Services

Trước khi khám phá nền tảng, chúng ta cần nhắc đến hệ sinh thái mẹ — Google Cloud services. Google Cloud Services bao gồm một loạt giải pháp điện toán đám mây cung cấp lưu trữ, mạng, cơ sở dữ liệu, phân tích và khả năng học máy.

Các dịch vụ này phối hợp nhịp nhàng với Vertex AI để hợp nhất quy trình học máy của bạn. Dưới đây là phân tách các dịch vụ thường dùng với Vertex AI:

Lưu trữ và quản lý dữ liệu

  • Cloud Storage: Đóng vai trò là kho trung tâm cho dữ liệu thô của bạn, được Vertex AI truy cập để huấn luyện và phân tích.
  • BigQuery: Kho dữ liệu mạnh mẽ để lưu trữ và truy vấn tập dữ liệu lớn, cho phép Vertex AI dùng BigQuery ML để huấn luyện ngay trong hệ sinh thái.

Tài nguyên tính toán

  • Compute Engine: Cung cấp máy ảo với nhiều cấu hình cho nhu cầu huấn luyện mô hình tùy chỉnh. Vertex AI có thể kết nối với các máy này cho các tác vụ huấn luyện đòi hỏi tài nguyên.
  • Vertex AI Pipelines: Điều phối các quy trình ML phức tạp trên nhiều tài nguyên tính toán một cách hiệu quả.

Google Cloud services luôn sẵn có từ tài khoản Google của bạn tại cloud.google.com. Nếu bạn chưa từng dùng, hãy nhấp “Get started for free” để nhận bản dùng thử miễn phí.

Nếu đã dùng, bạn có thể truy cập trực tiếp console.cloud.google.com để bắt đầu.

Thiết lập Google Cloud Console cho Vertex AI

Lưu ý: Nếu bạn muốn làm theo hướng dẫn, hãy chuẩn bị chi khoảng 25–30 USD cho Vertex AI. Chúng ta sẽ dùng cấu hình rẻ nhất.

Khi truy cập Google Cloud Console, nhiều khả năng bạn sẽ thấy trang chào mừng sau:

Google Cloud Console cho Vertex AI

Trang hiển thị tên không gian làm việc của bạn; của tôi là ibexprogramming.com.

Việc đầu tiên là tạo một dự án. Các dự án Google Cloud là đơn vị tổ chức cấp cao để quản lý tài nguyên cho một tác vụ cụ thể. Dưới đây là GIF hướng dẫn cách tạo:

GIF hiển thị cách tạo dự án mới trong Google Cloud Console

Khi dự án đã được tạo, hãy chọn nó để thanh trên cùng của trang hiển thị như sau:

Thanh trên cùng của Google Cloud Console

Bây giờ, bạn cần tạo tài khoản thanh toán vì Vertex AI yêu cầu thông tin thanh toán để kích hoạt dịch vụ. Đừng lo — bạn sẽ không bị tính phí cho đến khi dùng tài nguyên trả phí. Hãy truy cập https://console.cloud.google.com/billing:

Ảnh chụp màn hình tài khoản thanh toán trong Google Cloud Console

Nếu bạn chưa có tài khoản như tôi, nhấp “Create account” và làm theo hướng dẫn. Ở phần tiếp theo, chúng ta sẽ liên kết tài khoản thanh toán này với dự án.

Sau đó, quay lại https://console.cloud.google.com/ và nhấp nút “View all products” ở cuối trang:

Ảnh chụp màn hình khác của Google Cloud Console

Trang tiếp theo sẽ liệt kê toàn bộ dịch vụ Google Cloud cung cấp cho dự án của bạn. Tìm “Vertex AI” (Ctrl + F) và ghim nó vào menu để truy cập nhanh. Sau đó, nhấp vào dịch vụ đó:

Danh sách tất cả sản phẩm Google Cloud

Bạn sẽ được chuyển đến bảng điều khiển Vertex AI. Có thể xuất hiện cửa sổ yêu cầu bật Vertex AI API — hãy chọn “Enable.” Nếu không hiện, bạn có thể nhấp nút “Enable all API permissions” để làm điều tương tự.

Giờ thì chúng ta đã sẵn sàng tải lên một tập dữ liệu vào Vertex AI.

Tải lên tập dữ liệu trong Vertex AI

Có nhiều cách để thêm tập dữ liệu vào Vertex AI. Trong phần này, để đơn giản, chúng ta sẽ dùng tệp CSV cục bộ.

Tải một tập dữ liệu mẫu

Trong bài viết, chúng ta sẽ dùng tập dữ liệu Dry Bean từ kho UCI Machine Learning. Nó chứa 13 nghìn mẫu đậu và 15 phép đo số của chúng.

Nhiệm vụ là phân loại chúng thành bảy loại đậu: Seker, Barbunya, Bombay, Cali, Dermosan, Horoz và Sira.

Sau khi tải, lưu tệp Excel trong ZIP đã tải về vào thư mục cục bộ của bạn:

from pathlib import Path

cwd = Path.cwd()
data_path = cwd / "data" / "Dry_Bean_Dataset.xlsx"

Tiếp theo, ta có thể đọc tệp này với pandas và lưu lại thành CSV:

import pandas as pd

beans = pd.read_excel(data_path)

beans.shape
(13611, 17)

Lưu ý rằng hàm read_excel yêu cầu bạn cài thư viện openpyxl bằng PIP.

Tuyệt, chúng ta đã có tập dữ liệu dưới dạng DataFrame. Hãy lưu lại thành CSV:

beans.to_csv(cwd / "data" / "dry_bean.csv", index=False)

Tạo một Cloud Storage Bucket

Như đã đề cập, chúng ta cần một Google Storage Bucket để lưu trữ dữ liệu thô. Làm theo GIF dưới đây để điều hướng đến bảng điều khiển của sản phẩm:

GIF hiển thị cách liên kết tài khoản thanh toán với dự án Google Cloud

GIF cho thấy để bắt đầu dùng dịch vụ lưu trữ, ta cần liên kết tài khoản thanh toán, sử dụng tài khoản đã tạo trước đó. Sau đó, bạn có thể tạo một bucket với tên duy nhất trên toàn cầu:

GIF hiển thị cách tạo Google Cloud storage bucket

Khi tìm được tên duy nhất, nhấp “Continue” cho đến khi bucket được tạo — bạn có thể chọn các tùy chọn mặc định cho mọi trường.

Giờ chúng ta sẵn sàng nạp tệp CSV đã lưu ở phần trước.

Nạp CSV cục bộ vào Vertex AI

Bây giờ, hãy quay lại bảng điều khiển Vertex AI và mở thẻ Datasets:

GIF hiển thị cách chuyển sang thẻ datasets của bảng điều khiển Vertex AI

Bạn sẽ thấy nó trống, hãy nhấp nút “+Create”:

Ảnh chụp màn hình thẻ datasets của Vertex AI

Đặt tên duy nhất cho tập dữ liệu và chọn loại tabular:

GIF hiển thị cách tạo tập dữ liệu mới trong Vertex AI

Tiếp đó, nền tảng hiển thị các tùy chọn nguồn. Chọn tải lên tệp CSV cục bộ, và với đường dẫn Cloud Storage, hãy chọn bucket bạn vừa tạo:

GIF hiển thị cách chèn CSV cục bộ vào bucket cloud storage hiện có

Khi tập dữ liệu tải lên thành công, bạn sẽ thấy thẻ “Analyze”, hiển thị siêu dữ liệu cơ bản về tệp CSV. Bạn cũng sẽ thấy nút “TRAIN NEW MODEL” để khởi chạy một tác vụ huấn luyện AutoML.

Tuy nhiên, chúng ta sẽ không dùng nút đó vì nó dành cho người mới ML hoàn toàn. Thay vào đó, chúng ta sẽ dùng Vertex AI Workbench để cấu hình môi trường JupyterLab và tài nguyên tính toán nhằm chạy cả AutoML lẫn thư viện tùy chỉnh.

Cấu hình JupyterLab và tài nguyên tính toán trong Vertex AI Workbench

Vì Vertex AI là nền tảng hợp nhất, nó cũng cung cấp môi trường phát triển gọi là workbench. Để tạo workbench, vào thẻ tương ứng và làm theo hướng dẫn trong GIF dưới đây:

GIF hiển thị cách tạo Vertex AI Workbench

Mỗi workbench có sẵn JupyterLab 3. Vì vậy, bạn chỉ cần cấu hình phần cứng theo ngân sách và nhu cầu. Vì tập dữ liệu khá nhỏ, tôi chọn máy yếu nhất để minh họa, chỉ ~0,12 USD/giờ (tôi khuyên chọn máy có nhiều lõi CPU hơn để tính toán nhanh hơn).

Tôi cũng đổi thời gian tự động tắt khi không hoạt động thành 10 phút để môi trường tự dừng nếu quên tắt.

Workbench sẽ mất chút thời gian để khởi tạo. Khi xong, nút “OPEN JUPYTERLAB” xuất hiện và chúng ta có thể nhấp vào:

Ảnh chụp giao diện jupyterlab trong Vertex AI workbench

Chúng ta sẽ được đưa tới giao diện JupyterLab quen thuộc. Tại đây, tạo notebook Python 3 mới và đổi tên tùy ý. Ở ô đầu tiên, cài/ nâng cấp SDK Google Cloud services google-cloud-aiplatform:

!pip3 install --upgrade --quiet google-cloud-aiplatform

Sau đó, bạn có thể liệt kê các dự án dưới tài khoản của mình với gcloud config list:

!gcloud config list
[compute]
region = us-central1
[core]
account = # HIDDEN #
disable_usage_reporting = True
project = vertexai-tutorial-423010
[dataproc]
region = us-central1

Your active configuration is: [default]

gcloud và gsutil đều là tiện ích dòng lệnh có sẵn trong mọi workbench. Chúng giúp bạn quản lý dịch vụ Google Cloud hiệu quả.

Từ kết quả in ra, lưu các thông tin sau dưới dạng biến Python:

PROJECT_ID = 'vertexai-tutorial-423010'
BUCKET_URI = 'gs://vetex-tutorial-bucket-bex'
REGION = 'us-central1'

Đừng quên đổi BUCKET_URI thành tên bucket của bạn. Sau đó, nhập tiểu mô-đun aiplatform và khởi tạo:

from google.cloud import aiplatform as ai

ai.init(project=PROJECT_ID, location=REGION, staging_bucket=BUCKET_URI)

aiplatform sẽ đóng vai trò SDK để tương tác với các tính năng của Vertex AI.

Hình ảnh hiển thị danh sách các workbench Vertex AI hiện có.

Khi hoàn thành hướng dẫn hoặc tạm nghỉ, đừng quên STOP phiên bản máy để tránh phát sinh chi phí ngoài ý muốn.

Huấn luyện và triển khai mô hình AutoML trong Vertex AI

Giờ hãy huấn luyện một mô hình với AutoML, như đã nói, nó đảm nhiệm hầu hết công việc nặng và trả về mô hình tốt nhất có thể với tập dữ liệu đã cho. Điều này có nghĩa để tận dụng tối đa AutoML, bạn cần đảm bảo tập dữ liệu đầu vào có chất lượng cao nhất. Vì vậy, đáng để dành thời gian tạo đặc trưng mới và thực hiện tiền xử lý trước đó.

AutoML sẽ tiền xử lý nội bộ tập dữ liệu, nhưng không thể sửa mọi vấn đề trong dữ liệu của bạn.

Tuy nhiên, trong phần này, để đơn giản, chúng ta chỉ huấn luyện một mô hình AutoML cơ bản, không tiền xử lý hay trích chọn đặc trưng.

Tải dữ liệu từ Google Storage bucket

Đầu tiên, ta muốn tải tập dữ liệu CSV từ bucket và dành chút thời gian khám phá nó. Hãy nhớ, EDA là bước quan trọng, bạn có thể học thêm trong khóa Exploratory Data Analysis in Python của chúng tôi!

import pandas as pd

# Path to your CSV file in GCS bucket
gcs_path = "gs://vertex-tutorial-bucket-bex/dry_bean.csv"

beans = pd.read_csv(gcs_path)

beans.head()

Năm hàng đầu của tập dữ liệu Dry Beans từ UCI.

Tin vui là pandas có thể tải tệp từ đường dẫn GCS. Điểm cần lưu ý là đoạn mã trên chỉ hoạt động trong workbench Vertex AI vì chúng đã được xác thực với thông tin xác thực Google Cloud của bạn.

Khám phá dữ liệu với pandas trong Vertex AI

Chúng ta sẽ không phân tích sâu tập dữ liệu vì sẽ làm xa rời trọng tâm bài viết. Vậy nên, chúng ta chỉ in vài thống kê tóm tắt và biểu đồ:

beans.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 13611 entries, 0 to 13610
Data columns (total 17 columns):
#   Column           Non-Null Count  Dtype 
---  ------           --------------  ----- 
0   Area             13611 non-null  int64 
1   Perimeter        13611 non-null  float64
2   MajorAxisLength  13611 non-null  float64
3   MinorAxisLength  13611 non-null  float64
4   AspectRation     13611 non-null  float64
5   Eccentricity     13611 non-null  float64
6   ConvexArea       13611 non-null  int64 
7   EquivDiameter    13611 non-null  float64
8   Extent           13611 non-null  float64
9   Solidity         13611 non-null  float64
10  roundness        13611 non-null  float64
11  Compactness      13611 non-null  float64
12  ShapeFactor1     13611 non-null  float64
13  ShapeFactor2     13611 non-null  float64
14  ShapeFactor3     13611 non-null  float64
15  ShapeFactor4     13611 non-null  float64
16  Class            13611 non-null  object
dtypes: float64(14), int64(2), object(1)
memory usage: 1.8+ MB

Như vậy, có 15 đặc trưng số và một cột đích — Class. Chỉ khoảng ~13 nghìn bản ghi và không có giá trị thiếu. Điều này sẽ đơn giản hóa việc huấn luyện rất nhiều.

Hãy lưu tên các đặc trưng vào một danh sách riêng vì có thể cần về sau:

feature_names = beans.columns.tolist()

Bây giờ, hãy tạo biểu đồ cặp cho vài đặc trưng có vẻ quan trọng:

import seaborn as sns

sns.pairplot(
   beans,
   vars=["Area", "MajorAxisLength", "MinorAxisLength", "Eccentricity", "roundness"],
   hue="Class",
);

Biểu đồ cặp cho một vài đặc trưng của tập Dry beans.

Ta thấy một vài xu hướng thú vị — đáng chú ý là đậu Bombay (màu xanh lá) tách biệt rõ rệt với các loại khác theo các phép đo hình học.

Hãy vẽ thêm ma trận tương quan:

import matplotlib.pyplot as plt

correlation = beans.corr(numeric_only=True)

# Create a square heatmap with center at 0
sns.heatmap(correlation, center=0, square=True, cmap="coolwarm", vmin=-1, vmax=1)

plt.show()

Ma trận tương quan cho các đặc trưng số của tập Dry Beans

Có vài đặc trưng tương quan gần như hoàn hảo và điều này hợp lý vì chúng liên quan tới các phép đo hình học. Tuy nhiên, cũng có vài cặp đặc trưng hầu như không tương quan.

Tại thời điểm này, tôi sẽ để bạn tiếp tục khám phá và tự đặt ra vài câu hỏi để trả lời về tập dữ liệu.

Chạy một tác vụ huấn luyện AutoML

Để bắt đầu tác vụ huấn luyện AutoML, trước tiên ta cần một đối tượng tập dữ liệu tương thích:

ds = ai.TabularDataset.create(
   display_name="dry_bean_dataset", gcs_source=gcs_path
)
TabularDataset created. 
type(ds)
google.cloud.aiplatform.datasets.tabular_dataset.TabularDataset
ds.resource_name
'projects/10783853768/locations/us-central1/datasets/4978116960081412096'

Chúng ta dùng phương thức TabularDataset.create để khởi tạo đối tượng ds. Vertex AI gán cho nó một tên riêng, có thể truy cập qua thuộc tính resource_name.

Bây giờ, ta khởi tạo tác vụ với lớp ai.AutoMLTabularTrainingJob. Nó cần hai đối số:

  • Tên hiển thị cho tác vụ
  • Mục tiêu của bài toán — ở đây là phân loại.
job = ai.AutoMLTabularTrainingJob(
   display_name="dry-bean-classification",
   optimization_prediction_type="classification",
)

Tiếp theo, chạy phương thức run của tác vụ:

model = job.run(
   dataset=ds,
   target_column="Class",
   training_fraction_split=0.8,
   validation_fraction_split=0.1,
   test_fraction_split=0.1,
   model_display_name="baseline-classification-model",
   disable_early_stopping=False,
)

Các tham số của phương thức khá dễ hiểu. Mã sẽ mất một thời gian để chạy xong (tùy vào sức mạnh tính toán).

Nếu bạn vào thẻ “MODEL DEVELOPMENT > TRAINING” của bảng điều khiển và nhấp vào tên tác vụ, bạn sẽ thấy tiến độ huấn luyện trực tiếp. Hình ảnh dưới cho thấy quá trình đang ở giai đoạn tiền xử lý:

Một tác vụ huấn luyện đang chạy trong Vertex AI

Xem kết quả

Khi huấn luyện xong, quay lại thẻ training và nhấp vào tên mô hình. Lần này, các chỉ số hiệu năng sẽ được liệt kê kèm mô hình:

GIF hiển thị các chỉ số cho mô hình đã huấn luyện trong Vertex AI

Như bạn thấy, ngay cả với mô hình cơ bản, các chỉ số rất tốt, đều trên 0,90.

Triển khai mô hình AutoML và tạo dự đoán

Giờ chúng ta có thể triển khai model này chỉ với một dòng mã:

endpoint = model.deploy(machine_type="n1-standard-4")

Phương thức deploy chỉ cần một đối số — loại máy để chạy suy luận. Tôi sẽ không thực thi dòng trên vì việc triển khai sẽ phát sinh thêm chi phí trong suốt thời gian mô hình trực tuyến.

Tuy nhiên, nếu bạn chạy, phương thức deploy sẽ trả về một đối tượng Endpoint để chúng ta gửi yêu cầu:

prediction = endpoint.predict(
   [
       {
           "Area": "30099",
           "Perimeter": "638.8209999999999",
           "MajorAxisLength": "237.14191130827916",
           "MinorAxisLength": "162.3034300714102",
           "AspectRation": "1.4611022774068396",
           "Eccentricity": "0.7290928631259719",
           "ConvexArea": "30477",
           "EquivDiameter": "195.76321681302556",
           "Extent": "0.8036043251902283",
           "Solidity": "0.9875972044492568",
           "roundness": "0.9268374259664279",
           "Compactness": "0.8255108332939839",
           "ShapeFactor1": "0.007878730566074592",
           "ShapeFactor2": "0.002256976927384019",
           "ShapeFactor3": "0.6814681358857279",
           "ShapeFactor4": "0.9956946453228307",
       }
   ]
)

print(prediction)

Nó có phương thức predict nhận một danh sách các mẫu cần dự đoán. Các mẫu phải được cung cấp ở định dạng JSON.

Bạn cũng có thể dùng bảng điều khiển để triển khai mô hình. Nếu vào thẻ “MODEL REGISTRY”, bạn sẽ thấy mô hình được liệt kê ở đó. Nhấp vào tên và chọn thẻ “DEPLOY & TEST”:

Thẻ DEPLOY and TEST của sổ đăng ký mô hình trong Vertex AI

Nhấp nút ‘DEPLOY TO ENDPOINT’ sẽ đưa bạn tới trang riêng để cấu hình máy triển khai mô hình. Nhưng trước khi làm điều đó, bạn có thể thử nghiệm ngay ở khu vực bên dưới nút triển khai:

GIF hiển thị cách thử nghiệm mô hình đã huấn luyện trong Vertex AI bằng giao diện UI

Huấn luyện và triển khai mô hình tùy chỉnh trong Vertex AI

Triển khai mô hình tùy chỉnh trong Vertex AI thách thức hơn so với AutoML và cũng tốn kém hơn vì sẽ có thêm container Docker bên cạnh chi phí Workbench và triển khai. Nếu bạn sẵn sàng, bắt đầu nhé!

Tổng quan cấp cao về huấn luyện tùy chỉnh trong Vertex AI

Huấn luyện tùy chỉnh bắt đầu với một script huấn luyện mô hình riêng. Trong script này, ta có thể làm mọi thứ miễn là:

  • Tải dữ liệu từ GCS bucket
  • Huấn luyện mô hình bằng một framework ML (TF, PyTorch, Scikit-learn, XGBoost)
  • Tùy chọn, tinh chỉnh siêu tham số của mô hình
  • Lưu mô hình vào GCS bucket để ghi nhận mô hình đã huấn luyện hoặc đã tinh chỉnh.

Sau đó, script huấn luyện này phải được đóng gói thành container Docker rồi đẩy lên Google Container Registry. Từ đó, ta có thể dùng SDK Python của Vertex AI hoặc bảng điều khiển để huấn luyện mô hình tùy chỉnh.

Tạo cấu trúc thư mục cho mã huấn luyện

Đầu tiên, hãy tạo cấu trúc thư mục như khuyến nghị trong codelab này của Google. Trong workbench, chuyển sang terminal bằng cách mở một launcher mới:

GIF hiển thị cách chuyển sang terminal trong JupyterLab của Workbench

Sau đó, tạo thư mục mới tên “dry-beans” và chuyển vào đó:

$ mkdir dry-beans
$ cd dry-beans/

Bên trong dry-beans, tạo thư mục trainer và bên trong nó, tệp Python train.py:

$ mkdir trainer
$ touch trainer/train.py

Tạo Dockerfile

Tiếp theo, tạo Dockerfile mới:

$ touch Dockerfile

Mở tệp và dán nội dung sau:

FROM gcr.io/deeplearning-platform-release/tf2-cpu.2-6
WORKDIR /

# Copies the trainer code to the docker image.
COPY trainer /trainer

# Install XGBoost
RUN pip install xgboost==1.6.2

# Sets up the entry point to invoke the trainer.
ENTRYPOINT ["python", "-m", "trainer.train"]

Dockerfile này dùng ảnh deep learning chính thức do Google Container Registry cung cấp có cài sẵn TensorFlow. Tệp sao chép thư mục trainer của chúng ta và cài XGBoost. Cuối cùng, nó sẽ chạy script Python.

Viết script huấn luyện

Script cần tải tập dữ liệu Dry Beans từ bucket GCP của chúng ta, huấn luyện một bộ phân loại XGBoost và lưu mô hình trở lại bucket. Tôi đã viết một script đơn giản thực hiện các tác vụ đó trong GitHub gist này (tôi không đưa vào đây để tiết kiệm dung lượng).

Sao chép/dán mã trong gist vào train.py. Sau đó, quay lại terminal, cài XGBoost vì nó không có sẵn trong Workbench bạn chọn, và chạy script:

$ pip install xgboost==1.6.2
$ python trainer/train.py

Xây dựng ảnh Docker

Nếu script chạy không lỗi, tiếp tục nhập hai biến sau trong terminal:

$ PROJECT_ID='vertexai-tutorial-423010'  # Replace with your PROJECT_ID from earlier
$ IMAGE_URI="gcr.io/$PROJECT_ID/dry-beans:v1"  # This stays the same

Các biến này sẽ được dùng khi chúng ta xây dựng container, vì vậy hãy chạy:

$ docker build ./ -t $IMAGE_URI

Quá trình build sẽ mất chút thời gian. Sau khi xong, chạy container để đảm bảo mọi thứ hoạt động trơn tru:

$ docker run $IMAGE_URI
Model trained successfully!
Model uploaded successfully!

Nếu bạn nhận được các thông báo thành công như trên, container đã sẵn sàng để đẩy lên:

$ docker push $IMAGE_URI

Tạo tác vụ huấn luyện tùy chỉnh

Tới thời điểm này, phần lớn công việc đã hoàn thành. Chúng ta có thể chuyển sang bảng điều khiển và tạo tác vụ huấn luyện tùy chỉnh bằng container vừa đẩy. Hãy vào thẻ “MODEL REGISTRY” và nhấp “CREATE”:

Tạo tác vụ huấn luyện tùy chỉnh mới trong Vertex AI

Với phương thức huấn luyện, chọn “No managed dataset” và “Custom training”. Ở khung tiếp theo (Model details), đặt tên mô hình — dry-beans-classifier.

Trong khung training container:

Chọn ảnh container cho tác vụ huấn luyện tùy chỉnh trong Vertex AI

Chọn container tùy chỉnh chúng ta đã đẩy và bucket cloud-ai-platform để lưu đầu ra mô hình. Sau đó, nhấp tiếp tục cho đến khi tới phần "Compute and pricing":

Khung Compute and pricing của biểu mẫu tác vụ huấn luyện tùy chỉnh trong Vertex AI

Chọn máy chuẩn n1 với 4 CPU và cuối cùng, nhấp "START TRAINING". Sau đó, chuyển sang thẻ "TRAINING" của bảng điều khiển.

Ảnh chụp thẻ training của bảng điều khiển Vertex AI.

Lúc này, bạn sẽ thấy một trong hai trạng thái:

  1. Huấn luyện thất bại
  2. Huấn luyện đang diễn ra

Tôi gặp trường hợp đầu tiên, vậy hãy điều tra lý do bằng cách nhấp vào tên mô hình:

Thông báo lỗi từ một tác vụ huấn luyện tùy chỉnh trong Vertex AI

Lỗi cho biết tôi đã vượt quá số CPU được phép cho huấn luyện tùy chỉnh. Tôi đã tìm hiểu sâu hơn và điều phát hiện được khá thất vọng.

Thông thường, GCP cấp hạn ngạch ít nhất 20 CPU cho bất kỳ vùng tính toán nào, nhưng sau khi kiểm tra hồ sơ của mình, tôi phát hiện hạn ngạch chỉ là 1. Điều này có nghĩa tôi không thể chạy bất kỳ tác vụ huấn luyện tùy chỉnh nào, vì tất cả máy do Google cung cấp tối thiểu có hai CPU.

Tôi đã cố tăng hạn ngạch theo các câu trả lời trong chuỗi thảo luận trên StackOverflow này, nhưng không hiệu quả. Thông báo tôi nhận được là người dùng Vertex AI mới chỉ được phép một đơn vị CPU. Nếu muốn tăng hạn ngạch, tôi cần gửi phiếu hỗ trợ, và hóa ra điều này không miễn phí (bạn cần hợp đồng hỗ trợ trả phí).

Vì vậy, nếu bạn không may như tôi, hãy thử các câu trả lời trong chủ đề SO. Chúng hiệu quả với một số người, nhưng nếu không hiệu quả với bạn, phương án duy nhất là liên hệ hỗ trợ.

Còn nếu bạn may mắn và việc huấn luyện hoàn tất, bạn có thể triển khai mô hình theo các bước tương tự như đã trình bày cho mô hình AutoML.

Kết luận

Vertex AI là một nền tảng đồ sộ với nhiều tính năng. Trong hướng dẫn này, chúng ta mới chỉ chạm đến bề mặt nhưng đã bao quát các khối xây dựng quan trọng nhất của nền tảng. Bằng cách thành thạo việc tạo bucket lưu trữ, workbench và tác vụ huấn luyện, bạn sẽ sẵn sàng để khám phá phần còn lại của nền tảng.

Nếu bạn muốn tìm hiểu thêm về các dịch vụ Google Cloud, hãy xem các tài nguyên liên quan được đề xuất sau:


Bexruz (Bex) Tuychiev's photo
Author
Bexruz (Bex) Tuychiev
LinkedIn

Tôi là người sáng tạo nội dung về khoa học dữ liệu với hơn 2 năm kinh nghiệm và là một trong những tài khoản có lượng người theo dõi lớn nhất trên Medium. Tôi thích viết các bài chuyên sâu về AI và ML với chút giọng điệu mỉa mai, vì bạn cũng phải làm gì đó để chúng bớt khô khan. Tôi đã xuất bản hơn 130 bài viết và một khóa học trên DataCamp, cùng với một khóa nữa đang được thực hiện. Nội dung của tôi đã được hơn 5 triệu lượt xem, trong đó 20 nghìn người đã trở thành người theo dõi trên cả Medium và LinkedIn. 

Chủ đề
Trí tuệ Nhân tạo

Tiếp tục hành trình AI của bạn ngay hôm nay!

Khóa học

Các khái niệm về Large Language Models (LLMs)

2 giờ
113.3K
Khám phá toàn bộ tiềm năng của LLM với khóa học khái niệm của chúng tôi, bao gồm các ứng dụng LLM, phương pháp đào tạo, cân nhắc đạo đức và nghiên cứu mới nhất.
Xem chi tiếtRight Arrow
Bắt Đầu Khóa Học
Xem thêmRight Arrow
Liên quan

blog

Claude Opus 4.6: Tính năng, Điểm chuẩn, Bài kiểm tra thực hành và hơn thế nữa

Mô hình mới nhất của Anthropic dẫn đầu ở mã hóa tác tử và lập luận phức tạp. Thêm vào đó, nó có cửa sổ ngữ cảnh 1M.
Matt Crabtree's photo

Matt Crabtree

10 phút

Xem ThêmXem Thêm