Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 33 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
33
Dung lượng
2,34 MB
Nội dung
cnĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHOA CÔNG NGHỆ PHẦN MỀM ĐỒ ÁN Tìm hiểu Microsoft ML.NET minh họa với toán hỏi-đáp tiếng Anh Giảng viên hướng dẫn: Đỗ Thị Thanh Tuyền Sinh viên thực hiện: 19521896 - Mai Anh Nghĩa 19521377 - Nguyễn Huy Đức TP Hồ Chí Minh, ngày 08 tháng năm 2022 LỜI CẢM ƠN Trong quá trình ho ̣c tập, nghiên cứu và phát triể n đề tài “Tìm hiểu Microsoft ML.NET minh hoạ với toán hỏi đáp tiếng Anh” chúng em đã nhận đươc̣ sự giúp đỡ, chỉ bảo nhiệt tình của cô để hoàn thành đồ án này Nhóm em xin chân thành gửi lời cảm ơn đế n cô Đỗ Thị Thanh Tuyền – Giảng viên Khoa Công nghệ phầ n mề m, Trường Đa ̣i ho ̣c Công nghệ thông tin, Đa ̣i ho ̣c Quố c gia Thành phố Hồ Chí Minh – giảng viên da ̣y hướng dẫn môn Đồ án 1, đã tận tình hướng dẫn và giúp đỡ về kiế n thức, phương pháp cho chúng em suố t quá trình thực hiện và hoàn thành đồ án Mặc dù đã có nhiề u cố gắ ng suố t quá trình thực hiện đề tài, song không thể tránh khỏi những ̣n chế , thiế u sót Chúng em mong rằ ng sẽ nhận đươc̣ những đóng góp và nhận xét chân thành từ cô để ngày càng hoàn thiện hơn nữa Nhóm chúng em xin chân thành cảm ơn Thành phố Hờ Chí Minh, ngày 08 tháng 06 năm 2022 LỜI NHẬN XÉT CỦA GIẢNG VIÊN …………………………………………………………………………………………… …………………………………………………………………………………………… ……………………………………………………………………………………………… ………………………………………………………………… ………………………… ……………………………………………………………………………………………… ……………………………………… …………………………………………………… ……………………………………………………………………………………………… …………… ……………………………………………………………………………… ………………………………………………………………………………… ………… ……………………………………………………………………………………………… ……………………………………………………… …………………………………… ……………………………………………………………………………………………… …………………………… ……………………………………………………………… ……………………………………………………………………………………………… … ………………………………………………………………………………………… ……………………………………………………………………… …………………… ……………………………………………………………………………………………… …………………………………………… ……………………………………………… ……………………………………………………………………………………………… ………………… ………………………………………………………………………… ……………………………………………………………………………………… …… ……………………………………………………………………………………………… …………………………………………………………… ……………………………… ……………………………………………………………………………………………… ………………………………… ………………………………………………………… ……………………………………………………………………………………………… ……… …………………………………………………………………………………… …………………………………………………………………………… ……………… ……………………………………………………………………………………………… ………………………………………………… ………………………………………… ……………………………………………………………………………………………… ……………………… …………………………………………………………………… ……………………………………………………………………………………………… Table of Contents CHƯƠNG TỔNG QUAN 1.1 Giới thiệu chung 1.2 Các nghiên cứu liên quan đến đề tài 1.3 Các phương pháp mục tiêu thực nghiệm 1.3.1 Các phương pháp 1.3.2 Mục tiêu CHƯƠNG CƠ SỞ LÝ THUYẾT 2.1 Đôi nét machine learning 2.1.1 Khái niệm 2.1.2 Các phương pháp Machine Learning 2.2 Transformers 10 2.2.1 Mơ hình Transformers ? 10 2.3 BERT 12 2.3.1 Khái niệm 12 2.3.2 Cách thức hoạt động 13 2.3.3 Nền tảng BERT 13 2.3.4 Phương pháp Fine-tuning BERT 16 CHƯƠNG 16 MICROSOFT MACHINE LEARNING 16 3.1 ML.NET 16 3.1.1 Khái niệm 16 3.1.2 Cơ chế hoạt động 17 3.1.3 ML.NET hỗ trợ toán liên quan tới Máy Học? 20 3.1.5 Kiến trúc ML.NET gồm gì? 20 3.1.6 Ưu điểm ML.NET 21 3.1.7 Các tính ML.NET 22 3.1.8 Khái niệm chế hoạt động Deep Learning 23 3.1.9 Các công cụ 24 3.2 ONNX model 24 3.2.1 Khái niệm 24 3.2.2 Các bước chuyển đổi pretrained model từ pytorch sang ONNX model 25 3.3 Pytorch 25 3.3.1 Pytorch ? 25 3.3.2 Những lợi ích sử dụng Pytorch ? 26 CHƯƠNG 26 MINH HOẠ VỚI BÀI TOÁN HỎI - ĐÁP TIẾNG ANH 26 4.1 Sử dụng thư viện Hugging Face 26 4.2 Pretrained model Bert base uncased squad 28 4.3 Cài đặt môi trường demo 28 CHƯƠNG 31 KẾT LUẬN 31 5.1 Kết đạt 31 5.2 Ưu điểm 32 5.3 Nhược điểm giải pháp 32 TÀI LIỆU THAM KHẢO 32 CHƯƠNG TỔNG QUAN 1.1 Giới thiệu chung Machine Learning thuật ngữ mà thường hay nghe đến lĩnh vực cơng nghệ thơng tin cụ thể trí tuệ nhân tạo Thực chất lĩnh vực trí tuệ nhân tạo, lĩnh vực quan trọng khoa học máy tính, ứng dụng rộng rãi khắp lĩnh vực đời sống cách mạng công nghiệp 4.0 Hiện nay, Machine Learning tỏ hiệu quả, hẳn người cụ thể lĩnh vực mà chúng áp dụng Trong số khơng thể khơng kể đến nhận dạng ảnh, chẩn đoán y khoa, dự báo thời tiết, … Bên cạnh Machine Learning, Deep Learning cho phép ứng dụng nhiếu vấn đề thực tế máy học cách mở rộng lĩnh vực tổng thể AI Deep learning phá vỡ cách thức người làm việc cách làm cho tất loại máy móc trợ giúp thực được, gần giống hệt người Ơ tơ khơng người lài, chăm sóc sức khoẻ tốt hơn, chí đề xuất phim tốt hơn, tất thực thời đại ngày AI tương lai Với trợ giúp Deep Learning, AI thức hóa ước mơ khoa học giả tưởng mà tưởng tượng từ lâu Vì vậy, nhận thấy Deep Learning lĩnh vực ngày phổ biến, có tính ứng dụng cao rộng rãi với nhiều mặt sống Nhóm em định chọn đề tài tìm hiểu Machine Learning minh họa toán hỏi-đáp Tiếng Anh 1.2 Các nghiên cứu liên quan đến đề tài Với nội dung đề tài đờ án chúng em nghiên cứu, tập trung vào chủ đề Tìm hiều Window Machine Learning để sử dụng mơ hình học sâu huấn luyện sẵn (Pretrained Model) ONNX Models, tìm hiểu cách chuyển pretrained model từ pytorch sang ONNX Model cuối áp dụng để thử nghiệm với pretrained model hỏi đáp Tiếng Anh 1.3 Các phương pháp mục tiêu thực nghiệm 1.3.1 Các phương pháp Để hoà n thà nh đồ á n và bà i bá o cá o nà y, nhố m êm đã tham khả o cá c tà i liêu hướng dã n đươc internet và cá c trang hướng dã n Đầu tiên, nhóm tụi êm tìm hiểu machinê lêarning cách triển khai machinê lêarning micrơsft ml.nêt Sau đó, nhóm tụi êm tiến hành chuyển mơ hình tôán hỏi đáp tiếng anh sang định dạng ONNX mà ML.nêt đọc để dêmơ 1.3.2 Mục tiêu Mục tiêu nhóm trước tìm hiểu lĩnh vực Machine Learning Từ áp dụng kiến thức thuật tốn, thư viện, cơng cụ, ngơn ngữ lập trình… để giải tốn hỏi-đáp Tiếng Anh Qua đó, phần điều chỉnh thơng số phù hợp, có bước xử lý liệu đắn để cải thiện đặc tính tốc độ độ xác mơ hình nhóm chọn Trong tương lai, chúng em xây dựng ứng dụng áp dụng tích hợp mơ hình pretrained với mong đợi ứng dụng phục vụ người với tính xác hiệu cao CHƯƠNG CƠ SỞ LÝ THUYẾT 2.1 Đôi nét machine learning 2.1.1 Khái niệm Machine learning (ML) hay máy học nhánh trí tuệ nhân tạo (AI), lĩnh vực nghiên cứu cho phép máy tính có khả cải thiện thân chúng dựa liệu mẫu (training data) dựa vào kinh nghiệm (những học) Machine learning tự dự đốn đưa định mà không cần lập trình cụ thể Quá trình học bắt đầu quan sát liệu Ví dụ, để tìm kiếm mẫu liệu đưa định tốt tương lai dựa ví dụ mà chúng tơi cung cấp Mục đích cho phép máy tính tự động học mà khơng cần can thiệp hay trợ giúp người điều chỉnh hành động tương ứng Deep Learning tập hợp Machine Learning, có khả khác biệt số khía cạnh quan trọng so với Machine Learning nông truyền thống, cho phép máy tính giải loạt vấn đề phức tạp giải 2.1.2 Các phương pháp Machine Learning 2.1.2.1 Supervised Learning – Học có giám sát Trong học tập có giám sát, máy tính cung cấp ví dụ đầu vào gắn nhãn với đầu mong muốn chúng Mục đích phương pháp để thuật tốn học dạy học cách so sánh kết đầu thực tế với kết đầu dạy để tìm lỗi sửa đổi mơ hình cho phù hợp Do đó, việc học giám sát sử dụng mẫu để dự đoán giá trị nhãn liệu khơng gắn nhãn bổ sung Ví dụ, với việc học có giám sát, thuật tốn cung cấp liệu với văn nghệ thuật dán nhãn “arts” vản Covid-19 dán nhãn “covid-19” Bằng cách đào tạo liệu này, thuật toán học có giám sát sau xác định văn nghệ thuật có nhãn “arts”, văn liên quan đến Covid-19 có nhãn “covid-19" Phương pháp thường sử dụng cho toán phân lớp (classification) 2.1.2.2 Unsupervised Learning – Học không giám sát Trong học tập không giám sát, liệu khơng gắn nhãn, thuật toán học để lại điểm chung liệu đầu vào Vì liệu khơng gắn nhãn phong phú liệu dán nhãn, phương pháp machine learning tạo điều kiện cho việc học tập khơng giám sát đặc biệt có giá trị Khơng giám sát thường sử dụng cho liệu giao dịch 2.1.2.3 Semi-Supervised Learning – Học bán giám sát Học bán giám sát lớp kỹ thuật học máy, sử dụng liệu gán nhãn chưa gán nhãn để huấn luyện - điển hình lượng nhỏ liệu có gán nhãn với lượng lớn liệu chưa gán nhãn Học bán giám sát đứng học khơng giám sát (khơng có liệu có nhãn nào) có giám sát (tồn liệu gán nhãn) Nhiều nhà nghiên cứu nhận thấy liệu không gán nhãn, sử dụng kết hợp với chút liệu có gán nhãn, cải thiện đáng kể độ xác Để gán nhãn liệu cho toán học máy thường địi hỏi chun viên có kĩ để phân loại tay ví dụ huấn luyện Chi phí cho quy trình khiến tập liệu gán nhãn hồn tồn trở nên khơng khả thi, liệu không gán nhãn thường tương đối rẻ tiền Trong tình đó, học nửa giám sát có giá trị thực tiễn lớn lao Một ví dụ cho kỹ thuật học máy nửa giám sát đờng huấn luyện (co-training), hay nhiều học huấn luyện tập ví dụ sử dụng tập đặc trưng khác nhau, lý tưởng độc lập với 2.1.2.4 Reinforcement Learning – Học tăng cường Học tăng cường lĩnh vực học máy, nghiên cứu cách thức agent môi trường nên chọn thực hành động để cực đại hóa khoản thưởng (reward) lâu dài Các thuật tốn học tăng cường cố gắng tìm chiến lược ánh xạ trạng thái giới tới hành động mà agent nên chọn trạng thái Môi trường thường biểu diễn dạng trình định Markov trạng thái hữu hạn (Markov decision process - MDP), thuật toán học tăng cường cho ngữ cảnh có liên quan nhiều đến kỹ thuật quy hoạch động Các xác suất chuyển trạng thái xác suất thu lợi MDP thường ngẫu nhiên lại tĩnh trình toán (stationary over the course of the problem) Khác với học có giám sát, học tăng cường khơng có cặp liệu vào/kết đúng, hành động gần tối ưu không đánh giá sai cách tường minh Hơn nữa, hoạt động trực tuyến (on-line performance) quan tâm, có việc tìm kiếm cân khám phá (lãnh thổ chưa lập đồ) khai thác (tri thức có) 2.2 Transformers 2.2.1 Mơ hình Transformers ? Transformer mơ hình học sâu thiết kế để phục vụ giải nhiều tốn xử lý ngơn ngữ tiếng nói, ví dụ tốn dịch tự động, tốn sinh ngôn ngữ, phân loại, nhận dạng thực thể, nhận dạng tiếng nói, chuyển văn thành tiếng nói Tuy nhiên, khác với RNNs, Transformer không xử lý phần tử chuỗi cách Nếu liệu đầu vào câu ngôn ngữ tự nhiên, Transformer không cần phải xử lý phần đầu câu trước rời tới phần cuối câu Do tính này, Transformer tận dụng khả tính tốn song song GPU giảm thời gian xử lý đáng kể 10 csv, sql server… ứng với loại file ML.NET cung cấp thư viện phù hợp để ta tải liệu đờng thời tự động mơ hình hóa liệu thành mơ hình hướng đối tượng bước thường làm công đoạn tải liệu xong ta làm ln cơng đoạn chia liệu ban đầu thành phần: Train set để huấn luyện mơ hình (dùng cho bước 3), Test set để đánh giá mơ hình (dùng cho bước 4) liệu lưu vào IDataView object Bước 2: Tùy vào mục đích tốn máy học mà ta dùng giải thuật khác nhau, dùng Binary classification, Multiclass classification, Regression… (giải thuật mục đích nên khnog thể liệt kê hết, gặp tìm hiểu trường hợc cụ thể cho đỡ rắc rối) Bước đại khái định quy trình hoạt động để trích xuất đặc trưng áp dụng thuật toán học máy cho phù hợp Đối tượng tạo bước IEstimator Bước 3: Tiến hành train mơ hình cách gọi phương thức Fit() IEstimator kết phương thức Fit() trả mơ hình có kiểu ITransformer Dữ liệu train lấy Train set bước Bước 4: sau train mơ hình xong chưa có sài (thường vậy), thường tốn máy học có kết dự đoán sai khác với thực tế, vấn đề sai khác có chấp nhận hay khơng? có tiếp tục sử dụng tiếp tục cải tiến mơ hình hay khơng Do train mơ hình xong ta cần đánh giá mơ hình chất lượng Ta lấy Test set bước để đánh giá Hàm đánh tên Evaluate() nằm lớp giải thuật mà ta sử dụng để train mơ hình, train mơ hình dùng giải thuật đánh giá dùng giải thuật Ví dụ train mà ta dùng MulticlassClassification để train, đánh giá dùng MulticlassClassification để đánh giá Kết hàmg Evaluate() trả object XYZMetrics Với XYZ giải thuật mà ta dùng để đánh giá, ví dụ dùng MulticlassClassification để đánh giá trả MulticlassClassificationMetrics, dùng Regression để đánh giá lại trả kết RegressionMetrics… Nên sau gọi hàm đánh giá xong dựa vào đối tượngkết trả mà ta định xem có dùng mơ hình hay khơng (trong máy học khơng có mơ hình sai có mơ hình phù hợp hay khơng) Ví dụ mơ hình dự đốn giá bán nhà tỉ, thực tế tỉ giá, ráng mà chịu biểu khơng xem chất lượng mơ hình có hợp lý hay khơng, bán tỉ mà tiền (nhưng kỹ sư phần mềm với am hiểu sống điên điên có giới hạn thơi, nhường người khác điên với) Nếu bước đánh giá mơ hình mà khơng thấy ổn quay lại bước Bước 5: Lưu mơ hình, sau đánh giá mơ hình chất lượng bước rời lưu lại để lần sau tải mơ hình sài thơi, chuẩn bị lại liệu train lại (vì 19 bước tốt chi phí) File mơ hình lưu mặc định có zip ta gọi phương thức Save() để lưu Bước 6: Load mơ hình lưu bước Ví dụ hôm qua lưu xong tắt máy, hôm mở máy lên cần tải lại mơ hình chạy thôi, nhiệm vụ ta build model đánh giá mô model cho chất lượng, rồi gửi model tới team khác sử dụng, muốn gửi phải lưu mơ hình xuống ổ cứng Ta gọi hàm Load() để tải mơ hình Sau tải mơ hình hóa ngược lại đối tượng ITransformer Bước 7: Gọi hàm CreatePredictionEngine().Predict() để sử dụng mơ hình nhằm tìm kết dự báo chương trình Truyền đối tượng ITransformer bước vào sử dụng 3.1.3 ML.NET hỗ trợ tốn liên quan tới Máy Học? Classification: Ví dụ toán phân loại cảm xúc khách hàng tích cực hay tiêu cực từ feedback họ Clustering : Ví dụ tốn gom cụm khách hàng, giả sử có N khách hàng ta cần phải gom thành k cụm, cụm chứa đặc trưng khác khách hàng Regression/Predict continuous values: Ví dụ tốn hời quy dự đoán giá nhà, giá taxi … từ tập liệu giao dịch khứ, dự đốn giá có số dự kiện Anomaly Detection: Các toán phát bất thường, chẳng hạn Phát giao dịch gian lận ngân hàng Recommendations: Các tốn khuyến nghị, ví dụ quảng cáo sản phẩm tới khách hàng có nhu cầu, vào tiki gợi ý sách mà người quan tâm Time series/sequential data: toán dự báo thời tiết hay doanh số bán sản phẩm Image classification: tốn phân loại hình ảnh Object detection: Các toán Phát đối tượng 3.1.5 Kiến trúc ML.NET gồm gì? Để sử dụng ML.NET ta bắt đầu với đối tượng MLContext Đối tượng chứa hàm/đối tượng để tải, lưu liệu, chuyển đổi liệu , trình huấn luyện thành phần vận hành mơ hình Mỗi đối tượng có phương thức để tạo loại thành phần khác như: 20 3.1.6 Ưu điểm ML.NET Dễ phát triển: Windows ML tích hợp phiên Windows 10 Windows Server 2019, tất bạn cần Visual Studio mơ hình ONNX đào tạo, phân phối với ứng dụng Windows Ngồi ra, bạn cần cung cấp tính dựa AI cho phiên Windows cũ (xuống 8.1), Windows ML có sẵn dạng gói NuGet mà bạn phân phối với ứng dụng Hỗ trợ phần cứng rộng rãi: Windows ML cho phép bạn ghi khối lượng cơng việc ML lần tự động đạt hiệu suất tối ưu hóa cao nhà cung cấp phần cứng loại silicon khác nhau, chẳng hạn CPU, GPU tăng tốc AI Ngoài ra, Windows ML đảm bảo hành vi quán phạm vi phần cứng hỗ trợ Độ trễ thấp, kết thời gian thực: Các mô hình ML đánh giá khả xử lý thiết bị Windows, cho phép phân tích cục bộ, thời gian thực khối lượng liệu lớn, chẳng hạn hình ảnh video Kết có sẵn cách nhanh 21 chóng hiệu để sử dụng khối lượng công việc địi hỏi nhiều hiệu suất cơng cụ trị chơi tác vụ lập mục cho tìm kiếm Tăng tính linh hoạt: Tùy chọn đánh giá cục mơ hình ML thiết bị Windows cho phép bạn giải nhiều tình Ví dụ: đánh giá mơ hình ML chạy thiết bị ngoại tuyến gặp phải tình trạng kết nối khơng liên tục Điều cho phép bạn giải tình khơng phải tất liệu gửi lên đám mây vấn đề quyền riêng tư chủ quyền liệu Giảm chi phí hoạt động: Đào tạo mơ hình ML đám mây sau đánh giá chúng cục thiết bị Windows tiết kiệm đáng kể chi phí băng thơng, với liệu tối thiểu gửi đến đám mây — cần thiết để cải tiến liên tục mơ hình ML bạn Hơn nữa, triển khai mơ hình ML kịch máy chủ, nhà phát triển tận dụng khả tăng tốc phần cứng Windows ML để tăng tốc độ phục vụ mơ hình, giảm số lượng máy cần thiết để xử lý khối lượng cơng việc 3.1.7 Các tính ML.NET Khi bạn học cách sử dụng ML.NET NET framework, điều quan trọng phải xác định tính cốt lõi tảng Nó giúp bạn xây dựng sản phẩm tương lai xác định lại ứng dụng làm cung cấp Vì vậy, vài tính framework mà bạn nên biết Mã nguồn mở miễn phí Bắt đầu với khía cạnh tuyệt vời nhất, Microsoft AI ML.NET khuôn khổ đa tảng mã ng̀n mở miễn phí Điều có nghĩa bạn chạy khn khổ mơi trường thiết bị Có thể Azure, On-Premises, loại Đám mây nào, bạn truy cập hướng dẫn ML.NET, Trình tạo mơ hình sử dụng phần mở rộng để nâng cao mơi trường phát triển Ngồi ra, bạn xây dựng giải pháp kỹ thuật số cần thiết Windows, Linux macOS AutoML Cho đến nay, khả đáng ý ML.NET AutoML Mục đích việc thêm điều để tạo mơ hình ML tùy chỉnh giao diện để tự động hóa việc tạo biến thể hoạt động hàng đầu Điều có nghĩa tình học máy nơi bạn cần truy cập khả ML, AutoML đề xuất mơ hình hoạt động tốt cho tình u cầu Cơng việc bạn bị giới hạn việc cung cấp liệu cho 22 AutoML tự động lập mơ hình q trình xây dựng Đối với kỹ sư học máy, tính khơng phần kỳ diệu truy cập vào kết hợp tốt giải pháp mà khơng cần phải thực công việc chân tay ML.NET CLI Trước nói Trình tạo mơ hình, nhà phát triển kỹ sư tự động tạo mơ hình yêu cầu Tuy nhiên, kỹ sư học máy khơng sử dụng Visual Studio khơng có quyền truy cập vào tảng Windows, họ tận dụng chức AutoML với ML.NET CLI Đối với điều này, bạn cần cài đặt công cụ ML.NET CLI chạy Command Prompt Điều giúp tạo mơ hình học máy chất lượng cao tùy thuộc vào liệu bạn cung cấp Tương tự Trình tạo mơ hình, CLI tạo mã ML.NET C # mẫu mà sau sử dụng để tạo đào tạo chức cần thiết 3.1.8 Khái niệm chế hoạt động Deep Learning Deep Learning tập hợp Machine Learning có tác dụng hỗ trợ cho máy tính tự huấn luyện để thực tác vụ tương tự người Điều giúp máy tính bắt chước người cách học hỏi suy nghĩ Các hệ thống Deep Learning có khả cải thiện hiệu suất chúng với quyền truy cập vào liệu nhiều Thông thường, phiên máy có nhiều kinh nghiệm hơn; máy móc có đủ kinh nghiệm mang phục vụ cho công việc như: lái xe, phát cỏ dại, Deep Learning có hỗ trợ cho việc dịch ngơn ngữ, phân loại hình ảnh, nhận dạng giọng nói Chính thế, ứng dụng để giải nhu cầu cần nhận dạng mẫu mà không cần đến can thiệp người Deep Learning xem phương pháp học máy theo phương pháp: lập trình AI huấn luyện để dự đoán đầu dựa vào tập đầu vào Ví dụ cụ thể: Dự đốn hành đầu mèo gặp chuột rồi tiến hành huấn luyện phương pháp học có giám sát Khi bạn muốn dự đoán hành động vào đầu vào thực sau: Lựa chọn mồi phù hợp Lúc này: phận thể mèo mắt, móng vuốt, tai, mèo trở nên nhanh nhạy Con chuột xuất đâu 23 Về Deep Learning không khác với học máy thông thường Tuy nhiên, với ví dụ thời gian cần dành nhiều thiết kế tính đại diện cho mèo Những cần làm cung cấp cho hệ thống số lượng hình ảnh mèo, video mèo bắt chuột hệ thống tự học tính đại diện dành cho mèo Với tác vụ thị giác máy tính, nhận dạng giọng nói, robot dịch máy hiệu suất Deep Learning vượt xa hệ thống máy khác Tuy nhiên, việc xây dựng hệ thống Deep Learning lại không dễ dàng so với hệ thống máy móc thơng thường 3.1.9 Các công cụ 3.2 ONNX model 3.2.1 Khái niệm ONNX Machine Learning framework sử dụng để chuyển đổi Machine Learning framework khác Giả sử bạn nghiên cứu, đào tào mơ hình với Pytorch, nhiên triển khai thành sản phẩm, bạn lại tìm thấy cơng cụ hỗ trợ Tensorflow, TFLite, … Chả nhẽ ngời code lại? Nope, ONNX sinh để giúp bạn giải vấn đề ONNX phát triển cộng đồng đối tác Microsoft, Facebook AWS 24 ONNX đóng vai trị trung gian việc chuyển đổi từ framework tới framework cách dễ dàng Hiện ONNX hỗ trợ framework phổ biến Tensorflow, Pytorch, Scikit-learn, … ONNX hỗ trợ rộng rãi, cho phép khả tương tác frameworks khác làm “hợp lý hóa” đường từ nghiên cứu tới sản phẩm, điều góp phần thúc đẩy tốc độ tăng trưởng cộng đờng AI NĨ giải toán nan giải phụ thuộc phần cứng mơ hình AI 3.2.2 Các bước chuyển đổi pretrained model từ pytorch sang ONNX model Bước 1: Import thư viện khởi tạo cấu hình cần thiết Bước 2: Xây dựng mơ hình tải pretrained weight Bước 3: Chuyển mơ hình dạng ONNX Export mơ hình CNN Export mơ hình Encoder Export mơ hình Decoder 3.3 Pytorch 3.3.1 Pytorch ? Pytorch framework hỗ trợ Deep learning phát triển Facebook (Bên cạnh Amazon, Google hay Apple, Facebook biết đến đơn vị công nghệ đầu tư nhiều nguồn lực cho việc phát triển trí tuệ nhân tạo) Phát triển Pytorch với mã nguồn mở Facebook tạo cộng đồng chia sẻ lớn Với nguồn tài nguyên rộng lớn cộng đồng vấn đề mà bạn mắc phải có giải chia sẻ lên cộng đồng, dành chút thời gian để tìm kiếm Việc nhiều người sử dụng Pytorch Tensorflow hay Keras để giải toán Deep Learning, làm chúng trở thành framework phổ biến Đặc biệt phải kể đến lĩnh vực nghiên cứu, nhà phát triển hay tác giả ưu tiên sử dụng Pytorch giúp triển khai tốn Pytorch dễ dàng giúp chúng 25 bạn debug Visuallize với chế Dynamic Graphs cho phép giảm thời gian huấn luyện mơ hình 3.3.2 Những lợi ích sử dụng Pytorch ? Pytorch mà thu hút nhiều người dùng đến vậy? So với Tensorflow hay Keras, số lượng người dùng sử dụng Pytorch khơng cạnh lợi ích Pytorch đem lại Mã nguồn mở: chia sẻ trên, nhờ sử dụng mã nguồn mở tạo nên cộng đồng lớn với nguồn tài nguyên “chất lượng” “số lượng” Khả xử lý đồ họa: Numpy đờng thời có kiểm sốt CPU & GPU rõ ràng Tập hợp nhiều Pythonic tự nhiên Dễ dàng xử lý gặp bug Có TouchScript xem tập hợp Python Tập hợp giúp triển khai ứng dụng vào quy mơ sản xuất từ mở rộng quy mơ Đờng thời nói đến việc xây dựng nguyên mẫu với tốc độ nhanh, sử dụng Pytorch ưu tiên so với Tensorflow nhẹ Các hàm, cú pháp Pytorch giúp xử lí tốn AI nhanh chóng CHƯƠNG MINH HOẠ VỚI BÀI TOÁN HỎI - ĐÁP TIẾNG ANH 4.1 Sử dụng thư viện Hugging Face Hugging Face tảng cộng đồng khoa học liệu mà cung cấp: Các cơng cụ cho phép người dùng xây dựng, đào tạo triển khai mơ hình ML dựa mã cơng nghệ mã nguồn mở (OS) Một nơi mà cộng đồng rộng lớn gồm nhà khoa học liệu, nhà nghiên cứu kỹ sư ML gặp chia sẻ ý tưởng, nhận hỗ trợ đóng góp cho dự án ng̀n mở Đầu tiên, ta cài đặt thư viện transformers Hugging Face ONNXruntime: 26 Tiếp theo, cài đặt model cần dùng Ở đây, ta sử dụng model hỏi đáp tiếng anh có tên “bert-base-uncased-squad-v1” Sau tải xuống hồn tất model Ta tiến hành phân tích thành phần input output cách sử dụng https://netron.app 27 Ở đây, quan tâm đến số lượng chi tiết input output model 4.2 Pretrained model Bert base uncased squad Link: https://huggingface.co/csarron/bert-base-uncased-squad-v1 Đây mơ hình tinh chỉnh từ HuggingFace BERT base uncased không phân biệt chữ in hoa hay in thường 4.3 Cài đặt môi trường demo Bước 1: Thêm package ml.net Visual Studio: Microsoft.ML Microsoft.ML.OnnxRuntime Microsoft.ML.OnnxTransformer Bước 2: Cài đặt 28 Bước 3: Cài đặt đường dẫn đến file vocab.txt mơ hình bertsquad Bước 4: Cài đặt file json để bắt đầu demo 29 Câu cho sẵn: “My name is Peter I’m 20 years old I’m a student in the university of Information Technology My major is software engineering Câu hỏi thứ nhất: “How old is he ?” Câu trả lời “20” Với độ xác 60% Câu hỏi thứ 2: “What is his university ?” Câu trả lời là: “university”, “of”, “information”, “technology” 30 Với độ xác đến 70% Câu hỏi thứ 3: “What is his major ?” Câu trả lời là: “software”, “engineering” Với độ xác đến 97% Link github toán hỏi đáp tiếng anh: https://github.com/anhnghiamai/questionansweringmlnet/tree/main/BertMlNet Link drive model file vocab: https://drive.google.com/drive/folders/1xiGarOGzAUAJECxl2NPRR3ctqeIgTGjM?usp= sharing CHƯƠNG KẾT LUẬN 5.1 Kết đạt Hiểu nắm kiến thức lĩnh vực machine learning 31 Biết cách sử dụng microsoft machine learning để thực thi toán AI tảng microsoft Có thể so sánh ml.net với tảng tương tự từ có giải pháp phù hợp cho toán Hiểu thêm toán hỏi đáp Tiếng Anh lĩnh vực AI Áp dụng kiến thức tìm hiểu để demo toán hỏi đáp Tiếng Anh 5.2 Ưu điểm Có thể demo tốn hỏi đáp Tiếng Anh Chương trình gọn nhẹ, dễ sử dụng Có thể thực thi tốt tốn với độ xác cao 5.3 Nhược điểm giải pháp 5.3.1 Nhược điểm Thời gian chạy lâu, chưa tối ưu Chỉ thực thi ứng dụng đơn giản console 5.3.2 Giải pháp hướng phát triển Có thể xây dựng interface đẹp để thực thi toán hỏi đáp Tiếng Anh Thu thập thêm nhiều liệu để mơ hình phát triển hơn, xác cao Có thể phát triển thành dự án lớn hơn, phục vụ mục đích hỏi đáp tự động sống Có thể nói, tốn hữu ích đem lại nhiều lợi ích cho người thời đại 4.0 Một có độ xác cao, giúp người dễ dàng tìm câu trả lời cho câu hỏi mình, giúp việc tự động trả lời nhanh chóng, đặc biệt với trường hợp yêu cầu độ xác cao thời gian phản hời nhanh chóng TÀI LIỆU THAM KHẢO Transformers: https://blog.vinbigdata.org/transformer-neural-network-mo-hinh-hoc-may-bien-doithe-gioi-nlp/ Pytorch: https://onetech.vn/blog/pytorch-la-gi-13470 Demo: https://blog.paperspace.com/how-to-train-question-answering-machine-learning-models/ 32 Question-Answering: https://towardsdatascience.com/how-to-answer-questions-with-machinelearning-6c21357a44fc BERT: https://rubikscode.net/2021/04/19/machine-learning-with-ml-net-nlp-with-bert/ 33 ... pháp phù hợp cho toán Hiểu thêm toán hỏi đáp Tiếng Anh lĩnh vực AI Áp dụng kiến thức tìm hiểu để demo tốn hỏi đáp Tiếng Anh 5.2 Ưu điểm Có thể demo toán hỏi đáp Tiếng Anh Chương trình... chọn đề tài tìm hiểu Machine Learning minh họa toán hỏi-đáp Tiếng Anh 1.2 Các nghiên cứu liên quan đến đề tài Với nội dung đề tài đờ án chúng em nghiên cứu, tập trung vào chủ đề Tìm hiều Window... Trong quá trình ho ̣c tập, nghiên cứu và phát triể n đề tài ? ?Tìm hiểu Microsoft ML.NET minh hoạ với toán hỏi đáp tiếng Anh? ?? chúng em đã nhận đươc̣ sự giúp đỡ, chỉ bảo nhiệt tình