Phát triển hệ thống MLOps cho ứng dụng dự đoánkết quả học tập của học sinhEduPredictOps

DEVELOPING AN MLOPS SYSTEM FOR STUDENT ACADEMIC PERFORMANCE PREDICTION APPLICATION.

Đề tài hướng đến việc tích hợp và mở rộng dữ liệu cho các mô hình Machine Learning trong ứng dụng web, đồng thời cung cấp khả năng quản lý hiệu suất và đánh giá chất lượng hoạt động của mô hình. Điều này giúp người quản trị đưa ra các giải pháp cải thiện hiệu suất trong quá trình triển khai, đồng thời hỗ trợ việc ra quyết định dựa trên dữ liệu cập nhật.

TÁC GIẢ

Phạm Minh Thuận

GIẢNG VIÊN HƯỚNG DẪN

NGÀNH

Năm:

Tổng quan đồ án

Đề tài hướng đến việc tích hợp và mở rộng dữ liệu cho các mô hình Machine Learning trong ứng dụng web, đồng thời cung cấp khả năng quản lý hiệu suất và đánh giá chất lượng hoạt động của mô hình. Điều này giúp người quản trị đưa ra các giải pháp cải thiện hiệu suất trong quá trình triển khai, đồng thời hỗ trợ việc ra quyết định dựa trên dữ liệu cập nhật.

EduPredictOps là một ứng dụng web tích hợp 3 mô hình Machine Learning nhằm dự đoán kết quả học tập của học sinh. Ứng dụng không chỉ
tập trung vào khả năng dự đoán mà còn cung cấp các tính năng quản lý hiệu suất, giúp người quản trị theo dõi và đánh giá chất lượng của các mô hình.

Ngoài ra, ứng dụng hỗ trợ việc nâng cấp và mở rộng các mô hình thông qua việc bổ sung tập dữ liệu mới. Người quản trị có thể đánh giá mức độ ảnh hưởng của tập dữ liệu được cập nhật đến hiệu suất dự đoán, từ đó quyết định chấp nhận hoặc từ chối dữ liệu mới. Đây là một bước tiến quan trọng trong việc cải thiện khả năng dự đoán và tối ưu hóa mô hình Machine Learning trong môi trường thực tiễn.

Mục đích

● Nghiên cứu công nghệ và lựa chọn mô hình tối ưu: Tìm hiểu, đánh giá, và áp dụng các mô hình Machine Learning phù hợp nhất để dự đoán chính xác kết quả học tập của học sinh.

● Phát triển ứng dụng web EduPredictOps: Tạo ra một ứng dụng thực tiễn, hỗ trợ học sinh và giảng viên trong việc đánh giá, đưa ra chiến lược học tập và giảng dạy phù hợp với từng đối tượng học sinh.

● EduPredictOps tập trung vào:

Dự đoán kết quả học tập: Sử dụng dữ liệu đầu vào như điểm số trong quá khứ và các yếu tố hoàn cảnh gia đình (mồ côi, gia đình khó khăn).

Cải thiện mô hình: Cung cấp khả năng nâng cấp và tối ưu mô hình thông qua cập nhật dữ liệu (*chỉ dành cho người quản trị).

Đánh giá hiệu suất: Hiển thị thông số chính xác của mô hình để hỗ trợ người quản trị đưa ra các quyết định liên quan đến việc cập nhật dữ liệu.

Cơ sở lý thuyết

Python Flask-app

Flask là một web framework nhẹ (microframework) được viết bằng ngôn ngữ lập trình Python. Nó cung cấp các công cụ và thư viện cần thiết để phát triển ứng dụng web một cách dễ dàng và nhanh chóng. Flask được thiết kế với kiến trúc đơn giản, không bao gồm các thành phần nặng như ORM (Object Relational Manager) hay tính năng quản lý biểu đồ quan hệ.

Model Machine Learning

Trong dự án này, có 3 mô hình Machine Learning sau được áp dụng:

Linear Regression (Hồi quy tuyến tính)(1):

Linear Regression là một thuật toán học máy có giám sát, được sử dụng để tìm mối quan hệ tuyến tính giữa biến phụ thuộc (đầu ra) và một hoặc nhiều biến độc lập (đầu vào). Đây là phương pháp cơ bản để dự đoán các giá trị liên tục.

Phương trình hồi quy tuyến tính:
y= β0+ β1X1+ β2X2+⋯+ βnXn
o y: Biến phụ thuộc (đầu ra).
o X1, X2, …, Xn: Các biến độc lập (đầu vào).
o β0:Hệ số chặn (intercept).
o β0, β2, …, β ₙ: Hệ số góc tương ứng với từng biến độc lập.

Ứng dụng: Linear Regression được sử dụng để tìm mối quan hệ đơn giản giữa các biến và dự đoán giá trị đầu ra cho các bài toán không quá phức tạp.

Multilayer Perceptron (MLP)(2):

image 166

Long Short-Term Memory (LSTM)(3):

image 167

Các thông số trong quá trình train mode

Đối với modal Linear RegressionL hệ số (parameters) trong LR được ước lượng bằng cách giải bài toán tối ưu. Quá trình train model này không cần chia nhỏ dữ liệu hay lặp lại nhiều lần

Đối với 2 mô hình Multilayer Perceptron và Long Short-Term Memory các thông số cần quan tâm là epochs và path_size. Đây là 2 tham số quan trọng trong huấn luyện mô hình.

  • epochs: Số lần huấn luyện bộ dữ liệu, 1 epochs là 1 lần mô hình học tập từ bộ dữ liệu. Giá trị epochs càng lớn model càng có điều kiện học tập và tối ưu hơn. Nhưng nếu nó quá lớn có thể gây ra tình trạng overfitting gây giảm hiệu suất đối với bộ dữ liệu mới vì mô hình bắt đầu “học thuộc lòng” bộ dữ liệu thay vì tổng quát hóa.
  • bath_size: Kích thước mẫu dữ liệu được đưa vào model trong một lần cập nhật giá trị. Trong một epochs bộ dữ liệu sẽ được chia nhỏ theo kích thước bath_size để đưa vào model. Giá trị path_size càng lớn các chỉ số mất mát (weights, biases,..) càng ổn định, model càng dễ hội tụ đổi lại yêu cầu lớn về bộ nhớ và GPU. Model LSTM cần chỉ số bath_size và epochs lớn hơn so với MLP vì cần học tập từ bộ dữ liệu tuần tự theo chuỗi thời gian.

Thiết kế hệ thống

image 168
image 169
image 170
image 171
image 172
image 173

Kết luận

Ứng dụng EduPredictOps hoạt động khá tốt và hiệu quả đáp ứng đầy đủ nhu cầu sữ dụng từ phía người dùng, hệ thống tương đối dễ sử dụng. Về phía người quản trị các thông số giúp ích khá nhiều trong việc đưa ra đáng giá và giải pháp cho ứng dụng.

Về mặt giao diện tương đối dễ sữ dụng người dùng có thể làm quen ngay mà không gặp bất cứ khó khăn gì.