The history of Amazon's forecasting algorithm
Bài tóm tắt Amazon 2021 4. Điều chỉnh Độ khó: Trung bình
Amazon · 2021 · 4. Điều chỉnh · Độ khó: Trung bình — bài gốc
Bài trên amazon.science, dạng phỏng vấn kể lịch sử; không có kiến trúc phục vụ, chỉ có hướng tiến hoá của hệ model. Số liệu theo Amazon.
Bối cảnh
- Forecast nhu cầu cho hơn 400 triệu sản phẩm ở hơn 185 nước để quyết định tồn kho; đội forecast từ 10 người không có nhà khoa học lên gần 200 người (2021).
- 2008: mô hình chuỗi thời gian kinh điển, tốt cho chuỗi ổn định nhưng sai với sản phẩm mới hay theo mùa. Mỗi trường hợp đặc biệt được vá bằng một thành phần gắn thêm: mô hình mùa vụ, mô hình co giãn theo giá, "Distribution Engine" dựng phân phối từ sai số quá khứ. Thêm định tuyến từng nhóm sản phẩm sang model chuyên biệt. Theo Kari Torkkola, hệ "cực khó bảo trì".
Thay đổi chính
- Gộp bằng random forest: sản phẩm ở nhiều danh mục hành xử giống nhau (hàng mới ra mắt), nên một model chung trên feature tự thiết kế lấy được sức mạnh thống kê từ mọi danh mục. Viết lại thành SQRF (Sparse Quantile Random Forest): ra phân vị chứ không chỉ một con số, chịu được feature thưa giữa các dòng sản phẩm, scale tới hàng triệu sản phẩm. Vẫn cần người thiết kế feature.
- 2014–2015, mạng nơ-ron: các thử nghiệm đầu (do thực tập sinh) không thắng SQRF đang chạy production. Bước ngoặt là train trực tiếp trên quantile loss nhiều horizon, đúng metric dùng để đánh giá; mạng feed-forward thắng SQRF, cho phép bắt đầu khai tử các model cũ; theo Amazon độ chính xác tăng 15 lần và hệ đơn giản hơn nhiều.
- 2016–2018, MQ-RNN/CNN: bỏ feature thủ công; một cấu trúc model cho mọi sản phẩm bán nhanh, thay "hàng tá" hệ cũ cho từng dòng sản phẩm.
- 2020, MQTransformer: attention cho phép model nhìn lại sai số của chính nó. Hướng tiếp theo (2021): reinforcement learning tối ưu thẳng chi phí thay vì mức tồn kho.
Vì sao
- Mỗi trường hợp đặc biệt một thành phần làm chi phí bảo trì tăng theo số trường hợp; model chung học được từ mọi danh mục và để số trường hợp đặc biệt co lại.
Bài học cho SWE
- Hệ vá bằng thành phần gắn thêm cho từng ngoại lệ cuối cùng phải được thay bằng một mô hình chung; cái khó là mô hình chung phải thắng hệ đang chạy trên đúng metric của nó, không phải chỉ hay hơn về lý thuyết.
- Tối ưu đúng metric dùng để quyết định (ở đây là quantile loss) là điều kiện để bản mới thắng bản cũ.
- Khai tử dần các model cũ sau khi bản thống nhất đã thắng, không thay một lần.
Liên quan
- Nền tảng ML (feature, training, serving, giám sát model)
- Cùng hướng gộp model: Netflix 2023 · forecast ở công ty khác: Spotify 2022
- Cùng công ty: Amazon 2014
#demand forecasting#time series#Distribution Engine#random forest#SQRF#quantile loss#feed-forward network#MQ-RNN/CNN#MQTransformer#unified model#SCOT
Được nhắc tới trong
Công ty (1)
Bài tóm tắt (1)