Khóa học
Mô hình ngôn ngữ lớn Bard của Google đã được cải thiện kể từ khi ra mắt năm 2023, gần đây bổ sung phản hồi "thời gian thực" tương tự các mô hình khác.
Người dẫn đầu hiện tại trong lĩnh vực này là ChatGPT của OpenAI, và tôi muốn biết Bard sẽ so kè như thế nào. Google là đơn vị phát minh ra các mô hình transformer vận hành những AI sinh sinh này và có nguồn lực khổng lồ để cố gắng giành lại vị thế dẫn đầu. Ngược lại, OpenAI có lợi thế là nhiều năm phản hồi của người dùng từ các mô hình GPT-2, GPT-3, GPT-3.5 và GPT-4.
Gần đây, DataCamp đã phát hành ChatGPT Cheat Sheet cho Khoa học Dữ liệu cung cấp hơn 60 ví dụ về các cách sử dụng ChatGPT trong thực tế cho khoa học dữ liệu. Trong bảng tham chiếu nhanh này, ChatGPT thể hiện tốt ở tất cả các tác vụ.
Mặc dù Google nêu rõ rằng Bard hiện chưa được tối ưu cho các tác vụ lập trình, trong bài viết này, chúng tôi sẽ kiểm thử một số tác vụ khoa học dữ liệu được chọn để cho thấy Bard làm tốt ở đâu—và ở đâu thì không—để xem liệu ngôi vương đã đổi chủ chưa. Bạn có thể xem so sánh tổng quát hơn về ChatGPT và Google Bard trong một bài viết riêng.
Quy trình làm việc Lập trình
Bard làm tốt ở đâu?
Tối ưu mã là một tác vụ phổ biến nhưng khó. Thường có nhiều cách khác nhau để làm cho mã hiệu quả hơn hoặc chạy nhanh hơn, và hiếm khi có một đáp án duy nhất đúng. Một phản hồi tốt cho yêu cầu tối ưu mã nên đưa ra nhiều giải pháp. Bài toán yêu cầu Bard tối ưu một số mã SQL.

Bard đưa ra 10 lựa chọn. Tất cả đều hợp lý, dù một số là biến thể cùng chủ đề (năm kiểu tạo chỉ mục), và đều tập trung vào quản trị cơ sở dữ liệu hơn là cải thiện mã truy vấn.
Viết unit test là một tác vụ quan trọng mà ít người thích, nên việc AI làm giúp có thể là một ân huệ. Dĩ nhiên, AI phải viết test tốt! Trong ví dụ này, Bard được yêu cầu viết test cho một hàm tính giai thừa.

Mã được cấu trúc tốt, và hầu hết các test đều hợp lý. Một điểm đáng lo ngại là test cho đầu vào kiểu chuỗi lại yêu cầu hàm trả về giá trị số. Một lập trình viên có lẽ sẽ viết test để báo lỗi khi nhập chuỗi vì giai thừa của văn bản là vô nghĩa. Prompt không chỉ rõ hành vi khi nhập chuỗi nên vấn đề này có thể được chỉnh bằng prompt chi tiết hơn, tuy nhiên, tôi coi phản hồi này là tốt nhưng chưa hoàn hảo.
Bard làm kém ở đâu?
Có lẽ trường hợp sử dụng phổ biến nhất của ChatGPT trong khoa học dữ liệu là giải thích lỗi trong mã. Điều đó nghĩa là tôi kỳ vọng Bard sẽ xuất sắc ở tác vụ giải thích một lỗi cú pháp đơn giản trong mã R.

Đáng tiếc, Bard từ chối trả lời (và đưa ra phản hồi tương tự khi được yêu cầu giải thích lỗi Python và SQL). Điều này gây thất vọng. Tuy nhiên, điểm sáng là từ chối trả lời là cách thất bại tốt nhất có thể. Một vấn đề lớn với các mô hình AI là khi chúng tự tin nói ra câu trả lời sai có thể gây sai lệch cho bạn. Khen Google vì đã xây cho Bard sự thận trọng.
Bard đưa ra phản hồi tương tự khi được yêu cầu giải thích một số mã Python.

Kết luận: ChatGPT chiến thắng
Dù một số câu trả lời của Bard cho câu hỏi lập trình khá ổn, nó có những lỗ hổng rất rõ ràng quanh việc giải thích mã và lỗi, khiến nó không phù hợp để hỗ trợ bạn học về mã của mình.
Quy trình làm việc Phân tích Dữ liệu
Bard làm tốt ở đâu?
Việc dùng ngôn ngữ tự nhiên (tức câu văn của con người) để viết truy vấn SQL là một trường hợp sử dụng cực kỳ quan trọng vì nó giúp người dùng kinh doanh ít kỹ thuật có thể truy cập dữ liệu trong cơ sở dữ liệu. Tại đây, Bard được yêu cầu viết một truy vấn đơn giản tổng hợp thông tin khách hàng.

Mã và phần giải thích đều đúng, và còn đi xa hơn một bước khi sắp xếp các dòng từ loại email phổ biến nhất đến ít phổ biến nhất, điều này hữu ích cho người xem kết quả.
Common table expression (CTE) là tương đương trong SQL với biến trong Python hay R: chúng cho phép bạn xây dựng truy vấn dài hơn theo từng giai đoạn. Việc viết lại các truy vấn phức tạp có chứa truy vấn lồng nhau là một mẹo hữu ích để mã dễ đọc hơn. Trong ví dụ dưới đây, tôi muốn Bard di chuyển truy vấn con (đoạn mã bên trong bắt đầu bằng SELECT) sang một common table expression.

Ở đây, Bard hoàn toàn hiểu sai vấn đề và chuyển mọi thứ vào một CTE. Tuy nhiên, Bard có một mẹo dự phòng. Mỗi khi bạn yêu cầu Bard tạo phản hồi, nó thực ra tạo ba phản hồi và cho bạn chọn một. Ở đây, phản hồi thứ ba là đúng.

Một trường hợp sử dụng thú vị khác cho phân tích dữ liệu là làm sạch dữ liệu. Đây không phải là việc thú vị với con người, nên thật hữu ích nếu AI có thể làm giúp. Tuy nhiên, thường có nhiều cách làm sạch dữ liệu thay vì chỉ một lời giải.

Trong trường hợp này, mã là đúng nhưng có hai điểm đáng chú ý. Thứ nhất, nó giả định rằng customer_id nằm ở index của DataFrame. Dù một số người dùng pandas coi đây là cách lưu trữ dữ liệu tốt nhất, prompt đã nói rằng customer_id là một cột. Thứ hai, kết hợp .replace()/.isnull() cồng kềnh hơn so với dùng .fillna(). Một lần nữa, cách tiếp cận "ba lời giải" của Bard cứu nguy; lời giải thứ hai giải quyết cả hai phàn nàn của tôi.

Bard làm kém ở đâu?
Là một công ty giáo dục, tại DataCamp, chúng tôi có nhu cầu gần như vô hạn về các bộ dữ liệu mới để người dùng thực hiện phân tích. Điều đó có nghĩa là việc AI có thể tạo bộ dữ liệu tức thời là một tính năng thay đổi cuộc chơi. Với tất cả mọi người khác, khả năng tạo nhanh bộ dữ liệu để kiểm thử mã phân tích của họ là một lợi ích lớn. ChatGPT làm điều này rất tốt, nhưng hãy xem Bard thể hiện thế nào.

Một lần nữa, nó từ chối trả lời. Cũng như các ví dụ lập trình, tôi ấn tượng với sự kiềm chế mà AI thể hiện nhưng hơi thất vọng vì nó không thể hoàn thành tác vụ.
Vì một phần lớn của phân tích dữ liệu là thao tác dữ liệu, sẽ thật tuyệt nếu AI có thể viết mã giúp bạn. Ví dụ sau hơi khó vì yêu cầu AI hiểu rằng năm cần được tính từ ngày gia nhập.

Đáng tiếc, sự tinh tế này không được nắm bắt, và mã sai. Thực tế, cả ba lời giải được tạo ra đều sai. Đây là một trường hợp sai tệ: AI trả lời sai một cách đầy tự tin.
Kết luận: ChatGPT chiến thắng
Tôi thích việc Bard đưa ra ba lời giải để bạn có cơ hội cao hơn nhận được điều phù hợp. Tuy nhiên, việc không thể tạo bộ dữ liệu và thực hiện các thao tác dữ liệu (hơi khó) là rào cản.
Quy trình làm việc Trực quan hóa Dữ liệu
Bard làm tốt ở đâu?
Tôi thử một tác vụ đơn giản "tạo biểu đồ phân tán" với một biến tấu: thay đổi chủ đề màu của biểu đồ. Trang tin FiveThirtyEight công bố chủ đề màu riêng của họ, có sẵn trong gói Matplotlib phổ biến.

Mã đúng, dù có một điểm kỳ là mcolors được import nhưng không bao giờ dùng.
Bard làm kém ở đâu?
Một tác vụ vẽ khá thẳng thắn khác là vẽ biểu đồ đường với nhiều đường trên đó. Bộ dữ liệu dùng là gapminder, thường được dùng để minh họa.

Ở đây, mã gần đúng nhưng gặp vấn đề tương tự như trước: Bard không chắc country nên là cột hay index (mặc dù điều này đã nêu trong prompt). Việc chọn hàng trong dòng plt.plot() cho rằng country nằm ở index, điều này không nhất quán với dòng trước đó.
Tôi yêu cầu Bard thực hiện cùng tác vụ bằng gói ggplot2 của R.

Bard lịch sự từ chối. Tôi hơi ngạc nhiên vì ggplot2 là gói vẽ biểu đồ phổ biến nhất trong R hơn một thập kỷ qua, và có rất nhiều ví dụ mã có sẵn.
Kết luận: ChatGPT chiến thắng
Tôi có thể bỏ qua sự nhầm lẫn của Bard về index trong pandas, nhưng việc không thể vẽ một biểu đồ ggplot2 đơn giản khiến nó không phù hợp với người dùng R.
Quy trình làm việc Học máy
Bard làm tốt ở đâu?
Tôi đã thử một vài tác vụ, và đáng tiếc, tất cả đều có vấn đề. Đây là cờ đỏ lớn đối với Bard vì học máy trong Python cực kỳ phổ biến.
Bard làm kém ở đâu?
Có lẽ nơi hiển nhiên nhất để bắt đầu với học máy là huấn luyện mô hình và tạo dự đoán trong Python.

Mã phần lớn là ổn, nhưng có vấn đề ở cách tạo tập huấn luyện và kiểm thử. Thực hành tốt là chọn ngẫu nhiên các dòng để đưa vào mỗi tập, nhưng Bard chỉ chọn một nghìn dòng cuối cho tập kiểm thử (và đưa mọi thứ còn lại vào tập huấn luyện). Điều đó chỉ ổn nếu các phim trong bộ dữ liệu được sắp xếp ngẫu nhiên.
Một lĩnh vực lớn khác được quan tâm là khả năng giải thích mô hình. Cây quyết định khá dễ giải thích bằng các giá trị Shap, và có một quy trình làm việc khá tiêu chuẩn cho việc này.

Đáng tiếc, mã bao gồm lời gọi tới shap.explain(), một hàm không tồn tại. Dạng vấn đề này khá dễ phát hiện vì bạn có thể thử chạy mã và nó sẽ thất bại. Tuy nhiên, tạo ra mã không chạy được là lãng phí thời gian của bạn.
Tôi cũng muốn thử một tác vụ học máy mang tính khái niệm hơn. Phần lớn nghệ thuật của học máy là dùng hiểu biết miền để tạo ra các đặc trưng có ý nghĩa đưa vào mô hình. Nảy ra ý tưởng đặc trưng có thể khó, nên đây là lĩnh vực AI có thể rất hữu ích.

Ở đây, phản hồi không tệ vì nó đưa ra hai ý tưởng đặc trưng hữu ích (thể loại và ngân sách). Tuy nhiên, hai ý tưởng còn lại chỉ là những gì đã được nêu trong prompt, và danh sách thứ hai không được yêu cầu. Nó cũng đề cập đến "kỹ thuật dữ liệu" thay vì "kỹ thuật học máy", là không chính xác.
Kết luận: ChatGPT chiến thắng
Bard thể hiện rất kém ở đây; không có gì phải bàn.
Quy trình làm việc Phân tích Chuỗi thời gian
Bard làm tốt ở đâu?
Đáng tiếc, tôi không thể thuyết phục Bard hoàn thành bất kỳ tác vụ chuỗi thời gian nào.
Bard làm kém ở đâu?
Tôi thử các tác vụ thao tác dữ liệu cho chuỗi thời gian liên quan đến chuyển đổi dữ liệu hằng ngày thành dữ liệu theo tuần và theo tháng.

Bard đã từ chối.
Tiếp theo, tôi thử yêu cầu nó thực hiện một kiểm định tính dừng.

Một lần nữa, Bard từ chối. Như trước, tôi hài lòng với sự kiềm chế được tích hợp vào AI để Bard giảm số câu trả lời sai mà nó tạo ra.
Kết luận: ChatGPT chiến thắng
Có vẻ như phân tích chuỗi thời gian chưa phải là thứ Bard có thể làm được.
Quy trình làm việc Xử lý Ngôn ngữ Tự nhiên
Bard làm tốt ở đâu?
Bạn có thể hình dung các mô hình ngôn ngữ lớn sẽ hoạt động tốt với ngôn ngữ. Phân tích cảm xúc (xác định văn bản mang sắc thái tích cực hay tiêu cực) quan trọng để định lượng các đánh giá sản phẩm trên trang mua sắm và được coi là khả năng tối thiểu cho phân tích văn bản. Tác vụ này hơi khó hơn một chút khi có thêm emoji và tiếng lóng.

Phản hồi đầu tiên của Bard ở mức chấp nhận được, nhưng bỏ lỡ ý rằng mỗi dòng trong prompt nên được xem xét riêng biệt. (Công bằng mà nói, điều này không được nói rõ, dù con người có thể trực giác cho rằng như vậy.) Phản hồi thứ ba của Bard đã nắm được chi tiết này.

Trong cả hai trường hợp, emoji và tiếng lóng đều được diễn giải chính xác.
Bard làm kém ở đâu?
Dịch văn bản từ ngôn ngữ này sang ngôn ngữ khác là trường hợp sử dụng ban đầu cho các mô hình transformer. Tôi yêu cầu Bard đưa ra phản hồi bằng tiếng Pháp.

Đáng tiếc, Bard cung cấp lời giải thích bằng tiếng Anh về học máy và bản dịch cụm từ "machine learning" sang tiếng Pháp thay vì đưa toàn bộ đầu ra bằng tiếng Pháp.
Kết luận: ChatGPT chiến thắng
Sự thất bại trong dịch thuật khiến tôi rất bất ngờ.
Các Tác vụ Khái niệm và Định hướng Nghề nghiệp
Bard làm tốt ở đâu?
Giải thích các ý tưởng kỹ thuật từ phân tích của bạn cho người không có nền tảng dữ liệu là một trong những phần khó hơn của khoa học dữ liệu. Tôi yêu cầu Bard giải thích kiểm thử A/B cho một lãnh đạo.

Lời giải thích khá tốt. Có một giả định hơi đáng ngờ rằng phông chữ mới dẫn đến tỷ lệ chuyển đổi cao hơn (nó phụ thuộc vào cách thiết kế thử nghiệm; có thể chỉ là khác biệt về tỷ lệ). Hai phản hồi còn lại có nêu được sự tinh tế này, nên tôi sẽ không trừ điểm ở đây.
Một tác vụ AI hữu ích khác là tóm tắt các tác phẩm dài. Ở đây, tôi yêu cầu Bard tóm tắt bài báo khoa học gốc về các mô hình transformer (do nhân viên Google viết).

Đây là một bản tóm tắt hay, dễ đọc. Một điểm kỳ là có kèm một số liên kết đến các bài blog về bài báo thay vì đến chính bài báo gốc.
Với những người muốn theo đuổi sự nghiệp dữ liệu, việc có ý tưởng để đạt được công việc mơ ước là lời khuyên nghề nghiệp quan trọng. Tôi yêu cầu Bard đưa ra ý tưởng dự án. Đây là một tác vụ sáng tạo khác không có một đáp án đúng duy nhất.

Cuối cùng, việc viết phần mở đầu cho các tác phẩm dài là một trong những tác vụ hơi phiền mà tôi muốn giao cho AI.

Một lần nữa, chỉ với bối cảnh tối thiểu, AI cung cấp một đoạn viết tốt.
Bard làm kém ở đâu?
Trong trường hợp này, Bard đã thể hiện tốt ở tất cả các tác vụ tôi đưa ra.
Kết luận: Hòa
Dù khó để định lượng ChatGPT hay Bard tốt hơn cho các tác vụ sáng tạo này, tôi vui vì đã tìm được một lĩnh vực Bard liên tục cung cấp đầu ra chất lượng cao.
Tóm tắt
Có một số khoảng trống đáng chú ý trong hiểu biết của Bard về các quy trình khoa học dữ liệu: không thể giải thích lỗi mã và thể hiện kém ở các tác vụ học máy Python là những vấn đề lớn.
Tôi thích việc bạn nhận được ba phản hồi để chọn cái tốt nhất, và thích rằng nó đủ kiềm chế để biết giới hạn của mình. Từ chối trả lời một câu hỏi tốt hơn nhiều so với đưa ra câu trả lời sai.
Cuối cùng, ChatGPT vẫn thống trị ở thời điểm này, nhưng tôi háo hức chờ xem Bard cải thiện. Cạnh tranh trong lĩnh vực AI sinh sinh chỉ có thể mang lại lợi ích cho thế giới.
Nâng cấp lên tầm tiếp theo
Nếu bạn muốn tìm hiểu thêm về việc sử dụng AI sinh sinh cho khoa học dữ liệu, hãy xem các tài nguyên sau:
- Học cách sử dụng ChatGPT hiệu quả trong khóa học Introduction to ChatGPT.
- Xem Hướng dẫn Sử dụng ChatGPT cho Dự án Khoa học Dữ liệu của chúng tôi.
- Tải xuống bảng tham chiếu nhanh các prompt ChatGPT hữu ích này cho khoa học dữ liệu.
- Nghe tập podcast về Cách ChatGPT và GPT-3 Tăng cường Quy trình làm việc để hiểu ChatGPT có thể mang lại lợi ích cho doanh nghiệp của bạn như thế nào.
- Tìm hiểu thêm về GPT-4 là gì và Vì sao Quan trọng?
Richie giúp các cá nhân và tổ chức nâng cao khả năng sử dụng dữ liệu và AI. Anh đã làm khoa học dữ liệu từ trước khi lĩnh vực này được gọi là khoa học dữ liệu, và đã viết hai cuốn sách cùng nhiều khóa học trên DataCamp về chủ đề này. Anh là người dẫn chương trình podcast DataFramed và phụ trách chương trình webinar của DataCamp.
Trò chuyện với AI Richie về mọi tập của DataFramed - chào đón tất cả những nhà vô địch dữ liệu!
