Khóa học

Sổ tay đã trở nên phổ biến trong khoa học dữ liệu suốt phần lớn 10 năm qua và mọi nhà khoa học dữ liệu đều từng làm việc với chúng. Chúng cho phép các nhà khoa học dữ liệu thử nghiệm nhanh và chia sẻ insight thông qua việc tạo môi trường nhanh chóng, đầu ra tương tác và các đoạn mã có thể được thực thi theo bất kỳ thứ tự nào.
Các tổ chức đã đầu tư mạnh vào khoa học dữ liệu và phân tích, trong đó một mảng then chốt là các công cụ cho phép nhà khoa học dữ liệu làm việc hiệu quả và thử nghiệm nhanh với dữ liệu. Sổ tay nằm ở trung tâm của điều này và là một thành phần của nhiều đổi mới công cụ mà chúng ta thấy trong modern data stack ngày nay. Quan trọng hơn, sổ tay cũng đang trao quyền cho citizen data scientists để dân chủ hóa insight dữ liệu.
Bài viết này xem xét quá khứ, hiện tại và tương lai của sổ tay, cũng như cách sổ tay phá vỡ các silo trong công việc dữ liệu và cộng tác.
Lịch sử của sổ tay khoa học dữ liệu
Hầu như mọi nhà khoa học dữ liệu ngày nay đều đã dùng sổ tay, phổ biến nhất là Jupyter Notebooks. Tuy nhiên, sổ tay có một lịch sử phong phú có trước khoa học dữ liệu—một lịch sử bắt đầu từ đầu những năm 1980.
Sự trỗi dậy của Lập trình chú giải (Literate Programming)
Được Donald Knuth giới thiệu năm 1984, literate programming được định hướng như một phương pháp luận nhằm tạo ra các chương trình có thể đọc được bởi con người. Ý tưởng là viết logic chương trình bằng ngôn ngữ tự nhiên với các đoạn mã và macro được viết như các chú thích riêng biệt, gọi là “WEB”. Các macro này tương tự như mã giả (pseudocode) dùng để dạy khoa học máy tính.
Một trình tiền xử lý sau đó sẽ phân tích WEB để tạo mã nguồn (“tangle”) và tài liệu (“weave”). Literate programming vẫn còn được dùng ngày nay, ví dụ trong Axiom, nhưng các ý tưởng then chốt trong literate programming đã dẫn đến sự phát triển của sổ tay trông rất giống với những gì chúng ta thấy hiện nay.
Những sổ tay đầu tiên
Những sổ tay đầu tiên quan trọng là Wolfram Mathematica và Maple, ra mắt cuối những năm 1980. Chúng vận hành với một front end và một kernel ở back end. Hình dưới đây cho thấy một biểu đồ 3D được tạo bằng Mathematica với ký hiệu quen thuộc In[ ] và Out[ ] mà chúng ta vẫn thấy trong sổ tay ngày nay.

Sổ tay Wolfram Mathematica thời kỳ đầu
Các công cụ này có những khác biệt nhỏ, như dùng phím Enter thay vì Shift + Enter để chạy mã và khác nhau trong cách hiển thị các phép toán. Tuy vậy, cả hai đều chứa đựng những ý tưởng đã ảnh hưởng đến cách thiết kế sổ tay hiện đại.
Rào cản chính đối với việc phổ biến rộng rãi là chi phí, vì các công cụ này đắt và yêu cầu giấy phép sử dụng. Đây là vấn đề trong toàn ngành, dẫn đến việc thành lập Sáng kiến Mã nguồn Mở năm 1998, mở đường cho nhiều công cụ mạnh mẽ và miễn phí mà chúng ta dùng ngày nay (ví dụ Jupyter Notebooks!).
Những nền tảng ban đầu của sổ tay khoa học dữ liệu hiện đại
Năm 2001, IPython và SciPy được phát hành, tiếp đó là Matplotlib năm 2003. SciPy cho phép thực hiện nhiều phép tính khoa học trong Python, trong khi IPython cải thiện trải nghiệm người dùng trên terminal và bổ sung hỗ trợ điện toán phân tán. Tương tự ngày nay, Matplotlib cho phép tạo trực quan hóa dữ liệu một cách dễ dàng trong Python.
Mãi đến năm 2005, các công cụ mã nguồn mở này (và những công cụ khác) mới được đưa vào một công cụ duy nhất gọi là SageMath. Mục tiêu là cung cấp một lựa chọn mã nguồn mở thay thế Mathematica và Maple, kết hợp và xây dựng trên nền các công cụ khoa học mã nguồn mở khác, đồng thời cung cấp các tính năng dựa trên web vốn là trụ cột của sổ tay hiện đại ngày nay.
Năm 2011, IPython phát hành sổ tay của mình với sự tách bạch rõ ràng giữa front end ứng dụng web và tài liệu sổ tay bên dưới.

IPython Notebook
Sự ra đời của Jupyter Notebooks
Jupyter được tách ra từ IPython năm 2014, giới thiệu giao diện sổ tay và tiếp nhận các phần trung lập ngôn ngữ khác của IPython. Tên gọi dựa trên những ngôn ngữ ban đầu mà nó hỗ trợ: Julia, Python và R. Jupyter notebooks hiện là lựa chọn hàng đầu cho các nhà khoa học dữ liệu và chắc chắn là giao diện sổ tay được dùng rộng rãi nhất hiện nay.
Một hướng phát triển chủ chốt trong những năm gần đây là các ứng dụng tách front end khỏi kernel để người dùng truy cập front end qua trình duyệt còn kernel chạy trong các trung tâm dữ liệu trên nền tảng đám mây. Một ví dụ điển hình là DataCamp Workspace, nơi bạn có thể bắt đầu làm việc với một phiên bản Jupyter Notebook trực tiếp trên trình duyệt.

JupyterLab trong DataCamp Workspace
Khi sổ tay ngày càng được đón nhận và phổ biến, vài năm qua đã mở ra làn sóng giao diện sổ tay hiện đại cho phép bất kỳ ai cũng có thể làm việc với dữ liệu một cách dễ dàng. Ở phần tiếp theo, chúng ta sẽ phân tích cách sổ tay hiện đại đang phá bỏ rào cản khi làm việc với dữ liệu.
Cách sổ tay khoa học dữ liệu hiện đại trao quyền cho Citizen Data Scientists
Khái niệm Citizen Data Scientists được Gartner đưa ra năm 2016. Citizen Data Scientists có kỹ năng kỹ thuật nhưng có thể không có nền tảng truyền thống về khoa học dữ liệu, thống kê hoặc khoa học máy tính.
Khi khoa học dữ liệu ngày càng tách khỏi vai trò là một lĩnh vực và trở thành một phương pháp luận để giải quyết bài toán kinh doanh, Citizen Data Scientists trở thành gương mặt đại diện của tổ chức hiện đại định hướng dữ liệu. Sổ tay là công cụ tuyệt vời cho Citizen Data Scientists vì chúng cho phép thử nghiệm nhanh và chia sẻ insight với rào cản gia nhập rất thấp.
Mặc dù sổ tay luôn xuất sắc trong việc khám phá và phân tích nhanh một tập dữ liệu, trước đây chúng còn thiếu ở các khía cạnh như cộng tác và chia sẻ insight. Đến năm 2022, điều này không còn đúng nữa khi sổ tay hiện đại và hệ sinh thái xung quanh đã khắc phục nhiều điểm mù lịch sử này. Dưới đây là một số cách sổ tay đang mang lại lợi ích về năng suất, hiệu quả và cộng tác.
Sổ tay khoa học dữ liệu hiện đại mang tính cộng tác
Một ví dụ rõ ràng về công cụ cộng tác hiện đại là Google Docs. Nhiều người dùng có thể sử dụng và chỉnh sửa tài liệu, đồng thời người dùng có thể kiểm soát ai được phép chỉnh sửa và ai chỉ được đề xuất nhận xét. Các thay đổi được lưu thường xuyên để ngăn thảm họa xảy ra.
Công nghệ tương tự nay đã có cho sổ tay với các công cụ như Deepnote và Datacamp Workspace. Nhiều người dùng có thể chỉnh sửa và chạy sổ tay cũng như để lại bình luận. Tất cả việc cộng tác này diễn ra theo thời gian thực, giúp toàn bộ quy trình hiệu quả hơn nhiều.

Cộng tác trong DataCamp Workspace
Cộng tác là yếu tố thiết yếu với bất kỳ ai làm việc với dữ liệu. Giảm rào cản cộng tác cũng đồng nghĩa giảm silo dữ liệu bằng cách chia sẻ tri thức và chuyên môn. Dù truyền thống, cộng tác bằng sổ tay có thể chậm, nhưng modern data stack thì nhanh và hiệu quả. Nhiều công cụ tích hợp liền mạch vào tech stack sẵn có, nghĩa là người dùng có thể làm việc với các công cụ họ quen thuộc mà vẫn cộng tác với đồng nghiệp.
Chúng giúp dân chủ hóa insight dữ liệu
Chia sẻ phân tích với người dùng khác có thể khó—dù họ là các bên liên quan kinh doanh hay những người thiên về kỹ thuật. Trước đây, người thực hành chia sẻ báo cáo sổ tay dưới dạng insight qua email, Slack, bài thuyết trình hoặc ứng dụng web tự xây.
Tuy nhiên, sổ tay hiện đại dân chủ hóa insight bằng cách cho phép chia sẻ sổ tay một cách liền mạch. Ví dụ, IPyWidgets cho phép thêm các widget tương tác vào sổ tay, nghĩa là người dùng có thể kéo thanh trượt để thay đổi đồ họa và tương tác nhiều hơn với insight. Binder biến một repo thành các sổ tay tương tác được lưu trữ, cho phép bất kỳ ai khác cũng có thể chạy sổ tay tương tác. Voila biến một sổ tay thành ứng dụng web được lưu trữ, giúp người dùng có thể tương tác đầy đủ mà thậm chí không cần thấy toàn bộ mã. Datacamp Workspace cho phép người dùng chia sẻ sổ tay và cung cấp mẫu để thêm câu chuyện cho dữ liệu.

Xuất bản báo cáo trong DataCamp Workspace
Chúng có thể thu hẹp khoảng cách nhân lực
Khoa học dữ liệu vừa rộng vừa sâu: có rất nhiều điều cần học ở nhiều lĩnh vực khác nhau. Là chuyên gia NLP không khiến bạn trở thành một kỹ sư dữ liệu giỏi hay thậm chí là người hiểu về thị giác máy tính.
Mối liên kết then chốt giữa các phân ngành khác nhau của khoa học dữ liệu là dữ liệu và hạ tầng. Không có dữ liệu tốt, mô hình sẽ không hoạt động tốt. Tương tự, nếu thiếu hạ tầng để hỗ trợ phát triển mô hình và làm sạch dữ liệu, việc bắt đầu là rất khó.
Với Citizen Data Scientists, không cần phải có kỹ năng kỹ thuật hạ tầng. Sổ tay hiện đại cho phép bất kỳ ai cũng có thể bắt tay nhanh chóng nhờ tận dụng hạ tầng đám mây. Môi trường và gói được quản lý tốt và có thể dễ dàng cập nhật, sửa đổi bởi hầu hết người dùng. Điều này đảm bảo không cần lấp đầy các khoảng trống kỹ năng kỹ thuật, và người thực hành có thể dành thời gian để đem lại insight.
Hơn nữa, hầu hết kỹ thuật khoa học dữ liệu đều hoàn toàn tương thích với sổ tay—có thể huấn luyện mô hình, vẽ đồ thị 3D và xây dựng pipeline dữ liệu. Điều này đảm bảo Citizen Data Scientists có thể thử nghiệm đầy đủ các kỹ thuật và dễ dàng truyền đạt kết quả tới các bên liên quan hoặc chia sẻ mã với người dùng kỹ thuật khác.
Sổ tay hiện đại tích hợp với các công cụ khác
Chúng ta đã xem xét cách sổ tay hiện đại phá vỡ silo dữ liệu giữa các nhóm và hạ thấp rào cản gia nhập khi làm việc với dữ liệu. Tuy nhiên, một điểm đau khác mà sổ tay lịch sử từng có là thiếu tích hợp với các công cụ khác trong quy trình khoa học dữ liệu. Một ví dụ điển hình là SQL.
Trước đây, người thực hành thiết lập kết nối cơ sở dữ liệu bằng các gói như `mysql.connector` trên Python hoặc `DBI` trên R. Các gói này yêu cầu thiết lập kết nối thủ công và nhập thủ công thông tin xác thực liên quan để truy cập dữ liệu.
Ngược lại, sổ tay hiện đại cung cấp hỗ trợ SQL gốc. Ví dụ, với DataCamp Workspace, người dùng có thể thiết lập kết nối an toàn trực tiếp từ DataCamp Notebook Editor tới các cơ sở dữ liệu như PostgreSQL, MySQL và Amazon Redshift. Dữ liệu trích xuất từ cơ sở dữ liệu tích hợp sau đó có thể được phân tích bằng R hoặc Python.

Ô SQL trong DataCamp Workspace
Tương lai của sổ tay khoa học dữ liệu
Sổ tay hiện đại nằm ở trung tâm của cuộc cách mạng dữ liệu. Nó trang bị cho người thực hành với nhiều mức kỹ năng khác nhau khả năng thử nghiệm dữ liệu dễ dàng, chia sẻ insight và thu hẹp khoảng cách giữa kinh doanh và đội dữ liệu. Hơn nữa, sổ tay đang trao quyền cho citizen data scientists, mở ra làn sóng thông thạo dữ liệu mới trong các tổ chức ngày nay.
Các tổ chức ưu tiên dữ liệu như Netflix nổi tiếng với đổi mới về sổ tay, vì sổ tay là công cụ phổ biến nhất của họ để làm việc với dữ liệu xuyên suốt các vai trò và nhóm. Tương lai của sổ tay sẽ được định hình bởi sự linh hoạt cao hơn, tích hợp tốt hơn với phần còn lại của data stack, và khả năng cộng tác, chia sẻ mạnh mẽ để dân chủ hóa insight dữ liệu. Để tìm hiểu thêm về sổ tay, hãy xem các tài nguyên sau: