Công cụ free để train model machine learning phổ biến nhất hiện nay chính là Google Colab. Tuy nhiên, với những người hay dùng linux và jupyter, mình thấy colab xài không được tự do lắm, chưa kể hạn chế lớn nhất của colab chính là tính liên tục của free gpu. Hôm nay, mình sẽ giới thiệu với các bạn một công cụ thay thế mà mình tình cờ biết từ reddit, đó chính là paperspace gradient

1. Hạn chế của google colab

1B2biqsbgd52bAZsX04KA4icHNUHWBErZ

Google colab rất tiện trong việc share code và cùng edit code. Tuy nhiên, vì là một biến thể của Jupyter, có quá nhiều người xài free gpu của nó,... nên dẫn đến một số hạn chế sau:

  • Google colab sử dụng Google Drive để lưu trữ, tuy rất tiện nhưng lại rất chậm, đặc biệt khi xử lý và lấy nhiều file nhỏ.
  • Mỗi khi chạy lại notebook của colab, phải cài lại các libraries/dependencies từ đầu.
  • Một colab instance có thể bị shutdown ngay khi đang training dẫn đến việc mất dữ liệu, buộc ta phải lưu data ngay khi có thể khá là bất tiện.
  • Colab là một biến thể của Jupyter, do đó một số shorcut và extension của jupyter thì colab sẽ không xài được.

2. Cái hơn của paperspace gradient

1d9a3OlufUkEJKlg8fneiJq3Y3kCMgl5G


Gradient hiện tại ít người sử dụng, cộng thêm ra đời sau nên nó khắc phục được một số nhược điểm của colab như sau:
  • Bộ lưu trữ nhanh hơn. Paperspace gradient sẽ cung cấp cho ta một container Docker hoàn chỉnh mỗi notebook, data được mount trực tiếp với host machine nên việc read/write data nhanh như ở local vậy. Chưa kể, bản free của gradient cho ta 5GB persistent storage, storage này sẽ không bị mất dữ liệu trong đó bất kể notebook có vấn đề gì kể ta xóa hết notebook.
  • Container của mỗi notebook dường như không bị xóa (mình có để một notebook khoảng nửa năm, container của notebook đó vẫn còn, dữ liệu ngoài persistent storage vẫn không bị mất), do đó không cần phải cài lại các libraries/dependencies bạn cài thêm. Mà cho dụ có bị xóa container, những libraries/dependencies cơ bản (theo template của notebook) sẽ vẫn được giữ lại mỗi khi bạn khởi động lại notebook.
  • Gradient bản free cho bạn 6 giờ liên tục một phiên notebook, nó sẽ không bị shutdown nửa chừng như bên colab.
  • Rất nhiều template notebook có sẵn: nào là tensorflow, pytorch, mxnet, ... bạn có thể khởi tạo một notebook có sẵn các libraries ngay mà không cần phải tự tay cài thêm từ command line.
  • Mang lại trải nghiệm Jupyter thuần túy: vì sử dụng Jupyter thuần nên những bạn quen dùng jupyter sẽ không phải đau đầu vì vấn đề tương thích shortcut và extension jupyter như bên colab.

3. Xài ngay thôi nào

  • Truy cập https://console.paperspace.com/login để đăng nhập hoặc tạo tài khoản.


    1_9AHes-6jyGTonCxG4KmCzpsqojbzKUt

  • Chọn gradient


    16qw6_ASE3Zl4CuML0UeDrUt0njKfGSp0

  • Bấm vào tab notebook và click create notebook


    1RiMJYgHz-0hOndxggr4HpBagojyP0nHK

  • Đặt tên, rồi chọn một template gì cũng được - mình hay chọn all-in-one template vì template này có jupyterlab, xài cũng ổn định với có sẵn nhiều libraries thông dụng.


    1cSphYknynZLzr9Ezlkug7X6hYvzh7s3g

  • Quadro P5000 là free gpu mạnh nhất nên có thì chọn ngay các bạn nhé (Con này hay bị giành nên đôi khi không chọn được đâu)


    1VQmv2pLxaKzJj1QeW9RJDrb0BCQUHpn7

  • Xong rồi click create notebook thôi.

  • Đợi khoảng vài phút notebook sẽ khởi động xong (Cái notebook all-in-book tốn hơn 10p để khởi động đấy :v). Xong rồi thì nhấn OPEN V1 (CLASSIC) - nên dùng classic vì V2 chả khác gì mà chiếm chỗ thêm.


    1rxCWDAV0IS7EtGv9lki81m_qbEmC8311

  • Mở lên là có sẵn một jupyter notebook/lab. Hình sau đây là một notebook mình dùng để train model trên này.


    1r_Cx3U5WTKh_TxdSTIqxn4cy_fNKNIIY

  • Đối với bạn nào đã xài quen jupyter notebook/lab với linux thì sẽ quen nhanh thôi, còn bạn nào chưa thì vọc vạch đi nhé. Mình thì thích xài jupyter lab hơn vì nó mở tab tiện và nhanh hơn, xài terminal như thế này giống như xài một máy linux thực thụ vậy


    18Sh1e4VDAhxjJzbvkHMfGytg-zSp3zLh

4. Tham khảo: