Blog

Câu chuyện Big Data (phần 3) - Hỗn độn

24/04/2019

NGÀY CÀNG CÓ NHIỀU BỐI CẢNH, trong đó việc sử dụng tất cả các dữ liệu có sẵn là khả thi. Tuy nhiên nó đi kèm với chi phí. Tăng khối lượng sẽ mở cánh cửa cho sự thiếu chính xác. Điều chắc chắn là những số liệu sai sót và bị hỏng đã luôn luôn len lỏi vào các bộ dữ liệu. Chúng ta đã luôn luôn xem chúng như những rắc rối và cố gắng loại bỏ chúng, một phần vì chúng ta có thể làm được như vậy. Những gì chúng ta chưa bao giờ muốn làm là xem chúng như điều không thể tránh khỏi và học cách sống chung với chúng. Đây là một trong những thay đổi cơ bản khi chuyển từ dữ liệu nhỏ sang dữ liệu lớn.

Trong thế giới của dữ liệu nhỏ, giảm sai sót và đảm bảo chất lượng cao của dữ liệu là một động lực tự nhiên và cần thiết. Vì chỉ thu thập được một ít thông tin, chúng ta phải bảo đảm rằng những con số đã được cố gắng ghi lại là chính xác nhất có thể. Nhiều thế hệ các nhà khoa học đã tối ưu hóa các công cụ để các phép đo đạc của họ ngày càng chính xác hơn, dù là để xác định vị trí của các thiên thể hay kích thước của các đối tượng dưới kính hiển vi. Trong thế giới lấy mẫu, nỗi ám ảnh với sự chính xác thậm chí còn nặng nề hơn. Việc phân tích chỉ một số lượng hạn chế các điểm dữ liệu có nghĩa là lỗi có thể được khuếch đại, có khả năng làm giảm tính chính xác của kết quả tổng thể.

Trong phần lớn lịch sử, những thành quả cao nhất của loài người xuất hiện từ việc chinh phục thế giới bằng cách đo lường nó. Việc tìm kiếm sự chính xác bắt đầu tại châu Âu vào giữa thế kỷ thứ mười ba, khi các nhà thiên văn học và các học giả đã gánh vác việc định lượng thời gian và không gian một cách chính xác hơn bao giờ hết - đó là “đo lường hiện thực”, theo như lời của nhà sử học Alfred Crosby.

Nếu có thể đo lường một hiện tượng thì người ta tin rằng có thể hiểu được nó. Sau này, đo lường đã được gắn liền với phương pháp quan sát và giải

thích khoa học: khả năng định lượng, ghi nhận, và trình bày các kết quả có thể tái lập được. “Đo lường là để hiểu biết”, Lord Kelvin đã phát biểu như vậy. Nó đã trở thành một cơ sở của quyền lực. “Hiểu biết là quyền lực”, Francis Bacon nhận định. Đồng thời, các nhà toán học và những người sau này được gọi là kế toán đã phát triển những phương pháp để có thể thực hiện việc thu thập, ghi nhận, và quản lý dữ liệu một cách chính xác.

Đến thế kỷ XIX, Pháp - lúc đó là quốc gia hàng đầu thế giới về khoa học - đã phát triển một hệ thống các đơn vị đo lường được xác định chính xác để nắm bắt không gian, thời gian, và nhiều thứ khác nữa, và bắt đầu đề nghị các quốc gia khác cũng áp dụng cùng một tiêu chuẩn. Thậm chí họ đã đưa ra những đơn vị mẫu được quốc tế công nhận dùng để đo lường trong các hiệp ước quốc tế. Đó là đỉnh điểm của thời đại về đo lường. Chỉ một nửa thế kỷ sau đó, vào những năm 1920, các khám phá của cơ học lượng tử đã làm tan vỡ mãi mãi ước mơ của đo lường toàn diện và hoàn hảo. Tuy nhiên, bên ngoài phạm vi tương đối nhỏ của các nhà vật lý, thì suy nghĩ hướng tới đo lường một cách hoàn hảo vẫn tiếp tục đối với các kỹ sư và các nhà khoa học. Trong thế giới kinh doanh nó thậm chí còn được mở rộng, khi các ngành toán học và thống kê bắt đầu gây ảnh hưởng đến tất cả các lĩnh vực thương mại.

Tuy nhiên, trong nhiều tình huống mới nảy sinh ngày hôm nay, việc cho phép sự không chính xác - sự hỗn độn - có thể là một tính năng tích cực, chứ không phải là một thiếu sót. Nó là một sự cân bằng. Để bù đắp cho sự nới lỏng về tiêu chuẩn với các lỗi cho phép, người ta có thể có được nhiều dữ liệu hơn. Nó không chỉ mang ý nghĩa “nhiều hơn thì tốt hơn”, mà thật ra đôi khi nó sẽ là “nhiều hơn thì tốt hơn cả tốt hơn”.

Chúng ta phải đối mặt với nhiều loại hỗn độn khác nhau. Hỗn độn có thể mang một ý nghĩa đơn giản là khả năng sai sót tăng lên khi bạn thêm điểm dữ liệu. Khi số lượng tăng lên gấp hàng ngàn lần thì khả năng một số trong đó có thể sai cũng tăng lên. Nhưng bạn cũng có thể làm tăng hỗn độn bằng cách kết hợp nhiều loại thông tin khác nhau từ các nguồn khác nhau, không luôn luôn tương thích với nhau một cách hoàn hảo. Ví dụ, nếu sử dụng phần mềm nhận dạng giọng nói để mô tả các khiếu nại đến một trung tâm tiếp nhận cuộc gọi, và so sánh dữ liệu này với khi dùng nhân viên để xử lý các cuộc gọi, người ta có thể có được một sự hình dung thực tế, tuy không hoàn hảo nhưng hữu ích. Hỗn độn cũng có thể tham chiếu tới sự không thống nhất định dạng, trong đó các dữ liệu cần được “làm sạch” trước khi được xử lý. Ví dụ chuyên gia dữ liệu lớn DJ Patil nhận xét từ viết tắt IBM có rất nhiều cách diễn đạt, như hoặc Phòng thí nghiệm T.J. Watson, hoặc International Business Machines. Và

hỗn độn có thể phát sinh khi chúng ta trích xuất hoặc xử lý dữ liệu, vì khi làm như vậy, chúng ta đang chuyển đổi nó, biến nó thành một cái gì đó khác, chẳng hạn như khi chúng ta thực hiện phân tích cảm nghĩ các tin nhắn Twitter để dự đoán doanh thu phòng vé của Hollywood. Chính bản thân sự hỗn độn cũng mang tính hỗn độn.

Giả sử chúng ta cần đo nhiệt độ trong một vườn nho. Nếu chúng ta chỉ có một cảm biến nhiệt độ cho toàn bộ lô đất, chúng ta phải chắc chắn rằng nó chính xác và hoạt động được tại mọi thời điểm: sự hỗn độn không được tồn tại. Ngược lại, nếu chúng ta có một cảm biến cho mỗi cây trong vườn hàng trăm cây nho, chúng ta có thể sử dụng những cảm biến rẻ hơn, ít phức tạp hơn (miễn là chúng không phát sinh một sai số có hệ thống). Rất có thể là tại một số thời điểm, một vài cảm biến sẽ báo dữ liệu không chính xác, tạo ra một bộ dữ liệu ít chính xác, hoặc “hỗn độn” hơn so với bộ dữ liệu từ một cảm biến chính xác đơn nhất. Bất kỳ phép đọc cụ thể nào đó cũng đều có thể không chính xác, nhưng tổng hợp của nhiều phép đọc sẽ cung cấp một bức tranh toàn diện hơn. Bởi vì bộ dữ liệu này bao gồm nhiều điểm dữ liệu hơn, nó cung cấp giá trị lớn hơn nhiều và có thể bù đắp cho sự hỗn độn của nó.

Bây giờ giả sử chúng ta tăng tần số các lần đọc cảm biến. Nếu đo mỗi phút một lần, chúng ta có thể khá chắc chắn rằng trình tự mà các dữ liệu đến sẽ hoàn

toàn theo thứ tự thời gian. Nhưng nếu chúng ta thay đổi, đọc đến mười hay một trăm lần trong một giây, thì độ chính xác của trình tự có thể trở nên không chắc chắn. Khi thông tin đi qua mạng, một bản ghi có thể bị trì hoãn và đến lệch trình tự, hoặc đơn giản là có thể bị mất. Thông tin sẽ ít chính xác đi một chút, nhưng khối lượng lớn sẽ khiến cho khả năng từ bỏ sự chính xác nghiêm ngặt trở nên thích đáng.

Trong ví dụ đầu tiên, chúng ta đã hy sinh tính chính xác của mỗi điểm dữ liệu cho chiều rộng, và ngược lại chúng ta nhận được tính chi tiết mà bình thường chúng ta có thể đã không nhìn thấy. Trong trường hợp thứ hai, chúng ta đã từ bỏ sự chính xác cho tần số, và ngược lại, chúng ta thấy sự thay đổi mà bình thường chúng ta đã phải bỏ qua. Mặc dù có thể khắc phục những sai sót nếu chúng ta đầu tư đủ nguồn lực vào đó - xét cho cùng, mỗi giây có tới 30.000 giao dịch xảy ra trên Thị trường Chứng khoán New York, nơi trình tự chính xác là vấn đề rất quan trọng - trong nhiều trường hợp, việc chấp nhận lỗi thay vì cố gắng ngăn chặn nó lại tỏ ra hiệu quả hơn.

Ví dụ, chúng ta có thể chấp nhận sự hỗn độn để đổi lấy quy mô. Như Forrester, một nhà tư vấn công nghệ, đã nói: “Đôi khi hai cộng với hai có thể bằng 3,9, và như vậy là đủ tốt”. Tất nhiên dữ liệu không được phép sai hoàn toàn, nhưng chúng ta sẵn sàng hy sinh một chút trong sự chính xác để đổi lại hiểu biết về xu hướng chung. Dữ liệu lớn biến đổi các con số thành một cái gì đó mang tính xác suất nhiều hơn là tính chính xác. Thay đổi này sẽ cần rất nhiều để làm quen, và nó cũng đi kèm với những vấn đề riêng của nó, mà chúng ta sẽ xem xét sau trong cuốn sách. Nhưng bây giờ, hãy đơn giản lưu ý rằng chúng ta thường sẽ cần đón nhận lấy sự hỗn độn khi chúng ta tăng quy mô.

Người ta thấy một sự thay đổi tương tự về tầm quan trọng của việc có nhiều dữ liệu hơn, liên quan tới những cải tiến khác trong điện toán. Mọi người đều biết sức mạnh xử lý đã tăng lên ra sao trong những năm qua như dự đoán của Định luật Moore, phát biểu rằng số lượng bán dẫn trên một chip tăng gấp đôi khoảng mỗi hai năm. Sự cải tiến liên tục này đã làm máy tính nhanh hơn và bộ nhớ phong phú hơn. Ít người trong chúng ta biết rằng hiệu suất của các thuật toán điều khiển nhiều hệ thống của chúng ta cũng đã tăng lên - trong nhiều lĩnh vực, với mức tăng còn hơn cả mức cải thiện của các bộ xử lý theo Định luật Moore. Tuy nhiên, nhiều lợi ích cho xã hội từ dữ liệu lớn lại xảy ra không phải vì các chip nhanh hơn hay vì các thuật toán tốt hơn, mà vì có nhiều dữ liệu hơn.

Ví dụ, các thuật toán chơi cờ chỉ thay đổi chút ít trong vài thập kỷ qua, bởi các quy tắc của cờ vua đã được biết đầy đủ và bị giới hạn một cách chặt chẽ.

Lý do các chương trình cờ vua ngày nay chơi tốt hơn trước đây rất nhiều là một phần bởi chúng chơi cờ tàn tốt hơn. Và chúng làm được điều đó đơn giản chỉ vì các hệ thống được cung cấp nhiều dữ liệu hơn. Thực tế, cờ tàn với sáu hoặc ít quân hơn còn lại trên bàn cờ đã được phân tích một cách hoàn toàn đầy đủ và tất cả các bước đi có thể (N = tất cả) đã được thể hiện trong một bảng lớn, khi không nén sẽ lấp đầy hơn một tera byte dữ liệu. Điều này cho phép các máy tính có thể chơi cờ tàn một cách hoàn hảo. Không bao giờ con người có thể chơi thắng được hệ thống.

Ý nghĩa của lập luận rằng “có nhiều dữ liệu hơn sẽ hiệu quả hơn việc có các thuật toán tốt hơn” đã được thể hiện mạnh mẽ trong lĩnh vực xử lý ngôn ngữ tự nhiên: cách các máy tính học phân tích cú pháp các từ như chúng ta sử dụng chúng trong giao tiếp hàng ngày. Khoảng năm 2000, các nhà nghiên cứu Michele Banko và Eric Brill của Microsoft tìm kiếm một phương pháp để cải thiện bộ kiểm tra ngữ pháp, một thành phần của chương trình Microsoft Word. Họ không chắc liệu sẽ hữu ích hơn nếu dành nỗ lực của mình vào việc cải thiện các thuật toán sẵn có, hay tìm kiếm các kỹ thuật mới, hay bổ sung thêm những tính năng phức tạp hơn. Trước khi đi theo bất kỳ con đường nào, họ quyết định xem xét những gì sẽ xảy ra khi họ cung cấp thêm rất nhiều dữ liệu cho các phương pháp hiện có. Hầu hết các thuật toán học tập của

máy dựa trên những tập sao lục văn bản đạt tới một triệu từ hoặc ít hơn. Banko và Brill lấy bốn thuật toán thông thường và cung cấp nhiều dữ liệu hơn ở ba cấp độ khác nhau: 10 triệu từ, sau đó 100 triệu, và cuối cùng là 1 tỷ từ.

Kết quả thật đáng kinh ngạc. Khi có nhiều dữ liệu đi vào, hiệu suất của tất cả bốn loại thuật toán đều được cải thiện một cách đáng kể. Trong thực tế, một thuật toán đơn giản hoạt động kém hiệu quả nhất với một nửa triệu từ lại hoạt động tốt hơn những thuật toán khác khi có một tỷ từ. Độ chính xác của nó đã tăng từ 75 phần trăm lên trên 95 phần trăm. Ngược lại, thuật toán làm việc tốt nhất với ít dữ liệu lại hoạt động kém nhất với lượng dữ liệu lớn hơn, mặc dù cũng giống như những thuật toán khác nó được cải thiện rất nhiều, tăng từ khoảng 86 phần trăm lên 94 phần trăm chính xác. “Những kết quả này cho thấy chúng ta có thể nên xem xét lại sự cân bằng giữa việc tiêu tốn thời gian và tiền bạc vào phát triển thuật toán so với việc chi tiêu vào phát triển ngữ liệu”, Banko và Brill đã viết trong một tài liệu nghiên cứu của họ về chủ đề này.

Vậy là nhiều hơn đã thắng ít hơn. Và đôi khi nhiều hơn còn thắng cả thông minh hơn. Còn sự hỗn độn thì sao? Một vài năm sau khi Banko và Brill đào bới tất cả những dữ liệu này, các nhà nghiên cứu đối thủ Google đã suy nghĩ dọc theo dòng tương tự - nhưng với quy mô lớn hơn. Thay vì thử các thuật

toán với một tỷ từ, họ đã sử dụng một ngàn tỷ từ. Google làm điều này không phải để phát triển một bộ kiểm tra ngữ pháp, nhưng để giải quyết một trở ngại thậm chí còn phức tạp hơn: dịch thuật. Cái gọi là dịch máy đã ở trong tầm nhìn của những nhà tiên phong máy tính ngay từ buổi bình minh của tính toán trong những năm 1940, khi các thiết bị được làm bằng đèn chân không và chứa đầy cả một căn phòng. Ý tưởng được nâng lên thành cấp bách đặc biệt trong Chiến tranh Lạnh, khi Hoa Kỳ thu được một lượng lớn tư liệu viết và nói tiếng Nga nhưng thiếu nhân lực để dịch nó một cách nhanh chóng.

Lúc đầu, các nhà khoa học máy tính đã lựa chọn một sự kết hợp của các quy tắc ngữ pháp và một từ điển song ngữ. Một máy tính IBM đã dịch sáu mươi câu từ tiếng Nga sang tiếng Anh vào năm 1954, sử dụng 250 cặp từ trong từ vựng của máy tính và sáu quy tắc ngữ pháp. Kết quả rất hứa hẹn. “Mi pyeryedayem mislyỉ posryedstvom ryechyi”, được nhập vào máy IBM 701 qua bìa đục lỗ, và đầu ra có “Chúng tôi truyền suy nghĩ bằng lời nói”. Sáu mươi câu đã được “dịch trơn tru”, theo một thông cáo báo chí của IBM kỷ niệm sự kiện này. Giám đốc chương trình nghiên cứu, Leon Dostert của Đại học Georgetown, dự đoán rằng dịch máy sẽ trở thành “thực tế” trong “năm, hay có thể là ba năm nữa”. Nhưng thành công ban đầu hóa ra lại tạo một sự

hiểu lầm khá sâu sắc. Đến năm 1966 một ủy ban của các đại thụ trong làng dịch máy đã phải thừa nhận thất bại. Vấn đề khó hơn họ tưởng. Dạy máy tính dịch là dạy chúng không chỉ các quy tắc, mà cả các trường hợp ngoại lệ nữa. Dịch không chỉ là ghi nhớ và nhớ lại, nó là về việc chọn những từ thích hợp từ nhiều lựa chọn thay thế. Liệu “bonjour” có thực sự là “chào buổi sáng”? Hay đó là “ngày tốt”, hay “xin chào”, hay “hi”? Câu trả lời là “còn tùy”.

Cuối những năm 1980, các nhà nghiên cứu tại IBM đã có một ý tưởng mới lạ. Thay vì cố gắng nạp những quy tắc ngôn ngữ rõ ràng vào máy tính cùng với một từ điển, họ đã quyết định để cho máy tính sử dụng xác suất thống kê để tính toán xem từ hoặc câu nào trong một ngôn ngữ là thích hợp nhất với từ hoặc câu trong một ngôn ngữ khác. Trong những năm 1990 dự án Candide của IBM đã sử dụng các văn bản quốc hội Canada công bố bằng tiếng Pháp và tiếng Anh trong vòng mười năm - khoảng ba triệu cặp câu. Do chúng là văn bản chính thức, nên các bản dịch đã được thực hiện với chất lượng đặc biệt cao. Và theo các tiêu chuẩn lúc đó, số lượng dữ liệu là rất lớn. Dịch máy thống kê, như kỹ thuật này được biết đến, đã khéo léo biến những thách thức của dịch thuật thành một bài toán lớn của toán học. Và nó dường như thành công. Đột nhiên, dịch máy trở thành tốt hơn rất nhiều. Tuy nhiên, sau thành công của bước nhảy vọt về khái niệm, IBM chỉ thu được những cải thiện nhỏ mặc dù phải ném ra rất nhiều tiền. Cuối cùng IBM đã dừng dự án.

Nhưng chưa đầy một thập kỷ sau đó, vào năm 2006, Google đã nhảy vào dịch thuật, như một phần của nhiệm vụ “tổ chức thông tin của thế giới và làm cho chúng trở thành có thể tiếp cận được và hữu ích một cách phổ dụng”. Thay vì dịch các trang văn bản thành hai ngôn ngữ, Google tự giúp mình với một bộ dữ liệu lớn hơn nhưng cũng hỗn độn hơn nhiều: toàn bộ mạng Internet toàn cầu và nhiều hơn nữa. Hệ thống của Google đã thu lượm bất kể bản dịch nào có thể tìm thấy, để huấn luyện máy tính. Chúng bao gồm các trang web của các công ty viết ở nhiều ngôn ngữ khác nhau, các bản dịch đồng nhất của các văn bản chính thức, và các báo cáo của các tổ chức liên chính phủ như Liên hợp quốc và Liên minh châu Âu. Thậm chí các bản dịch sách từ dự án sách của Google cũng được thu nhận. Trong khi Candide sử dụng ba triệu câu được dịch một cách cẩn thận, thì hệ thống của Google khai thác hàng tỷ trang các bản dịch rất khác nhau về chất lượng, theo người đứng đầu của Google Translate, Franz Josef Och, một trong những chuyên gia uy tín nhất trong lĩnh vực này. Hàng nghìn tỷ từ đã được chuyển thành 95 tỷ câu tiếng Anh, mặc dù chất lượng không rõ ràng.

Bất chấp sự hỗn độn của đầu vào, dịch vụ của Google hoạt động tốt nhất. Các bản dịch của nó là chính xác hơn so với của các hệ thống khác (mặc dù vẫn còn kém). Và nó phong phú hơn rất nhiều. Vào giữa năm 2012 bộ dữ liệu của nó bao gồm hơn 60 ngôn ngữ. Nó thậm chí có thể chấp nhận nhập văn bản vào bằng giọng nói trong 14 ngôn ngữ để dịch. Và vì nó xử lý ngôn ngữ đơn giản như là dữ liệu hỗn độn để đánh giá xác suất, nó thậm chí có thể dịch giữa các ngôn ngữ, chẳng hạn như giữa tiếng Hindi và Catalan, mà trong đó có rất ít bản dịch trực tiếp để phát triển hệ thống. Trong những trường hợp này, nó sử dụng tiếng Anh như một cầu nối. Và nó linh hoạt hơn nhiều so với những cách tiếp cận khác, vì nó có thể thêm và bớt các từ qua kinh nghiệm chúng được hay không được sử dụng.

Lý do hệ thống dịch thuật của Google hoạt động tốt không phải vì nó có một thuật toán thông minh hơn. Nó hoạt động tốt bởi vì tác giả của nó, như Banko và Brill tại Microsoft, nạp vào nhiều dữ liệu hơn - và không chỉ dữ liệu chất lượng cao. Google đã có thể sử dụng một bộ dữ liệu hàng chục ngàn lần lớn hơn hơn Candide của IBM vì nó chấp nhận sự hỗn độn. Cả nghìn tỷ ngữ liệu Google phát hành năm 2006 được biên soạn từ đủ thứ, kể cả đồ tạp nham và đồ bỏ đi của Internet - có thể nói là “dữ liệu thượng vàng hạ cám”. Đây là các “tập huấn luyện” để hệ thống có thể tính toán xác suất, ví dụ một từ trong tiếng Anh đi tiếp sau một từ khác. Đó là một mong ước xa vời của ông tổ trong lĩnh vực này, dự án Brown Corpus nổi tiếng vào những năm 1960, đã tập hợp được tổng cộng một triệu từ tiếng Anh. Việc sử dụng bộ dữ liệu lớn hơn cho phép những bước tiến lớn trong xử lý ngôn ngữ tự nhiên, mà các hệ thống nhận dạng tiếng nói và dịch máy dựa vào. “Mô hình đơn giản và rất nhiều dữ liệu thắng thế những mô hình phức tạp hơn nhưng dựa trên ít dữ liệu hơn”, chuyên gia trí tuệ nhân tạo của Google, Peter Norvig và các đồng nghiệp đã viết như vậy trong một bài báo có tựa đề “Hiệu quả phi lý của dữ liệu” (“The Unreasonable effectiveness of Data”): “Có thể nói ngữ liệu này là một bước lùi từ Brown Corpus: nó được lấy từ các trang web chưa được hiệu đính và do đó chứa những câu chưa đầy đủ, lỗi chính tả, lỗi ngữ pháp, và tất cả các loại lỗi khác. Nó không được chú thích cẩn thận với những thẻ bài được chỉnh sửa. Nhưng việc nó lớn hơn một triệu lần so với Brown Corpus đã đủ bù đắp cho những hạn chế này”.

Viết bình luận: