Tự động đào tạo lại các mạng thần kinh với Renate PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái.

Tự động đào tạo lại mạng lưới thần kinh với Renate

Hôm nay chúng tôi công bố tính khả dụng chung của Renate, một thư viện mã nguồn mở Python để đào tạo lại mô hình tự động. Thư viện cung cấp các thuật toán học tập liên tục có thể huấn luyện dần mạng thần kinh khi có nhiều dữ liệu hơn.

Bằng mã nguồn mở Renate, chúng tôi muốn tạo ra một địa điểm nơi các học viên làm việc trên các hệ thống máy học trong thế giới thực và các nhà nghiên cứu quan tâm đến việc nâng cao trình độ nghệ thuật trong máy học tự động, học liên tục và học suốt đời. Chúng tôi tin rằng sự phối hợp giữa hai cộng đồng này sẽ tạo ra những ý tưởng mới trong cộng đồng nghiên cứu máy học và mang lại tác động tích cực hữu hình trong các ứng dụng trong thế giới thực.

Đào tạo lại người mẫu và sự lãng quên thảm khốc

Đào tạo mạng lưới thần kinh tăng dần không phải là một nhiệm vụ đơn giản. Trong thực tế, dữ liệu được cung cấp tại các thời điểm khác nhau thường được lấy mẫu từ các bản phân phối khác nhau. Ví dụ, trong các hệ thống trả lời câu hỏi, sự phân bổ chủ đề trong các câu hỏi có thể thay đổi đáng kể theo thời gian. Trong các hệ thống phân loại, việc bổ sung các danh mục mới có thể được yêu cầu khi dữ liệu được thu thập ở các khu vực khác nhau trên thế giới. Tinh chỉnh các mô hình được đào tạo trước đó với dữ liệu mới trong những trường hợp này sẽ dẫn đến một hiện tượng gọi là “sự lãng quên thảm khốc”. Sẽ có hiệu suất tốt trên các ví dụ gần đây nhất, nhưng chất lượng của các dự đoán được thực hiện đối với dữ liệu được thu thập trong quá khứ sẽ suy giảm đáng kể. Hơn nữa, sự suy giảm hiệu suất sẽ còn nghiêm trọng hơn khi hoạt động đào tạo lại diễn ra thường xuyên (ví dụ: hàng ngày hoặc hàng tuần).

Khi có thể lưu trữ một đoạn dữ liệu nhỏ, các phương pháp dựa trên việc sử dụng lại dữ liệu cũ trong quá trình đào tạo lại có thể làm giảm bớt phần nào vấn đề lãng quên thảm khốc. Một số phương pháp đã được phát triển theo ý tưởng này. Một số trong số chúng chỉ lưu trữ dữ liệu thô, trong khi những cái nâng cao hơn cũng lưu siêu dữ liệu bổ sung (ví dụ: biểu diễn trung gian của các điểm dữ liệu trong bộ nhớ). Việc lưu trữ một lượng nhỏ dữ liệu (ví dụ: hàng nghìn điểm dữ liệu) và sử dụng chúng một cách cẩn thận đã dẫn đến hiệu suất vượt trội được hiển thị trong hình bên dưới.

Mang theo mô hình và tập dữ liệu của riêng bạn

Khi đào tạo các mô hình mạng thần kinh, có thể cần phải thay đổi cấu trúc mạng, chuyển đổi dữ liệu và các chi tiết quan trọng khác. Trong khi các thay đổi về mã bị hạn chế, nó có thể trở thành một nhiệm vụ phức tạp khi các mô hình này là một phần của thư viện phần mềm lớn. Để tránh những bất tiện này, Renate cung cấp cho khách hàng khả năng xác định các mô hình và bộ dữ liệu của họ trong các hàm Python được xác định trước như một phần của tệp cấu hình. Điều này có lợi thế là giữ cho mã của khách hàng tách biệt rõ ràng với phần còn lại của thư viện và cho phép khách hàng không cần biết gì về cấu trúc bên trong của Renate vẫn sử dụng thư viện một cách hiệu quả.

Hơn nữa, tất cả các chức năng, bao gồm cả định nghĩa mô hình, đều rất linh hoạt. Trên thực tế, chức năng định nghĩa mô hình cho phép người dùng tạo mạng thần kinh từ đầu theo nhu cầu của riêng họ hoặc khởi tạo các mô hình nổi tiếng từ các thư viện mã nguồn mở như máy biến áp or ngọn đuốc. Nó chỉ yêu cầu thêm các phụ thuộc cần thiết vào tệp yêu cầu.

Hướng dẫn về cách ghi tệp cấu hình có sẵn tại Cách viết tệp cấu hình.

Lợi ích của tối ưu hóa siêu tham số

Như thường thấy trong học máy, các thuật toán học liên tục đi kèm với một số siêu tham số. Cài đặt của nó có thể tạo ra sự khác biệt quan trọng trong hiệu suất tổng thể và việc điều chỉnh cẩn thận có thể tác động tích cực đến hiệu suất dự đoán. Khi đào tạo một mô hình mới, Renate có thể kích hoạt tính năng tối ưu hóa siêu tham số (HPO) bằng cách sử dụng các thuật toán hiện đại như ASHA để khai thác khả năng chạy nhiều tác vụ song song trên Amazon SageMaker. Một ví dụ về các kết quả được hiển thị trong hình bên dưới.

Tự động đào tạo lại các mạng thần kinh với Renate PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái.

Để bật HPO, người dùng sẽ cần xác định không gian tìm kiếm hoặc sử dụng một trong những không gian tìm kiếm mặc định được cung cấp cùng với thư viện. Tham khảo ví dụ tại Chạy một công việc đào tạo với HPO. Những khách hàng đang tìm kiếm việc điều chỉnh lại nhanh hơn cũng có thể tận dụng kết quả của các công việc điều chỉnh trước đây của họ bằng cách chọn các thuật toán có chức năng học chuyển giao. Bằng cách này, các trình tối ưu hóa sẽ được thông báo về siêu tham số nào đang hoạt động tốt trong các công việc điều chỉnh khác nhau và sẽ có thể tập trung vào những công việc đó, giảm thời gian điều chỉnh.

Chạy nó trên đám mây

Renate cho phép người dùng chuyển đổi nhanh chóng từ mô hình đào tạo trên máy cục bộ để thử nghiệm sang đào tạo mạng thần kinh quy mô lớn bằng SageMaker. Trên thực tế, việc chạy các công việc đào tạo trên một máy cục bộ là khá bất thường, đặc biệt là khi đào tạo các mô hình quy mô lớn. Đồng thời, khả năng xác minh chi tiết và kiểm tra mã cục bộ có thể cực kỳ hữu ích. Để đáp ứng nhu cầu này, Renate cho phép chuyển đổi nhanh giữa máy cục bộ và dịch vụ SageMaker chỉ bằng cách thay đổi một cờ đơn giản trong tệp cấu hình.

Ví dụ: khi khởi chạy công việc điều chỉnh, có thể chạy cục bộ execute_tuning_job(..., backend='local') và nhanh chóng chuyển sang SageMaker, thay đổi mã như sau:

execute_tuning_job(
...,
backend="sagemaker",
role=get_execution_role(),      # requires importing the function from Syne Tune
instance_type="ml.g4dn.2xlarge" # the desired instance type
job_name="name_prefix_",             # a prefix to be used to identify the job
...
)

Sau khi chạy tập lệnh, có thể thấy công việc đang chạy từ giao diện web SageMaker:

Tự động đào tạo lại các mạng thần kinh với Renate PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái.

Cũng có thể giám sát công việc đào tạo và đọc nhật ký trong CloudWatch:

Tự động đào tạo lại các mạng thần kinh với Renate PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái.

Tất cả điều này mà không cần bất kỳ mã hoặc nỗ lực bổ sung nào.

Một ví dụ đầy đủ về chạy các công việc đào tạo trên đám mây có sẵn tại Làm thế nào để chạy một công việc đào tạo.

Kết luận

Trong bài đăng này, chúng tôi đã mô tả các vấn đề liên quan đến việc đào tạo lại mạng lưới thần kinh và những lợi ích chính của thư viện Renate trong quá trình này. Để tìm hiểu thêm về thư viện, hãy xem Kho GitHub, nơi bạn sẽ tìm thấy tổng quan cấp cao về thư viện và của mình thuật toán, hướng dẫn cho cài đặtví dụ có thể giúp bạn bắt đầu.

chúng tôi mong muốn của bạn đóng góp, phản hồi và thảo luận thêm về vấn đề này với những người quan tâm và để thấy thư viện được tích hợp vào các quy trình đào tạo lại trong thế giới thực.


Giới thiệu về tác giả

Tự động đào tạo lại các mạng thần kinh với Renate PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái.Giovanni Zappella là Nhà khoa học ứng dụng cấp cao làm việc về Khoa học dài hạn tại AWS Sagemaker. Anh ấy hiện đang làm việc về học liên tục, giám sát mô hình và AutoML. Trước đó, anh ấy đã làm việc trên các ứng dụng của kẻ cướp nhiều vũ trang cho các hệ thống đề xuất quy mô lớn tại Amazon Music.

Tự động đào tạo lại các mạng thần kinh với Renate PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái.Martin Wistuba là Nhà khoa học ứng dụng trong nhóm khoa học dài hạn tại AWS Sagemaker. Nghiên cứu của ông tập trung vào học máy tự động.

Tự động đào tạo lại các mạng thần kinh với Renate PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái.  Quả bóng Lukas là Nhà khoa học ứng dụng tại AWS. Anh ấy nghiên cứu về học tập liên tục và các chủ đề liên quan đến giám sát mô hình.

Tự động đào tạo lại các mạng thần kinh với Renate PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái.Cedric Archambeau là Nhà Khoa học Ứng dụng Chính tại AWS và là Thành viên của Phòng thí nghiệm Châu Âu về Hệ thống Học tập và Thông minh.

Dấu thời gian:

Thêm từ Học máy AWS