Thuật ngữ

Độ chính xác hỗn hợp

Tăng tốc học sâu với đào tạo độ chính xác hỗn hợp. Giảm mức sử dụng bộ nhớ, tăng tốc độ và duy trì độ chính xác bằng cách sử dụng định dạng FP16 và FP32.

Xe lửa YOLO mô hình đơn giản
với Ultralytics TRUNG TÂM

Tìm hiểu thêm

Độ chính xác hỗn hợp là một phương pháp đào tạo trong học sâu sử dụng nhiều độ chính xác số để tăng tốc quá trình đào tạo trong khi vẫn duy trì độ chính xác của mô hình. Thông thường, các mô hình học sâu sử dụng số dấu phẩy động 32 bit (FP32) để biểu diễn trọng số, kích hoạt và độ dốc. Độ chính xác hỗn hợp giới thiệu việc sử dụng số dấu phẩy động 16 bit (FP16) cùng với FP32, tận dụng lợi ích của cả hai định dạng để nâng cao hiệu quả tính toán.

Ưu điểm của Độ chính xác hỗn hợp

Độ chính xác hỗn hợp mang lại một số lợi thế quan trọng trong việc đào tạo các mô hình học sâu:

  • Giảm sử dụng bộ nhớ : Sử dụng FP16 làm giảm một nửa dung lượng bộ nhớ của mô hình so với chỉ sử dụng FP32. Việc giảm này cho phép đào tạo các mô hình lớn hơn hoặc sử dụng kích thước lô lớn hơn, có thể dẫn đến cải thiện hiệu suất mô hình. Tìm hiểu thêm về việc tối ưu hóa kích thước lô và tác động của nó đến hiệu quả đào tạo.
  • Tăng tốc độ đào tạo : Các hoạt động trên số FP16 thường nhanh hơn FP32, đặc biệt là trên các GPU hiện đại có phần cứng chuyên dụng cho phép tính 16 bit. Sự tăng tốc này có thể giảm đáng kể thời gian cần thiết để đào tạo một mô hình. Khám phá cách GPU tăng tốc các phép tính AI và ML.
  • Hiệu quả năng lượng : Băng thông bộ nhớ giảm và tính toán nhanh hơn cũng dẫn đến mức tiêu thụ điện năng thấp hơn, giúp đào tạo độ chính xác hỗn hợp tiết kiệm năng lượng hơn, điều này đặc biệt quan trọng đối với việc triển khai trên các thiết bị biên hoặc trong các trung tâm dữ liệu quy mô lớn. Tìm hiểu thêm về điện toán biên và các lợi ích của nó.

Độ chính xác hỗn hợp hoạt động như thế nào

Trong đào tạo độ chính xác hỗn hợp, trọng số và kích hoạt được lưu trữ ở định dạng FP16 để tiết kiệm bộ nhớ và tăng tốc tính toán. Tuy nhiên, để duy trì độ chính xác, một bản sao chính của trọng số được lưu trong FP32. Trong mỗi lần lặp lại đào tạo, các lần truyền tới và truyền lui được thực hiện bằng FP16, nhưng việc cập nhật trọng số được thực hiện trong FP32. Phương pháp này kết hợp các lợi ích về tốc độ và bộ nhớ của FP16 với độ chính xác và tính ổn định của FP32.

Các khái niệm chính trong Độ chính xác hỗn hợp

Để hiểu được độ chính xác hỗn hợp, bạn cần phải quen thuộc với một số khái niệm chính sau:

  • FP32 (Độ chính xác đơn) : Định dạng dấu phẩy động 32 bit tiêu chuẩn được sử dụng trong hầu hết các mô hình học sâu. Định dạng này cung cấp độ chính xác cao nhưng đòi hỏi nhiều bộ nhớ và tài nguyên tính toán hơn.
  • FP16 (Half Precision) : Định dạng dấu phẩy động 16 bit giúp giảm mức sử dụng bộ nhớ và tăng tốc độ tính toán. Tuy nhiên, nó có dải động và độ chính xác thấp hơn, có thể dẫn đến các vấn đề như biến mất gradient trong quá trình đào tạo.
  • Loss Scaling : Một kỹ thuật được sử dụng để tránh các vấn đề tràn dưới có thể xảy ra với FP16. Loss được tăng lên theo một hệ số trước khi truyền ngược, và các gradient kết quả được giảm xuống trước khi cập nhật trọng số. Điều này giúp duy trì độ lớn của các gradient nhỏ mà nếu không có thể được làm tròn thành 0 trong FP16.

Ứng dụng và ví dụ thực tế

Đào tạo độ chính xác hỗn hợp được áp dụng rộng rãi trong nhiều ứng dụng học sâu khác nhau, bao gồm:

  • Tầm nhìn máy tính : Đào tạo các mô hình tầm nhìn máy tính lớn, chẳng hạn như các mô hình được sử dụng trong phát hiện đối tượng , phân loại hình ảnhphân đoạn hình ảnh , được hưởng lợi đáng kể từ độ chính xác hỗn hợp. Ví dụ, Ultralytics YOLO Các mô hình (Bạn chỉ nhìn một lần) có thể được đào tạo nhanh hơn và với kích thước lô lớn hơn bằng cách sử dụng độ chính xác hỗn hợp, dẫn đến thử nghiệm và lặp lại mô hình nhanh hơn. Khám phá thêm về những tiến bộ YOLO Ultralytics .
  • Xử lý ngôn ngữ tự nhiên (NLP) : Các mô hình như BERT và các kiến trúc Transformer khác có thể tận dụng độ chính xác hỗn hợp để giảm thời gian đào tạo và sử dụng bộ nhớ. Điều này đặc biệt hữu ích khi làm việc với các tập dữ liệu văn bản lớn và các mô hình phức tạp. Tìm hiểu thêm về các ứng dụng xử lý ngôn ngữ tự nhiên (NLP) .
  • Chăm sóc sức khỏe : Trong hình ảnh y tế, độ chính xác hỗn hợp có thể đẩy nhanh quá trình đào tạo các mô hình cho các nhiệm vụ như phát hiện khối u và phân đoạn cơ quan. Điều này cho phép phát triển nhanh hơn các công cụ chẩn đoán và hỗ trợ can thiệp y tế kịp thời. Khám phá vai trò của AI trong chăm sóc sức khỏe .
  • Xe tự hành : Các mô hình đào tạo cho xe tự hành đòi hỏi phải xử lý một lượng lớn dữ liệu cảm biến. Độ chính xác hỗn hợp giúp quản lý tải tính toán, cho phép đào tạo hiệu quả hơn các mô hình xử lý phát hiện vật thể, giữ làn đường và các nhiệm vụ quan trọng khác.

Độ chính xác hỗn hợp so với các kỹ thuật khác

Mặc dù độ chính xác hỗn hợp là một kỹ thuật mạnh mẽ, nhưng điều quan trọng là phải hiểu nó khác với các phương pháp tối ưu hóa khác như thế nào:

  • Lượng tử hóa mô hình : Kỹ thuật này liên quan đến việc giảm độ chính xác của trọng số và kích hoạt xuống số nguyên 8 bit (INT8) hoặc thậm chí thấp hơn. Lượng tử hóa mô hình có thể giảm thêm mức sử dụng bộ nhớ và tăng tốc độ nhưng có thể dẫn đến mất độ chính xác đáng kể hơn so với độ chính xác hỗn hợp.
  • Cắt tỉa mô hình : Cắt tỉa mô hình liên quan đến việc loại bỏ các kết nối hoặc nơ-ron không cần thiết khỏi mạng nơ-ron để giảm kích thước và độ phức tạp tính toán của nó. Mặc dù bổ sung cho độ chính xác hỗn hợp, cắt tỉa mô hình tập trung vào việc giảm kích thước mô hình thay vì quản lý độ chính xác số trong quá trình đào tạo.

Bằng cách kết hợp độ chính xác hỗn hợp với các kỹ thuật tối ưu hóa khác, các nhà phát triển có thể đạt được hiệu quả và hiệu suất cao hơn nữa trong các mô hình học sâu của họ. Ví dụ, tích hợp độ chính xác hỗn hợp với các công cụ như Weights & Biases có thể cải thiện hơn nữa việc theo dõi thử nghiệm và tối ưu hóa mô hình.

Kết thúc

Đào tạo độ chính xác hỗn hợp là một kỹ thuật có giá trị để tăng tốc đào tạo mô hình học sâu trong khi vẫn bảo toàn tài nguyên tính toán. Bằng cách sử dụng chiến lược cả FP16 và FP32, các nhà phát triển có thể đạt được mức giảm đáng kể về thời gian đào tạo và sử dụng bộ nhớ mà không làm giảm độ chính xác của mô hình. Điều này làm cho nó trở thành một công cụ thiết yếu cho nhiều ứng dụng, từ thị giác máy tính và NLP đến chăm sóc sức khỏe và lái xe tự động. Khi hỗ trợ phần cứng cho các phép tính 16 bit tiếp tục được cải thiện, độ chính xác hỗn hợp có khả năng sẽ trở nên phổ biến hơn nữa trong lĩnh vực học sâu .

Đọc tất cả