Sự tiến bộ vượt bậc của công nghệ số đã tạo cơ sở phát triển cho ngành khoa học máy tính và khoa học dữ liệu. Dù có nhiều bài giảng miễn phí, khóa học online, hướng dẫn thực hành về Machine Learning và khoa học dữ liệu thì quá trình thực hiện các dự án thực tế vẫn gặp không ít khó khăn. Và giải pháp cho vấn đề này đã xuất hiện, đó là sử dụng Google Colab. Vậy Google Colab là gì? Hãy cùng tìm hiểu khái niệm và cách sử dụng nó ngay trong bài viết sau đây.
Google Colab là gì?
Google Colab là một phiên bản lưu trữ trên đám mây giống với Jupyter Notebook do Google Research phát triển. Bằng cách sử dụng Google Colab, bạn không cần cài đặt và nâng cấp phần cứng máy tính cá nhân mà vẫn có thể xử lý các công việc nặng về CPU/GPU trong Python. Colab cung cấp miễn phí quyền truy cập vào các hạ tầng điện toán đám mây như bộ lưu trữ, bộ nhớ, GPU (đơn vị xử lý đồ hoạ), CPU (khả năng xử lý) và TPU (đơn vị xử lý tensor).
Google đã tạo ra công cụ mã hóa Python dựa trên nền tảng đám mây này để đáp ứng nhu cầu của lập trình viên máy học, nhà khoa học dữ liệu, nhà phân tích dữ liệu, nhà nghiên cứu trí tuệ nhân tạo và người học ngôn ngữ lập trình Python.
Một điểm đáng chú ý là Google Colab cung cấp một sổ ghi chú code hoàn chỉnh, cho phép trình bày một dự án khoa học dữ liệu hoặc máy học đầy đủ cho các người giám sát hoặc nhà tài trợ. Sổ ghi chú Colab có thể chứa mã thực thi, mã Python trực tiếp, HTML, LaTeX, văn bản định dạng, hình ảnh, biểu đồ, bảng,…
Sự khác biệt giữa Google Colab và Jupyter Notebook
Có một số sự khác biệt giữa Google Colab và Jupyter Notebook đó là:
- Về việc cài đặt: Google Colab không yêu cầu cài đặt phần mềm trên máy tính cá nhân. Còn Jupyter Notebook cần phải được cài đặt phần mềm và sử dụng tài nguyên máy tính cá nhân để thực hiện tính toán.
- Về việc lưu trữ và quản lý phiên bản sổ ghi chép: Google Colab hoạt động trên nền tảng đám mây, do đó bạn có quyền kiểm soát phiên bản tự động của sổ ghi chép. Bên cạnh đó, Google Drive cũng tự động lưu sổ ghi chép Python. Trong khi đó, đối với Jupyter Notebook, bạn cần tự thực hiện việc lưu sổ ghi chép định kỳ và quản lý phiên bản.
- Về việc sao lưu: File Google Colab có sẵn trên Google Drive để dễ dàng sao lưu, trong khi file Jupyter Notebook không tự động sao lưu.
- Về việc chia sẻ file: Bạn có thể chia sẻ file Google Colab của mình với mọi người, ngay cả những người không phải là chuyên gia khoa học dữ liệu. Họ có thể mở tài liệu trên Google Colab và xem nội dung một cách dễ dàng mà không cần phải cài đặt phần mềm. Còn đối với Jupyter Notebook, người nhận cần cài đặt và chạy phần mềm để đọc dự án. Điều này gây khó khăn khi chia sẻ file với những người không là chuyên gia trong lĩnh vực khoa học dữ liệu.
- Về tài nguyên: Google Colab đi kèm với các thư viện cần cho dự án máy học và khoa học dữ liệu. Nó cũng cung cấp một lượng tài nguyên như CPU, RAM, GPU và TPU trên nền tảng đám mây. Nhờ đó giúp bạn tiết kiệm chi phí và thời gian. Ngược lại, khi làm việc trên Jupyter Notebook, bạn phải tự tìm và cài đặt các thư viện cần thiết cho dự án của mình, từ đó gây tiêu tốn tài nguyên CPU, RAM và GPU của máy tính cá nhân.
Dưới đây là bảng so sánh sự khác biệt giữa tính năng của Google Colab và Jupyter Notebook:
Tính năng Code Doc | Google Colab | Jupyter Notebook |
---|---|---|
Truy cập và xem nhanh file code | Có | Không |
Chia sẻ file code | Có | Không |
Thư viện được cài đặt sẵn | Có | Không |
Lưu trữ đám mây | Có | Không |
File được đồng bộ hóa | Có | Không |
Tại sao nên sử dụng Google Colab
Việc sử dụng Google Colab có những lợi ích như:
Được lưu trên đám mây
Khi sử dụng Jupyter Notebook, mọi thứ được lưu trữ trên máy tính cá nhân của bạn. Đây là một ưu điểm nếu bạn quan tâm đến vấn đề quyền riêng tư.
Tuy nhiên, nếu bạn muốn truy cập dữ liệu của mình từ bất kỳ thiết bị nào có đăng nhập Google, thì Google Colab là lựa chọn tốt nhất. Bởi vì toàn bộ các Colab Notebook của bạn sẽ được lưu trữ trong tài khoản Google Drive, tương tự như các file Google Docs và Google Sheets.
Các thư viện được cài đặt sẵn
Google Colab có sẵn các thư viện dữ liệu cài đặt sẵn như Numpy, Matplotlib, Pandas và nhiều thư viện machine learning như Keras, Tensorflow, Pytorch.
Sự hợp tác
Sử dụng Google Colab, bạn có thể hợp tác với nhiều nhà phát triển khác nhau trên cùng một Colab Notebook và chia sẻ công việc đã hoàn thành của mình với họ.
Sự tổng quát
Google Colab chính là phiên bản chuyên dụng của Jupyter Notebook, hoạt động trên nền tảng đám mây và cung cấp tài nguyên điện toán hoàn toàn miễn phí. Bạn có thể xem hình ảnh minh họa bên dưới để hiểu được mối quan hệ giữa Ipython, Jupyter Notebook và Google Colab.
Sử dụng GPU và TPU miễn phí
Google Colab cho phép bạn sử dụng GPU và TPU miễn phí của họ cho các dự án machine learning cá nhân. Đây là 2 yếu tố có thể tạo ra sự khác biệt rất lớn trong các dự án.
Hướng dẫn sử dụng Google Colab
Bạn cần có tài khoản Google để truy cập và sử dụng Colaboratory. Với Jupyter Notebook, bạn có thể dùng Colaboratory để thực hiện các tác vụ cụ thể trong một môi trường định hướng cell. Nếu đã từng dùng Jupyter Notebook, bạn sẽ thấy sự tương đồng rõ rệt giữa Notebook và Colaboratory.
Để sử dụng Google Colab, bạn thực hiện theo các bước sau đây:
Tạo thư mục trên Google Drive
Đầu tiên, bạn nhấn New để tạo thư mục mới trên Google Drive và đặt tên cho thư mục đó.
Tạo Colab Notebook mới
- Nhấp chuột phải > Chọn More > Chọn Colaboratory để tạo Colab Notebook mới.
- Nhấn vào tên file để đổi tên Notebook nếu bạn muốn.
- Mở file vừa tạo sẽ thấy giao diện như hình minh họa dưới đây.
Cài đặt GPU
Mặc định, phần cứng của Google Colab là CPU hoặc bạn cũng có thể thiết lập nó là GPU.
Để cài đặt GPU, bạn có thể thực hiện theo 2 cách:
- Cách 1: Nhấn Edit > Chọn Notebook Setting > Chọn Hardware Accelerator > Chọn GPU.
- Cách 2: Nhấn Runtime > Chọn Hardware Accelerator > Chọn GPU.
Running a Cell
- Để xác nhận thời gian chạy được kết nối bình thường, Notebook sẽ hiển thị màu xanh lá cây và thông báo Connected ở góc trên bên phải.
- Trong Runtime sẽ nhiều thời gian chạy khác nhau để lựa chọn hoặc bạn có thể nhấn tổ hợp phím Shift + Enter.
Bash Commands
Thực hiện nhân bản kho lưu trữ Git bằng lệnh sau:
!git clone [git clone url]
Lệnh thư mục !ls
:
!ls
Lệnh này sẽ xuất ra những thư mục (folders)/nội dung (content)/ổ đĩa (drive). Để thay đổi thư mục hiện tại, bạn dùng lệnh sau:
import sys
sys.path.append(‘[Folder name]’)
Để tải xuống từ web, bạn dùng lệnh sau:
!wget [url] -p drive/[Folder Name]
Cài đặt thư viện
Các thư viện Python đã được cài đặt sẵn. Do đó, nếu bạn muốn cài đặt các thư viện mới, hãy dùng cú pháp sau đây:
!pip install [package name]
Hoặc cú pháp:
!apt-get install [package name]
Tải local file
Để tải local file, bạn sử dụng cú pháp:
from google.colab import files
uploaded = files.upload()
Hoặc cú pháp:
for file in uploaded.keys():
print('Uploaded file "{name}" with length {length} bytes'.format(name=file, length=len(uploaded[file])))
Gắn Google Drive vào Google Colab
Để gắn Google Drive, bạn hãy chạy lệnh sau đây:
!apt-get install -y -qq software-properties-common python-software-properties module-init-tools
!add-apt-repository -y ppa:alessandro-strada/ppa 2>&1 > /dev/null
!apt-get update -qq 2>&1 > /dev/null
!apt-get -y install -qq google-drive-ocamlfuse fuse
from google.colab import auth
auth.authenticate_user()
from oauth2client.client import GoogleCredentials
creds = GoogleCredentials.get_application_default()
import getpass
!google-drive-ocamlfuse -headless -id={creds.client_id} -secret={creds.client_secret} < /dev/null 2>&1 | grep URL
vcode = getpass.getpass()
!echo {vcode} | google-drive-ocamlfuse -headless -id={creds.client_id} -secret={creds.client_secret}
Nhấp vào liên kết, sau đó tiến hành nhập khóa API:
!mkdir -p drive
!google-drive-ocamlfuse drive
Bây giờ ổ đĩa của bạn đã được kết nối. Bạn có thể sử dụng bất kỳ file và thư mục nào trong ổ đĩa của mình bằng cách dùng đường dẫn sau:
!ls /content/drive/[folder name]
Kiểm tra thông số kỹ thuật CPU và RAM
Để kiểm tra thông số CPU và RAM, bạn dùng lệnh:
!cat /proc/cpuinfo
!cat /proc/meminfo
Kiểm tra thông số kỹ thuật GPU
Để kiểm tra thông số GPU, bạn dùng lệnh:
from tensorflow.python.client import device_lib
device_lib.list_local_devices()
Lưu trữ Colab Notebook
Tất cả các Notebook sẽ tự động được lưu trong ổ đĩa Google sau một khoảng thời gian nhất định nào đó. Để rõ ràng hơn, bạn cũng có thể lưu Notebook dưới dạng các tệp tin *.py và *.ipynb.
Chia sẻ Colab Notebook
Đây là một trong những tính năng nổi bật của Google Colab.
Để chia sẻ Colab Notebook với người khác, bạn nhấn Share ở góc trên bên phải. Tùy chọn chia sẻ thông qua liên kết sẽ xuất hiện. Ngoài ra, bạn cũng có thể mời mọi người tham gia dự án thông qua địa chỉ email.
Câu hỏi thường gặp
Google Colab hỗ trợ ngôn ngữ lập trình nào?
Google Colab hỗ trợ ngôn ngữ lập trình Python. Đây là ngôn ngữ lập trình phổ biến được sử dụng để phân tích dữ liệu, điện toán khoa học và máy học.
Có cần cài đặt phần mềm nào để sử dụng Google Colab không?
Bạn không cần phải cài đặt phần mềm để sử dụng Google Colab. Đây là một nền tảng dựa trên đám mây, vì vậy bạn có thể truy cập nó từ bất kỳ thiết bị nào có kết nối với Internet.
Lời kết
Trên đây là toàn bộ thông tin mà Vietnix muốn chia sẻ tới bạn về câu hỏi Google Colab là gì. Mong rằng bạn có thể nằm rõ và ứng dụng nó vào quá trình học tập, làm việc của mình. Cảm ơn bạn đã theo dõi bài viết. Đừng quên thường xuyên cập nhật blog của Vietnix để đọc thêm nhiều bài viết khác nhé.