Một trong những phương pháp phô biến đề giải quyết các bài toán phân loại là sử dụng mô hình logistic regression.. Mô hình này thường được sử dụng đề phân loại các điểm dữ liệu thành ha
Trang 1
TRUONG DAI HỌC SƯ PHẠM
Thanh pho Ho Chi Minh
Học phần: 2221COMP1314- Trí tuệ nhân tạo
Thành phố Hồ Chi Minh, tháng 4 năm 2023
Trang 2
TRUONG DAI HỌC SƯ PHẠM
Thanh pho Ho Chi Minh
~wlle
TIEU LUAN
Đề tài: Sử dụng PyTorch tạo và phân tích bình luận tích cực,
tiêu cực
Giảng viên hướng dẫn ThS Nguyễn Đình Hiển
Nhóm sinh viên thực hiện CatGPT
Trân Đức Nhật Khải 47.01.104.106
Nguyễn Thanh Bình 47.01.104.052
Nguyễn Ngọc Qué Lam 48.01.756.028
Thành phố Hồ Chi Minh, tháng 4 năm 2023
Trang 3
1 Khai niém co ban vé Pytorchy oo ccccccceseessessssssesssessscssssssssssessssessssstsseesesssesseeseeeseeseeens 6
2 Các module Pytorch phố biến: . - 222-552 ©2222E+2E£2EE22E222122122222212212222 2x2 7
3 Đơ thị tính tốn động: . ¿©2252 S22S2122122122112112212211211211211211211211 1111.211 7
lo cá na .4 ẢẢ 8 CHUONG I: TONG QUAN VE GOOGLE COLLAB 9
IB.4:100 12060 3)400) 1ð 21 9
PA ¡nga 06v) 2001-) TƯ 9
3.Các tính năng tốt nhất của Google Colab: -. 5 2< 5222S222222x22322232 2222222222 10
CHUONG III: SU DUNG MO HINH TRANSFORMERS VA PRE-TRAINED MODELS 13
I0 /0080ïïï 8 5y (ai: 77 .((.({]1ÄŸ|ẲHậÄH.,H.,) HH 13
“\»i 0y 08/00 06 .ŒẴÄ],), ,ƠƠỎ 13
CHƯƠNG IV: TIỀN XỬ LÝ VÀ PHÂN TÍCH DỮ LIỆU . - 15
II 01i 0ì 0n: ĐN -:-4.{AAäÄŒÄHHẬB.,)H,,.Ả ƠỊỎ 15
2 Mã hĩa văn bản 2- 2222222 S2S92E4EE14EE112714271271171121112711271211121112111271 211.20 15
3 Xây dựng mơ hình 2-2222 + ++SEE+EEEEEEEEEE1921E711E71122112711271221271112712272 2.0, l6
4 Đánh giá mơ hìnhh -2- 22 2©2S22S22EEE2EEEESEE2EEE1E711E21121122711271122112112211272 2x2 l6
18
20 21
Trang 4MO DAU
1 Đặt vấn đề:
Mô hình học máy (machine learning) là một lĩnh vực nghiên cứu đang phát triển mạnh
mẽ trong khoa học máy tính Nó cho phép máy tính học hỏi và tự động tối ưu hóa các quyết định dựa trên dữ liệu Điều này giúp máy tính có thể thực hiện các tác vụ phức tạp,
ví dụ như phân loại, nhận dạng, dự báo hoặc gợi ý
Một trong những phương pháp phô biến đề giải quyết các bài toán phân loại là sử dụng
mô hình logistic regression M6 hinh logistic regression 1a mét m6 hinh tuyến tính sử
dung ham sigmoid dé bién déi dau vào thành đầu ra dự đoán là xác suất của lớp đích Mô
hình này thường được sử dụng đề phân loại các điểm dữ liệu thành hai lớp: positive và negative
Ví dụ trong bài toán phân tích tính tích cực của van ban là quá trình phân tích và xác định giai điệu cảm xúc của văn bản hoặc bài phát biểu Đây là một lĩnh vực nghiên cứu quan trọng vì nó có nhiều ứng dụng thực tế, bao gồm giám sát thương hiệu, phân tích phản hồi của khách hàng và phân tích phương tiện truyền thông xã hội Với sự gia tăng của phương tiện truyền thông xã hội và đánh giá trực tuyến, phân tích tình cảm đã trở nên quan trọng hơn bao giờ hết
2 Mục tiêu đề tài:
Mục tiêu của chủ đề này là trình bày cách thực hiện phân tích tình cảm trên tập dữ liệu
văn bản bằng cách sử dụng các mô hình biến áp được đảo tạo trước và PyTorch Trọng tâm
cụ thê là mô hình nlptown / bert-base-multilingual-uncased-sentiment, là một mô hình
BERT được đảo tạo trước được tỉnh chỉnh đề phân tích tình cảm trên nhiều ngôn ngữ Chủ
đề sẽ đề cập đến việc sử dụng mô hình cho các văn bản một câu và nhiều câu, cũng như
việc sử dụng mô hình trên bộ đữ liệu đánh giá trực tuyên trong thế giới thực
3 Phạm vi đề tài:
Chủ đề này được giới hạn trong việc sử dụng mô hình nlptown / bert-base-
multilingual-uneased-sentiment đề phân tích tinh cám Nó không bao gồm các mô hình
Trang 5hoặc kỹ thuật khác dé phân tích tình cảm Nó cũng giả định kiến thức cơ bản về Python,
PyTorch và các mô hình transformers
4 Kết cầu của đề tài:
Nội dung bài tiêu luận được xây dựng gôm các phan sau:
+ Chương 1: Tổng quan về Pytorch
+ Chương 2: Tổng quan về Google Collab
+ Chương 3: Sử dụng mô hình Transformers và Pre-trained Model
+ Chương 4: Tiểu xử lý và phân tích dữ liệu
+ Chương 5: Thiết kế và triển khai
+ Chương 6: Kết quả
Trang 6CHUONG I: TONG QUAN VE PYTORCH
Kê từ khi được thành lập bởi nhóm Nghiên cứu AI của Facebook (F ATR) vào năm
2017, PyTorch đã trở thành một khuôn khô rất phố biến và hiệu quả đề tạo ra mô hình
Deep Learning (DL) Thư viện máy học mã nguồn mở này dựa trên Torch và được thiết
kế để cung cấp tính linh hoạt cao hơn và tăng tốc độ triển khai mạng nơ-ron sâu Hiện tại, PyTorch là thư viện được ưa chuộng nhất cho các nhà nghiên cứu và học viên AI (Trí tuệ nhân tạo) trên toàn thế giới trong ngành và học viện
PyTorch la một thư viện tensor Deep Learning được tôi ưu hóa dựa trên Python va
Torch và chủ yêu được sử dụng cho các ứng dụng sử dụng GPU và CPU PyTorch được
ưa chuộng hơn các framework Deep Learning khác như TensorFlow và Keras vì nó sử dụng đồ thị tính toán động và hoàn toàn là Pythonic Nó cho phép các nhà khoa học, nhà phát triển và trình gỡ lỗi mạng thần kinh chạy và kiêm tra các phần của mã trong thời gian thực Do đó, người dùng không phải đợi toàn bộ mã được triển khai đề kiểm tra xem một phần của mã có hoạt động hay không
Hai tính năng chính của Py Torch là:
® Tính toán Tensor (tương tự như NumÐy) với hỗ trợ tăng tốc GPU (Graphic Processing Unit) manh mé
@ Phan biệt tự động để tạo và đào tạo mạng nơ-ron sâu
1 Khái niệm cơ bản về Pytorch:
Các hoạt động Py Torch cơ bản khá giống với Numpy Trước tiên hãy hiểu những điều
cơ bản
- Giới thiệu về Tensors: Trong học máy, khi chúng ta biểu diễn dữ liệu, chúng ta cần làm điều đó bằng số Một tensor chi đơn giản là một container có thê chứa dữ liệu trong
Trang 7sử dụng làm nên táng cho các phép toán tiên tiến Nó có thê là một số, vector, ma trận hoặc mảng đa chiều như mảng Nimppy Tensor cũng có thê được xử lý bởi CPU hoặc
GPU dé lam cho hoạt động nhanh hơn Có nhiều loại tensor khác nhau như Float Tensor,
Double Tensor, Half Tensor, Int Tensor và Long Tensor, nhưng PyTorch sử dung Float
Tensor 32-bit lam loai mac dinh
- Các phép toán: Các mã đề thực hiện các phép toán giống nhau trong PyTorch như trong Numpy Người dùng cần khởi tạo hai tensor và sau đó thực hiện các thao tác như cộng, trừ, nhân và chia trên chúng
- Khởi tạo ma trận và hoạt động ma trận: Đề khởi tạo một ma trận với các số ngẫu nhiên trong PyTorch, hãy sử dụng hàm randn() cho một tenxơ chứa đầy các số ngẫu nhiên từ một phân phối chuân chuẩn Đặt hạt giỗng ngẫu nhiên ở đầu sẽ tạo ra cùng một
số mỗi khi bạn chạy mã này Các hoạt động ma trận cơ bản và hoạt động hoán vi trong
PyTorch cũng tương tự như NumÐy
2 Các module Pytorch phố biến:
Trong PyTorch, các mô-đun được sử dụng để đại diện cho các mạng neural
- Tự động phân cấp: Mô-đun autograd là công cụ phân biệt tự động của PyTorch giúp tính toán độ dốc trong đường chuyền về phía trước trong thời gian nhanh chóng
Aufograd tạo ra một đồ thị tuần hoàn có hướng trong đó các lá là tenxơ đầu vào trong khi
rễ là tenxơ đầu ra
- Tối ưu: Mô-đun Optim là một gói với các thuật toán được viết săn cho các trình tôi
ưu hóa có thê được sử dụng dé xây dựng mạng lưới thần kinh
- NN: Mô-đun nn bao gồm các lớp khác nhau giúp xây dựng các mô hình mang than kinh Tất cá các mô-đun trong PyTorch phân lớp mô-đun mn
3 Đồ thị tính toán động:
Trang 8Đồ thị tính toán trong PyTorch cho phép khung tính toán các gid tri gradient cho các mạng thần kinh được xây dựng PyTorch sử dụng đồ thị tính toán động Biểu đồ được định nghĩa gián tiếp bằng cách sử dụng quá tải toán tử trong khi tính toán chuyền tiếp
được thực thi Đồ thị động linh hoạt hơn đồ thị tĩnh, trong đó người dùng có thể thực hiện
xây dựng và định giá biểu đồ xen kẽ Chúng thân thiện với gỡ lỗi vì nó cho phép thực thi
mã từng đòng Tìm kiếm các vấn đề trong mã dé dang hon rat nhiều với biểu đồ động PyTorch - một tính năng quan trọng khiến PyTorch trở thành lựa chọn ưu tiên trong ngành
D6 thị tính toán trong PyTorch được xây dựng lại từ đầu ở mỗi lần lặp, cho phép sử dụng các câu lệnh luông điều khiên Python ngẫu nhiên, có thê ảnh hưởng đến hình dạng
và kích thước tổng thể của biểu đồ mỗi khi lặp lại Ưu điểm là - không cần phải mã hóa
tắt cả các đường dẫn có thê trước khi bắt đầu đào tạo Bạn chạy những gì bạn phân biệt
4 Trình tải dữ liệu:
Làm việc với các bộ dữ liệu lớn yêu cầu tái tất cả đữ liệu vào bộ nhớ trong một lần Điều này gây mắt bộ nhớ và các chương trình chạy chậm Bên cạnh đó, rất khó đề duy trì
mã xử lý mẫu đữ liệu PyTorch cung cấp hai nguyên thủy dữ liệu - DataLoader và
Dataset - để tải đữ liệu song song với phân lô tự động và khả năng đọc và mô-đun mã tốt
hơn Bộ dữ liệu và DataLoader cho phép người dùng sử dụng dữ liệu của riêng họ cũng
như các bộ dữ liệu được tái sẵn Trong khi Dataset chứa các mẫu và nhãn tương ứng,
DataLoader kết hợp tập dữ liệu và bộ lấy mẫu và triển khai một lần lặp xung quanh Tập
dữ liệu đê người dùng có thê dễ dàng truy cập các mẫu.
Trang 9CHUONG II: TONG QUAN VE GOOGLE COLLAB
1.Khai niém Google Collab:
Colab là một sản phâm giống như Jupyter Notebook của Google Research Một nhà phát triển chương trình Python có thê sử dụng máy tính xách tay này để viết và thực thi các mã chương trình Python ngẫu nhiên chỉ bằng trình duyệt web
Google Colab làm cho khoa học đữ liệu, học sâu, mạng thần kinh và học máy có thể
truy cập được cho các nhà nghiên cứu cá nhân, những người không đủ khả năng mua cơ
sở hạ tầng tính toán tốn kém
Tuy nhiên, thực hành trên các dự án trở thành một hạn chế vì ban can PC cao cap cho
khối lượng công việc như vậy Câu trả lời cho van dé này là Google Colaboratory hoặc
Colab, nói ngắn gọn
Tóm tắt lại, Colab là phiên bản lưu trữ đám mây của Jupyter Notebook Đề sử dụng
Colab, bạn không cần cài đặt và chạy hoặc nâng cáp phần cứng máy tính của mình để đáp
ứng các yêu cầu khối lượng công việc chuyên sâu về CPU / GPU của Python Hơn nữa,
Colab cung cấp cho bạn quyền truy cập miễn phí vào cơ sở hạ tầng máy tính như lưu trữ,
bộ nhớ, dung lượng xử lý, đơn vị xử lý đồ họa (GPU) và đơn vị xử lý tensor (TPU)
Google đã lập trình đặc biệt công cụ mã hóa Python dựa trên đám mây này đề lưu ý
đến nhu cầu của các lập trình viên học máy, nhà phân tích dữ liệu lớn, nhà khoa học dữ
liệu, nhà nghiên cứu AI và người học Python
Phân tốt nhất là một số ghi chép mã cho tất cả các thành phần cần thiết dé trình bày một
dự án học máy hoặc khoa học dữ liệu hoàn chính cho người giám sát hoặc nhà tài trợ chương trình Ví dụ: SỐ phi chép Colab của bạn có thê chứa mã thực thi, mã Python trực
tiếp, văn bản đa dạng thức, HTML, LaTeX, hình ảnh, trực quan hóa dữ liệu, biểu đô, đồ
thi, bảng và hơn thế nữa
2.Tác dụng của Google Collab:
Google Colab chi đơn giản là một đại điện trực tuyến của Jupyter Notebook Trong khi Jupyter Notebook cần cài đặt trên máy tính và chỉ có thể sử dụng tài nguyên máy cục bộ,
Trang 1010
Colab là một ứng dụng đám mây chính thức để mã hóa Python Ban có thê viết mã
Python bang Colab trên trình duyệt web Google Chrome hoặc Mozilla Firefox của mình Bạn cũng có thê thực thi các mã đó trên trình duyệt mà không cần bất kỳ môi trường thời gian chạy hoặc giao diện dòng lệnh nào
Hơn nữa, bạn có thể cung cấp cho số ghi chép dự án Python của mình một giao diện chuyên nghiệp bằng cách thêm các phương trình toán học, đồ thị, bảng, hình ảnh và đồ
họa khác Ngoài ra, bạn có thể mã hóa trực quan hóa dữ liệu bằng Python và Colab sẽ
hiển thị mã trong một nội dung trực quan Và hơn nữa, Colab cho phép bạn sử dụng lại
các tệp Jupyter Notebook từ GitHub Ngoài ra, bạn cũng có thê nhập các dự án học máy
và khoa học dữ liệu tương thích từ các nguồn khác Colab xử lý hiệu quả các tài sản đã
nhập đề hiền thị mã Python sạch và không có lỗi
3.Các tính năng tốt nhất của Google Colab:
“ GPU va TPU:
Người dùng Colab miễn phí có quyền truy cập miễn phí vào thời gian chạy GPU và
TPU trong tối đa 12 giờ Thời gian chạy GPU của nó đi kèm với CPU Intel Xeon @ 2.20 GHz, RAM 13GB, bé tang téc Tesla K80 va VRAM GDDR 12.5 GB
Thời gian chạy TPU bao gồm CPU Intel Xeon @ 2.30 GHz, RAM 13GB va TPU dam mây với sức mạnh tính toán 180 teraflop
Với Colab Pro hoặc Pro +, bạn có thể vận hành nhiều CPU, TPU và GPU hơn trong hơn l2 giờ
`,
s%% Chia sẻ số ghỉ chép:
Máy tính xách tay mã Python chưa bao giờ có thê truy cập được trước Colab Bây giờ, bạn có thể tạo các liên kết có thể chia sẻ cho các tệp Colab được lưu trên Google Drive của bạn Bây giờ, hãy chia sẻ liên kết với cộng tác viên muốn làm việc với bạn Hơn nữa, bạn cũng có thê mời các lập trình viên làm việc với bạn băng email của Google
Trang 1111
s* Cài đặt thư viện đặc biệt:
Colab cho phép bạn cai đặt các thư viện không phải Colaboratory (AWS §3, GCP,
SQL, MySQL, v.v.) không có sẵn trong đoạn mã Tất cả những gi bạn cần làm là thêm
mã một đòng với các tiền tô mã sau:
!pip install (example: !pip install matplotlib-venn)
lapt-get install (example: !apt-get -qq install -y libfluidsynth1)
s* Thư viện được cài đặt săn:
- Google Colab cung cấp nhiều thư viện được cài đặt săn đề bạn có thê nhập thư viện
cần thiết từ Đoạn mã Các thư viện như vậy bao gồm NumPy, Pandas, Matplotlib,
PyTorch, TensorFlow, Keras va nhiều thư viện ML khác
“+ Md hoa cong tae:
Co-coding là không thê thiếu cho các dự án nhóm Nó giúp nhóm của bạn hoàn thành các mốc quan trọng sớm hơn khung thời gian dự kiến Nếu nhóm của bạn cần cộng tác
theo thời gian thực trên ML và các dự án khoa học dữ liệu, Google Collaborative chỉ là
công cụ
Chỉ cần gửi một liên kết có thê chỉnh sửa với các cộng tác viên hoặc mời cộng tác viên
đề mã hóa nhóm Toàn bộ số ghi chép Python tự động cập nhật dưới dạng mã nhóm và
bạn có cảm giác làm việc trên Google Trang tính hoặc Tài liệu được chia sẻ
s* Lieu trit dam may:
Google Colab sử dụng hạn ngach bé nhé Google Drive của bạn cho mục đích lưu tệp
Do đó, bạn có thể tiếp tục công việc từ bất kỳ máy tính nào mà bạn có thê truy cập vào tài
khoản Google Drive của mình
Lưu trữ đám mây cũng có chức năng sao lưu dữ liệu của bạn khỏi bat ky sy cô nào