Xem mẫu

  1. DỰ ĐOÁN KHỐI LƯỢNG LÀM VIỆC CỦA MỘT MẠNG LƯ I CÁC THIẾT BỊ Trịnh Hoàng Lương, Huỳnh Đức Thắng, Nguyễn Thị Kiều Anh, Ngô Trần Ngọc Sơn Khoa Công nghệ Thông tin, Trường Đại học Công nghệ TP. Hồ Chí Minh GVHD: ThS. Nguyễn Đô P ươ TÓM TẮT Dự đoán tần suất làm việc của một máy chủ đối với các nhiệm vụ tương ứng từ những dự liệu đã có sẵn. Bộ dữ liệu của Công ty Phần mềm EMCA bao gồm một tệp tin chứa các thông tin về thời gian hoạt đông, trung bình mức sử dụng của các máy chủ cùng với nhiệm vụ tương ứng. Xử lý bộ dữ liệu có sẵn thành các tập huấn luyện và các tập kiểm thử sử dụng mạng bộ nhớ dài-ngắn (LSTM) để học các đặc điểm của giá trị trung bình đã cho và đi dự đoán 168 giờ tiếp theo cho các cặp máy chủ - nhiệm vụ tương ứng. Từ khóa: Dự đoán, LSTM, học máy, tần suất hoạt động, thiết bị. 1 GI I THIỆU Ý ƯỞNG Hiện nay, nhiều công ty cung cấp các máy chủ thực hiện các hoạt động với quy mô lớn. Các máy chủ có thể hoạt động cùng một nhiệm vụ hoặc khác nhiệm vụ trong những khoảng thời gian khác nhau. Việc phân bố ở những khu vực khác nhau với số lượng nhiều máy chủ sẽ khiến cho việc hoạt động không được hiệu quả, do sẽ có thời gian khi nhiều máy không làm gì và những máy khác lại hoạt động hết công suất. Hậu quả là đem đến tổn thương lớn cho bộ phận phần cứng của các máy chủ. Từ những vấn đề trên, đã có các tập đoàn được thành lập và cung cấp dịch vụ thông báo mức độ làm việc của các máy chủ với độ bảo mật cao. Nhưng chính họ cũng có các câu hỏi đặt ra là liệu có thể tin tưởng được việc dự đoán mức độ làm việc của các máy chủ dựa trên những dữ liệu đã có sẵn từ trước. 2 NHỮNG CÔNG VIỆC LIÊN QUAN Năm 2016, nhóm nghiên cứu gồm Weishan Zhang; Bo Li; Dehai Zhao; Faming Gong và Qinghua Lu đã cho ra bài báo dự đoán mức độ làm việc của đám mây bằng mạng thần kinh tái phát (RNN). Xiaoyong Tang (2019) đã cho ra độ chính xác của việc nghiên cứu mạng bộ nhớ dài-ngắn cải thiện để dự đoán tần suất làm việc của hệ thống máy tính quy mô lớn là 86%. Một hướng tiếp cận vấn đề khác bằng quy hoạch tuyến tính của Mina Niknafs, Ivan Ukhov, Petru Eles và Zebo Peng (2019) trong việc quản lý thời gian hoạt động của các nguồn với độ chính xác cho mỗi lần dự đoán trong khoảng 80 – 95%. 59
  2. 3 GI I THIỆU KỸ THUẬT 3.1 Mạng thần kinh tái phát (Recurrent Neural Network – RNN [1]) Mô hình RNN được sử dụng cho dữ liệu dạng chuỗi với ý tưởng chính là sử dụng một bộ nhớ để lưu lại thông tin từ những bước tính toán xử lý trước để dựa vào nó có thể đưa ra dự đoán chính xác nhất cho bước dự đoán hiện tại. Hình 1: Mô hình RNN: Many to one 3.2 Mạng bộ nhớ dài-ngắn (Long short-term memory – LSTM[2]) LSTM cũng có cơ chế hoạt động dựa trên RNN nhưng có một số thay đổi trong các khối. LSTM có 4 cổng, có thể duy trì trạng thái nhớ và áp dụng phi tuyến (sigmoid) trước khi vào cổng ra. Hình 2: Mô hình LSTM 3.3 Tối ưu hóa Adam (Adam optimization[3]) Adam là thuật toán tối ưu có thể được sử dụng để thay thế đạo hàm hội tụ (Gradient descent) để cập nhật bộ trọng số được lặp đi lặp lại dựa vào dữ liệu học (training data). Đạo hàm hội tụ sử dụng duy nhất một tần suất học (learning rate) cho mọi lần cập nhật bộ trọng số. Trong khi đó, thuật toán tối ưu Adam sẽ cải thiện tần suất học cho từng bộ trọng số và lần lượt thay đổi trong suốt quá trình học. 60
  3. Hình 3: Biểu đồ so sánh tốc độ hội tụ của các thuật toán tối ưu Có thể thấy, trong năm thuật toán tối ưu thì có lẽ thuật toán tối ưu Adam là sự lựa chọn tốt nhất cho bài toán. 3.4 Sai số toàn phương trung bình (Mean square error – MSE[4]) MSE là hàm sai số được sử dụng phổ biến nhất cho các bài toán hồi quy. Nó được xác định bởi trung bình của độ lệch của toàn bộ giá trị thật và giá trị dự đoán, được viết dưới dạng công thức: 1 N ˆ  L(y,y) (y  yˆ i )2 N i 0 trong đó: y là giá trị thực tế, ̂ là giá trị dự đoán, y - ̂ là sai số của giá trị thực tế so với dự đoán, ̂) là tổng trung bình của sai số của giá trị thực tế so với dự đoán. 4 QUÁ TRÌNH THỰC HIỆN 4.1 Dữ liệu đầu vào Đầu vào của bài toán là dữ liệu của 5 đặc tính công việc chia nhau thực hiện bởi 1000 máy chủ, chúng ta sẽ có 1000 bộ dữ liệu. Mỗi bộ dữ liệu có khoảng 1900 dòng (mỗi dòng tương ứng với mỗi giờ) với mỗi giờ là hiệu suất sử dụng trung bình trong 1 giờ của máy chủ. 61
  4. Hình 4: Một đoạn dữ liệu ví dụ Trong đó host là tên máy chủ và Series là đặc tính công việc mà máy chủ đó phải thực hiện, còn Mean là khối lượng công việc trung bình trong giờ đó của máy chủ thực hiện. 4.2 Đặt vấn đề Mạng LSTM chỉ tốt khi thực hiện dự đoán một vài giá trị tiếp theo, nếu dự đoán quá nhiều giá trị thì sai số sẽ tuyến tính và càng ngày càng lớn. Để dự đoán được 168 giờ tiếp theo chúng ta cần khắc phục nhược điểm này. 4.3 Giải quyết vấn đề Với bộ dữ liệu 1900 dòng, 168 (1 tuần) giờ cuối cùng của mỗi bộ dữ liệu vào sẽ được tách riêng ra để làm dữ liêu thực tế (Y_test) dùng để so sánh với dữ liệu dự đoán. Số giờ được dùng để dự đoán ở đây sẽ là 30 giờ, việc sử dụng nhiều giờ hơn tăng thời gian học lên rất nhiều, nhưng sai số lại cải thiện rất ít nên ta sẽ chọn 30 giờ để dự đoán ra 1 giờ tiếp theo. 1732 dòng dữ liệu trong X_train, cứ mỗi 30 giờ liên tục thì sẽ có nhãn là giờ thứ 31 (Y_train). Sau đó đưa vào LSTM để học ra được mô hình. Ta thấy khối lượng công việc phải thực hiện của mỗi máy chủ được lặp lại nhưng vẫn có sự thay đổi nhất định nên ta sẽ dùng một phần của dữ liệu thật để dự đoán tránh tình trạng sai số ngày càng tăng khi dự đoán những giờ sau. Bắt đầu từ giờ dự đoán thứ 2 trở đi chúng ta sẽ dự đoán bằng 30 giờ với giờ cuối cùng bằng trung bình của tất cả các giờ trong ngày hôm đó cộng với giờ vừa dự đoán trước đó chia đôi. Để dự đoán 168 giờ trong tương lai, giờ đầu tiên sẽ được dự đoán bằng 30 giờ cuối cùng của tuần đầu tiên trong X_test và được sẽ được lưu lại dùng để dự đoán giờ tiếp theo. Giờ tiếp theo sẽ được dự đoán bằng 29 giờ trước đó và giờ thứ 30 được tính như đã nêu trên, cứ như vậy cho đến khi đạt đủ 168 giờ dự đoán. 62
  5. 5 KẾT QUẢ Sau khi thực hiện học và dự đoán bằng cách học ra 1000 mô hình khác nhau, sai số nhận được là cực kỳ thấp. Hình 5.1 thể hiện 10 sai số thấp nhất trong tổng số cặp dự đoán được. Hình 5.1: Sai số của giá trị dự đoán so với thực tế Sai số (Loss) được tính bằng công thức MSE. Hình 5.2 biểu diễn đường giá trị dự đoán so với thực tế trong 168 giờ của host0446 với đặc tính công việc là cpu_1m cho thấy rõ việc mô hình dự đoán bám sát với các xu hướng của thực tế. host0446 - cpu_1m 35 30 25 20 15 10 5 0 1 8 106 113 120 127 134 141 148 155 162 92 15 22 29 36 43 50 57 64 71 78 85 99 Dự đoán Thực tế Hình 5.2: Đường biểu diễn giá trị dự đoán so với thực tế 6 KẾT LUẬN VÀ Ư NG PHÁT TRIỂN Mô hình hiện tại tuy đã dự đoán khá chính xác, nhưng có nhược điểm là mất khá nhiều thời gian để huấn luyện. Chính vì thế nên khi gặp lượng dữ liệu lớn như Big Data thì sẽ cần rất nhiều thời gian. Vậy nên để có thể mở rộng mô hình sang ứng dụng trong lĩnh vực Big Data, ta cần phải tìm cách giảm thời gian cần để huấn luyện nhưng vẫn phải giữ được độ chính xác của mô hình hoặc thử cách đơn giản hơn như tiền xử lý dữ liệu để giảm thời gian đọc dữ liệu. 63
  6. TÀI LIỆU THAM KHẢO [1] Mikolov, T., Karafiát, M., Burget, L., Černocký, J., & Khudanpur, S. (2010). Recurrent neural network based language model. In Eleventh annual conference of the international speech communication association. [2] Hochreiter, S., & Schmidhuber, J. (1997). Long short-term memory. Neural computation, 9(8), 1735-1780. [3] Kingma, D. P., & Ba, J. (2014). Adam: A method for stochastic optimization. arXiv preprint arXiv:1412.6980. [4] Ephraim, Y., & Malah, D. (1984). Speech enhancement using a minimum-mean square error short-time spectral amplitude estimator. IEEE Transactions on acoustics, speech, and signal processing, 32(6), 1109-1121. 64
nguon tai.lieu . vn