Hai máy này là thiết bị nghiên cứu của 元培醫事科技大學, không phải máy riêng của tôi. Tôi được giao quyền dùng, và đã dùng chúng để trả lời một câu hỏi cứ lặp lại trong đầu suốt năm qua: những thứ người ta chỉ gọi được qua API trả tiền, liệu tôi có dựng lại được trên một cái máy đặt ngay trong phòng không.
Hoá ra là được, phần lớn. Nhưng bài học thật sự không nằm ở chỗ mô hình chạy hay không chạy. Nó nằm ở khoảng cách giữa chạy được một lần trong terminal và chạy suốt nhiều tuần mà không ai phải sờ vào. Gần hết công sức của tôi đổ vào khoảng cách đó.
Trợ lý hỏi đáp của trường là dự án tôi đặt ra nguyên tắc khắt khe nhất: thà không trả lời còn hơn trả lời sai. Một chatbot trường học mà bịa ra hạn nộp hồ sơ thì tệ hơn là không có chatbot. Nên khi điểm truy hồi không đủ, nó im lặng thay vì đoán. Mỗi câu trả lời đều kèm đường dẫn tới đúng trang nó đã đọc, và ngày bản đó được nạp về.
Với API dịch, tôi làm cái đáng ra ai cũng nên làm mà hiếm ai chịu làm: đo trước rồi mới chọn. Ba mô hình cùng một đề, 52 mẫu mỗi mô hình, nhiệt độ 0, đề và tham số khoá cứng trước khi chạy để không ai sửa theo kết quả.
Kết quả làm tôi bất ngờ nhất là dòng cuối bảng. Mô hình mang đúng chữ Taiwan trong tên, đáng lẽ phải là lựa chọn hiển nhiên, lại sai ngày giờ, lẫn ngôn ngữ giữa chừng, bỏ câu. Nhanh nhất bảng, và gần như không dùng được cho việc này. Nếu tôi chọn theo cái tên thay vì theo số đo, tôi đã dựng cả một API lên trên mô hình tệ nhất trong ba mô hình.
Cái khó không phải mô hình, mà là cái vỏ quanh nó. Bản dịch bị cắt giữa chừng là loại lỗi nguy hiểm nhất, vì nó trông y hệt bản dịch thành công. Nên API trả mã lỗi cho một bản dịch chưa hoàn tất, thay vì vui vẻ trả về nửa câu.
Bộ phát hiện khói là dự án tốn nhiều thời gian nhất và ít người tin là tôi tự làm nhất. Tôi viết từ đầu, không dựa trên khung có sẵn. Lý do: khói không có viền rõ nên bước gộp hộp trùng nhau hay nuốt mất vùng khói loãng, và trong việc báo cháy thì một lần báo nhầm đắt hơn một lần bỏ sót — báo nhầm vài lần là người ta tắt hệ thống.
Nên kiến trúc của tôi không có bước gộp hộp. Nó dự đoán thẳng, một vật một hộp. Bỏ được một khâu hậu xử lý hay hỏng, và làm thời gian chạy ổn định thay vì phụ thuộc số vật trong khung hình.
Phần biến mô hình thành hệ thống thì nằm ở một quy tắc rất quê: đếm đến ba đã rồi hãy la. Hệ chỉ báo động khi thấy khói ở nhiều khung hình liên tiếp, chứ không báo ngay ở khung đầu. Một con chim bay qua ống kính hay một vệt nắng loé lên sẽ không qua được bộ lọc này.
Một trang giới thiệu chỉ kể phần thắng thì không đáng tin. Đây là phần còn dở: trợ lý của trường chạy ổn định và trích nguồn đúng, nhưng tôi chưa soạn xong bộ đề chuẩn nên chưa có con số chất lượng trả lời. Bộ phát hiện khói mới chỉ gặp bộ ảnh kiểm, chưa gặp một camera thật nào chạy liên tục qua đêm. Vòng chấm dịch do tôi tự tổ chức, chưa phải chấm mù bởi người dịch độc lập. Và tôi chưa có hệ giám sát độc lập bên ngoài, nên chưa có quyền nói bất cứ con số thời gian hoạt động nào.
Điều tôi rút ra sau một năm nghe rất chán: phần khó của kỹ thuật AI hiếm khi nằm ở mô hình. Nó nằm ở việc quyết định khi nào hệ thống nên im lặng, ở việc đo trước khi chọn, và ở chỗ dám viết ra một dòng nói rằng cái này mình chưa làm xong.
