Canary rollouts: upgrade models in production without downtime
Bài tóm tắt Together AI 2026 3. Quy mô lớn Độ khó: Trung bình
Together AI · 2026 · 3. Quy mô lớn · Độ khó: Trung bình — bài gốc
Bài của nhà cung cấp, mô tả tính năng rollout của nền tảng; mọi nhận định là theo Together AI. Giữ lại vì nêu rõ thứ tự các bước trong một bước canary và một lần chạy thật. Bài cùng loạt: Together AI 2026.
Bối cảnh
- Hệ sinh thái model mở đổi nhanh nên đổi checkpoint hay đổi họ model là việc thường xuyên. Hai cách thường làm đều để con người làm cơ chế an toàn: đổi thẳng (mọi user cùng thấy, p95 tăng gấp đôi thì biết qua dashboard hoặc khách, rollback về model cũ phải cold start) hoặc tự viết script đẩy dần phần trăm traffic trong khi nhìn Grafana.
Thay đổi chính
- Rollout giữa hai deployment cùng endpoint (source đang phục vụ, target muốn phục vụ), ba chiến lược: canary theo bậc (mặc định 5% → 25% → 50% → 100%), blue-green (một bậc 0 → 100%), rolling (thay từng replica, giữ tổng capacity, hợp khi thiếu GPU).
- Thứ tự trong mỗi bậc, mỗi bước chặn một loại sự cố: scale target lên trước khi dời traffic (không đủ capacity thì dừng) → health gate (engine đã nạp và trả lời, không chỉ "đã start") → dời traffic → chờ 30 giây cho cache routing toàn cục hội tụ → drain source → chờ → metric gate → mới ghi bậc là xong. Lên thì capacity đi trước traffic; xuống thì traffic đi trước capacity.
- Metric gate trên danh mục đóng ba metric đo ở router, đo như nhau cho hai bên: tỉ lệ 5xx, latency (bimodal vì nhiều request bị từ chối nhanh, nên gate trên p95 trở lên), in-flight mỗi replica. Hai kiểu kiểm: tương đối (target không tệ hơn source quá N%, tự hiệu chỉnh, mặc định cho latency) và tuyệt đối (khi có SLO cứng hoặc chính source có thể không khoẻ).
- Cửa sổ: gate nhìn lại 5 phút, metric trễ khoảng 90 giây, nên thời gian chờ mỗi bậc phải ít nhất
window + 90s; nền tảng tự nâng 3 phút lên 390 giây nếu đặt ngắn hơn, để gate không đo lẫn traffic của bậc trước. p95 cần ít nhất 20 request trong cửa sổ, p99 cần 100; thiếu thì dừng vớiMETRICS_UNAVAILABLEthay vì coi là hồi quy. - Không tự abort: gate hỏng thì
SYSTEM_PAUSEDgiữ nguyên tỉ lệ hiện tại (bán kính ảnh hưởng dừng ở phần trăm canary) và chờ người quyết, vì theo bài dời traffic về cũng là một thay đổi cần có người nhìn. Trước khi dừng vì hồi quy, hệ truy vấn lại vài lần trong khoảng 90 giây để loại nhiễu do độ trễ ingest. Lỗi phục hồi được (thiếu GPU, hở pipeline metric) thì tự thử lại mỗi 15 phút tới 3 giờ. Không có trạng tháiFAILEDbỏ traffic lơ lửng: kết thúc làCOMPLETEDhoặcCANCELED(đóng băng tỉ lệ, rồi chạy rollout ngược). - Bảo đảm: capacity không bao giờ làm tròn xuống (target làm tròn lên, drain làm tròn xuống); mỗi bên luôn đủ replica cho phần traffic của mình, mất replica thì giữ tỉ lệ lớn nhất phục vụ được và dừng; rollout chỉ nâng sàn replica chứ không chống autoscaler; kiểm khả thi capacity cho cả hành trình trước khi chạm vào gì. Tạo và bắt đầu là hai bước để có thể review trước khi chạy.
Vì sao (lần chạy thật, 9/2026)
- Nâng Qwen2.5-7B lên Qwen3.5-9B (mỗi bên 1×H100), tải đều 5 request/giây, ngân sách p95 25%, canary 10% → 50% → 100%.
- +3:57 target xong cold start, nhận 10%; +11:00 gate hỏng: p95 router 1.740 ms so với 734 ms, hồi quy 137%; rollout dừng ở 10%. Nguyên nhân thật: model mới là model suy luận, sinh nhiều token hơn với cùng
max_tokens, nên đây là quyết định sản phẩm chứ không phải nhiễu; họ huỷ (tỉ lệ đóng băng 90/10 trong 0,2 giây) và chạy ngược, xong sau 5 phút 49 giây. - Cả quá trình 6.800 request, 0 response khác 200.
Bài học cho SWE
- Với tài nguyên khởi động chậm (GPU), thứ tự capacity/traffic trong mỗi bậc là phần lõi của an toàn: dời traffic chỉ khi phía nhận đã sẵn sàng thật, rút capacity chỉ khi traffic đã đi.
- Gate so sánh tương đối với source chống được việc phải biết trước ngưỡng tuyệt đối; nhưng cửa sổ đo phải nằm trọn trong bậc hiện tại và đủ mẫu.
- Một gate bắt được "hồi quy" có thể là thay đổi hành vi có chủ đích (model dài lời hơn); để người quyết thay vì auto-rollback là lựa chọn có lý do, khác với hướng tự revert của Uber 2025 (Uber 2025).
Liên quan
- Together AI 2026 · Anthropic 2025 (canary không bắt được lỗi chất lượng đầu ra) · Monzo 2022 · Achievers 2022
- Hạ tầng phục vụ LLM inference · Deploy và release an toàn
#LLM inference#Canary#Blue-green#Rolling#Metric gate#Regression check#Traffic split#Drain#Pause#Rollback#Capacity
Được nhắc tới trong
Công ty (1)
Bài tóm tắt (2)