Mỗi tuần, lại có một công cụ AI khác chiếm lĩnh các tiêu đề báo chí. Sinh viên xem các bản demo về tác nhân hội thoại, xe tự hành và nghệ thuật tạo sinh, và họ muốn tham gia ngay lập tức. Mong muốn đó là hoàn toàn dễ hiểu. Tại sao phải dành hàng tháng trời để học về vòng lặp và biến số khi bạn có thể kéo, thả và nhập câu lệnh (prompt) để tạo ra một chatbot hoạt động được? Nhưng việc nhảy cóc qua các kiến thức lập trình cơ bản sẽ tạo ra một giới hạn mà bạn sẽ chạm tới sớm hơn bạn nghĩ.

Tại sao lối tắt lại đầy cám dỗ

Làn sóng marketing AI hiện nay nhấn mạnh vào tốc độ. Các nền tảng low-code và các lớp bao bọc API (API wrappers) cho phép bạn triển khai nhanh một giao diện hội thoại chỉ trong một buổi chiều. Thành quả nhanh chóng đó mang lại cảm giác như một sự tiến bộ thực sự. Tuy nhiên, những giao diện đó nằm trên một cơ sở hạ tầng mà bạn không hề viết và không thể nhìn thấu bên trong. Khi API giới hạn tốc độ (rate-limit) người dùng của bạn, khi mô hình gặp hiện tượng ảo giác (hallucination) trong môi trường thực tế, hoặc khi bạn cần cắt giảm độ trễ suy luận (inference latency) để giữ cho ứng dụng di động phản hồi nhanh, thì những kiến thức bề nổi sẽ khiến bạn bế tắc. Bạn trở nên phụ thuộc vào các công cụ do người khác xây dựng, không thể sửa chữa hay tái cấu trúc chúng.

Lập trình thực sự mang lại cho bạn điều gì

Lập trình là hành động viết các chỉ dẫn chính xác cho máy tính. Đó là cách các trang web xử lý lưu lượng truy cập đồng thời, cách các ứng dụng di động đồng bộ hóa dữ liệu giữa các thiết bị, cách các cơ sở dữ liệu lưu trữ hàng triệu bản ghi mà không bị lỗi, và cách các phần mềm đám mây duy trì hoạt động ngay cả khi phần cứng gặp sự cố. Quan trọng hơn, đó cũng là cách mọi hệ thống AI được tạo ra, huấn luyện và triển khai. Không có lập trình, bạn không phải là một kỹ sư. Bạn chỉ là người tiêu dùng sản phẩm của người khác.

Mặt khác, trí tuệ nhân tạo là một nhánh của khoa học máy tính tập trung vào việc giúp máy móc thực hiện các nhiệm vụ thường đòi hỏi sự phán đoán của con người. Nó kết hợp giữa mã code, toán học và dữ liệu. Sự "kỳ diệu" đó thực chất không hề kỳ diệu. Đó là thống kê được bao bọc trong Python, là phép nhân ma trận chạy trên các chip chuyên dụng, và là các tập dữ liệu huấn luyện được chọn lọc kỹ lưỡng. Hãy gạt bỏ những lời quảng cáo thổi phồng, bạn sẽ thấy kỹ thuật phần mềm nằm ngay bên dưới.

Sự khác biệt thực sự giữa cả hai

Lập trình cho bạn khả năng tạo ra mọi thứ từ con số không. AI cung cấp cho bạn các kỹ thuật chuyên biệt để thêm khả năng nhận dạng mẫu, dự đoán hoặc tạo sinh vào sự sáng tạo đó. Một cái là nền móng. Cái còn lại là tầng nhà được xây dựng bên trên. Bạn không thể lắp đặt tầng trên trước khi đổ bê tông nền móng.

Khi bạn biết lập trình, bạn có thể đọc mã nguồn đằng sau một mô hình ngôn ngữ lớn (LLM) hoặc mô hình khuếch tán (diffusion model) mã nguồn mở. Bạn có thể thấy chính xác cách các cơ chế chú ý (attention mechanisms) được triển khai, chứ không chỉ là những gì một bài blog nói về chúng. Bạn có thể chỉnh sửa mã AI khi cần thay đổi hàm mất mát (loss function) hoặc điều chỉnh tốc độ học (learning rate) cho tập dữ liệu cụ thể của mình. Bạn có thể sửa các lỗi chắc chắn sẽ phát sinh. Sự không khớp về hình dạng giữa các tensor, lỗi tràn bộ nhớ CUDA (CUDA out-of-memory), hay một lỗi ngầm trong quy trình tiền xử lý dữ liệu sẽ không thể được giải quyết bằng cách nhập prompt cho chatbot. Bạn cần phải truy vết biến, kiểm tra gradient và lập luận về việc cấp phát bộ nhớ.

Hầu hết các doanh nghiệp không cần một lớp bao bọc chung chung quanh một API công khai. Họ cần các công cụ chuyên biệt theo lĩnh vực có thể tích hợp với hồ sơ bệnh nhân hiện có, sổ cái tài chính hoặc các cảm biến sản xuất. Họ cần các hệ thống tôn trọng các ràng buộc nghiêm ngặt về quyền riêng tư và chạy trên các ngân sách không cho phép gọi một endpoint trả phí hàng triệu lần mỗi ngày. Để xây dựng được điều đó, bạn cần phải viết mã nguồn gốc.

Hãy bắt đầu với Python

Nếu bạn muốn làm việc trong lĩnh vực AI, hãy bắt đầu với Python. Cú pháp của nó gần giống như tiếng Anh thông thường, giúp giảm bớt rào cản cho người mới bắt đầu. Đừng nhầm lẫn sự đơn giản đó với sự yếu kém. Python là nơi vận hành những bộ máy nặng ký của học máy hiện đại. TensorFlow, PyTorch, scikit-learn và Hugging Face Transformers đều được xây dựng trên nền tảng này. Khi bạn học Python, bạn không phải đang học một ngôn ngữ đồ chơi. Bạn đang học chính công cụ mà các nhà nghiên cứu AI sử dụng để thúc đẩy lĩnh vực này tiến về phía trước.

Một lộ trình thực tế

Hãy coi việc học của bạn là một chuỗi trình tự, chứ không phải một bữa tiệc buffet tùy hứng. Đây là thứ tự giúp bạn thực sự tạo ra đà tiến triển.

Lập trình Python. Nắm vững biến, vòng lặp, hàm, lớp và xử lý tệp. Viết các script để phân tích nhật ký JSON hoặc cào các trang web cơ bản. Nếu bạn không thể sắp xếp một danh sách hoặc xử lý các ngoại lệ một cách gọn gàng, bạn chưa sẵn sàng cho thuật toán hạ gradient (gradient descent).

Cấu trúc dữ liệu và thuật toán. Mảng (arrays), bảng băm (hash maps), cây (trees) và đồ thị (graphs) không chỉ là những kiến thức vụn vặt để đi phỏng vấn. Chúng là cách bạn lưu trữ các mối quan hệ và tìm kiếm qua chúng một cách hiệu quả. Một công cụ gợi ý hiện đại, về cốt lõi, là một bài toán duyệt đồ thị thông minh.

SQL và cơ sở dữ liệu. Các mô hình cần dữ liệu sạch. Bạn sẽ truy xuất các tập dữ liệu huấn luyện từ cơ sở dữ liệu PostgreSQL, kết hợp các bảng để xây dựng các đặc trưng (features), và lưu trữ các tương tác của người dùng để tinh chỉnh (fine-tuning) sau này. Bỏ qua bước này đồng nghĩa với việc coi dữ liệu như bụi phép thuật thay vì một tài sản có cấu trúc mà bạn có thể kiểm soát.

Toán học: thống kê và xác suất. AI đưa ra các dự đoán trong điều kiện không chắc chắn. Bạn cần hiểu về các phân phối, xác suất có điều kiện và kiểm định giả thuyết. Nếu không có điều này, bạn không thể đánh giá liệu mô hình của mình đang thực sự học hay chỉ đơn thuần là ghi nhớ nhiễu (noise).

Kiến thức cơ bản về Machine Learning. Hãy nghiên cứu học có giám sát (supervised learning) và học không giám sát (unsupervised learning). Hãy xây dựng một mô hình hồi quy tuyến tính (linear regression) từ con số không chỉ bằng NumPy trước khi bạn chạm vào bất kỳ thư viện có sẵn nào. Hãy cảm nhận toán học thông qua mã nguồn.

Deep learning. Chuyển sang mạng thần kinh (neural networks). Hãy hiểu cơ chế lan truyền ngược (backpropagation) một cách thủ công trước khi để PyTorch xử lý việc tính đạo hàm tự động (automatic differentiation). Hãy biết điều gì đang thực sự diễn ra bên dưới lớp vỏ.

Generative AI. Nghiên cứu về transformers, cơ chế chú ý (attention mechanisms) và kiến trúc mô hình ngôn ngữ lớn (LLM). Giờ đây, những công cụ hào nhoáng sẽ trở nên dễ hiểu vì bạn có thể thấy được các "bánh răng" đang vận hành.

Các dự án AI. Xây dựng một quy trình (pipeline) đầu cuối (end-to-end). Thu thập dữ liệu, làm sạch, huấn luyện mô hình, cung cấp thông qua một REST API và triển khai để người khác có thể sử dụng. Đây là nơi lý thuyết được tôi luyện thành kỹ thuật thực thụ.

Lập trình và AI là những người đồng hành

Lập trình và AI không phải là đối thủ. Lập trình xây dựng nên con tàu. AI bổ sung hệ thống điều hướng. Một lập trình viên có thể xây dựng một ứng dụng di động có khả năng chụp ảnh. Thêm AI vào, và nó có thể nhận diện các loài thực vật. Một lập trình viên có thể xây dựng một cơ sở dữ liệu giao dịch. Thêm AI vào, và nó sẽ cảnh báo gian lận trong thời gian thực. Thứ tự rất quan trọng. Hãy xây dựng con tàu trước.

Những sai lầm gây lãng phí hàng tháng trời

Bỏ qua các kiến thức cơ bản sẽ dẫn đến kiểu phát triển theo kiểu "sao chép và dán". Bạn lấy một đoạn mã từ một diễn đàn trực tuyến, thay đổi đường dẫn tệp và hy vọng nó sẽ chạy. Khi nó lỗi, bạn không có mô hình tư duy để hiểu tại sao. Chỉ dựa vào các công cụ AI sẽ biến bạn thành một người vận hành thay vì một người xây dựng. Bạn có thể yêu cầu tóm tắt hoặc hình ảnh, nhưng bạn không thể tung ra một sản phẩm mà một công ty khác kiểm soát hoàn toàn. Phớt lờ toán học sẽ khiến bạn trở nên mù quáng. Bạn sẽ tinh chỉnh các siêu tham số (hyperparameters) một cách ngẫu nhiên, săn tìm một kết quả may mắn, và bạn sẽ không hiểu tại sao bộ phân loại (classifier) của mình lại thất bại trong các trường hợp biên (edge cases). Cố gắng học mọi thứ cùng một lúc sẽ làm phân tán sự chú ý của bạn. Trong giai đoạn đầu, chiều sâu quan trọng hơn chiều rộng. Hãy chọn một khái niệm và nghiên cứu nó cho đến khi bạn thực sự hiểu rõ.

Xây dựng các dự án theo đúng trình tự

Hãy bắt đầu với các ứng dụng nhỏ và hữu hình. Xây dựng một máy tính với giao diện đồ họa. Tạo một ứng dụng danh sách việc cần làm (to-do app) có khả năng lưu trữ dữ liệu vào một tệp cục bộ. Viết một đoạn mã để đổi tên hàng ngàn bức ảnh dựa trên ngày tạo của chúng. Những bài tập này dạy bạn cách quản lý trạng thái (state), xử lý đầu vào của người dùng và gỡ lỗi (debug) logic.

Chỉ sau đó, bạn mới nên thử sức với các công việc chuyên biệt về AI. Huấn luyện một bộ phân loại hình ảnh để phân biệt ảnh chó và mèo bằng cách sử dụng Convolutional Neural Network. Xây dựng một chatbot đơn giản sử dụng các lệnh gọi API trực tiếp với một bộ đệm bộ nhớ (memory buffer) để cuộc hội thoại luôn mạch lạc. Bước nhảy này sẽ cảm thấy rất tự nhiên vì bạn đã biết cách cấu trúc mã, xử lý lỗi và đọc tài liệu hướng dẫn.

Bài học cốt lõi

Hãy làm chủ logic trước. Hãy học cách máy tính tư duy trước khi bạn cố gắng dạy chúng tư duy như con người. Một nền tảng lập trình vững chắc sẽ biến AI từ một "chiếc hộp đen" thành một công cụ mà bạn có thể định hình, đánh giá và cải thiện. Đó là nơi những sự nghiệp bền vững được xây dựng. Những người xây dựng hiểu rõ toàn bộ ngăn xếp (full stack) sẽ luôn tồn tại lâu hơn những người vận hành chỉ biết cách viết câu lệnh (prompt).

Nguồn: Programming vs AI: Which Skill Should You Learn First?

Tham gia cộng đồng: GyaanSetu AI on Telegram