1. Trang chủ
  2. » Luận Văn - Báo Cáo

Đồ án cuối kì học sâu google fast or slow? predict ai model runtime

19 0 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Google - Fast or Slow? Predict AI Model Runtime
Tác giả Trần Hòa Ân, Nguyễn Ngọc Hoan
Người hướng dẫn TS. Bùi Thanh Hùng
Trường học Trường Đại Học Công Nghiệp TP Hồ Chí Minh
Chuyên ngành Công Nghệ Thông Tin
Thể loại Đồ án cuối kỳ
Năm xuất bản 2023
Thành phố TP Hồ Chí Minh
Định dạng
Số trang 19
Dung lượng 1,69 MB

Nội dung

TÓM TẮTTrong bài báo cáo này tập trung nghiên cứu và xây dựng 1 mô hình có khả năng dự đoán thời gian chạy của đồ thị và cấu hình biên dịch trên Tensor Processing Units TPUs v3, dự trên

Trang 1

TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP TP HỒ CHÍ MINH

KHOA CÔNG NGHỆ THÔNG TIN

ĐỒ ÁN CUỐI KÌ HỌC SÂU Google - Fast or Slow? Predict AI Model Runtime

NGUYỄN NGỌC HOAN – 20032501

Người hướng dẫn: TS BÙI THANH HÙNG

TP HỒ CHÍ MINH, NĂM 2023

Trang 2

TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP TP HỒ CHÍ MINH

KHOA CÔNG NGHỆ THÔNG TIN

ĐỒ ÁN CUỐI KÌ HỌC SÂU Google - Fast or Slow? Predict AI Model Runtime

NGUYỄN NGỌC HOAN – 20032501

Người hướng dẫn: TS BÙI THANH HÙNG

TP HỒ CHÍ MINH, NĂM 2023

Trang 3

LỜI CẢM ƠN Trong suốt quá trình học môn Học Sâu, em đã có được những kiến thức và kỹ năng quý báu không chỉ về lĩnh vực công nghệ mà còn về cách thức nghiên cứu và tư duy phản biện Sự nhiệt huyết và kỹ lưỡng trong giảng dạy của Thầy đã tạo nên một môi trường học tập đầy thách thức nhưng cũng vô cùng hấp dẫn và thú vị.Em xin bày tỏ lòng biết ơn sâu sắc đối với những đóng góp không mệt mỏi của Thầy, không chỉ trong vai trò là một nhà giáo dục mà còn là nguồn cảm hứng, hướng dẫn tôi trên hành trình học thuật Cảm ơn Thầy vì đã mở rộng chân trời tri thức

và truyền đạt niềm đam mê học hỏi cho em

Trang 4

ĐỒ ÁN ĐƯỢC HOÀN THÀNH TẠI TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP TP HỒ CHÍ MINH

Chúng tôi xin cam đoan đây là sản phẩm đồ án của riêng chúng tôi và được sự hướng dẫn của TS Bùi Thanh Hùng Các nội dung nghiên cứu, kết quả trong đề tài này là trung thực và chưa công bố dưới bất kỳ hình thức nào trước đây Những số liệu trong các bảng biểu phục vụ cho việc phân tích, nhận xét, đánh giá được chính tác giả thu thập từ các nguồn khác nhau có ghi rõ trong phần tài liệu tham khảo

Ngoài ra, trong đồ án còn sử dụng một số nhận xét, đánh giá cũng như số liệu của các tác giả khác, cơ quan tổ chức khác đều có trích dẫn và chú thích nguồn gốc Nếu phát hiện có bất kỳ sự gian lận nào chúng tôi xin hoàn toàn chịu trách nhiệm về nội dung đồ án của mình Trường đại học Công nghiệp TP Hồ Chí Minh không liên quan đến những vi phạm tác quyền, bản quyền do tôi gây ra trong quá trình thực hiện (nếu có)

TP Hồ Chí Minh, ngày 13 tháng 12 năm 2023

Tác giả

An Trần Hòa Ân Hoan Nguyễn Ngọc Hoan

Trang 5

PHẦN ĐÁNH GIÁ CỦA GIẢNG VIÊN

_

Tp Hồ Chí Minh, ngày tháng năm 2023

(kí và ghi họ tên)

Trang 6

TÓM TẮT

Trong bài báo cáo này tập trung nghiên cứu và xây dựng 1 mô hình có khả năng dự đoán thời gian chạy của đồ thị và cấu hình biên dịch trên Tensor Processing Units (TPUs) v3,

dự trên bộ dữ liệu chứa các thông tin về thời gian chạy, đồ thị và cấu hình biên dịch của

mô hình AI

Bài báo cáo đưa ra phương pháp đề xuất áp dụng mô hình GNN để xây dựng và

xử lý cho bài này GNN là lựa chọn tối ưu cho việc mô hình hóa mối quan hệ phức tạp giữa các yếu tố này thông qua cấu trúc đồ thị Mô hình đồ thị của GNN cho phép chúng

ta biểu diễn mô hình AI dưới dạng các nút và cấu hình biên dịch dưới dạng các cạnh, giúp mô phỏng hiệu quả mối quan hệ giữa chúng Kết quả đạt được cho thấy việc áp dụng Mô hình GNN này cũng cho ra kết quả khả quan khi thực hiện

Trang 7

MỤC LỤC

LỜI CẢM ƠN 3

PHẦN ĐÁNH GIÁ CỦA GIẢNG VIÊN 5

TÓM TẮT 6

Danh mục hình vẽ 8

Chương 1: Giới Thiệu 9

Chương 2 Phân tích yêu cầu bài toán 10

2.1 Yêu cầu bài toán 10

2.2 Mô hình đề xuất giải quyết 10

2.3 Lý do chọn đề tài 11

Chương 3 Phương pháp giải quyết bài toán 12

3.1 Tổng quan mô hình 12

3.2 Chuyển đổi các thuộc tính thành các tensor 13

3.3 Xây dựng mô hình 13

3.4 Huấn luyện mô hình và đánh giá kết quả 13

Chương 4 Thực Nghiệm 14

4.1 Dữ liệu 14

4.2 Xử lý dữ liệu 14

4.3 Công nghệ sử dụng 14

4.4 Cách đánh giá 14

4.5 Kết quả đạt được 15

Chương 5 18

5.1 Kết Quả Đạt Được 18

5.2 Hạn Chế 18

Trang 8

Danh mục hình vẽ

Hình 2.2 Biểu diễn đồ họa cho mạng GNN 9

Hình 3.1 Mô hình tổng quan 12

Hình 4.5.1 Comp Score 15

Hình 4.5.1 Mean Score 24

Trang 9

Google - Fast or Slow? Predict AI Model Runtime

Chương 1: Giới Thiệu

Alice là một nhà phát triển mô hình trí tuệ nhân tạo (AI), nhưng một

số mô hình mà đội của cô ấy phát triển chạy rất chậm Gần đây, cô ấy đã phát hiện ra các cấu hình trình biên dịch có thể thay đổi cách trình biên dịch biên dịch và tối ưu hóa các mô hình, từ đó làm cho chúng chạy nhanh hơn (hoặc chậm hơn) Nhiệm vụ của bạn là giúp Alice tìm ra cấu hình tốt nhất cho mỗi mô hình.

Mục tiêu của bạn là huấn luyện một mô hình học máy dựa trên dữ liệu thời gian chạy được cung cấp cho bạn trong tập dữ liệu đào tạo và dự đoán thời gian chạy của các đồ thị và cấu hình trong tập dữ liệu kiểm tra Cuộc thi này nhằm mục đích huấn luyện một mô hình máy học dựa trên dữ liệu thời gian chạy được cung cấp trong tập dữ liệu đào tạo và dự đoán thời gian chạy của các đồ thị và cấu hình trong tập dữ liệu kiểm tra.

Trang 10

Chương 2 Phân tích yêu cầu bài toán

2.1Yêu cầu bài toán

Dựa trên tập dữ liệu có tên là TpuGraphs chứa thông tin về thời gian chạy, đồ thị và cấu hình biên dịch của mô hình AI Phát triển một mô hình máy học có khả năng dự đoán thời gian chạy của đồ thị và cấu hình biên dịch trên Tensor Processing Units (TPUs) v3

2.2 Mô hình đề xuất giải quyết

Do bài toán tập trung vào xây dựng 1 mô hình dự doán trên tập dữ liệu chứa thông tin về thời gian chạy đồ thị và cấu hình biên dịch nên nhóm đề xuất sử dụng mô hình GNN Để hiểu rõ hơn về lựa chọn này, chúng ta cần khám phá sâu hơn về Graph Neural Networks (GNN) -Mô hình GNN:

Mô hình Mạng Neural Đồ Thị (Graph Neural Network, GNN) là một dạng cụ thể của mạng neural được thiết kế để làm việc với dữ liệu dạng đồ thị Đồ thị trong trường hợp này có thể hiểu là một tập hợp các nút (nodes) và các cạnh (edges) kết nối chúng GNN được sử dụng rộng rãi trong nhiều lĩnh vực như phân loại nút trong mạng xã hội, dự đoán tương tác protein, và

hệ thống đề xuất

Hình 2.2 Biểu diễn đồ họa cho mạng GNN

Trang 11

1 Biểu diễn Đồ thị của Vấn đề (Graph Representation of Problem): Phần này thể hiện cấu trúc của một đồ thị với các nút và cạnh liên kết chúng Mỗi nút (A, B, C, ), được biểu diễn bởi một hình tròn, đại diện cho một đối tượng trong bài toán (ví dụ như một người dùng trong mạng xã hội hoặc một phân tử trong mạng tương tác của các protein)

2 Biểu diễn Ban đầu của mỗi Nút (Initial Representation of each Node): Mỗi nút được biểu diễn cùng với một vectơ đặc trưng – một dãy số học biểu diễn thông tin của nút đó Vectơ này không chỉ bao gồm thông tin của chính nút đó mà còn được cập nhật thông tin từ các nút lân cận trong quá trình học

Trong quá trình học, thông tin từ các nút lân cận được tổng hợp và cập nhật vào vectơ đặc trưng của mỗi nút Quá trình này làm cho mỗi nút không chỉ chứa thông tin của bản thân mà còn chứa thông tin về cách nó liên kết với phần còn lại của đồ thị Qua nhiều vòng lặp cập nhật, mỗi nút sẽ phát triển một biểu diễn đặc trưng phong phú hơn, phản ánh không chỉ thuộc tính của nó mà còn

cả vị trí và mối quan hệ của nó trong đồ thị

Kết quả là, đầu ra của mạng GNN không chỉ là một đồ thị với thông tin được cập nhật mà còn là một đồ thị mà mỗi nút đã học để hiểu sâu hơn về cấu trúc và thông tin liên kết, cho phép thực hiện các nhiệm vụ phức tạp như phân loại nút, dự đoán cạnh, và nhiều hơn nữa

2.3 Lý do chọn đề tài

Trong nghiên cứu này, chúng tôi lựa chọn áp dụng mô hình Graph Neural Network (GNN) để giải quyết bài toán 'Google - Fast or Slow? Predict AI Model Runtime' Sự lựa chọn này xuất phát từ khả năng đặc biệt của GNN trong việc xử lý dữ liệu có cấu trúc dạng đồ thị, điều cốt yếu của bài toán này Một trong những yếu tố chính của bài toán là việc liên kết giữa cấu hình biên dịch và đồ thị mô hình AI, nơi mà GNN tỏ ra là phương pháp tối ưu GNN cho phép chúng tôi mô hình hóa mối quan hệ phức tạp giữa các yếu tố này thông qua việc biểu diễn mô hình AI dưới dạng các nút và cấu hình biên dịch dưới dạng các cạnh Điều này giúp mô phỏng hiệu quả mối quan hệ giữa chúng và mở ra khả năng dự đoán chính xác thời gian chạy của mô hình AI, từ đó đem lại nhiều lợi ích quan trọng cho quá trình nghiên cứu và ứng dụng thực tế

Trang 12

Chương 3 Phương pháp giải quyết bài toán

3.1 Tổng quan mô hình

"Tổng Quan về Mô Hình: Mô hình chúng tôi sử dụng là Mạng Nơ-ron Đồ Thị (Graph Neural Network - GNN) đơn giản, được thiết kế để xử lý từng điểm dữ liệu một lần và chỉ được huấn luyện trong một kỳ (epoch) Điểm nổi bật của mô hình này là việc sử dụng phương pháp nhúng

đồ thị, giúp xử lý và phân tích dữ liệu có cấu trúc dạng đồ thị một cách hiệu quả

Mô hình bao gồm các phần chính sau:

1 Chuyển Đổi Thuộc Tính Thành Các Tensor: Trong bước này, chúng tôi chuyển đổi dữ liệu đầu vào thành tensor để có thể xử lý được trong mạng nơ-ron Điều này bao gồm việc biến đổi các thuộc tính và đặc trưng của dữ liệu thành dạng số học mà mô hình có thể hiểu và xử lý

2 Xây Dựng Mô Hình Dựa Trên GNN: Mô hình được thiết kế dựa trên kiến trúc của Graph Neural Network Mạng này có khả năng xử lý và học từ cấu trúc đồ thị, giúp mô hình hóa các mối quan hệ phức tạp giữa các nút và cạnh trong dữ liệu

3 Huấn Luyện và Đánh Giá Mô Hình: Sau khi xây dựng mô hình, chúng tôi tiến hành huấn luyện nó trên dữ liệu đào tạo và sau đó đánh giá hiệu suất của mô hình trên tập dữ liệu kiểm thử Bước này giúp xác định độ chính xác và hiệu quả của mô hình trong việc dự đoán."

Hình 3.1 Mô hình tổng quan

Trang 13

3.2 Chuyển đổi các thuộc tính thành các tensor

Bước này gồm lớp TileDataset: Lớp này kế thừa từ Dataset của PyTorch và được

sử dụng để xử lý dữ liệu đặc biệt cho mô hình học máy Phương thức getitem của lớp này

xử lý việc tải và chuẩn bị một mẫu dữ liệu cụ thể từ DataFrame Nó chuyển đổi các thuộc tính như config_feat, node_feat, node_opcode, và edge_index thành tensor của PyTorch

và tính toán mục tiêu (target) cho việc học máy

Mục tiêu chính của bước này là tạo ra một đối tượng dataset để có thể sử dụng trong quá trình huấn luyện mô hình

3.3 Xây dựng mô hình

Ở bước này, định nghĩa 1 mô hình được đặt tên là “SimpleModel” gồm 2 phần:

 Phần Khởi Tạo :

 Khởi tạo một lớp nhúng để chuyển mã opcode thành vector đặc trưng 4 chiều - Mỗi opcode trong số 120 loại opcode khác nhau được nhúng thành một vector 4 chiều

 Một lớp tuyến tính biến đổi đầu vào đã nhúng và các đặc trưng khác vào không gian đặc trưng đồ thị

 Tạo một chuỗi các lớp GNN sử dụng `SAGEConv`, một loại lớp trong GNN - Các lớp này được sử dụng để xử lý thông tin đồ thị

 Định nghĩa một chuỗi các lớp dày đặc (fully connected) để xử lý thông tin sau khi qua các lớp GNN

 Phần Truyền Tiến (forward):

 Kết Hợp Đặc Trưng và Nhúng OpCode (`x`)

 Áp Dụng Lớp Tuyến Tính và GNN**: - Áp dụng lớp tuyến tính và sau đó truyền dữ liệu qua chuỗi các lớp GNN

 Pooling Để Tạo Biểu Diễn Đồ Thị (`x_mean` và `x_max`):

 Tính trung bình và giá trị tối đa của các đặc trưng nút sau khi qua GNN

 Kết Hợp Đặc Trưng Cấu Hình và Đồ Thị

 Áp Dụng Lớp Dày Đặc và Chuẩn Hóa Đầu Ra:

 Truyền dữ liệu qua chuỗi các lớp dày đặc

 Chuẩn hóa đầu ra bằng cách trừ đi trung bình và chia cho độ lệch chuẩn 3.4 Huấn luyện mô hình và đánh giá kết quả

Chia dữ liệu thành 5 fold sử dụng k-fold cross-validation để đánh giá hiệu suất của mô hình trên nhiều tập dữ liệu thử nghiệm khác nhau.

Dữ liệu đầu vào:

 x_cfg: Đặc trưng của cấu hình đồ thị (graph configuration).

 x_feat: Đặc trưng của các đỉnh trong đồ thị (graph nodes).

 x_op: Biểu diễn nhúng (embedding) của các hoạt động (operations) trong đồ thị edge_index: Chỉ số của các cạnh trong đồ thị.

Dữ liệu đầu ra: Dự đoán đầu ra của mô hình Cụ thể hơn, đầu ra là một giá trị số (scalar), và mô hình được huấn luyện để dự đoán giá trị này dựa trên đầu vào tương ứng.

Trang 14

Chương 4 Thực Nghiệm

4.1 Dữ liệu

Dữ liệu từ cuộc thi được gọi là TpuGraphs, là bộ dữ liệu dự đoán hiệu suất trên đồ thị XLA HLO chạy trên Tensor Processing Units (TPUs) v3

- train.csv: File này chứa dữ liệu huấn luyện với các cột như 'id' (định danh), 'model' (loại mô hình), 'runtime' (thời gian chạy), và nhiều cột khác đại diện cho các thuộc tính và thông số cấu hình của mô hình

- test.csv: File dữ liệu kiểm tra tương tự nhưng không bao gồm cột 'runtime' Nhiệm vụ là dự đoán thời gian chạy cho các mô hình trong file này

- sample_submission.csv: File mẫu để nộp kết quả, bao gồm 'id' và cột 'runtime' trống để điền dự đoán

4.2 Xử lý dữ liệu

Dữ liệu trong các cuộc thi Kaggle cần tiền xử lý để phù hợp với yêu cầu của mô hình học máy Tiền xử lý có thể bao gồm các bước như làm sạch dữ liệu, chọn và biến đổi các tính năng, chuẩn hóa hoặc tiêu chuẩn hóa các giá trị, và xử lý dữ liệu còn thiếu Việc tiền xử lý dữ liệu có thể bao gồm các bước như chuẩn hóa các biến định lượng, mã hóa các biến định tính, xử lý các giá trị thiếu, loại bỏ nhiễu, và chọn lọc tính năng Mục đích là để cải thiện chất lượng dữ liệu, đảm bảo

dữ liệu đầu vào phù hợp cho việc huấn luyện mô hình, và tăng cơ hội đạt được kết quả tốt 4.3 Công nghệ sử dụng

Ngôn Ngữ Python 3.11.3 Thư Viện Pytorch Môi Trường Google colab Bảng 4.3 Mô tả công nghệ sử dụng 4.4 Cách đánh giá

Sử dụng hai phương pháp đánh giá và lấy trung bình chúng để xác định hiệu suất mô hình dự đoán:

1 Đối với bộ sưu tập `tile:xla`, sử dụng một độ đo dựa trên "1 - slowdown" để phản ánh sự chậm trễ của top-K cấu hình dự đoán so với cấu hình nhanh nhất thực tế

2 Đối với các bộ sưu tập `layout:*`, sử dụng độ đo Kendall Tau Correlation, một độ đo xếp hạng

để đánh giá mức độ chính xác của thứ tự dự đoán so với thứ tự thực tế của thời gian chạy

Trang 15

1 − (�ℎ� ���� ������� �� �ℎ� ��� − � ������������ℎ� ���� ������� �� ��� �������������� − 1) = 2 −��� ����∈���

�∈���

Công thức này dùng để tính "1 - slowdown" cho `tile:xla` trong cuộc thi Kaggle Nó đo lường hiệu suất của mô hình AI dựa trên sự chênh lệch giữa thời gian chạy tốt nhất mà mô hình dự đoán (top-k predictions) và thời gian chạy tốt nhất thực tế trong tất cả cấu hình Trong đó

��: là thời gian chạy được quan sát hoặc đo lường

����∈���:là thời gian chạy tốt nhất trong số các dự đoán

����∈���: là thời gian chạy tốt nhất thực tế trong tất cả cấu hình

Giá trị của công thức sẽ càng gần 1 nếu top-k dự đoán gần với thực tế và càng nhỏ nếu chênh lệch lớn, điều này cho thấy mô hình dự đoán không chính xác

4.5 Kết quả đạt được

Hình 4.5.1 Comp Score

Trang 16

Hình 4.5.1 Mean Score

1 Sự Biến Đổi qua Các Epochs và Folds:

- Comp Score: Đối với cả 5 folds, comp score tăng đáng kể trong những epochs đầu tiên và sau

đó ổn định hoặc giảm nhẹ Điều này cho thấy mô hình học hiệu quả từ dữ liệu trong giai đoạn đầu của quá trình huấn luyện và sau đó dần đạt đến một mức độ bão hòa

- Mean Score: Biểu đồ cho thấy sự biến động lớn hơn trong mean score so với comp score qua các epochs Điều này có thể cho thấy mức độ phức tạp hơn trong việc cải thiện mean score hoặc

sự không ổn định của chỉ số này so với comp score

2 Sự Đồng Nhất giữa Các Folds: Cả hai chỉ số đều cho thấy một mức độ đồng nhất qua các folds, với những xu hướng tăng và giảm tương tự qua từng epoch Điều này cho thấy mô hình có sự ổn định và không quá phụ thuộc vào fold cụ thể nào

3 Giá Trị Trung Bình:

- Giá trị trung bình của comp score là 0.8819, cho thấy mô hình có hiệu suất khá cao trong quá trình huấn luyện

- Giá trị trung bình của mean score là 0.7764, thấp hơn so với comp score nhưng vẫn ở mức khá tốt

4 Sự Ổn Định và Hiệu Suất của Mô Hình:

Ngày đăng: 02/01/2025, 22:12

HÌNH ẢNH LIÊN QUAN

Hình 2.2 Biểu diễn đồ họa cho mạng GNN - Đồ án cuối kì học sâu google   fast or slow? predict ai model runtime
Hình 2.2 Biểu diễn đồ họa cho mạng GNN (Trang 10)
Hình 3.1 Mô hình tổng quan - Đồ án cuối kì học sâu google   fast or slow? predict ai model runtime
Hình 3.1 Mô hình tổng quan (Trang 12)
Bảng 4.3 Mô tả công nghệ sử dụng 4.4 Cách đánh giá - Đồ án cuối kì học sâu google   fast or slow? predict ai model runtime
Bảng 4.3 Mô tả công nghệ sử dụng 4.4 Cách đánh giá (Trang 14)
Hình 4.5.1 Comp Score - Đồ án cuối kì học sâu google   fast or slow? predict ai model runtime
Hình 4.5.1 Comp Score (Trang 15)
Hình 4.5.1 Mean Score - Đồ án cuối kì học sâu google   fast or slow? predict ai model runtime
Hình 4.5.1 Mean Score (Trang 16)