XKCD 1425 (Tasks) tròn 10 năm
(simonwillison.net)- XKCD 1425 “Tasks” là một truyện tranh nói về cảm quan trong phát triển phần mềm: có những việc trông thì dễ nhưng độ khó thực tế có thể hoàn toàn khác, và đến ngày 24 tháng 9 năm 2024 đã tròn 10 năm
- Trong truyện, ví dụ “xác định xem một bức ảnh có phải là chim hay không” từng là một bài toán cấp độ tiến sĩ, nhưng giờ đã trở thành công việc có thể giải quyết dễ dàng bằng vision LLM, CLIP, ResNet+ImageNet, v.v.
- Dù các ví dụ cụ thể đã thay đổi theo tiến bộ công nghệ, để phán đoán vấn đề nào dễ hay khó vẫn cần kinh nghiệm sâu
- LLM có những điểm yếu như toán học hay tra cứu sự thật, khiến việc trực giác xem có thể giao ổn định tác vụ nào cho chúng trở nên khó hơn
- Như giới hạn phân tích hình ảnh của Claude Artifact, trong lập trình có trợ lý AI, không chỉ cần hiểu năng lực mô hình mà còn phải hiểu cả các ràng buộc bảo mật web như header CSP
Câu hỏi mà XKCD 1425 vẫn để lại sau 10 năm
- XKCD 1425 “Tasks” là một truyện tranh cho thấy trong phát triển phần mềm, nếu thiếu kinh nghiệm thì rất khó đánh giá việc nào dễ và việc nào khó
- Ví dụ tiêu biểu trong truyện là “xác định xem một bức ảnh có phải là chim hay không” trước đây là bài toán cấp độ tiến sĩ, nhưng hiện nay có thể giải quyết dễ dàng bằng nhiều công nghệ thị giác máy tính
- Bản thân ví dụ đã thay đổi theo tiến bộ công nghệ, nhưng khả năng phân biệt vấn đề dễ và vấn đề khó vẫn đòi hỏi rất nhiều kinh nghiệm
Những điểm khó mới do LLM và lập trình có trợ lý AI tạo ra
- Việc đánh giá LLM có thể giải quyết ổn định tác vụ nào là điều không trực quan
- LLM là hệ thống máy tính nhưng lại yếu về toán học
- Chúng cũng không thể thực hiện tra cứu sự thật một cách ổn định
- Khi các công cụ lập trình có trợ lý AI lan rộng, ngày càng nhiều người bắt đầu tự tạo phần mềm tùy biến của riêng mình
- Những lập trình viên mới bắt đầu có trợ lý AI này đang ở trong tình huống phải nhanh chóng học sự khác biệt giữa tác vụ dễ và tác vụ khó
- Có trường hợp bản thân Claude có thể phân tích hình ảnh, nhưng lại không thể tạo công cụ phân tích hình ảnh trong Claude Artifact
- Để hiểu điều này, cần biết rằng header CSP được dùng khi cung cấp Artifacts sẽ chặn đoạn mã được sinh ra gọi tới API LLM bên ngoài
1 bình luận
Các ý kiến trên Hacker News
Thật ngạc nhiên khi chuẩn mực về những gì được xem là ấn tượng trong AI/ML đã dịch chuyển nhiều đến thế
Mười năm trước, khi bài báo về GAN ra đời, ai cũng phấn khích vì chất lượng ảnh sinh ra quá tuyệt vời: https://arxiv.org/abs/1406.2661
Mức độ tiến bộ trong quãng thời gian đó thật sự khó tin
Ví dụ, một đứa trẻ có thể làm số học cơ bản và máy tính cũng có thể làm số học cơ bản, nên nếu đứa trẻ cũng biết nói thì họ nghĩ đương nhiên máy tính cũng sẽ nói được
Nhưng năng lực của máy tính là kết quả đạt được theo một cách hoàn toàn khác. Điều thú vị là LLM có đường nét năng lực gần với con người hơn, nhưng cách nó đi đến kết quả vẫn hoàn toàn khác
Ví dụ kinh khủng nhất là khoảng 180 nghìn công thức nấu ăn dạng văn bản do người dùng tạo mà khách hàng muốn chuẩn hóa. Chúng tôi phải trích xuất số lượng, đơn vị, nguyên liệu, các bước, v.v. để điều chỉnh khẩu phần, tính thông tin dinh dưỡng, và những việc tương tự
Cần cả núi biểu thức chính quy để tiền xử lý và một chuỗi công cụ cùng đội quân thực tập sinh chuẩn hóa từng mục một; rồi còn tốn nhiều thời gian hơn nữa để sửa mớ hỗn độn do thực tập sinh tạo ra
Nếu có LLM, công việc đó có lẽ đã xong gần như ngay lập tức. Trong vô số việc phải biến cả đống rác hoàn toàn thành dữ liệu dùng được, rất có khả năng LLM cứ thế làm được
Nỗi đau thời đó phần nào được xoa dịu nhờ việc nhìn thấy xu hướng này và mua NVDA vào khoảng thời gian ấy
Trước đây, các mô hình học máy mới được thảo luận bởi những người thực hành có kiến thức nền, nên họ hiểu được vì sao những cải tiến trông có vẻ nhỏ lại đáng kể và đâu là kỳ vọng hợp lý
Giờ đây, các mô hình học máy mới, hay đúng hơn là mô hình “AI”, được công chúng phổ thông đánh giá—những người không biết nền tảng kỹ thuật nhưng lại biết các lời thổi phồng marketing. Dù đưa cho họ một mô hình ngôn ngữ xuất sắc, áp đảo các benchmark liên quan đến ngôn ngữ, kỳ vọng vẫn phi lý nên cuối cùng lúc nào cũng thất vọng
Tôi vẫn thấy kinh ngạc khi mô hình ngôn ngữ làm được cả những việc tương đối “đơn giản” trong ngữ pháp/cú pháp, như hiểu đại từ đang chỉ đến đối tượng nào. Nhưng đa số chưa từng nghĩ về ngôn ngữ hay máy tính theo góc nhìn đó, nên họ không thấy việc ấy khó và ấn tượng đến mức nào
Tôi luôn thấy truyện tranh này hơi kỳ lạ. Con người đã mất hàng nghìn năm để giải bài toán điều hướng
Truyện này tồn tại trong một giai đoạn ngắn khi một tác vụ cuối cùng cũng “được giải quyết”, còn tác vụ khác thì vừa mới bắt đầu
Nếu nghĩ rằng huấn luyện mô hình tốn nhiều năng lượng, cũng nên nghĩ đến việc phóng cả một đội tên lửa để duy trì chùm vệ tinh nhân tạo
Trong sự nghiệp của tôi, đã nhiều lần một yêu cầu ứng biến nảy ra trong cuộc họp làm ước tính dự án thay đổi thêm hàng tháng trời
Ví dụ, tính năng tìm cửa hàng trên website hay app của nhà bán lẻ thường chỉ tính khoảng cách đường chim bay giữa vị trí hiện tại và cửa hàng, rồi hiển thị các cửa hàng trong một phạm vi nhất định theo thứ tự khoảng cách
Điều này thành vấn đề ở những nơi phía tây Puget Sound, như Kingston gần Seattle. Trình tìm cửa hàng của Walgreens khi tìm quanh Kingston hiển thị 10 cửa hàng, trong đó 9 cửa hàng nằm bên phía Seattle, bên kia Puget Sound. Nếu đi ô tô, bạn phải đi phà một chiều khoảng 20 đô la và mất 30 phút
Cửa hàng duy nhất hiện ở phía tây là cửa hàng trên Bainbridge Island, nhưng đó không phải nơi người ở Kingston thường sẽ đi. Trên thực tế, cửa hàng Silverdale gần hơn nếu tính theo khoảng cách đường bộ, nhưng xa hơn một chút nếu tính đường chim bay
Silverdale, 3 cửa hàng ở Bremerton và 1 cửa hàng ở Port Orchard gần Kingston hơn nhiều so với các cửa hàng phía Seattle xét theo thời gian và chi phí di chuyển, nhưng phải bấm nút “load more” thì chúng mới hiện trên bản đồ
Chức năng kiểm tra tồn kho địa phương cũng tương tự: hàng được báo là có “gần đây”, nhưng thực tế thường chỉ có ở các cửa hàng bên kia Puget Sound
Ngược lại, những việc bề ngoài đơn giản hơn có thể mất nhiều năm vì chưa được giải quyết dễ dàng rồi cung cấp dưới dạng API. Tất nhiên giờ thì đã có thể
Ý là người không phải lập trình viên khó biết công nghệ hiện tại giải quyết tác vụ nào một cách tầm thường và tác vụ nào thì chưa giải được. Theo thời gian, phân bố của hai nhóm đó thay đổi, nhưng việc người bình thường khó nhận ra thì vẫn vậy
Mọi thứ chúng ta làm hôm nay nếu phải xây lại từ đầu đều cực kỳ khó, nhưng thực tế ta không cần xây lại từ đầu, nên chúng không phải là việc khó làm
Có thể nói là “không già đi đẹp lắm”, nhưng tôi nghĩ ý chính thật sự — “khó giải thích sự khác biệt giữa việc dễ và việc gần như bất khả thi” — thì ngược lại còn được củng cố hơn
Gần như trớ trêu là việc khó và việc dễ đã đổi chỗ cho nhau. 10 năm trước ai mà đoán được
https://en.wikipedia.org/wiki/DeepFace
Nếu tôi nhớ đúng, vài tuần hoặc vài tháng sau phía Yahoo/Flickr có một bài báo về vấn đề này, tức nhận diện chim, và từ đó mọi thứ trông như bùng nổ chỉ sau một đêm. Tôi biết thực tế không phải vậy, nhưng với tôi thì nó trông như thế
Việc hiểu tác vụ nào LLM có thể giải quyết ổn định và tác vụ nào thì không vẫn rất khó và không trực quan
Gần đây con gái tôi chuẩn bị thuyết trình và hỏi: “Bố ơi, bố tìm giúp con một bức ảnh tạo chữ HELLO bằng rau củ được không?”
Tôi nghĩ “tất nhiên rồi, đây là việc của ChatGPT”, nhưng ChatGPT có thể tạo hình một con mèo mặc đồ phi hành gia đang uống martini, chứ chắc chắn không tạo được hình chữ HELLO làm bằng rau củ
Cuối cùng tôi bảo nó tạo riêng từng ảnh mỗi chữ cái bằng rau củ, rồi con gái tôi ghép chúng lại thành từ dùng trong bài thuyết trình
Lý do đúng hệt như việc nó không đếm đúng số chữ trong STRAWBERRY. Không phải vì nó không biết khái niệm trái cây hay rau củ, cũng không phải vì nó không hiểu các khái niệm phức tạp như ẩn dụ hay meme
Mô hình không xem “hello” là một từ gồm các ký tự riêng lẻ, mà xem nó là một token duy nhất, với gpt-4o là token có ID 24912. Nó biết ý nghĩa của token này và quan hệ với các token khác, nhưng về cơ bản không biết các ký tự cấu thành từ đó. Ngoại lệ là khi nó đã được huấn luyện riêng hoặc tận dụng được những quan hệ phụ ngẫu nhiên trong dữ liệu huấn luyện
Đây là kết quả khi dùng flux-pro trên Replicate với prompt “vegetables spelling out the word "HELLO"”: https://ibb.co/1RVKmdk
https://ideogram.ai/assets/image/lossless/response/v_LgyXI1Q...
https://ideogram.ai/assets/image/lossless/response/V4RRDJZJS...
Củ cà rốt trong ảnh đầu hơi buồn cười
Thêm Hacker News tặng kèm: https://ideogram.ai/assets/image/lossless/response/SW0B7y4jR...
https://i.imgur.com/mvnusFd.jpeg
Prompt được sao chép nguyên từ bình luận phía trên: https://chatgpt.com/share/66f530b0-3fb8-800a-8af9-8a3e48a31a...
Chỉ cần phát hiện xem ảnh có chứa màu sắc thường gặp của chim hay không rồi tung ra là được. Đập nát đối thủ cạnh tranh xong thì sửa sau
Tôi đã học loạt tutorial này để nắm bối cảnh và nền tảng của deep learning, và buổi học đầu tiên chính là xây bộ phân loại chim trong truyện tranh này
Thật sự dễ và vui, toàn bộ khóa học cũng rất tuyệt. Rất khuyến nghị cho những ai có nền tảng lập trình và muốn nhập môn deep learning một cách vững chắc
https://course.fast.ai/
Không ai nhắc tới, nhưng LLM đã tiến bộ ở phần đầu của yêu cầu cũng nhiều như ở phần thứ hai
ChatGPT viết được hàm
is_point_in_national_parkvà còn chỉ ra cả shapefile liên quan trong khoảng 30 giây. Tức là nhanh hơn hàng trăm lần so với “vài giờ” trong truyện tranhVision LLM thật sự đáng kinh ngạc
Tôi từng có một dự án mô tả và lập danh mục hơn 20.000 ảnh
Nếu làm theo cách truyền thống bằng con người thì sẽ tốn nhiều tháng và chi phí khổng lồ. Phần mô tả phải đạt chất lượng để khách hàng đọc được
API thị giác của OpenAI xử lý với chi phí vài xu mỗi ảnh, và tổng chi phí chắc chưa tới 200 đô la
Tôi tự hỏi liệu có ngày nào khả năng hiểu biết về công nghệ đạt đến ngưỡng đủ để những hiểu lầm kiểu này phần lớn biến mất hay không
Nếu là 10 năm trước thì tôi đã nói là có, nhưng bây giờ tôi nghĩ sự phát triển của UX/UI và việc mọi thứ đều biến thành ứng dụng đã khiến người bình thường bị tách khỏi các chi tiết bên trong
Nhìn từ góc độ từng sản phẩm riêng lẻ thì đó là điều tốt, nhưng nhìn tổng thể, nó có thể tạo ra những kỳ vọng phi thực tế. Tôi từng nghe người trẻ hỏi “tại sao x không cứ thế làm y”, kiểu câu hỏi mà trước đây tôi nghĩ chỉ có thể nghe từ thế hệ cha mẹ rất không rành công nghệ
Vào thập niên 80, máy tính gần như giống phép màu đối với nhiều người, nhưng phần lớn họ thực ra không cần tương tác với máy tính. Kỳ vọng về máy tính cũng chẳng có mấy ảnh hưởng, giống như kỳ vọng của tôi về sự sống ngoài hành tinh vậy
Nhưng tôi lo rằng tư duy ma thuật về công nghệ có thể dẫn đến những hệ quả lớn hơn, cả ở cấp độ cá nhân lẫn xã hội
@simonw, nếu anh tình cờ đọc được điều này, tôi tự hỏi liệu có thể nhờ anh một việc nhỏ không
Liệu có quá đáng không nếu nhờ anh livestream một công việc lập trình nào đó có thể chia sẻ công khai?
Đặc biệt là tôi nghĩ sẽ có rất nhiều điều để học quanh hệ sinh thái hiện nay như Python, dữ liệu SQLite và JavaScript