Ngày Mai Chưa Lên SóngC.4 / 35
Chương 4

Tách Lớp Thời Gian

Gió lùa qua hành lang tầng ba của khoa Tài nguyên nước cuốn theo từng vệt bụi phấn bảng li ti, rải một lớp màng mỏng xám xịt lên gờ tường loang lổ vết nước mưa ngấm từ những mùa bão trước. Yến ngồi thu mình trên chiếc ghế băng bằng đá mài đặt sát mép tường, hai bàn tay đan chặt quanh tập hồ sơ đóng gáy bấm cẩn thận. Bản đề cương thuật toán dự báo ngắn hạn tích hợp chuỗi số liệu từ các trạm khí tượng công cộng nằm im lìm trên đùi cô, mép bìa kiếng đã bắt đầu hơi cong lên vì cái oi nồng đặc quánh của buổi trưa tháng Chín.

Cánh cửa gỗ quét sơn xanh lam đã tróc từng mảng lớn quanh ổ khóa đồng khép hờ một góc mười lăm độ. Qua khe hẹp ấy, tiếng quạt trần ba cánh đảo đều từng nhịp nặng nề vọng ra hành lang, thỉnh thoảng lại rít lên một vệt âm thanh khô khốc khi ổ bi thiếu mỡ cọ vào trục sắt rỉ sét. Mùi giấy lưu trữ lâu năm, thứ mùi ngai ngái nửa như bột gỗ ẩm, nửa như mực in rulo rỉ sét của hàng trăm tập đồ án tốt nghiệp xếp chồng từ sàn gạch bông lên tận bậu cửa sổ, quyện chặt lấy vị mặn mòi của gió biển thổi thốc từ phía vịnh Đà Nẵng qua những rặng phi lao bên ngoài khuôn viên trường.

Yến cúi đầu, ánh mắt dừng lại ở trang bìa lót. Dưới lớp giấy can mỏng, những dòng mã nguồn viết bằng Python mà cô cặm cụi gõ suốt những đêm thức trắng trên căn gác xép hiện lên với từng khối thụt dòng ngay ngắn. Những hàm hồi quy logistic, cấu trúc cây quyết định phân tầng và các ma trận hiệp phương sai được cô tỉ mỉ ghép nối với từng tham số thủy văn lưu vực sông Phú Lộc. Ở mép giấy, ngón tay cái của cô bấu chặt đến mức làm hằn lên một nếp gấp sắc lẹm, trắng bệch nơi đầu móng.

"Vào đi Yến, đứng thập thò ngoài đó làm gì."

Tiếng bà Hà vọng ra từ bên trong, khô khốc và gãy gọn như nhịp gõ của một chiếc thước gỗ trên mặt bàn bục giảng. Yến giật mình, bờ vai khẽ nảy lên. Cô vội đứng dậy, chỉnh lại tà áo sơ mi đã nhăn nhúm sau chặng đường dài chạy xe máy dưới nắng, rồi đưa tay đẩy nhẹ cánh cửa gỗ.

Bà Trần Ngọc Hà ngồi sau chiếc bàn gỗ tếch thô kệch phủ kín tài liệu. Ở tuổi ngoài năm mươi, mái tóc cắt ngắn điểm nhiều sợi bạc cứng như rễ tre của bà được cặp gọn sau gáy bằng một chiếc kẹp kim loại hoen rỉ. Trên sống mũi gãy, chiếc kính lão gọng đồi mồi trễ xuống tận cánh mũi, để lộ đôi mắt một mí sắc sảo đang nhìn xuyên qua mép kính hướng thẳng vào Yến khi cô vừa bước qua ngưỡng cửa. Không có một nụ cười xã giao, không có câu hỏi thăm nào về chuyến tàu đêm đưa cô rời Sài Gòn trở về miền Trung, cũng chẳng có lời tán gẫu về những xáo trộn của một cựu sinh viên quyết định bỏ việc văn phòng để khởi nghiệp. Bà chỉ hơi hất chiếc cằm vuông vức về phía chiếc ghế gỗ chân tiện đối diện:

"Bản phác thảo mô hình tích hợp cậu gửi qua thư điện tử tối hôm qua tôi đã in ra rồi. Ngồi xuống đi."

Yến kéo ghế, tiếng chân gỗ miết trên nền gạch bông phát ra một âm thanh khô khốc. Cô đặt tập đề cương dự phòng lên góc bàn, cẩn thận tránh đè lên những xấp bản đồ trắc dọc lưu vực sông Vu Gia đã ngả màu ố vàng. Bà Hà không buồn liếc nhìn tập tài liệu mới tinh của cô. Bà với tay kéo về phía mình bản in dày cộp đã chi chít những vệt mực đỏ tươi và những nét chì xám gạch xóa không thương tiếc.

"Tôi đọc lướt qua phần toán của cậu," bà Hà mở đầu, với tay lấy cây bút chì 2B chuốt nhọn hoắt đặt trên chiếc khay đựng ghim giấy bằng nhôm. Đầu ngòi chì gõ nhẹ ba tiếng cộc cộc xuống mặt giấy xiên xẹo. "Cậu rời trường sáu năm, đi làm cho các công ty giải pháp phần mềm dưới đó, tay nghề lập trình chắc chắn là có tiến bộ. Cấu trúc ma trận chuyển trạng thái viết sạch, logic rẽ nhánh rất trơn tru. Nhưng cái tư duy đóng gói sản phẩm của dân công nghệ các cậu đang làm hỏng toàn bộ nền tảng thủy văn cơ bản mà tôi từng dạy cậu trên giảng đường này."

Tim Yến khẽ thắt lại, cảm giác bồn chồn quen thuộc từ những buổi bảo vệ đồ án năm xưa ùa về. Cô cố giữ cho thanh âm của mình phẳng lặng: "Em đã cố gắng tối ưu hóa hàm mất mát để mô hình phản ứng nhanh nhất với lượng mưa cực đoan, thưa cô. Ở lưu vực dốc và hẹp như vùng Thanh Khê, nếu chờ nước dâng ở sông Phú Lộc mới kích hoạt tính toán thì các hộ kinh doanh bên trong ngõ hẻm sẽ không kịp trở tay. Ba mươi phút đối với họ là ranh giới giữa việc kê kịp một kiện hàng và việc mất trắng."

"Và để cho nó 'nhanh nhất', cậu đã làm cái việc này đây," ngòi bút chì của bà Hà rạch một đường dứt khoát, kéo lê dưới hàng công thức hồi quy phi tuyến tính nằm ở giữa trang tư. Vệt chì đen nhánh đè nghiến lên dòng phương trình liên kết biến số:

$$\hat{Y}_{t+\Delta t} = \sigma \left( w_1 \cdot H_{obs}(t) + w_2 \cdot R_{sat}(t+\Delta t) + w_3 \cdot Q_{drain}(t) \right)$$

"Cậu nhìn vào đây. Nhìn thật kỹ vào cái biến số này," bà Hà dí đầu bút chì vào tham số thứ hai, mạnh đến mức làm lún cả mặt giấy bãi bằng thô ráp. "Chỗ này, cậu gom mực nước đo tức thời $H_{obs}$ từ các đầu dò thô sơ ngoài cống rãnh lại làm một, rồi nhét chung vào một vector đặc trưng với dự báo mưa vệ tinh $R_{sat}$ của sáu mươi phút tới. Cậu dùng một trọng số tự học để san phẳng ranh giới giữa một bên là con số thực tế đang diễn ra dưới chân người ta, với một bên là phán đoán xác suất của mô hình viễn thám trên tầng khí quyển. Ai dạy cậu cái lối tư duy gộp chung thực tại với tương lai vào làm một nồi lẩu thập cẩm thế này hả Yến?"

Ánh mắt bà Hà ngước lên khỏi trang giấy, nghiêm khắc và lạnh lùng như những ngày bà đứng trên bục giảng phản biện các công trình thủy lợi quốc gia.

"Dạ, thưa cô, dự báo mưa vệ tinh phân giải cao giúp ta có được độ trễ báo trước từ bốn mươi lăm đến sáu mươi phút," Yến cố gắng giải thích, ngón tay cô lần theo đường cong biểu diễn trên biểu đồ tán xạ phía dưới. "Nếu bóc tách riêng ra, người dùng thông thường—những người buôn bán nhỏ ở ngõ hẻm—sẽ không hiểu được hai chỉ số độc lập. Họ chỉ muốn biết một điều duy nhất: ba mươi phút nữa nước có tràn vào thềm nhà hay không. Việc tích hợp thành một chỉ số nguy cơ duy nhất giúp giao diện tối giản, cảnh báo gửi đi qua tin nhắn không bị rối rắm bởi các chỉ số xác suất phức tạp."

"Họ muốn một chuyện, và sự thật tự nhiên là một chuyện khác!" Bà Hà ngắt lời, giọng bà đanh lại, cây bút chì gõ mạnh xuống mặt bàn gỗ vang lên tiếng chát chúa phá tan không gian tĩnh lặng của căn phòng. "Cậu đang làm kỹ thuật cảnh báo thiên tai hay cậu đang đi bán một món đồ chơi ma thuật tạo cảm giác an tâm giả tạo? Cậu có biết mưa vệ tinh ở dải ven biển miền Trung sai số bao nhiêu phần trăm không? Một đám mây dông nhiệt tích tụ ngoài biển, vệ tinh quét qua thấy phản hồi vô tuyến cực lớn, thuật toán của cậu lập tức kích hoạt ngưỡng báo động đỏ vì cho rằng mười lăm phút nữa mưa sẽ trút xuống sáu mươi milimét. Nhưng gió lào hoặc địa hình núi Sơn Trà bẻ hướng gió tầng thấp, mây dạt ra ngoài khơi hoặc trôi ngược lên đèo Hải Vân. Dưới đất một giọt mưa không rơi, nhưng hệ thống của cậu đã réo chuông ầm ĩ bắt bà con kê dọn hàng quán. Một lần sai, hai lần sai, đến lần thứ ba nước ngập thật thì ai còn tin cái chuông của cậu nữa?"

Bà Hà ngừng lại một chút để lấy hơi. Chiếc quạt trần phía trên đầu vẫn u u thổi xuống từng đợt gió khô ran. Bà tiếp tục, từng lời ghim sâu vào tâm trí Yến:

"Rồi ngược lại, một cơn mưa cục bộ tích tụ trong phạm vi hai cây số vuông ngay trên đầu quận Thanh Khê, trạm radar chưa kịp quét hết chu kỳ quét tầng đối lưu thì cống rãnh đã nghẹt cứng vì rác và lá cây, mà mô hình của cậu thì vẫn báo 'chỉ số an toàn' vì dữ liệu viễn thám chưa cập nhật kịp thời! Lúc đó ai đền bù thiệt hại cho người ta?"

Bà Hà thở dài một hơi nặng nhọc, tựa lưng vào chiếc ghế xoay bọc nỉ đã sờn rách để lộ cả lớp mút vàng ố bên trong. Bà nhìn Yến, ánh mắt chùng xuống đôi chút nhưng sự dứt khoát không hề suy giảm.

"Đánh đồng dữ liệu quan sát thực với phán đoán tương lai là tội lỗi lớn nhất của người làm mô hình thủy văn. Cậu đang cố tạo ra ảo giác về một cỗ máy toàn năng biết trước mọi điều để lấy lòng khách hàng, để họ thấy phần mềm của Thuỷ Kế sao mà thông minh, sao mà đi trước thời gian. Nhưng thiên nhiên không vận hành theo bảng thuyết trình gọi vốn của cậu."

Bà lật ngược trang giấy in, rút một tờ giấy nháp trắng tinh từ góc bàn, dùng đầu bút chì vạch ba cái hộp chữ nhật xếp chồng lên nhau theo chiều dọc, phân định rõ ràng bằng những nét gạch đôi đậm nét.

"Hệ thống của cậu bắt buộc phải bóc tách thành ba tầng thông tin hoàn toàn riêng biệt. Tuyệt đối không được phép trộn lẫn vào nhau. Cậu nhớ cho kỹ ba tầng này:

Tầng thứ nhất: Thông báo hiện trạng đo đạc được. Đây là sự thật vật lý trần trụi. Cảm biến báo nước dâng ở hố ga An Khê mười lăm phân, là mười lăm phân. Trạm mưa ghi nhận ba mươi milimét trong hai mươi phút qua, là ba mươi milimét. Không thêm bớt, không đoán mò, không gán xác suất. Người ta mở điện thoại lên, họ phải biết ngay lúc này chuyện gì đang diễn ra dưới mặt đất mà không bị bất kỳ thuật toán suy đoán nào bóp méo. Đây là tầng dữ liệu có độ tin cậy tuyệt đối, là cái phao cứu sinh cho sự thật.

Tầng thứ hai: Cảnh báo nguy cơ ngập cục bộ trong vòng ba mươi đến chín mươi phút. Đây là khoảng thời gian vàng để hành động. Tầng này mới được phép dùng dữ liệu quan sát tức thời kết hợp với tốc độ dồn dòng chảy bề mặt và diễn biến mây dông tức thời để đưa ra khuyến cáo. Ngưỡng cảnh báo phải chỉ rõ mức độ tin cậy và biên độ bất định. Nếu dữ liệu mờ, phải báo là nguy cơ kèm sai số cao, để chủ tiệm tự cân nhắc việc dọn hàng hay chờ thêm mười phút. Cậu phải để người ta giữ quyền quyết định dựa trên sự minh bạch của rủi ro, chứ không phải tước đoạt quyền đó bằng một con số trung bình vô nghĩa.

Và tầng thứ ba: Nhận định chuẩn bị diện rộng cho ngày hôm sau. Nó là bản tin mang tính tham khảo trên quy mô toàn vùng đô thị, dựa trên dự báo khí tượng thủy văn diện rộng, triều cường dự kiến và xu thế gió mùa. Nó giúp người ta chuẩn bị tâm thế, kê cao các kiện hàng dự trữ dưới đáy kệ, chuẩn bị bao cát chắn trước cửa, chứ không phải một cam kết chắc nịch về việc mấy giờ mấy phút nước tràn qua bậc cửa."

Bà Hà khoanh tròn ba chiếc hộp, rồi gạch một dấu chéo đậm lên mũi tên nối tắt mà Yến từng vẽ để gộp chúng lại trong bản đề cương.

"Tách ba tầng này ra. Trên màn hình hay trong tin nhắn gửi đi, cái gì đo được bằng mắt và cảm biến thì ghi rõ là 'Quan trắc thực tế'; cái gì do máy tính suy diễn thì ghi rõ là 'Mô phỏng dự đoán'; còn cái gì xa hơn hai mươi tư tiếng thì chỉ là 'Khuyến nghị chuẩn bị'. Làm như thế, cậu vừa bảo vệ được người dùng khỏi những quyết định sai lầm khi máy tính phán bừa, vừa bảo vệ chính cái doanh nghiệp non nớt của cậu khỏi những vụ kiện tụng hay sự tẩy chay khi thực tế không xảy ra như thuật toán vẽ ra."

Bà Hà dừng lại một nhịp, đẩy cặp kính lão lên sát sống mũi, giọng hạ thấp xuống, mang theo một nỗi trăn trở sâu xa của người đã gắn bó cả đời với những con sông và hệ thống thoát nước thành phố:

"Cậu có biết tại sao tôi khắt khe thế này không? Bởi vì mạng lưới cống ngầm của cái thành phố này không giống như bản vẽ kỹ thuật nằm trong ngăn kéo của Sở Xây dựng đâu. Mấy năm nay, các dự án chỉnh trang đô thị, cống hộp hóa mương hở, đấu nối ngầm tự phát của các khu dân cư mới đã làm biến dạng hoàn toàn bản đồ tiêu thoát cũ. Bản thân tôi từng tham gia nghiệm thu mấy lớp bản đồ thủy lực đô thị mười năm trước, giờ đi thực tế nhìn lại thấy nó sai lệch đến giật mình. Cống gom đường Điện Biên Phủ hay kênh Phú Lộc giờ bị thắt cổ chai ở những đoạn không ai ngờ tới. Lòng cống bị bồi lắng bùn cát, rác thải sinh hoạt kết khối lại thành từng mảng lớn làm giảm mặt cắt thoát nước tới bốn mươi phần trăm. Nếu cậu cứ vin vào những bản đồ lưu vực tĩnh đó rồi nhồi số liệu mưa giả định vào để chạy hồi quy, cậu sẽ giết chết người ta vào ngày nước dâng ngược từ cửa xả vào lòng phố."

Yến ngồi im bất động, hai bàn tay đan chặt vào nhau trên đầu gối đến mức các khớp ngón tay trắng bệch. Từng lời của bà Hà như những nhát búa giáng thẳng vào sự tự tin kỹ thuật mà cô hằng gìn giữ. Đúng là trong sâu thẳm, khi rời Sài Gòn mang theo những dòng mã nguồn hào nhoáng, cô đã khao khát chứng minh một nền tảng "trí tuệ nhân tạo" có thể giải quyết dứt điểm bài toán ngập lụt đô thị chỉ bằng vài thuật toán học máy tối tân. Cô đã muốn một sản phẩm hoàn hảo, một cỗ máy biết trước tương lai để khiến các nhà đầu tư và khách hàng phải kinh ngạc.

Nhưng thực tế nước ngập không có tính tự giác như những dòng code chạy trên máy chủ đám mây. Dòng nước chảy theo trọng lực, theo địa hình thực tế, theo những khúc co ngoằn ngoèo bị rác rưởi bít kín, chứ không chảy theo các hàm kích hoạt tuyến tính được chuẩn hóa trên thang đo từ 0 đến 1.

"Em hiểu rồi," Yến lên tiếng, cổ họng cô khô đắng, nhưng ánh mắt đã thôi dao động. "Em sẽ viết lại toàn bộ cấu trúc dữ liệu đầu ra. Bóc tách độc lập ba tầng thông tin như cô yêu cầu. Tầng nào thuộc về đo đạc thực địa sẽ đứng riêng, tầng nào thuộc về mô phỏng sẽ đi kèm biên độ tin cậy rõ ràng."

Bà Hà nhìn cô hồi lâu qua mép kính lão, nét mặt nghiêm nghị dịu lại đôi chút, để lộ những nếp nhăn sâu nơi khóe mắt. Bà đưa tay đẩy tập giấy về phía cô:

"Hiểu được thì tốt. Kỹ sư giỏi không phải là người làm cho hệ thống trông có vẻ thông minh nhất, mà là người biết rõ nhất giới hạn cỗ máy của mình nằm ở đâu và dám nói thật cái giới hạn đó cho người khác biết. Cầm về sửa lại cho đàng hoàng rồi mới tính chuyện đưa ra ngoài đời."

***

Trời đứng bóng khi Yến dắt chiếc xe máy số cà tàng về đến con ngõ nhỏ ở Thanh Khê. Cái nóng giữa trưa dội xuống lòng đường nhựa hầm hập, làm bốc lên một thứ mùi tổng hợp của rác thải hữu cơ ứ đọng dưới miệng cống, mùi bê tông nung nóng và mùi mỡ bò khét lẹt từ tiệm sửa chữa mô-tơ điện ở tầng trệt của ngôi nhà cô thuê. Những cuộn dây đồng quấn dở nằm ngổn ngang trên nền xi măng nhớt nháp, tiếng máy mài kim loại rít lên từng chặp chói tai hòa vào tiếng còi xe inh ỏi từ trục đường chính Điện Biên Phủ vọng vào.

Yến dựng xe sát mép tường rào đầy rêu, cẩn thận gạt chân chống nghiêng rồi ôm tập tài liệu bước lên những bậc cầu thang gỗ ọp ẹp dẫn lên căn gác xép. Tiếng gỗ kêu cọt kẹt dưới từng bước chân nặng nề của cô. Từ bên trong căn phòng, tiếng gõ phím lạch cạch xen lẫn tiếng xì xụp húp nước mì vang ra đều đặn, không hề bị át đi bởi tiếng ồn cơ khí bên dưới.

Yến đẩy cánh cửa nhôm kính mỏng manh bước vào. Căn phòng rộng chưa đầy hai mươi mét vuông ngập trong hơi nóng phả xuống từ mái tôn fibro xi măng cũ kỹ. Chiếc quạt cây duy nhất với lồng sắt bám đầy bụi đen quay hết công suất từ góc phòng, nhưng luồng gió nó tạo ra chỉ như tạt thêm hơi nóng khô rát vào mặt người.

Võ Quốc Duy ngồi bó gối trên chiếc ghế xoay gãy một bên tay vịn, trước mặt là hai màn hình máy tính cũ được kê tạm trên những chồng sách kỹ thuật dày cộp. Cậu mặc một chiếc áo phông bạc màu rộng thùng thình, mái tóc bù xù không chải dựng đứng lộn xộn. Một tay Duy cầm đôi đũa tre gắp vội vắt mì tôm Hảo Hảo từ chiếc bát nhựa đỏ sứt một mảng lớn ở vành, tay kia vẫn đặt trên chuột máy tính, mắt không hề rời khỏi những hàng số liệu đang nhảy múa trên màn hình bên trái.

"Ăn trưa muộn thế Duy?" Yến đặt tập tài liệu đã bị bà Hà gạch xóa chi chít lên chiếc bàn gấp bằng sắt kê giữa phòng.

Duy giật mình, nuốt vội miếng mì còn chưa nhai kỹ rồi quay đầu lại. Cậu đưa ngón tay trỏ đẩy chiếc kính cận dày cộp đang trượt xuống mũi vì mồ hôi nhễ nhại: "Em tính chạy cho xong cái kịch bản kiểm tra chuỗi dữ liệu lịch sử lượng mưa giai đoạn 2018–2022 mà chị mang từ trung tâm dữ liệu Sài Gòn về. Nhưng mà chị Yến này, em thấy có vấn đề lớn rồi. Không chỉ là lớn, mà là cực kỳ nghiêm trọng."

Yến bước lại gần, kéo một chiếc ghế nhựa thấp ngồi xuống cạnh cậu, lòng chùng xuống: "Sao thế? Dữ liệu bị khuyết nhiều quá à? Đợt trước ở công ty cũ họ đã xử lý làm sạch một lần rồi mà."

"Khuyết thì đã đành, khuyết thì mình còn dùng thuật toán nội suy hoặc đánh dấu trường trống được," Duy đặt bát mì sang một góc bàn, ngón tay thoăn thoắt gõ phím gọi lên một bảng tính định dạng CSV với hàng chục ngàn dòng số liệu. "Vấn đề là nó bị lệch múi giờ. Toàn bộ các tệp bảng tính thu thập từ chuỗi trạm quan trắc tự động của các dự án hợp tác cũ đều lưu mốc thời gian theo chuẩn UTC không kèm theo cờ định danh múi giờ `+00:00`. Khi chị xuất sang file nén mang về đây, hệ thống đọc dữ liệu tự động của thư viện Pandas nó cứ thế đọc thẳng vào như thể đó là giờ địa phương UTC+7."

Duy dùng chuột bôi đen hai cột mốc thời gian hiển thị song song trên màn hình:

"Chị nhìn kỹ vào đây. Trận mưa dông lịch sử quét qua Đà Nẵng chiều ngày 14 tháng 10 năm đó, lượng mưa đỉnh điểm đo được là một trăm hai mươi milimét trong hai tiếng, rơi vào khoảng ba giờ đến năm giờ chiều. Nhưng trong bảng dữ liệu huấn luyện của chị, vì bị trễ bảy tiếng do lỗi UTC, đỉnh mưa đó lại bị gắn vào mốc... tám giờ đến mười giờ sáng! Tám giờ sáng hôm đó trời còn nắng chang chang, triều cường thì đang ở mức thấp nhất trong ngày. Mô hình học máy của chị suốt thời gian qua đã ngốn toàn bộ mớ dữ liệu này để học tương quan giữa lượng mưa và phản ứng mực nước cống. Nó đang học một chuỗi sự kiện hoàn toàn phi lý: mưa như trút nước vào buổi sáng nhưng cống rãnh không hề dâng, còn buổi chiều trời tạnh ráo thì nước lại ngập lút đầu gối!"

Yến sững sờ nhìn vào những con số. Một luồng ớn lạnh chạy dọc sống lưng cô, xua tan cái nóng bức ngột ngạt của căn gác xép. Sự bất cẩn chết người nằm ngay ở khâu tiền xử lý dữ liệu cơ bản nhất—khâu mà bất kỳ một kỹ sư mới ra trường nào cũng được nhắc nhở phải kiểm tra đầu tiên. Ở các dự án lớn tại Sài Gòn, các đường ống trích xuất dữ liệu đều có kỹ sư phụ trách hạ tầng kiểm tra chéo các thẻ định dạng thời gian ISO-8601. Khi vội vã đóng gói đồ đạc rời công ty cũ, cô đã tin tưởng tuyệt đối vào các tập dữ liệu lưu trữ đã được xử lý sơ bộ mà không trực tiếp viết mã kiểm tra lại từng dòng tiêu đề của dữ liệu thô.

"Chưa hết đâu chị," giọng Duy chùng xuống, vẻ mặt cậu trở nên nghiêm trọng khác thường, không còn nét tếu táo thường ngày của một cậu sinh viên làm thêm. Cậu chuyển sang màn hình thứ hai, mở một thư mục chứa hàng chục tệp dữ liệu không có phần mở rộng rõ ràng. "Em kiểm tra lại siêu dữ liệu của các chuỗi trạm đo này. Hoàn toàn không có trường thông tin về tọa độ trạm gốc. Không có vĩ độ, không có kinh độ, thậm chí không có cả cao độ đặt máy đo so với mực nước biển trung bình. Mấy cái file này chỉ được đặt tên cộc lốc là `Station_04`, `Station_09`. Nó nằm ở đầu nguồn Cu Đê hay nằm sát mép biển Liên Chiểu? Cùng một lượng mưa bốn mươi milimét, nếu rơi ở vùng núi thượng lưu thì mất bốn tiếng nước mới dồn về đồng bằng, nhưng nếu rơi ngay trên bề mặt bê tông hóa của nội thành Thanh Khê thì chỉ mười lăm phút là nước dềnh lên khỏi nắp hố ga."

Yến đưa hai bàn tay lên xoa mạnh hai bên thái dương. Cơn đau đầu âm ỉ từ sáng giờ bùng lên dữ dội, giật từng cơn theo nhịp tim đập. Cô nhìn Duy, nhận thấy ánh mắt của chàng trai trẻ không chỉ có sự mệt mỏi mà còn có cả sự dè chừng, một sự e ngại rất rõ ràng đối với hướng đi của dự án.

"Mớ số liệu này... còn nguồn nào khác nữa không Duy?"

Duy ngập ngừng vài giây, buông cây đũa xuống mặt bàn phát ra tiếng cạch nhẹ: "Thực ra... có một số chuỗi số liệu nguyên mẫu hồi tháng trước em tự ý bổ sung vào để lấp các khoảng trống dữ liệu khi chị yêu cầu dựng bản chạy thử gấp cho cụm An Khê. Em đã cào tự do từ mấy trang dự báo thời tiết công cộng và mấy diễn đàn thủy văn mở trên mạng. Hồi đó em nghĩ chỉ dùng để thử tải hệ thống nên không kiểm tra kỹ bản quyền. Mấy chuỗi số liệu đó không có giấy phép nguồn mở, không có tài liệu chứng minh phương pháp hiệu chuẩn thiết bị đo. Em cứ để lẫn nó trong tập huấn luyện của mô hình Rừng ngẫu nhiên."

Duy ngước nhìn Yến, giọng nói thẳng thắn và có phần gai góc, bộc lộ rõ sự tự vệ chính đáng của một người làm kỹ thuật:

"Chị Yến, em nói thật. Nếu mình tiếp tục nhắm mắt đưa cái khối dữ liệu hỗn tạp này vào huấn luyện mô hình học máy để chạy thật ở An Khê, các ngưỡng kích hoạt cảnh báo sẽ bị sai lệch hoàn toàn khi gặp thời tiết dông nhiệt cục bộ. Nó sẽ báo ngập bừa bãi khi trời chỉ mưa rào nhẹ, hoặc tệ hơn là im thin thít khi nước đã ngập tới mép giường người ta. Em chỉ nhận làm bán thời gian cho Thuỷ Kế theo đầu việc, ăn lương theo từng gói task nhỏ. Em không muốn sau này hệ thống chạy sai, người ta lôi đầu kỹ thuật ra chửi, rồi em phải gánh cái trách nhiệm bảo trì vô tận cho một đống rác dữ liệu không rõ nguồn gốc này đâu. Mình phải xác lập ranh giới trách nhiệm cho rõ ràng."

Căn phòng chìm vào sự im lặng ngột ngạt. Tiếng ve sầu kêu râm ran ngoài rặng xà cừ bên đường hòa vào tiếng máy mài từ xưởng cơ khí vọng lại khiến không khí càng thêm bức bối. Yến nhìn vào màn hình, nơi hàng triệu dòng số liệu đang nhấp nháy vô tri. Đó là công sức của cô suốt nhiều tuần lễ, là nền tảng để cô tự tin thuyết phục bà Lành và các hộ kinh doanh tham gia thử nghiệm.

Đúng lúc đó, tiếng bước chân vội vã nện thình thịch trên cầu thang gỗ dồn dập vang lên. Cánh cửa bật mở, Đặng Minh Thư bước vào, tay xách theo một bọc chè đá lắc rắc nước và mấy ổ bánh mì thịt gói trong giấy báo. Gương mặt Thư đỏ bừng vì nắng, mồ hôi ướt đẫm hai bên tóc mai dính bết vào má, nhưng ánh mắt cô tràn đầy sự phấn khởi, rạng rỡ như người vừa mang về một chiến lợi phẩm lớn.

"Tin vui đây cả nhà ơi!" Thư đặt bọc đồ ăn lên bàn, tiện tay kéo vạt áo quạt lấy quạt để, miệng cười tươi rói. "Sáng nay tao vừa lượn một vòng quanh hẻm An Khê. Chú Ba sửa xe đã đồng ý cho thằng Khang khoan dầm bê tông bắt gá cảm biến rồi nhé. Chú ấy còn bảo sẽ kéo nhờ nguồn điện từ xưởng cho cái mạch sạc năng lượng mặt trời nữa. Bà Lành tạp hóa với quán cơm bà Bảy cũng vui vẻ nhận tờ hướng dẫn sử dụng tin nhắn SMS rồi. Tao đã lỡ thông báo chắc nịch với các chủ tiệm là đúng sáng thứ Sáu tuần này, hệ thống Thuỷ Kế sẽ chính thức bấm nút kích hoạt chạy thử nghiệm ca đầu tiên. Tao còn bảo họ là cứ yên tâm kê cao gối mà ngủ, hệ thống của mình có kỹ sư túc trực dữ liệu hai mươi tư trên bảy, có biến là còi điện thoại reo ngay lập tức!"

Nụ cười trên môi Thư bỗng khựng lại khi nhận ra bầu không khí nặng trĩu trong phòng. Cô nhìn sang Duy đang cúi gục đầu nhìn bát mì tôm nguội ngắt đóng váng mỡ, rồi nhìn sang Yến với gương mặt tái nhợt và đôi mắt thâm quầng mệt mỏi.

"Sao thế hai người? Có chuyện gì à?" Thư hỏi, giọng chùng xuống, linh cảm thấy điều chẳng lành qua sự im lặng bất thường của cả hai.

Yến hít một hơi thật sâu, luồng không khí nóng ran tràn vào lồng ngực làm cô thấy nhói buốt nơi cuống họng: "Thư này. Sáng thứ Sáu này chúng ta không thể kích hoạt hệ thống thử nghiệm được."

"Mày nói cái gì?" Mắt Thư mở to, bọc chè đá trên tay cô suýt rơi tuột xuống nền nhà. "Mày đùa tao đấy à Yến? Tao vừa đi rã cả cẳng, muối mặt hứa sống hứa chết với từng người một trong cái ngõ đó. Mày có biết thuyết phục được bà Lành khó đến mức nào không? Người ta buôn bán kiếm từng đồng lẻ, người ta nghi ngờ đủ thứ lừa đảo công nghệ trên đời, tao phải đem cả uy tín cá nhân, đem cả chuyện tao là con cháu trong vùng ra bảo đảm để họ chịu mở điện thoại nhận tin nhắn thử nghiệm. Bây giờ mày bảo hoãn là hoãn thế nào?"

"Dữ liệu lịch sử bị lỗi nghiêm trọng," Yến nói chậm rãi, từng từ một như tự cứa vào lòng mình. "Toàn bộ chuỗi số liệu lượng mưa cũ bị lệch bảy múi giờ do sai định dạng UTC. Các trạm đo thiếu tọa độ địa lý. Thậm chí một phần số liệu nguyên mẫu không rõ nguồn gốc bản quyền, không có kiểm định vật lý. Nếu ép hệ thống chạy vào thứ Sáu, mô hình sẽ đưa ra những cảnh báo mù quáng. Chúng ta sẽ phát cảnh báo sai, hoặc bỏ sót hoàn toàn một trận ngập cục bộ."

"Thì mày sửa đi! Viết code lại chẳng lẽ mất nhiều thời gian thế sao?" Thư cao giọng, sự thất vọng và giận dữ bộc lộ rõ trên từng đường nét khuôn mặt. "Người ta là tiểu thương buôn bán nhỏ ở cái hẻm nghèo, họ cần một cái tin nhắn báo trước để kịp kê mấy bao gạo, mấy thùng mì tôm! Họ đâu có quan tâm múi giờ UTC hay kinh độ vĩ độ trạm đo của mày là cái quái gì! Cái họ cần là thứ Sáu này hệ thống hoạt động như đã hứa! Giờ mày bảo hoãn, họ sẽ nghĩ Thuỷ Kế là một lũ lừa đảo ăn ốc nói mò, nói hay làm dở. Mày định để tao vác mặt ra đó giải thích thế nào với họ?"

"Tao thà để họ giận tao bây giờ, còn hơn thứ Sáu này gửi cho họ một cái tin nhắn báo an toàn giả tạo để rồi nước dâng lên cuốn trôi toàn bộ tài sản của họ!" Yến đứng bật dậy, giọng cô run lên vì xúc động nhưng ánh mắt kiên định đến mức khiến Thư phải lùi lại nửa bước. "Mày có hiểu cảm giác của một người tin vào cái điện thoại để rồi sáng hôm sau thức dậy thấy cả gia tài ngập trong bùn cống không? Tao đã thấy cảnh đó ở đợt ngập năm ngoái tại miền Nam rồi! Một dòng code cẩu thả của mình ngoài đời thực là mồ hôi nước mắt, là nợ nần của cả một gia đình!"

Yến quay sang nhìn Duy, người vẫn đang im lặng chờ đợi phán quyết cuối cùng bên bàn máy tính. Căn phòng lặng đi, chỉ còn tiếng ù ù của quạt gió và tiếng thở dốc của Thư. Tài khoản ngân hàng của Thuỷ Kế chỉ còn vỏn vẹn hơn ba mươi tư triệu đồng, mỗi tuần trôi qua là một tuần dòng tiền cạn kiệt dần về con số không. Hoãn kích hoạt đồng nghĩa với việc lùi ngày nghiệm thu, lùi cơ hội chứng minh mô hình để tiếp cận các nguồn vốn hay khách hàng trả phí như kho hàng Cẩm Lệ. Nhưng sự thật kỹ thuật không cho phép sự thỏa hiệp rẻ rúng. Những lời nhắc nhở đanh thép của bà Hà ban sáng lại vang vọng trong đầu cô: *Kỹ sư giỏi là người biết rõ giới hạn cỗ máy của mình và dám nói thật cái giới hạn đó.*

"Duy," Yến ra lệnh, giọng cô lạnh và dứt khoát như một nhát dao chém xuống khoảng không ngột ngạt. "Tạo một nhánh lưu trữ cách ly ngay lập tức. Đưa toàn bộ các tệp dữ liệu lịch sử bị lệch múi giờ và các chuỗi số liệu cào không có giấy phép nguồn mở vào vùng cách ly kiểm dịch. Khóa hoàn toàn quyền truy cập của đường ống huấn luyện vào khối dữ liệu đó. Tuyệt đối không để một dòng dữ liệu bẩn nào rò rỉ vào bộ xử lý của mô hình cốt lõi."

Duy ngẩng đầu lên nhìn Yến, đôi mắt sau cặp kính cận lóe lên một nét ngạc nhiên rồi nhanh chóng chuyển thành sự tôn trọng sâu sắc. Cậu không nói một lời thừa thãi, hai bàn tay lập tức đặt lên bàn phím, gõ liên tiếp những dòng lệnh shell dứt khoát:

```bash mkdir -p ./data/quarantine/legacy_corrupted/ mv ./data/raw/historical_rain_2018_2022/*.csv ./data/quarantine/legacy_corrupted/ chmod 000 ./data/quarantine/legacy_corrupted/ ```

Những dòng thông báo di chuyển tệp tin cuộn lên vun vút trên màn hình đen kịt của cửa sổ dòng lệnh. Từng khối dữ liệu tích lũy suốt nhiều tháng trời lần lượt biến mất khỏi bộ nhớ đệm của thuật toán, để lại một khoảng trống hoác trên bảng điều khiển trung tâm.

Thư đứng tựa lưng vào khung cửa nhôm, khoanh hai tay trước ngực, đôi môi mím chặt không nói thêm một lời nào. Ánh mắt cô nhìn trân trân vào những khoảng trống xám xịt vừa xuất hiện trên giao diện hệ thống, vừa giận dữ vừa bất lực trước sự lạnh lùng đến mức tàn nhẫn của những nguyên tắc kỹ thuật mà Yến đang bám víu.

Duy nhấn phím Enter lần cuối cùng. Tiếng gõ phím khô khốc vang lên giữa căn gác xép oi nồng. Màn hình giám sát tài nguyên hệ thống vụt tắt dải màu cam biểu thị lưu lượng dữ liệu đầu vào, chỉ còn lại một con trỏ màu trắng đơn độc đang nhấp nháy trên nền đen kịt.

Duy tắt màn hình hiển thị chuỗi dữ liệu vừa bị cô lập, buông một câu hỏi cộc lốc: nếu bỏ hết phần này thì lấy gì để chạy thuật toán khi mây kéo đến?

Chương này thế nào?Đánh giá giúp Readeep đề xuất đúng hơn cho bạn