Nhà khoa học máy tính thu nhỏ dữ liệu khổng lồ của thế giới
Từ hòn đảo hoang sơ vùng Caribe đến giảng đường đại học danh tiếng
Trước khi trở thành một nhà khoa học máy tính lỗi lạc tại Đại học California, Berkeley, Jelani Nelson đã trải qua tuổi thơ êm đềm nhưng đặc biệt trên hòn đảo nhiệt đới St. Thomas, thuộc Quần đảo Virgin của Mỹ. Đó là một cộng đồng nhỏ bé chỉ khoảng 50.000 dân cư ngụ trên diện tích khiêm tốn chưa đầy 35 dặm vuông (tương đương khoảng $90\text{ km}^2$). Ở nơi này, cơ sở hạ tầng thời bấy giờ còn rất nhiều hạn chế: chính quyền không cung cấp hệ thống nước máy đô thị, buộc mỗi gia đình phải xây dựng hai bể chứa nước mưa khổng lồ nằm sâu dưới nền nhà để phục vụ sinh hoạt. Ngoài ra, trước sân mỗi ngôi nhà luôn phải bố trí một chiếc máy phát điện cỡ lớn để chuẩn bị cho những chu kỳ cắt điện kéo dài hoặc các đợt bão lũ nhiệt đới dữ dội. Năm Nelson lên 11 tuổi, siêu bão Marilyn quét qua vùng biển này và tàn phá nặng nề toàn bộ hòn đảo. Gia đình cậu may mắn sơ tán kịp thời vào trú ẩn tại khách sạn Marriott ngay trong đêm bão, trong khi căn nhà của họ sau đó bị gió lốc giật sập và hư hại nghiêm trọng.
Cũng vào cột mốc 11 tuổi đó, niềm đam mê sâu sắc với thế giới công nghệ bắt đầu nảy mầm trong tâm trí Nelson. Sau khi tình cờ đọc được một cuốn sách hướng dẫn HTML, cậu đã tự đặt ra cho mình các thử thách lập trình để tự tay thiết kế trang web đầu tiên. Mục tiêu của Nelson lúc đó rất giản dị: tạo một trang tin tặng cô em gái nhỏ đang học mẫu giáo, người rất yêu thích bộ phim hoạt hình Rugrats trên kênh Nickelodeon. Nhằm giúp trang web sinh động hơn, Nelson muốn đưa vào hình ảnh các nhân vật hoạt hình quen thuộc như Tommy và Chuckie. Mang trong mình tinh thần cẩn trọng và ý thức pháp lý đáng kinh ngạc ở lứa tuổi thiếu nhi, cậu bé đã chủ động nhấc máy gọi điện trực tiếp tới trụ sở của kênh Nickelodeon để xin phép quyền tác giả. Dù hãng phim đã thẳng thừng từ chối cấp phép bản quyền cho cậu bé 11 tuổi, trải nghiệm ấy đã thổi bùng trong Nelson ngọn lửa tò mò và niềm say mê lập trình không thể dập tắt.
Một điểm đặc biệt trong hành trình trưởng thành của Jelani Nelson là môi trường văn hóa tại Quần đảo Virgin đã tạo nên một tấm khiên bảo bọc tâm lý vô cùng quý giá. Sau này, khi chuyển lên sinh sống và nghiên cứu suốt hơn hai thập kỷ tại nước Mỹ lục địa, Nelson thỉnh thoảng phải trải qua những tình huống ứng xử kỳ lạ — những biểu hiện thiếu tôn trọng ngấm ngầm, không bao giờ được nói thành lời nhưng khiến người trong cuộc nhận ra sự phân biệt đối xử vì màu da. Nhiều đồng nghiệp và học giả thường thắc mắc về trải nghiệm của một nhà nghiên cứu da đen trong cộng đồng khoa học đỉnh cao của nước Mỹ. Nhưng đối với Nelson, những định kiến đó hoàn toàn xa lạ với những gì ông từng biết thuở thiếu thời. Tại quê hương St. Thomas, phần lớn cư dân đều là người da màu. Ở đó, việc một đứa trẻ da đen học giỏi vượt bậc môn toán hay khoa học tự nhiên là điều hết sức bình thường, không hề có bất kỳ sự ngạc nhiên mang tính định kiến hay gán ghép nào. Chính tuổi thơ ấy đã giúp Nelson hiểu sâu sắc rằng sự kỳ thị sắc tộc không phải là bản chất tự nhiên của thế giới, bởi ngoài kia luôn tồn tại những cộng đồng nơi màu da chưa bao giờ là thước đo giá trị con người.
AddisCoder: Ươm mầm tài năng tin học trên mảnh đất châu Phi
Tấm lòng hướng về cội nguồn và khát khao chia sẻ tri thức của Jelani Nelson được thể hiện rõ nét nhất qua dự án giáo dục mang tên AddisCoder tại Ethiopia — quê hương của mẹ ông. Câu chuyện bắt đầu vào thời điểm Nelson vừa hoàn thành luận án tiến sĩ và đã nhận được lời mời làm giảng viên danh giá từ Đại học Harvard. Trước khi chính thức bắt đầu sự nghiệp học thuật tại ngôi trường hàng đầu thế giới, ông dự định dành kỳ nghỉ hè kéo dài 6 tuần để sang Ethiopia thăm người thân và nghỉ ngơi. Tuy nhiên, nhận thấy khoảng thời gian hơn một tháng chỉ dành cho việc đi chơi là quá lãng phí, ông đã nảy ra ý định đứng lớp giảng dạy một khóa học ngắn hạn miễn phí về lập trình và thuật toán cho học sinh bản địa.
Để tìm kiếm học viên, Nelson nhờ một số người bạn giúp quảng bá chương trình tới các trường trung học ở Addis Ababa. Nhận định rằng số lượng ứng viên quan tâm sẽ rất đông, ông đã nghĩ ra một cách thức tuyển chọn độc đáo: đưa ra một câu đố toán học hóc búa, và người tham gia phải giải mã thành công câu đố đó mới lấy được địa chỉ email để gửi hồ sơ dự tuyển. Mặc dù thử thách không hề đơn giản, kết quả vẫn có tới hàng trăm học sinh xuất sắc giải được câu đố và nộp đơn đăng ký. Trước tình trạng phòng học bị quá tải, trong những ngày đầu tiên, Nelson đã chủ động giảng bài với tốc độ cực nhanh và độ khó rất cao nhằm khuyến khích những bạn cảm thấy quá sức tự nguyện rút lui, từ đó đưa quy mô lớp học về mức vừa phải.
Khởi đầu vào mùa hè năm 2011 với khoảng hơn 80 học sinh, AddisCoder qua thời gian đã chuyển mình thành một chương trình trại hè nội trú quy mô lớn, được tổ chức thường niên dưới sự đồng hành của Quỹ Meles Zenawi. Hiện nay, số lượng học viên được đào tạo mỗi khóa đã tăng lên gấp đôi. Đội ngũ giảng dạy và trợ giảng tình nguyện quy tụ 40 chuyên gia, nhà khoa học máy tính hàng đầu đến từ nhiều quốc gia. Đáng chú ý, các học viên được tuyển chọn hiện nay đến từ khắp mọi miền địa lý của đất nước Ethiopia. Đối với rất nhiều cô cậu học trò nghèo chưa từng có cơ hội rời khỏi thị trấn hay vùng quê của mình, AddisCoder chính là chiếc cầu nối kỳ diệu mở toang cánh cửa tri thức. Khóa học không chỉ mang lại cho các em cơ hội giao lưu cùng bè bạn đồng trang lứa khắp cả nước, mà còn tạo điều kiện để các em trực tiếp tiếp xúc với các giảng viên hàng đầu thế giới, từ đó mở rộng tầm mắt và thắp sáng ước mơ vươn xa.
Sân chơi thuật toán và cuộc cách mạng thu nhỏ luồng dữ liệu
Bên cạnh niềm đam mê giảng dạy cộng đồng, sự nghiệp nghiên cứu đỉnh cao của Jelani Nelson gắn liền với vẻ đẹp thuần khiết của toán học và thuật toán. Trong suy nghĩ của vị giáo sư 36 tuổi tại Berkeley, việc thiết kế các thuật toán giống như việc dạo chơi trong một sân chơi hoàn toàn tự do, nơi tư duy của con người không bị bó buộc bởi bất kỳ khuôn khổ nào. “Không gian thiết kế quá rộng lớn, đến mức việc khám phá ra những gì bạn có thể nghĩ ra trở thành một niềm vui thực sự”, Nelson từng tâm sự. Nhưng đằng sau sân chơi trí tuệ dường như tự do tuyệt đối ấy lại là một bài toán thực tiễn vô cùng khắt khe: giới hạn vật lý của bộ nhớ máy tính.
Trong thời đại bùng nổ thông tin hiện nay, các tập đoàn công nghệ lớn như Google hay Facebook phải đối mặt với một thách thức sống còn: luồng thông tin khổng lồ đổ về máy chủ từng phút từng giây. Rõ ràng máy tính không thể lưu trữ lượng dữ liệu vô hạn. Các công ty công nghệ cần nhanh chóng trích xuất các mô hình ẩn trong dòng dữ liệu đó mà không cần phải ghi nhớ toàn bộ theo thời gian thực. Từ yêu cầu cấp thiết này, lĩnh vực thuật toán luồng (streaming algorithms) tiêu tốn ít bộ nhớ đã trở thành hướng nghiên cứu then chốt.
Ở tuổi 36, Jelani Nelson đã mở rộng các khả năng lý thuyết cho những thuật toán luồng hiện đại. Ông chuyên tâm tìm kiếm những quy trình tối ưu nhất để trả lời những câu hỏi tức thì của các hệ thống lớn: đếm số lượng người dùng khác nhau đang truy cập (được gọi là bài toán phần tử phân biệt – distinct elements problem) hay xác định những từ khóa nào đang là xu hướng ngay lúc này (bài toán phần tử phổ biến – frequent items problem).
Chìa khóa trong các thuật toán của Nelson là kỹ thuật phác thảo (sketching), giúp nén các tập dữ liệu lớn thành các thành phần nhỏ hơn, có thể lưu trữ bằng ít bộ nhớ hơn và phân tích cực kỳ nhanh chóng. Một ví dụ tiêu biểu diễn ra vào năm 2016, khi Nelson và các cộng sự thiết kế ra thuật toán tối ưu nhất từ trước đến nay để giám sát những thứ như địa chỉ IP lặp lại truy cập vào máy chủ. Thay vì phải theo dõi hàng tỷ địa chỉ IP 10-chữ số khác nhau để xác định ai là người quay lại, thuật toán chia mỗi địa chỉ 10-chữ số thành các đoạn nhỏ hơn gồm 2 chữ số. Sau đó, các thuật toán con sẽ tập trung ghi nhớ từng đoạn 2 chữ số riêng biệt — giảm mạnh số lượng kết hợp cần ghi nhớ từ hàng tỷ khả năng 10-chữ số xuống chỉ còn 100 khả năng 2-chữ số ($10^2 = 100$). Cuối cùng, bằng cách sử dụng các chiến lược thông minh để ghép các đoạn lại với nhau, thuật toán khôi phục lại các địa chỉ IP ban đầu với độ chính xác cao. Dù lợi ích tiết kiệm bộ nhớ này chỉ thực sự phát huy tác dụng vượt trội khi dãy số nhận dạng dài hơn 10 chữ số rất nhiều (khiến thuật toán hiện mang tính tiến bộ lý thuyết nhiều hơn), nó đã mở ra một tư duy hoàn toàn mới cho ngành máy tính.
Toán học của phác thảo tuyến tính: Từ bài toán YouTube đến rào cản IPv4
Để hiểu rõ hơn cách thức các thuật toán luồng có thể phân tích dữ liệu mà không cần ghi nhớ tất cả, Nelson đưa ra một ví dụ rất đơn giản tại Amazon: giả sử Amazon muốn biết tổng doanh số bán hàng hôm nay là bao nhiêu khi có 1 triệu giao dịch diễn ra. Có một giải pháp cực kỳ đơn giản: bạn chỉ cần giữ một tổng tích lũy (running sum). Mỗi khi có một giao dịch mua bán, hệ thống chỉ cần cộng số tiền bán hàng vào tổng đó. Như vậy, chiếc máy tính chỉ cần lưu trữ đúng 1 chữ số duy nhất thay vì phải ghi nhớ toàn bộ cả 1 triệu giao dịch.
Hóa ra có những bài toán khác mà dữ liệu nhìn qua có vẻ không phải là số, nhưng bằng cách nào đó các nhà khoa học có thể đại số hóa nó thành dữ liệu số. Khi đó, những gì thuật toán làm là lấy một ít thông tin từ mỗi mảnh dữ liệu, kết hợp chúng lại và lưu trữ các kết hợp đó. Quá trình này cô đọng toàn bộ tập dữ liệu lại thành một bản phác thảo (sketch).
Kỹ thuật phác thảo phổ biến nhất là phác thảo tuyến tính (linear sketching). Giả sử Facebook muốn biết có bao nhiêu người dùng truy cập trang web mỗi ngày. Facebook có khoảng 3 tỷ người dùng ($3 \times 10^9$), nên bạn có thể hình dung việc tạo ra một tập dữ liệu có 3 tỷ chiều — mỗi chiều đại diện cho một người dùng. Nhưng ta không muốn nhớ toàn bộ tập dữ liệu 3 tỷ chiều khổng lồ đó. Thay vì lưu 3 tỷ chiều, thuật toán sẽ chỉ lưu 100 chiều. Chiều đầu tiên được tạo ra bằng cách lấy một tập hợp con từ 3 tỷ số đó, cộng chúng lại với nhau hoặc nhân chúng với một hệ số nào đó. Thuật toán lặp lại quá trình này 100 lần, và bây giờ bạn chỉ cần lưu giữ 100 con số. Về nguyên tắc, mỗi con số trong 100 con số này phụ thuộc vào toàn bộ 3 tỷ con số ban đầu, nhưng nó không lưu trữ riêng lẻ từng người dùng nữa.
Trong thực tế, khi giải bài toán phần tử phân biệt như đếm số lượng địa chỉ IP duy nhất xem một video trên YouTube, các công ty công nghệ lớn thường sử dụng thuật toán phổ biến nhất là HyperLogLog, áp dụng tại Facebook, Google và nhiều tập đoàn lớn. Nhưng về mặt lý thuyết, thuật toán tiêu tốn ít bộ nhớ tối ưu đầu tiên cho bài toán phần tử phân biệt chính là thuật toán do Nelson đồng phát triển vào năm 2010 trong luận án tiến sĩ cùng với David Woodruff và Daniel Kane. Vậy tại sao các công ty chưa thay thế HyperLogLog bằng thuật toán của ông? Nelson giải thích rằng thuật toán của nhóm ông đạt mức tối ưu tuyệt đối khi quy mô bài toán đủ lớn, nhưng với kích thước dữ liệu hiện nay, HyperLogLog lại là thuật toán thực tế hơn. Trong giao thức Internet IPv4, có tổng cộng $2^{32}$ địa chỉ IP, tương đương khoảng 4 tỷ địa chỉ. Con số 4 tỷ chưa đủ lớn để thuật toán của Nelson giành chiến thắng; bài toán thực sự phải đạt đến quy mô lớn thiên văn thì thuật toán của ông mới thể hiện sự vượt trội.
Quy luật đánh đổi toán học và cảm giác chạm tới chân lý vĩnh cửu
Một câu hỏi tự nhiên đặt ra là tại sao rất nhiều thuật toán dữ liệu lớn đưa ra câu trả lời nằm trong một khoảng ước lượng chứ không đưa ra giá trị chính xác tuyệt đối? Theo Nelson, đối với rất nhiều bài toán loại này, bạn có thể chứng minh bằng toán học rằng: nếu bạn bắt buộc phải có câu trả lời chính xác 100%, thì không tồn tại bất kỳ thuật toán nào tiết kiệm bộ nhớ. Để có câu trả lời tuyệt đối chính xác, thuật toán bắt buộc phải ghi nhớ lại tất cả mọi thứ nó đã nhìn thấy.
Do đó, toàn bộ việc thiết kế thuật toán là một sự đánh đổi khắt khe. Sự đánh đổi ở đây trước hết là chi phí bộ nhớ: độ chính xác mong muốn càng cao thì càng phải dành nhiều bộ nhớ hơn cho thuật toán. Bên cạnh đó là xác suất thất bại (failure probability). Có thể hệ thống chấp nhận thuật toán đưa ra kết quả sai với xác suất 10%, hoặc muốn nó chỉ sai 5% hay 1%. Xác suất thất bại càng thấp, chi phí bộ nhớ càng tăng cao. Mọi thuật toán luồng đều là nỗ lực tìm kiếm điểm cân bằng tối ưu giữa các tham số đánh đổi này.
Trước câu hỏi liệu các thuật toán dữ liệu lớn ngày nay đang bị giới hạn bởi trí tuệ con người hay bởi kỹ thuật phần cứng, Nelson cho rằng rào cản chính là do trí tuệ con người — liệu chúng ta có thể nghĩ ra một thuật toán tốt hơn và chứng minh được rằng không thể có thuật toán nào tốt hơn thế? Tuy nhiên, các mô hình nghiên cứu lại chịu sự chi phối của phần cứng, bởi vì thiết bị vật lý có bộ nhớ hữu hạn. Dù thuật toán phần tử phân biệt của ông có thể không bao giờ ứng dụng trực tiếp trong thực tế sản xuất, nó đóng vai trò như một bằng chứng lý thuyết (proof of concept), thúc đẩy mọi người nỗ lực hơn để cải tiến các thuật toán thực tế tiệm cận đến giới hạn tối ưu.
Với Nelson, khoảnh khắc kỳ diệu nhất trong nghiên cứu chính là khi tìm ra giới hạn tối đa của một thuật toán: “Đó là một cảm giác mãn nguyện tuyệt đối ở điểm cuối của con đường. Tôi thích cảm giác khi chúng ta không chỉ biết một phương pháp tốt hơn, mà chúng ta biết phương pháp duy nhất — khi chúng ta biết rằng dù 1 triệu năm nữa trong tương lai, dù thông minh đến đâu, con người cũng không thể làm gì tốt hơn về mặt toán học.”
Góc nhìn thời đại: Khi toán học thuần túy dẫn đường cho công nghệ tương lai
Hành trình khoa học của Jelani Nelson mang lại bài học sâu sắc về mối liên hệ khăng khít giữa lý thuyết toán học hàn lâm và những bài toán công nghệ sống còn của thời đại số. Trong thời kỳ bùng nổ của trí tuệ nhân tạo, điện toán đám mây và lượng dữ liệu khổng lồ tăng theo cấp số nhân mỗi ngày, những nghiên cứu tiên phong về phác thảo dữ liệu và thuật toán luồng không chỉ giải quyết bài toán bộ nhớ hữu hạn trước mắt, mà còn cung cấp nền tảng tư duy để nhân loại tương tác với đại dương thông tin vô tận. Quan trọng hơn cả, việc vị giáo sư Berkeley song hành giữa những khám phá đỉnh cao với nỗ lực bền bỉ truyền cảm hứng lập trình cho thế hệ trẻ tại Ethiopia qua chương trình AddisCoder đã chứng minh một chân lý đẹp đẽ: đỉnh cao khoa học chỉ thực sự trọn vẹn khi nó vừa chạm đến những chân trời tri thức vĩnh cửu của nhân loại, vừa thắp sáng hy vọng và mở ra cơ hội đổi đời cho những con người bình dị trong xã hội.
Bài viết tham khảo Quanta Magazine (quantamagazine.org).
Comments
So empty here ... leave a comment!