Yolo Tầm nhìn Thâm Quyến
Thâm Quyến
Tham gia ngay
Bảng chú giải thuật ngữ

Tích hợp liên tục (CI)

Khám phá Tích hợp liên tục (CI) cho học máy. Tìm hiểu cách tự động hóa kiểm thử, xác thực dữ liệu và triển khai. Ultralytics Mô hình YOLO26 cho MLOps mạnh mẽ.

Tích hợp liên tục (CI) là một thực tiễn cơ bản trong kỹ thuật phần mềm hiện đại, nơi các nhà phát triển thường xuyên hợp nhất các thay đổi mã vào một kho lưu trữ trung tâm, kích hoạt các bản dựng tự động và chuỗi kiểm thử. Trong lĩnh vực chuyên biệt về học máy (ML) , CI mở rộng vượt ra ngoài việc xác minh mã tiêu chuẩn để bao gồm việc xác thực các đường dẫn dữ liệu, kiến ​​trúc mô hình và cấu hình huấn luyện. Bằng cách phát hiện các lỗi tích hợp, lỗi cú pháp và sự suy giảm hiệu suất sớm trong vòng đời, các nhóm có thể duy trì một cơ sở mã mạnh mẽ và đẩy nhanh quá trình chuyển đổi từ nghiên cứu thử nghiệm sang các ứng dụng thị giác máy tính cấp độ sản xuất.

Tầm quan trọng của CI trong học máy

Trong khi các quy trình CI truyền thống tập trung vào việc biên dịch phần mềm và chạy các bài kiểm tra đơn vị, quy trình CI hướng đến học máy phải xử lý những phức tạp đặc thù của các hệ thống xác suất. Một thay đổi trong một siêu tham số duy nhất hoặc một sửa đổi đối với kịch bản tiền xử lý dữ liệu có thể làm thay đổi đáng kể hành vi của mô hình cuối cùng. Do đó, một chiến lược CI mạnh mẽ đảm bảo rằng mọi bản cập nhật mã hoặc dữ liệu đều được tự động xác minh so với các tiêu chuẩn đã thiết lập.

Quá trình này là một thành phần quan trọng của Vận hành Học máy (MLOps) , hoạt động như một mạng lưới an toàn ngăn ngừa sự suy giảm hiệu suất. Các đường dẫn CI hiệu quả cho các dự án AI thường bao gồm:

  • Kiểm tra chất lượng mã: Sử dụng các công cụ phân tích tĩnh và linter để đảm bảo tuân thủ các tiêu chuẩn lập trình và phát hiện lỗi cú pháp trước khi thực thi.
  • Kiểm tra tính hợp lệ của dữ liệu: Xác minh rằng dữ liệu huấn luyện đầu vào tuân thủ các lược đồ và phân bố thống kê dự kiến, ngăn ngừa các vấn đề như tệp hình ảnh bị hỏng hoặc thiếu chú thích.
  • Kiểm thử tự động: Chạy các bài kiểm thử đơn vị trên các hàm tiện ích và các bài kiểm thử tích hợp, có thể bao gồm việc huấn luyện một mô hình nhỏ trong vài epoch để đảm bảo sự hội tụ.
  • Đánh giá hiệu năng mô hình: đánh giá mô hình dựa trên một tập dữ liệu xác thực cố định để kiểm tra xem các chỉ số quan trọng như độ chính xác trung bình ( mAP ) có giảm xuống dưới ngưỡng chấp nhận được hay không.

Các Ứng dụng Thực tế

Việc triển khai Tích hợp liên tục là rất cần thiết đối với các ngành công nghiệp mà độ tin cậy và an toàn là yếu tố tối quan trọng.

  • Hệ thống lái tự động: Trong quá trình phát triển xe tự lái , các kỹ sư liên tục tinh chỉnh thuật toán phát hiện người đi bộ và làn đường. Một quy trình CI cho phép nhóm tự động kiểm tra các mô hình phát hiện đối tượng mới dựa trên một thư viện khổng lồ các kịch bản kiểm thử hồi quy—chẳng hạn như lái xe trong mưa lớn hoặc điều kiện ánh sáng yếu—đảm bảo rằng việc cập nhật mã không vô tình làm giảm khả năng của hệ thống. detect mối nguy hiểm.
  • Chẩn đoán hình ảnh y tế: Đối với các ứng dụng chăm sóc sức khỏe , chẳng hạn như phát hiện khối u trong ảnh chụp MRI, khả năng tái tạo là một yêu cầu theo quy định. CI đảm bảo rằng mọi phiên bản của phần mềm chẩn đoán đều có thể truy vết và được kiểm tra. Nếu nhà phát triển tối ưu hóa công cụ suy luận để tăng tốc độ, hệ thống CI sẽ xác minh rằng độ chính xác của chẩn đoán vẫn không thay đổi trước khi bản cập nhật được triển khai đến các bệnh viện.

CI so với Phân phối liên tục (CD) so với MLOps

Điều quan trọng là phải phân biệt Tích hợp liên tục với các khái niệm liên quan trong vòng đời phát triển phần mềm.

  • Tích hợp liên tục (CI): Tập trung vào giai đoạn tích hợp —hợp nhất mã, kiểm thử tự động và xác thực bản dựng. Nó trả lời câu hỏi, "Liệu đoạn mã mới này có làm hỏng chức năng hiện có không?"
  • Phân phối liên tục (CD): Tiếp nối CI và tập trung vào giai đoạn phát hành . Nó tự động hóa các bước cần thiết để triển khai mô hình đã được xác thực lên môi trường sản xuất, chẳng hạn như máy chủ đám mây hoặc thiết bị biên. Tìm hiểu thêm về triển khai mô hình .
  • MLOps: Đây là lĩnh vực bao quát bao gồm CI, CD và giám sát liên tục. Trong khi CI là một phương pháp cụ thể, MLOps là văn hóa và bộ công cụ được sử dụng để quản lý toàn bộ vòng đời của AI.

Công cụ và nền tảng để tích hợp AI

Các nhà phát triển sử dụng nhiều công cụ khác nhau để điều phối các quy trình này. Các nền tảng đa năng như GitHub Actions hoặc Jenkins thường được sử dụng để kích hoạt các quy trình công việc khi có các bản cập nhật mã. Tuy nhiên, việc quản lý các tập dữ liệu lớn và quản lý phiên bản mô hình thường đòi hỏi các công cụ chuyên dụng.

Nền tảng Ultralytics đóng vai trò là trung tâm hỗ trợ các quy trình CI. Nó cho phép các nhóm quản lý tập dữ liệu, track Các thí nghiệm huấn luyện và trực quan hóa các chỉ số hiệu suất. Khi một pipeline CI huấn luyện thành công một mô hình YOLO26 mới, kết quả có thể được ghi trực tiếp vào nền tảng, cung cấp cái nhìn tổng quan về tình trạng dự án và tạo điều kiện thuận lợi cho sự hợp tác giữa các nhà khoa học dữ liệu.

Ví dụ về kiểm thử tự động

Trong quy trình CI (Continuous Integration), bạn thường cần xác minh rằng mô hình của mình có thể được tải và thực hiện suy luận chính xác mà không gặp lỗi. Các bước sau đây cần được thực hiện: Python Đoạn mã này minh họa một "bước kiểm tra cơ bản" đơn giản có thể được chạy tự động mỗi khi mã được đẩy lên kho lưu trữ.

from ultralytics import YOLO

# Load the YOLO26 model (using the nano version for speed in CI tests)
model = YOLO("yolo26n.pt")

# Perform inference on a dummy image or a standard test asset
# 'bus.jpg' is a standard asset included in the package
results = model("bus.jpg")

# Assert that detections were made to ensure the pipeline isn't broken
# If len(results[0].boxes) is 0, something might be wrong with the model or input
assert len(results[0].boxes) > 0, "CI Test Failed: No objects detected!"

print("CI Test Passed: Model loaded and inference successful.")

Đoạn mã này sử dụng ultralytics Gói này dùng để tải một mô hình nhẹ và xác minh xem nó có hoạt động như mong đợi hay không. Trong môi trường CI sản xuất, điều này sẽ là một phần của bộ kiểm thử lớn hơn sử dụng các framework như... Pytest để đảm bảo phạm vi bao phủ toàn diện.

Tham gia Ultralytics cộng đồng

Tham gia vào tương lai của AI. Kết nối, hợp tác và phát triển cùng với những nhà đổi mới toàn cầu

Tham gia ngay