paint-brush
Deep Lake, Lakehouse cho Deep Learning: Các trường hợp sử dụng Machine Learningtừ tác giả@dataology
163 lượt đọc

Deep Lake, Lakehouse cho Deep Learning: Các trường hợp sử dụng Machine Learning

dài quá đọc không nổi

Các nhà nghiên cứu giới thiệu Deep Lake, một Lakehouse nguồn mở để học sâu, tối ưu hóa việc lưu trữ và truyền phát dữ liệu phức tạp cho các khung học sâu.
featured image - Deep Lake, Lakehouse cho Deep Learning: Các trường hợp sử dụng Machine Learning
Dataology: Study of Data in Computer Science HackerNoon profile picture
0-item

tác giả:

(1) Sasun Hambardzumyan, Activeloop, Mountain View, CA, USA;

(2) Abhinav Tuli, Activeloop, Mountain View, CA, USA;

(3) Levon Ghukasyan, Activeloop, Mountain View, CA, USA;

(4) Fariz Rahman, Activeloop, Mountain View, CA, USA;.

(5) Hrant Topchyan, Activeloop, Mountain View, CA, USA;

(6) David Isayan, Activeloop, Mountain View, CA, USA;

(7) Mark McQuade, Activeloop, Mountain View, CA, USA;

(8) Mikayel Harutyunyan, Activeloop, Mountain View, CA, USA;

(9) Tatevik Hakobyan, Activeloop, Mountain View, CA, USA;

(10) Ivo Stranic, Activeloop, Mountain View, CA, USA;

(11) Davit Buniatyan, Activeloop, Mountain View, CA, USA.

Bảng liên kết

5. CÁC TRƯỜNG HỢP SỬ DỤNG MÁY HỌC

Trong phần này, chúng ta xem xét các ứng dụng của Deep Lake.


Một kịch bản điển hình trong ứng dụng Deep Learning bắt đầu bằng


(1) Một tập hợp các tệp thô được thu thập trên nhóm lưu trữ đối tượng. Nó có thể bao gồm hình ảnh, video và các loại dữ liệu đa phương tiện khác ở định dạng gốc như JPEG, PNG hoặc MP4.


(2) Mọi siêu dữ liệu và nhãn liên quan được lưu trữ trên cơ sở dữ liệu quan hệ. Theo tùy chọn, chúng có thể được lưu trữ trên cùng một nhóm cùng với dữ liệu thô ở dạng bảng chuẩn hóa, chẳng hạn như định dạng CSV, JSON hoặc Parquet.


Như được hiển thị trong Hình 4, một tập dữ liệu Deep Lake trống được tạo. Sau đó, các tenxơ trống được xác định để lưu trữ cả dữ liệu thô cũng như siêu dữ liệu. Số lượng tensor có thể tùy ý. Một ví dụ cơ bản về nhiệm vụ phân loại hình ảnh sẽ có hai tensor,


• tensor hình ảnh với htype 𝑖𝑚𝑎𝑔𝑒 và nén mẫu JPEG


• nhãn tensor với htype 𝑐𝑙𝑎𝑠𝑠_𝑙𝑎𝑏𝑒𝑙 và nén chunk của LZ4.


Sau khi khai báo tensor, dữ liệu có thể được thêm vào tập dữ liệu. Nếu nén hình ảnh thô khớp với nén mẫu tensor, thì tệp nhị phân sẽ được sao chép trực tiếp thành một đoạn mà không cần giải mã bổ sung. Dữ liệu nhãn được trích xuất từ truy vấn SQL hoặc bảng CSV thành một số nguyên phân loại và được thêm vào tensor nhãn. các đoạn tensor nhãn được lưu trữ bằng cách sử dụng nén LZ4. Tất cả dữ liệu Deep Lake được lưu trữ trong bộ chứa và độc lập. Sau khi lưu trữ, dữ liệu có thể được truy cập trong giao diện NumPy hoặc dưới dạng trình tải dữ liệu học sâu có thể phát trực tuyến. Sau đó, mô hình chạy trên máy tính sẽ lặp lại luồng các tensor hình ảnh và lưu trữ kết quả đầu ra của mô hình trong một tensor mới gọi là dự đoán. Hơn nữa, chúng tôi thảo luận bên dưới về cách người ta có thể đào tạo, kiểm soát phiên bản, truy vấn và kiểm tra chất lượng của bộ dữ liệu Deep Lake.

5.1 Đào tạo mô hình học sâu

Các mô hình học sâu được đào tạo ở nhiều cấp độ trong một tổ chức, từ đào tạo khám phá diễn ra trên máy tính cá nhân đến đào tạo quy mô lớn xảy ra trên các máy phân tán có nhiều GPU. Thời gian và công sức cần thiết để đưa dữ liệu từ nơi lưu trữ dài hạn đến khách hàng đào tạo thường tương đương với chính quá trình đào tạo. Deep Lake giải quyết vấn đề này bằng cách cho phép truyền dữ liệu nhanh chóng mà không làm tắc nghẽn quá trình đào tạo xuôi dòng, do đó tránh được chi phí và thời gian cần thiết để sao chép dữ liệu trên bộ nhớ cục bộ.

5.2 Kiểm soát dòng dữ liệu và phiên bản

Dữ liệu học sâu không ngừng phát triển khi dữ liệu mới được thêm vào và dữ liệu hiện có được kiểm soát chất lượng. Khối lượng công việc phân tích và đào tạo diễn ra song song trong khi dữ liệu đang thay đổi. Do đó, việc biết phiên bản dữ liệu nào được sử dụng bởi một khối lượng công việc nhất định là rất quan trọng để hiểu mối quan hệ giữa dữ liệu và hiệu suất mô hình. Deep Lake cho phép những người thực hành deep learning hiểu được phiên bản dữ liệu nào của họ đã được sử dụng trong bất kỳ khối lượng công việc phân tích nào và di chuyển thời gian trên các phiên bản này nếu cần phải kiểm tra. Vì tất cả dữ liệu đều có thể thay đổi nên dữ liệu có thể được chỉnh sửa để đáp ứng các yêu cầu về quyền riêng tư liên quan đến tuân thủ. Giống như Git cho code, Deep Lake cũng đưa ra khái niệm về nhánh dữ liệu, cho phép thử nghiệm và chỉnh sửa dữ liệu mà không ảnh hưởng đến công việc của đồng nghiệp.

5.3 Truy vấn và phân tích dữ liệu

Việc đào tạo các mô hình deep learning hiếm khi xảy ra trên tất cả dữ liệu được một tổ chức thu thập cho một ứng dụng cụ thể. Bộ dữ liệu huấn luyện thường được xây dựng bằng cách lọc dữ liệu thô dựa trên các điều kiện tăng hiệu suất của mô hình, thường bao gồm cân bằng dữ liệu, loại bỏ dữ liệu dư thừa hoặc chọn dữ liệu có chứa các tính năng cụ thể. Deep Lake cung cấp các công cụ truy vấn và phân tích dữ liệu để các kỹ sư deep learning có thể tạo ra các bộ dữ liệu mang lại mô hình có độ chính xác cao nhất.

5.4 Kiểm tra dữ liệu và kiểm soát chất lượng

Mặc dù học tập không giám sát đang ngày càng được áp dụng nhiều hơn trong các trường hợp sử dụng trong thế giới thực, hầu hết các ứng dụng học sâu vẫn dựa vào học tập có giám sát. Bất kỳ hệ thống học tập có giám sát nào cũng chỉ tốt khi chất lượng dữ liệu của nó thường đạt được bằng cách kiểm tra dữ liệu một cách thủ công và toàn diện. Vì quá trình này tốn thời gian nên điều quan trọng là phải cung cấp cho con người trong vòng lặp các công cụ để kiểm tra lượng dữ liệu khổng lồ một cách nhanh chóng. Deep Lake cho phép kiểm tra các bộ dữ liệu deep learning ở mọi kích thước từ trình duyệt mà không cần thời gian thiết lập hoặc cần tải xuống dữ liệu. Hơn nữa, các công cụ này có thể được mở rộng để so sánh kết quả mô hình với thực tế cơ bản. Kết hợp với truy vấn và kiểm soát phiên bản, điều này có thể được áp dụng cho việc cải tiến dữ liệu lặp đi lặp lại để đạt được mô hình tốt nhất có thể.


Bài viết này có sẵn trên arxiv theo giấy phép CC 4.0.