paint-brush
Một hy vọng mới cho thử nghiệm MLby@yashnayak
1,589
1,589

Một hy vọng mới cho thử nghiệm ML

Yashaswi Nayak2022/07/04
Read on Terminal Reader
Read this story w/o Javascript

DVC VSCode Extension kết hợp sức mạnh của các lệnh DVC để quản lý dữ liệu, lập phiên bản và thử nghiệm với trải nghiệm mã hóa thanh lịch đẹp mắt của Visual Studio Code. DVC là một công cụ tuyệt vời để theo dõi các thí nghiệm, mô hình và các hiện vật liên quan của bạn, nhưng đó là CLI - mà nhiều người trong cộng đồng khoa học dữ liệu có thể không thích hoặc không quen thuộc với.

Companies Mentioned

Mention Thumbnail
Mention Thumbnail
featured image - Một hy vọng mới cho thử nghiệm ML
Yashaswi Nayak HackerNoon profile picture


Xin chào!


Hãy xem xét một tình huống - một Nhà khoa học dữ liệu đơn độc làm việc tại hệ thống của cô ấy cố gắng tìm kiếm một lượng lớn dữ liệu; làm sạch, phân loại, xử lý và sau đó xây dựng mô hình để chạy dự đoán trên dữ liệu mới được xử lý. Nhà khoa học có một loạt công cụ theo ý của mình - Máy tính xách tay Jupyter, Luồng khí, Anaconda, Gấu trúc, lưu trữ dữ liệu và máy ảo đám mây.


Cô ấy luyện tập nó hàng giờ đồng hồ, chỉ để thiếu sự hoàn hảo - mô hình không hoạt động tốt như nó cần phải có. Cô ấy nhìn ra ngoài cửa sổ - trời đã đêm xuống. Cô ấy vẫn chưa thử nghiệm mô hình của mình với một tập hợp thông số khác và theo dõi một tập hợp các chỉ số khác nhau trong các thử nghiệm của cô.


Cô ấy tắt hệ thống của mình, gọi nó vào một ngày và sẽ thử vào ngày hôm sau với một mô hình khác, một cách tiếp cận khác với một loạt dữ liệu và thông số mới. Đây là một quá trình dài có thể kéo dài nhiều ngày… vài tuần… và nhiều tháng.


Thật khó để quay lại thời điểm khi cô đã thử kết hợp các thông số cụ thể cho thí nghiệm, kiến thức đôi khi bị mất, vì tất cả các thí nghiệm và mọi hiện vật liên quan đến mô hình có thể không được lưu lại. Theo dõi là rất quan trọng để cải thiện mô hình ML.


Tôi nghĩ rằng có thể tránh được tình huống kiểm lâm đơn độc này nếu chúng ta có một môi trường kiểu IDE toàn diện, nơi chúng ta có thể chạy nhiều thử nghiệm, quản lý dữ liệu và theo dõi mã, số liệu thử nghiệm, âm mưu, mô hình và các tạo tác dữ liệu. Làm thế nào mát mẻ mà sẽ là gì?

Nghe có vẻ quá tốt là đúng, nhưng đây là điều mà DVC VSCode Extension đang cố gắng thực hiện.


DVC là một công cụ tuyệt vời để theo dõi các thí nghiệm, mô hình và các hiện vật liên quan của bạn, nhưng đó là CLI - mà nhiều người trong cộng đồng khoa học dữ liệu có thể không cảm thấy thoải mái hoặc quen thuộc với.


Đã qua rồi cái thời bạn phải học một loạt các lệnh CLI phiền phức như thế này:


Sử dụng DVC trở nên dễ dàng hơn và thú vị hơn rất nhiều.


Phần mở rộng DVC VSCode

Nhóm lặp lại mang đến cho bạn một tiện ích mở rộng Mã VS kết hợp sức mạnh của các lệnh DVC CLI để quản lý dữ liệu, lập phiên bản và thử nghiệm với trải nghiệm mã hóa thanh lịch đẹp mắt của Visual Studio Code IDE.


Tiện ích mở rộng ở dạng hiện tại cung cấp cho bạn các tính năng sau:


1. Bảng lệnh

Tích hợp vào menu bảng lệnh VS Code. Nhấn F1 để mở bảng màu và gõ DVC để xem toàn bộ các lệnh liên quan đến DVC theo ý của bạn.


2. Bảng thí nghiệm

Cung cấp cho bạn cái nhìn chuyên sâu về các thử nghiệm được chạy trong không gian làm việc. Tương đương với lệnh dvc exp show trong chế độ CLI.


3. Lô đất / Lô đất trực tiếp

Bạn có thể xem các biểu đồ được tạo bởi thử nghiệm chạy trong không gian làm việc. Có thể so sánh các lô của các thí nghiệm khác nhau. Thậm chí xem các lô được cập nhật theo thời gian thực.


4. Quản lý Kiểm soát Nguồn

Bạn có thể kiểm tra trạng thái của không gian làm việc bằng cách sử dụng tính năng này. Bạn có thể dvc checkout dvc commit dvc add dvc push dvc pull từ chế độ xem này.


5. Đồ tạo tác được theo dõi - Tập dữ liệu, Mô hình và Tokenizers

Một cửa sổ nhỏ để theo dõi tài nguyên của bạn trong không gian làm việc. Từ đây, bạn có thể thực hiện các hành động với tệp, pushpull các tài nguyên cụ thể và quản lý dữ liệu trong các tập dữ liệu được theo dõi.


6. Hộp / Khay DVC View

Có thể kích hoạt Vùng chứa Chế độ xem bằng cách nhấp vào biểu tượng DVC trên thanh biểu tượng Mã VS. Nó cung cấp thông tin chung về các thử nghiệm và tài nguyên trong không gian làm việc.


Dưới đây là một số lợi thế so với CLI một mình khi bạn sử dụng tiện ích mở rộng:

  • Ẩn sự phức tạp của CLI và loại bỏ khó khăn khỏi trải nghiệm.
  • Cải thiện hiện có và cung cấp thêm hình ảnh trực quan.
  • Di chuyển quy trình công việc của khoa học dữ liệu sang bối cảnh xây dựng - ít bị gián đoạn bất ngờ hơn trong thời gian tập trung.
  • Xem hiệu suất thử nghiệm trong thời gian thực
  • Mọi người yêu VS Code ❤️🙂


Mở rộng DVC - Bắt đầu

Sử dụng Phần mở rộng DVC có thể được tóm tắt thành 4 bước

  1. Cài đặt - (Một lần)
  2. Thiết lập dự án và dữ liệu của bạn
  3. Thử nghiệm
  4. Vẽ đồ thị và đánh giá mô hình


Cài đặt

Đảm bảo rằng bạn đã cài đặt DVC trên hệ thống của mình. Bạn có thể chạy lệnh sau trong thiết bị đầu cuối của mình:


 $ pip3 install dvc


Hoặc bạn có thể làm theo hướng dẫn được cung cấp tại đây để cài đặt dành riêng cho hệ điều hành .


Đi tới Mã VS và trong menu tiện ích mở rộng, tìm kiếm DVC. Nhấp vào Cài đặt.


https://www.youtube.com/watch?v=INjOkuanRpc


Bây giờ bạn có phần mở rộng DVC đã sẵn sàng để sử dụng. Để làm quen với việc sử dụng tiện ích mở rộng, chúng tôi sẽ tải xuống một dự án ML mẫu


Tải xuống dự án mẫu

Bạn có thể tải xuống dự án mẫu từ repo . Mở thư mục trong VS Code. Phần mở rộng DVC sẽ phát hiện tệp nhị phân DVC và môi trường python.


Nếu bạn có một môi trường cụ thể, bạn có thể nhấn F1 và chọn DVC: Setup The Workspace

Cung cấp đường dẫn trình biên dịch và đường dẫn nhị phân của môi trường python.


Sử dụng Phần mở rộng DVC

Bạn có thể xem các thử nghiệm DVC trong không gian làm việc hiện tại trong tab vùng chứa chế độ xem DVC.


Kéo dữ liệu

Để bắt đầu thử nghiệm, chúng tôi cần lấy dữ liệu. Nhấn F1 để mở bảng lệnh VS Code và chọn DVC: Pull


Bạn có thể xem đầu ra bằng cách chọn DVC: Show DVC Output


Lưu ý: Hiện tại nhóm vẫn đang làm việc trên tùy chọn lưu trữ từ xa DVC trong plugin VS Code, bạn sẽ phải đặt điều khiển từ xa lưu trữ của mình thông qua dòng lệnh hoặc tệp cấu hình


Thử nghiệm

Bạn có thể thay đổi các tham số trong tệp params.yaml và chọn DVC: Modify Experiment Param(s),Rest and Run trong bảng lệnh VS Code.


https://www.youtube.com/watch?v=buuoKsGZvvo


Lô đất / Lô đất trực tiếp

Bạn cũng có thể kiểm tra các thử nghiệm của mình và xem các biểu đồ được vẽ bằng cách sử dụng tiện ích mở rộng.

Và điều đáng chú ý hơn cả là phần mở rộng cho phép bạn chọn các thử nghiệm của mình. Có ý định chơi chữ!


https://www.youtube.com/watch?v=N0VdjyQCo3Q


Đó không phải là tất cả, bạn có thể chạy các thử nghiệm riêng lẻ và thay đổi các thông số cụ thể.

Nếu bạn muốn xem trực tiếp các biểu đồ của mình, đối với các thử nghiệm mất nhiều thời gian - giả sử mô hình DL có thể có nhiều kỷ nguyên.


Bạn cũng có thể xem chúng trong thời gian thực. Chỉ cần chạy thử nghiệm của bạn và nhấp vào nút biểu đồ trong khay DVC.


https://www.youtube.com/watch?v=ov5ScDPV6Rw


Khi tất cả đều ổn và hoàn thành, bạn cũng có thể cam kết và thúc đẩy các thay đổi của mình.

Nhóm Iterative sẽ sớm thêm nhiều tính năng thú vị vào tiện ích mở rộng. Giữ nguyên.


Đừng để chúng tôi giữ chân bạn, hãy tiếp tục và bắt đầu thử nghiệm. Chúc mừng thời gian DVC!



Một chút triết lý chia tay

Là một học viên ML Ops, tôi đối mặt với nhiều thách thức khác nhau khi làm việc với các nhóm khoa học dữ liệu khác nhau. Có nhiều công cụ khác nhau có sẵn trên thị trường - cả trả phí và mã nguồn mở. Tôi có xu hướng nghiêng về các công cụ mã nguồn mở, vì có mối quan hệ họ hàng với một cộng đồng đang tích cực giúp đỡ những người lạ trên khắp thế giới giải quyết các vấn đề tương tự.


Cách tiếp cận này có ý nghĩa lớn đối với cộng đồng ML vì chúng tôi vẫn đang trong giai đoạn áp dụng, nơi một công cụ tốt có thể giúp bạn giải quyết vấn đề của mình nhanh hơn và tự tin hơn. Một công cụ tập trung được tích hợp với nhiều giai đoạn của đường ống ML đi một chặng đường dài trong việc giúp các nhóm khoa học dữ liệu giải quyết các vấn đề; họ có thể tập trung nhiều hơn vào việc cải tiến mô hình hơn là vào cơ sở hạ tầng và thiết lập - đây là điều đã thu hút tôi đến với công cụ DVC.


Xin gửi lời cảm ơn tới đội ngũ tại Iterative vì đã tạo ra tiện ích mở rộng tuyệt vời này, hy vọng sẽ thấy nhiều điều kỳ diệu hơn trong tương lai.