0

AI của bạn đang trả lời hay là bịa: vì sao mô hình cần dữ liệu thật từ web thay vì chỉ dựa vào kiến thức đã học sẵn

Hỏi AI giá thuê mặt bằng ở một con phố cụ thể, và nhận lại một câu trả lời nghe rất tự tin nhưng sai hoàn toàn

Nếu bạn từng hỏi một mô hình AI về giá thuê mặt bằng ở một con phố cụ thể, số lượng quán cà phê quanh một khu vực, hay mức giá trung bình của một sản phẩm đang bán trên sàn thương mại điện tử tuần này, có thể bạn đã nhận được một câu trả lời nghe rất mạch lạc, rất tự tin, nhưng khi kiểm tra lại thì sai lệch khá xa so với thực tế. Đây không phải vì mô hình "ngu", mà vì bản chất của nó: nó được huấn luyện trên một lượng lớn văn bản có sẵn tại một thời điểm trong quá khứ, và nó không có cách nào tự biết được giá thuê mặt bằng hôm nay, hay số liệu bán hàng của tuần này, trừ khi có ai đó đưa dữ liệu mới vào cho nó đọc.

Khoảng cách giữa "AI biết nói chuyện mạch lạc" và "AI trả lời đúng với thực tế hiện tại" chính là chỗ dữ liệu web thật, được thu thập liên tục, phát huy tác dụng.

Ba lỗ hổng khiến kiến thức có sẵn của mô hình không đủ dùng

Lỗ hổng đầu tiên là thời gian. Kiến thức của một mô hình AI luôn có một điểm cắt, tức mốc thời gian dữ liệu huấn luyện được thu thập đến đó rồi dừng. Mọi thứ xảy ra sau mốc đó, mô hình hoàn toàn không biết, trừ khi được cung cấp thêm.

Lỗ hổng thứ hai là tính địa phương. Phần lớn dữ liệu công khai trên internet mà mô hình học được nghiêng nhiều về nội dung tiếng Anh và các thị trường lớn. Những thông tin rất cụ thể của một khu vực nhỏ, ví dụ giá thuê mặt bằng trên một con đường ở một quận cụ thể, hay danh sách các quán ăn mới mở trong một khu dân cư, gần như không xuất hiện đủ trong dữ liệu huấn luyện để mô hình "nhớ" chính xác.

Lỗ hổng thứ ba là tính động. Có những loại dữ liệu thay đổi liên tục theo giờ, theo ngày, như giá sản phẩm, tình trạng còn hàng, hay xu hướng tìm kiếm. Không mô hình nào có thể "học sẵn" những thứ thay đổi nhanh như vậy, vì đến lúc học xong thì dữ liệu đã cũ.

Giải pháp không phải là chờ mô hình mới, mà là tự cấp dữ liệu tươi cho mô hình đang có

Cách xử lý thực tế không phải là chờ một phiên bản mô hình mới hơn, cập nhật hơn, vì dù có cập nhật, ba lỗ hổng trên vẫn luôn tồn tại ở một mức độ nào đó. Cách làm hiệu quả hơn là tự thu thập dữ liệu mới nhất từ đúng nguồn cần thiết, rồi đưa dữ liệu đó vào cùng câu hỏi khi hỏi mô hình, để mô hình dựa vào dữ liệu thật bạn cung cấp mà trả lời, thay vì dựa vào trí nhớ mơ hồ của nó. Cách làm này trong giới kỹ thuật gọi là truy xuất tăng cường, nhưng bản chất chỉ đơn giản là: muốn AI trả lời đúng về hiện tại, hãy cho nó đọc dữ liệu của hiện tại trước khi trả lời.

Vấn đề tiếp theo là lấy dữ liệu hiện tại đó từ đâu và bằng cách nào cho đáng tin cậy.

Thu thập dữ liệu web ở quy mô cần một hạ tầng riêng, không chỉ một đoạn script

Nhiều người nghĩ crawl dữ liệu chỉ là viết vài dòng code gọi đến một trang web và đọc nội dung trả về. Điều này đúng với những trang đơn giản, tĩnh, nhưng phần lớn dữ liệu có giá trị nhất, như kết quả tìm kiếm, hồ sơ sản phẩm trên sàn thương mại điện tử, hay dữ liệu bản đồ, đều được bảo vệ bởi các lớp phát hiện truy cập tự động khá chặt. Gửi quá nhiều yêu cầu từ một địa chỉ IP trong thời gian ngắn sẽ khiến bạn bị chặn gần như ngay lập tức, và dữ liệu thu về không đủ để feed cho bất kỳ mô hình nào một cách bền vững.

Thử lấy vài ví dụ cụ thể để thấy mức độ khó thật sự. Nhiều trang thương mại điện tử lớn chặn bằng cách phân tích chữ ký TLS của kết nối, tức là cách trình duyệt "bắt tay" với server trước cả khi trang tải xong, một thứ mà thư viện gọi HTTP thông thường trong code rất khó giả lập đúng như một trình duyệt thật. Các trang tin tuyển dụng hay mạng xã hội việc làm thường giới hạn gắt số lượt xem trong một khung giờ và theo dõi cả việc con trỏ có di chuyển tự nhiên trước khi một hành động được thực hiện hay không. Những trang đặt sau lớp bảo vệ như Cloudflare còn yêu cầu giải một thử thách chạy ngầm bằng JavaScript, thứ mà một script gọi HTML thô không có cách nào chạy được vì nó không có trình duyệt thật đứng sau để thực thi đoạn mã đó.

Đây là lý do hạ tầng thu thập dữ liệu nghiêm túc luôn cần hai thành phần đi cùng nhau. Thành phần thứ nhất là proxy dân cư, để mỗi yêu cầu trông giống như đến từ một người dùng thật ở một địa điểm hợp lý, thay vì từ một dải IP máy chủ dễ bị nhận diện. Dịch vụ như tmproxy cung cấp lượng lớn IP dân cư để phân tán yêu cầu một cách tự nhiên trong quá trình thu thập dữ liệu quy mô lớn, mà không dồn toàn bộ tải lên một nguồn duy nhất dễ bị chặn.

Thành phần thứ hai là một trình duyệt thật, có khả năng render trang giống người dùng thông thường, thực hiện các hành động như cuộn, click, đợi nội dung tải, vì rất nhiều trang hiện đại không trả toàn bộ dữ liệu ngay trong lần tải đầu, mà tải dần khi người dùng tương tác. tmproxy đang phát triển Paladin theo hướng này, một trình duyệt vận hành tự động nhưng có hành vi giống người dùng thật, để việc thu thập dữ liệu ở quy mô lớn ổn định hơn so với gọi trực tiếp vào các điểm truy cập ẩn có thể thay đổi bất kỳ lúc nào. Vì Paladin mở kết nối qua Chrome DevTools Protocol tiêu chuẩn, đội kỹ thuật có thể điều khiển nó bằng chính Playwright hay Puppeteer đã quen dùng, không cần viết lại logic crawl từ đầu, chỉ khác là trình duyệt phía sau đã sẵn vân tay riêng và proxy đúng vùng trước khi script chạm vào trang.

Dữ liệu thu về vẫn cần được làm sạch trước khi feed cho AI

Có một bước thường bị bỏ qua: dữ liệu thô lấy trực tiếp từ trang web thường lẫn rất nhiều nội dung không liên quan, như menu điều hướng, quảng cáo, hay các đoạn lặp lại giữa nhiều trang. Nếu đưa nguyên khối dữ liệu thô này cho mô hình AI đọc, phần thông tin thực sự hữu ích có thể bị pha loãng giữa quá nhiều nội dung rác, khiến câu trả lời của mô hình kém chính xác dù đã có dữ liệu mới.

Bước làm sạch cơ bản gồm loại bỏ các phần lặp lại giữa nhiều trang, giữ lại đúng phần nội dung chính như tên sản phẩm, giá, mô tả, đánh giá, và chuẩn hoá về một định dạng nhất quán, ví dụ dạng bảng hoặc danh sách có cấu trúc rõ ràng, để mô hình dễ đọc và trích xuất thông tin chính xác hơn so với một đoạn văn bản hỗn độn.

Kết

Một mô hình AI trả lời tự tin không đồng nghĩa với trả lời đúng, đặc biệt với những câu hỏi liên quan đến thời gian hiện tại, địa phương cụ thể, hoặc dữ liệu thay đổi liên tục. Muốn AI trả lời sát thực tế, cách bền vững không phải là chờ một mô hình thông minh hơn, mà là xây dựng được một quy trình thu thập dữ liệu web thật, ổn định nhờ proxy và trình duyệt mô phỏng đúng hành vi người dùng, cùng một bước làm sạch dữ liệu trước khi đưa vào cho mô hình đọc.


All rights reserved

Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí