Link to this sectionUltralytics YOLOv5 🚀 trên AWS Deep Learning Instance: Hướng dẫn toàn diện#
Việc thiết lập môi trường deep learning hiệu suất cao có thể gây e ngại, đặc biệt là với người mới bắt đầu. Nhưng đừng lo! 🛠️ Hướng dẫn này cung cấp quy trình từng bước để thiết lập và chạy Ultralytics YOLOv5 trên một instance AWS Deep Learning. Bằng cách tận dụng sức mạnh của Amazon Web Services (AWS), ngay cả những người mới làm quen với machine learning (ML) cũng có thể bắt đầu nhanh chóng và tiết kiệm chi phí. Khả năng mở rộng của nền tảng AWS khiến nó trở nên lý tưởng cho cả quá trình thử nghiệm và triển khai sản phẩm.
Các tùy chọn khởi động nhanh khác cho YOLOv5 bao gồm Google Colab Notebook , môi trường Kaggle
, GCP Deep Learning VM, và Docker image được xây dựng sẵn của chúng tôi có trên Docker Hub
.
Link to this sectionBước 1: Đăng nhập AWS Console#
Bắt đầu bằng cách tạo tài khoản hoặc đăng nhập vào AWS Management Console. Sau khi đăng nhập, hãy điều hướng đến bảng điều khiển dịch vụ EC2, nơi bạn có thể quản lý các máy chủ ảo (instance) của mình.

Link to this sectionBước 2: Khởi chạy Instance của bạn#
Từ bảng điều khiển EC2, nhấp vào nút Launch Instance. Thao tác này sẽ bắt đầu quy trình tạo một máy chủ ảo mới tùy chỉnh theo nhu cầu của bạn.

Link to this sectionChọn Amazon Machine Image (AMI) phù hợp#
Việc chọn AMI đúng rất quan trọng. AMI này quyết định hệ điều hành và phần mềm được cài đặt sẵn cho instance của bạn. Trong thanh tìm kiếm, hãy nhập 'Deep Learning' và chọn Deep Learning AMI dựa trên Ubuntu mới nhất (trừ khi bạn có yêu cầu cụ thể về một hệ điều hành khác). Các Deep Learning AMI của Amazon đi kèm với cấu hình sẵn các deep learning framework phổ biến (như PyTorch, được YOLOv5 sử dụng) và các GPU driver cần thiết, giúp hợp lý hóa đáng kể quy trình thiết lập.

Link to this sectionChọn loại Instance#
Đối với các tác vụ đòi hỏi cao như huấn luyện các mô hình deep learning, việc chọn loại instance được tăng tốc bằng GPU là khuyến nghị hàng đầu. GPU có thể giảm đáng kể thời gian huấn luyện mô hình so với CPU. Khi chọn kích thước instance, hãy đảm bảo dung lượng bộ nhớ (RAM) của nó đủ cho mô hình và tập dữ liệu của bạn.
Lưu ý: Kích thước mô hình và tập dữ liệu của bạn là những yếu tố then chốt. Nếu tác vụ ML của bạn yêu cầu bộ nhớ lớn hơn mức instance đã chọn cung cấp, bạn sẽ cần chọn loại instance lớn hơn để tránh các vấn đề về hiệu suất hoặc lỗi.
Khám phá các loại instance GPU khả dụng trên trang EC2 Instance Types, đặc biệt là trong danh mục Accelerated Computing.

Để biết thông tin chi tiết về cách giám sát và tối ưu hóa việc sử dụng GPU, hãy tham khảo hướng dẫn của AWS về Giám sát và Tối ưu hóa GPU. So sánh chi phí bằng cách sử dụng On-Demand Pricing và khám phá khả năng tiết kiệm chi phí với Spot Instance Pricing.
Link to this sectionCấu hình Instance của bạn#
Hãy cân nhắc sử dụng Amazon EC2 Spot Instances để có phương pháp tiếp cận tiết kiệm chi phí hơn. Spot Instances cho phép bạn đấu giá dung lượng EC2 không sử dụng, thường với mức chiết khấu đáng kể so với giá On-Demand. Đối với các tác vụ yêu cầu tính bền bỉ (lưu dữ liệu ngay cả khi Spot Instance bị gián đoạn), hãy chọn persistent request. Điều này đảm bảo ổ lưu trữ của bạn được duy trì.

Tiếp tục thực hiện các Bước 4-7 trong trình hướng dẫn khởi chạy instance để cấu hình lưu trữ, thêm thẻ, thiết lập nhóm bảo mật (đảm bảo cổng SSH 22 được mở từ IP của bạn) và xem xét lại các cài đặt trước khi nhấp Launch. Bạn cũng sẽ cần tạo mới hoặc chọn một cặp khóa (key pair) hiện có để truy cập SSH an toàn.
Link to this sectionBước 3: Kết nối với Instance của bạn#
Khi trạng thái instance của bạn hiển thị là 'running', hãy chọn nó từ bảng điều khiển EC2. Nhấp vào nút Connect để xem các tùy chọn kết nối. Sử dụng ví dụ lệnh SSH được cung cấp trong terminal cục bộ của bạn (như Terminal trên macOS/Linux hoặc PuTTY/WSL trên Windows) để thiết lập kết nối an toàn. Bạn sẽ cần tệp khóa riêng (.pem) mà bạn đã tạo hoặc chọn trong quá trình khởi chạy.

Link to this sectionBước 4: Chạy Ultralytics YOLOv5#
Bây giờ bạn đã kết nối qua SSH, bạn có thể thiết lập và chạy YOLOv5. Đầu tiên, hãy clone kho lưu trữ chính thức của YOLOv5 từ GitHub và điều hướng vào thư mục đó. Sau đó, cài đặt các phụ thuộc cần thiết bằng pip. Khuyến nghị sử dụng môi trường Python 3.8 trở lên. Các mô hình và tập dữ liệu cần thiết sẽ được tự động tải xuống từ bản release YOLOv5 mới nhất khi bạn chạy các lệnh như huấn luyện hoặc phát hiện.
# Clone the YOLOv5 repository
git clone https://github.com/ultralytics/yolov5
cd yolov5
# Install required packages
pip install -r requirements.txtVới môi trường đã sẵn sàng, bạn có thể bắt đầu sử dụng YOLOv5 cho các tác vụ khác nhau:
# Train a YOLOv5 model on a custom dataset (e.g., coco128.yaml)
python train.py --data coco128.yaml --weights yolov5s.pt --img 640
# Validate the performance (Precision, Recall, mAP) of a trained model (e.g., yolov5s.pt)
python val.py --weights yolov5s.pt --data coco128.yaml --img 640
# Run inference (object detection) on images or videos using a trained model
python detect.py --weights yolov5s.pt --source path/to/your/images_or_videos/ --img 640
# Export the trained model to various formats like ONNX, CoreML, TFLite for deployment
# See https://docs.ultralytics.com/modes/export/ for more details
python export.py --weights yolov5s.pt --include onnx coreml tflite --img 640Tham khảo tài liệu của Ultralytics để biết các hướng dẫn chi tiết về Huấn luyện, Xác thực, Dự đoán (Suy luận), và Xuất mô hình.
Link to this sectionPhần mở rộng tùy chọn: Tăng bộ nhớ Swap#
Nếu bạn đang làm việc với các tập dữ liệu rất lớn hoặc gặp hạn chế về bộ nhớ trong khi huấn luyện, việc tăng bộ nhớ swap trên instance của bạn đôi khi có thể hữu ích. Không gian Swap cho phép hệ thống sử dụng không gian đĩa như RAM ảo.
# Allocate a 64GB swap file (adjust size as needed)
sudo fallocate -l 64G /swapfile
# Set correct permissions
sudo chmod 600 /swapfile
# Set up the file as a Linux swap area
sudo mkswap /swapfile
# Enable the swap file
sudo swapon /swapfile
# Verify the swap memory is active
free -hChúc mừng! 🎉 Bạn đã thiết lập thành công instance AWS Deep Learning, cài đặt Ultralytics YOLOv5 và sẵn sàng thực hiện các tác vụ phát hiện đối tượng. Cho dù bạn đang thử nghiệm với các mô hình đã được huấn luyện trước hay đang huấn luyện trên chính dữ liệu của mình, cấu hình mạnh mẽ này cung cấp một nền tảng có thể mở rộng cho các dự án thị giác máy tính của bạn. Nếu gặp bất kỳ vấn đề nào, hãy tham khảo tài liệu AWS phong phú và các tài nguyên cộng đồng hữu ích của Ultralytics như FAQ. Chúc bạn phát hiện thành công!