Các nguyên tắc nền tảng
Các hệ thống machine learning tuân theo một heuristic tưởng như đơn giản: độ phức tạp thường dịch chuyển chứ không biến mất, dù thiết kế tốt có thể loại bỏ độ phức tạp ngẫu nhiên. Độ phức tạp luân chuyển giữa ba miền của phân loại D·A·M: Dữ liệu với vai trò thông tin, Thuật toán với vai trò logic, và Máy với vai trò vật lý. Đơn giản hóa một miền có thể khiến các miền khác gánh thêm tải. Một pipeline đặc trưng được làm thủ công có thể giảm độ phức tạp phía thuật toán nhưng đòi hỏi nhiều công sức kỹ thuật dữ liệu hơn. Một mô hình lớn hơn có thể hấp thụ dữ liệu lộn xộn nhưng lại đẩy độ phức tạp sang phần cứng phải huấn luyện và phục vụ nó. Heuristic Bảo toàn độ phức tạp này là động lực cho mọi nội dung trong cuốn sách. Các giới hạn định lượng, mô hình và nguyên tắc được trình bày xuyên suốt mô tả những ràng buộc nảy sinh từ nơi độ phức tạp đang cư trú.
Kiến trúc, framework và các tối ưu hóa chỉ thành công khi tôn trọng các ràng buộc do phần cứng, toán học và lý thuyết thông tin áp đặt. Cũng như kỹ sư xây dựng không thể bỏ qua trọng lực, kỹ sư ML không thể bỏ qua các quy luật vật lý chi phối dữ liệu, tính toán và thông lượng hệ thống. Phần I đặt những nền tảng này: không phải là những thực hành tốt nhất thay đổi theo framework hay những ý kiến khác nhau giữa các nhóm, mà là các ràng buộc vật lý bền vững và các mô hình định lượng cho kỹ thuật ML. Ràng buộc đầu tiên bắt đầu từ chính dữ liệu, nơi ranh giới quen thuộc giữa chương trình và đầu vào dần biến mất.
Principle 1: Nguyên tắc dữ liệu như mã
Hàm ý: Kỹ thuật dữ liệu đòi hỏi sự chặt chẽ tương tự như kỹ thuật phần mềm. Các tập dữ liệu nên được quản lý phiên bản (như Git), kiểm thử đơn vị (kiểm tra chất lượng dữ liệu) và gỡ lỗi. Xóa một hàng dữ liệu huấn luyện có thể làm thay đổi mô hình được huấn luyện lại, giống như việc xóa một dòng mã có thể làm thay đổi một thành phẩm đã biên dịch.
Nếu dữ liệu đóng vai trò như mã nguồn, thì nó không chỉ là một thực thể logic; nó còn có các thuộc tính vật lý hạn chế kiến trúc hệ thống, nhất là khi dữ liệu và tính toán đặt ở những vị trí khác nhau.
Principle 2: Nguyên tắc trọng lực dữ liệu
Hàm ý: Các tập dữ liệu lớn có thể trở thành trung tâm trọng lực của kiến trúc. Hệ thống có thể đưa tính toán đến dữ liệu bằng cách gửi các truy vấn hoặc mã đến lớp lưu trữ, thay vì liên tục tải xuống các tập dữ liệu lớn để đưa dữ liệu đến nơi tính toán.
Gộp lại, hai nguyên tắc này cho thấy dữ liệu vừa có thể là chương trình logic, vừa là điểm neo vật lý của một hệ thống ML. Phần I phát triển các hàm ý này như một chuỗi phụ thuộc. Các ràng buộc về triển khai xác định hệ thống có thể thực thi ở đâu; vòng đời mang các ràng buộc đó xuyên suốt: định nghĩa vấn đề, dữ liệu, mô hình, xác thực và vận hành; và kỹ thuật dữ liệu biến chúng thành hiện thực trong các tạo phẩm pipeline được kiểm thử và quản lý phiên bản. Bỏ qua bất kỳ mắt xích nào sẽ hoàn lại độ phức tạp dưới dạng chi phí tích hợp: một mô hình chính xác nhưng không thể chạy, một quy trình làm việc không thể tái tạo đầu vào, hoặc một pipeline có đầu ra không còn phù hợp với điều kiện triển khai.