← Trang chủ
AI trong công việc

Bộ kỹ năng của NVIDIA bắt agent viết lại hàm Spark qua test khớp bản cũ

NVIDIA phát hành bộ kỹ năng để agent viết lại hàm UDF Spark sang GPU và kể mức tăng 22 lần. Ba bước kiểm để chỉ nhận bản viết lại khi test khớp bản gốc.

Xong bài này bạn làm được Người đọc viết test so khớp đầu ra từng dòng với bản gốc, gồm cả dòng rỗng, trước khi cho agent viết lại một UDF và trước khi đo tốc độ.

Nhóm dữ liệu của bạn có một hàm tự viết trong Apache Spark (nền tảng xử lý dữ liệu lớn) chạy chậm, và ai đó đề nghị giao cho một coding agent (trợ lý AI viết code) viết lại cho nhanh. Ngày 13/10/2026, NVIDIA đăng bài hướng dẫn làm đúng việc đó và kể một kết quả lớn: một hàm giảm thời gian chạy của bước gọi hàm từ 274,55 xuống 12,78 giờ. Điều đáng sao chép sang việc của bạn là thứ tự bằng chứng trong quy trình, không phải mức tăng tốc: bản viết lại chỉ được nhận khi test đã so khớp nó với bản gốc.

NVIDIA nói vấn đề nằm ở đâu

Hàm tự viết trong Spark gọi là UDF (hàm do người dùng định nghĩa). NVIDIA viết rằng UDF chứa mã tùy ý mà hệ thống không thể phân tích hay chạy song song. Khi bạn dùng cuDF, bộ cắm giúp Spark chạy trên GPU (chip đồ họa), dữ liệu phải đổi từ dạng cột sang dạng từng dòng, quay về CPU (bộ xử lý trung tâm) để chạy UDF từng dòng một, rồi đổi ngược lại. Phần đó làm chậm cả truy vấn vốn đã chạy trên GPU.

Bài nêu ba cách viết lại, theo thứ tự từ dễ đến khó:

Cách Độ phức tạp theo NVIDIA Hợp với
Viết lại bằng biểu thức SQL (ngôn ngữ truy vấn dữ liệu) Thấp Logic quan hệ đơn giản, hàm nhỏ
Viết lại bằng cuDF Trung bình Phần lớn trường hợp, như tách chuỗi, kiểu dữ liệu lồng nhau
Viết lại bằng CUDA (ngôn ngữ lập trình GPU) Cao Logic phức tạp hoặc đòi hiệu năng tối đa

Ví dụ trong bài là một hàm đổi độ C sang độ F. Bản gốc trả về rỗng (null) khi đầu vào rỗng, còn công thức là celsius * 9.0 / 5.0 + 32.0. Bản SQL chỉ còn công thức đó nằm trong câu truy vấn.

Phần đáng học: agent chỉ làm trong vòng có bằng chứng

NVIDIA viết rằng phần lớn công việc này hợp với coding agent “với hàng rào phù hợp”: agent tìm API (giao diện lập trình) lạ, viết bản thay thế, lặp nhanh, còn test chạy được và số đo hiệu năng quyết định mỗi thay đổi có được nhận hay không. Bộ kỹ năng của họ, cuDF skills for Apache Spark, chia việc thành bốn vòng phản hồi: kiểm thử, chuyển đổi, đo hiệu năng và tối ưu. Mỗi vòng định nghĩa việc phải làm và bằng chứng cần có trước khi sang vòng sau. Bộ kỹ năng kèm khung dự án có sẵn bộ chạy test, bộ đo hiệu năng và các đoạn mã đối chiếu kết quả đầu ra.

Về kết quả, NVIDIA kể một công ty công nghệ tiêu dùng lớn, không nêu tên, đã chuyển hơn 30 UDF trong các đường ống dữ liệu thật. Với một UDF ảnh hưởng hơn 3.000 job (tác vụ chạy trên cụm máy), thời gian của toán tử chạy hàm đó (operator time) giảm từ 274,55 xuống 12,78 giờ trên khối lượng 600 tỷ dòng, tức nhanh khoảng 22 lần. NVIDIA nói các bản viết lại giữ nguyên hành vi của UDF CPU gốc. Đây là số liệu do NVIDIA công bố; bài của NVIDIA không đưa dữ liệu hay mã để người ngoài chạy lại.

Việc làm được trong tuần này

Bài này chưa chạy thử bộ kỹ năng của NVIDIA, nên ba bước dưới đây là gợi ý của bài này dựa trên thứ tự mà NVIDIA mô tả, chưa kiểm trên hệ thống nào.

  1. Chọn một UDF nhỏ, dễ hiểu, và lưu lại kết quả bản gốc trên một tập dữ liệu mẫu. Tập mẫu cần có dòng rỗng, vì bản gốc của NVIDIA xử lý riêng trường hợp đó.
  2. Trước khi cho agent viết lại, viết test so sánh đầu ra từng dòng giữa bản gốc và bản mới. Đầu vào là tập mẫu, đầu ra mong đợi là số dòng khác nhau bằng 0. Agent phải chạy test này sau mỗi lần sửa.
  3. Chỉ đo thời gian sau khi test khớp. Nếu test báo khác ở bất kỳ dòng nào, trả bản viết lại về cho agent kèm các dòng lệch, đừng nhận vì nó nhanh hơn.

Nếu test không khớp ở những dòng rỗng, đó là dấu hiệu bản mới đã đổi hành vi, và bạn nên giữ UDF cũ cho đến khi dòng lệch được giải thích.

Nguồn tham khảo

  1. NVIDIA Technical Blog, “How to Rewrite Apache Spark UDFs for GPU Acceleration with AI Agents” (13/10/2026) — mô tả vấn đề UDF, ba cách viết lại, bốn vòng kỹ năng của agent và kết quả của một công ty khách hàng; đây là nguồn của hãng, chưa có kiểm định độc lập.

Tiếp trên bàn Việc hôm nay: Chọn "mọi trang" một lần là ChatGPT trên Chrome thôi hỏi trước khi dùng trang web