Nếu bạn đã từng chứng kiến một mô hình demo xử lý một lượng tải thử nghiệm nhỏ rồi đóng băng ngay khi người dùng thực sự xuất hiện, thì bạn đã gặp phải vấn đề nan giải: khả năng mở rộng. AI rất tham lam - dữ liệu, tính toán, bộ nhớ, băng thông - và kỳ lạ thay, cả sự chú ý. Vậy khả năng mở rộng AI thực sự là gì, và làm thế nào để đạt được nó mà không cần phải viết lại mọi thứ mỗi tuần?
Những bài viết bạn có thể muốn đọc sau bài này:
🔗 Định nghĩa đơn giản về thiên kiến trong AI
Tìm hiểu cách các thành kiến tiềm ẩn định hình các quyết định của AI và kết quả mô hình.
🔗 Hướng dẫn dành cho người mới bắt đầu: trí tuệ nhân tạo là gì
Tổng quan về AI, các khái niệm cốt lõi, các loại và ứng dụng hàng ngày.
🔗 AI có thể giải thích là gì và tại sao nó lại quan trọng
Khám phá cách AI có thể giải thích giúp tăng cường tính minh bạch, sự tin cậy và tuân thủ quy định.
🔗 AI dự đoán là gì và nó hoạt động như thế nào
Hiểu về AI dự đoán, các trường hợp sử dụng phổ biến, lợi ích và hạn chế.
Khả năng mở rộng AI là gì? 📈
Khả năng mở rộng AI là khả năng của một hệ thống AI trong việc xử lý nhiều dữ liệu, yêu cầu, người dùng và trường hợp sử dụng hơn, đồng thời vẫn duy trì hiệu suất, độ tin cậy và chi phí trong giới hạn cho phép. Không chỉ là máy chủ lớn hơn - mà là kiến trúc thông minh hơn, giúp duy trì độ trễ thấp, thông lượng cao và chất lượng ổn định khi đường cong tăng dần. Hãy nghĩ đến cơ sở hạ tầng linh hoạt, mô hình được tối ưu hóa và khả năng quan sát thực sự cho bạn biết điều gì đang diễn ra.

Điều gì tạo nên khả năng mở rộng AI tốt ✅
Khi khả năng mở rộng AI được thực hiện tốt, bạn sẽ nhận được:
-
Độ trễ có thể dự đoán được khi tải đột ngột hoặc tải liên tục 🙂
-
Thông lượng tăng lên tương ứng với phần cứng hoặc bản sao được thêm vào
-
Hiệu quả chi phí không tăng đột biến theo yêu cầu
-
Chất lượng ổn định khi đầu vào đa dạng và khối lượng tăng
-
Hoạt động ổn định nhờ tính năng tự động điều chỉnh, theo dõi và SLO hợp lý
Về cơ bản, điều này thường kết hợp việc mở rộng theo chiều ngang, xử lý theo lô, lưu trữ đệm, lượng tử hóa, phục vụ mạnh mẽ và các chính sách phát hành chu đáo gắn liền với ngân sách lỗi [5].
Khả năng mở rộng AI so với hiệu suất so với dung lượng 🧠
-
Hiệu suất là tốc độ hoàn thành một yêu cầu riêng lẻ khi hoạt động riêng lẻ.
-
Công suất là số lượng yêu cầu bạn có thể xử lý cùng một lúc.
-
Khả năng mở rộng AI là việc thêm tài nguyên hay sử dụng các kỹ thuật thông minh hơn sẽ làm tăng năng lực và duy trì hiệu suất ổn định mà không làm tăng hóa đơn hoặc máy nhắn tin của bạn.
Sự khác biệt nhỏ, hậu quả to lớn.
Tại sao quy mô lại có tác dụng trong AI: ý tưởng về quy luật quy mô 📚
Một góc nhìn sâu sắc được sử dụng rộng rãi trong ML hiện đại là độ mất mát được cải thiện theo những cách có thể dự đoán được khi bạn mở rộng quy mô mô hình, dữ liệu và tính toán - trong phạm vi hợp lý. Ngoài ra còn có sự cân bằng tối ưu về mặt tính toán giữa quy mô mô hình và mã thông báo đào tạo; việc mở rộng cả hai cùng lúc tốt hơn là chỉ mở rộng một. Trong thực tế, những ý tưởng này định hướng cho ngân sách đào tạo, lập kế hoạch tập dữ liệu và các đánh đổi phục vụ [4].
Dịch nhanh: lớn hơn có thể tốt hơn, nhưng chỉ khi bạn chia tỷ lệ đầu vào và tính toán theo tỷ lệ - nếu không thì cũng giống như lắp lốp máy kéo vào xe đạp. Trông có vẻ dữ dội, nhưng chẳng đi đến đâu cả.
Ngang so với dọc: hai đòn bẩy điều chỉnh tỷ lệ 🔩
-
Mở rộng theo chiều dọc : hộp lớn hơn, GPU mạnh hơn, bộ nhớ lớn hơn. Đơn giản, đôi khi tốn kém. Phù hợp cho việc huấn luyện một nút, suy luận độ trễ thấp hoặc khi mô hình của bạn không thể phân mảnh tốt.
-
Mở rộng theo chiều ngang : nhiều bản sao hơn. Hoạt động tốt nhất với các trình tự động mở rộng cho phép thêm hoặc xóa pod dựa trên số liệu CPU/GPU hoặc ứng dụng tùy chỉnh. Trong Kubernetes, HorizontalPodAutoscaler mở rộng pod theo nhu cầu - cơ chế kiểm soát đám đông cơ bản của bạn đối với các đợt tăng đột biến lưu lượng truy cập [1].
Anekdot (tổng hợp): Trong một lần ra mắt nổi bật, chỉ cần bật chế độ xử lý hàng loạt phía máy chủ và để trình tự động điều chỉnh phản ứng với độ sâu hàng đợi p95 được ổn định mà không cần bất kỳ thay đổi nào từ phía máy khách. Chiến thắng nhẹ nhàng vẫn là chiến thắng.
Toàn bộ khả năng mở rộng AI 🥞
-
Lớp dữ liệu : lưu trữ đối tượng nhanh, chỉ mục vectơ và thu thập luồng dữ liệu mà không làm chậm chương trình đào tạo của bạn.
-
Lớp đào tạo : các khung phân tán và trình lập lịch xử lý song song dữ liệu/mô hình, kiểm tra điểm, thử lại.
-
Lớp phục vụ : thời gian chạy được tối ưu hóa, xử lý hàng loạt động , phân trang chú ý cho LLM, lưu trữ đệm, phát trực tuyến mã thông báo. Triton và vLLM là những anh hùng thường xuyên ở đây [2][3].
-
Phối hợp : Kubernetes cho tính linh hoạt thông qua HPA hoặc trình tự động điều chỉnh tùy chỉnh [1].
-
Khả năng quan sát : dấu vết, số liệu và nhật ký theo dõi hành trình của người dùng và mô hình hóa hành vi trong sản xuất; thiết kế chúng xung quanh SLO của bạn [5].
-
Quản trị và chi phí : kinh tế theo yêu cầu, ngân sách và giải pháp tạm thời cho khối lượng công việc vượt ngoài tầm kiểm soát.
Bảng so sánh: công cụ và mô hình cho khả năng mở rộng AI 🧰
Có chút không đồng đều một cách cố ý - vì cuộc sống thực tế vốn dĩ như vậy.
| Công cụ / Mẫu | Khán giả | Giá cả tương đối | Lý do nó hiệu quả | Ghi chú |
|---|---|---|---|---|
| Kubernetes + HPA | Nhóm nền tảng | Nguồn mở + cơ sở hạ tầng | Cân các quả theo chiều ngang khi số liệu tăng đột biến | Số liệu tùy chỉnh là vàng [1] |
| NVIDIA Triton | Suy luận SRE | Máy chủ miễn phí; GPU $ | Phân lô động tăng cường thông lượng | Cấu hình thông qua config.pbtxt [2] |
| vLLM (PagedAttention) | Các đội LLM | Mã nguồn mở | Thông lượng cao thông qua phân trang bộ đệm KV hiệu quả | Tuyệt vời cho những lời nhắc dài [3] |
| ONNX Runtime / TensorRT | Những kẻ mọt sách | Công cụ miễn phí / của nhà cung cấp | Tối ưu hóa cấp độ hạt nhân làm giảm độ trễ | Đường dẫn xuất khẩu có thể phức tạp |
| Mẫu RAG | Nhóm ứng dụng | Infra + index | Chuyển giao kiến thức để truy xuất; mở rộng chỉ mục | Tuyệt vời cho sự tươi mát |
Khám phá sâu 1: Những mẹo giao bóng hiệu quả 🚀
-
suy luận nhỏ thành các nhóm lớn hơn trên máy chủ, tăng đáng kể việc sử dụng GPU mà không cần thay đổi máy khách [2].
-
Sự chú ý được phân trang lưu giữ nhiều cuộc hội thoại hơn trong bộ nhớ bằng cách phân trang bộ đệm KV, giúp cải thiện thông lượng khi đồng thời [3].
-
Yêu cầu hợp nhất và lưu vào bộ nhớ đệm để có lời nhắc hoặc nhúng giống hệt nhau, tránh làm việc trùng lặp.
-
Giải mã suy đoán và phát trực tuyến mã thông báo làm giảm độ trễ nhận thức, ngay cả khi đồng hồ treo tường hầu như không thay đổi.
Phân tích sâu 2: Hiệu quả ở cấp độ mô hình - lượng tử hóa, chắt lọc, cắt tỉa 🧪
-
Lượng tử hóa làm giảm độ chính xác của tham số (ví dụ: 8 bit/4 bit) để thu nhỏ bộ nhớ và tăng tốc độ suy luận; luôn đánh giá lại chất lượng tác vụ sau khi thay đổi.
-
Quá trình chưng cất truyền đạt kiến thức từ một giáo viên lớn đến một học sinh nhỏ hơn mà phần cứng của bạn thực sự thích.
-
cắt tỉa có cấu trúc sẽ cắt bớt phần trọng lượng/phần đầu ít ảnh hưởng nhất.
Thành thật mà nói, việc này cũng giống như việc bạn thu nhỏ vali lại rồi khăng khăng đòi tất cả giày dép của mình vẫn vừa. Nhưng phần lớn là vẫn vừa.
Phân tích sâu 3: Mở rộng dữ liệu và đào tạo mà không bị gián đoạn 🧵
-
Sử dụng phương pháp đào tạo phân tán giúp ẩn đi những phần phức tạp của tính song song để bạn có thể triển khai thử nghiệm nhanh hơn.
-
quy luật mở rộng này : phân bổ ngân sách một cách thận trọng trên toàn bộ kích thước mô hình và mã thông báo; việc mở rộng cả hai cùng nhau sẽ hiệu quả về mặt tính toán [4].
-
Chất lượng chương trình giảng dạy và dữ liệu thường ảnh hưởng đến kết quả nhiều hơn mức mọi người thừa nhận. Dữ liệu tốt hơn đôi khi còn tốt hơn dữ liệu nhiều hơn - ngay cả khi bạn đã đặt hàng cụm dữ liệu lớn hơn.
Phân tích sâu 4: RAG như một chiến lược mở rộng kiến thức 🧭
Thay vì đào tạo lại mô hình để theo kịp các sự kiện thay đổi, RAG bổ sung một bước truy xuất ở giai đoạn suy luận. Bạn có thể giữ mô hình ổn định và mở rộng chỉ mục cũng như các bộ truy xuất khi kho ngữ liệu của bạn phát triển. Phương pháp này rất tinh tế - và thường tiết kiệm chi phí hơn so với việc đào tạo lại toàn bộ cho các ứng dụng nặng về kiến thức.
Khả năng quan sát mang lại lợi nhuận 🕵️♀️
Bạn không thể thay đổi kích thước những gì bạn không nhìn thấy. Hai điều cần thiết:
-
Các số liệu để lập kế hoạch năng lực và tự động mở rộng: phần trăm độ trễ, độ sâu hàng đợi, bộ nhớ GPU, kích thước lô, thông lượng mã thông báo, tỷ lệ truy cập bộ nhớ đệm.
-
kết những gì bạn đo lường với SLO để bảng thông tin trả lời câu hỏi trong vòng chưa đầy một phút [5].
Khi bảng thông tin trả lời câu hỏi trong vòng chưa đầy một phút, mọi người sẽ sử dụng chúng. Còn khi không, họ lại giả vờ như có.
Tiêu chuẩn về độ tin cậy: SLO, ngân sách lỗi, triển khai hợp lý 🧯
-
Xác định SLO cho độ trễ, tính khả dụng và chất lượng kết quả, đồng thời sử dụng ngân sách lỗi để cân bằng độ tin cậy với tốc độ phát hành [5].
-
Triển khai sau các điểm phân luồng giao thông, thực hiện các bài kiểm tra canary và chạy thử nghiệm bóng tối trước khi chuyển đổi toàn cầu. Bản thân tương lai của bạn sẽ gửi đồ ăn nhẹ.
Kiểm soát chi phí mà không gây rắc rối 💸
Việc mở rộng quy mô không chỉ mang tính kỹ thuật; mà còn mang tính tài chính. Hãy coi giờ GPU và token là tài nguyên hạng nhất với tính kinh tế theo đơn vị (chi phí cho mỗi 1.000 token, mỗi lần nhúng, mỗi truy vấn vector). Thêm ngân sách và cảnh báo; hãy tận hưởng việc xóa bỏ các thứ.
Lộ trình đơn giản để mở rộng khả năng mở rộng AI 🗺️
-
Bắt đầu với SLO cho độ trễ p95, tính khả dụng và độ chính xác của tác vụ; số liệu/dấu vết dây vào ngày đầu tiên [5].
-
Chọn một ngăn xếp phục vụ hỗ trợ phân lô và phân lô liên tục: Triton, vLLM hoặc tương đương [2][3].
-
Tối ưu hóa mô hình : lượng tử hóa những phần cần thiết, cho phép kernel chạy nhanh hơn hoặc tinh lọc cho các tác vụ cụ thể; xác thực chất lượng bằng các đánh giá thực tế.
-
Kiến trúc sư cho tính đàn hồi : Kubernetes HPA với các tín hiệu phù hợp, đường dẫn đọc/ghi riêng biệt và bản sao suy luận không trạng thái [1].
-
Áp dụng phương pháp truy xuất khi độ mới mẻ là yếu tố quan trọng để bạn mở rộng chỉ mục thay vì đào tạo lại mỗi tuần.
-
Khép lại vòng lặp với chi phí : thiết lập nền kinh tế đơn vị và đánh giá hàng tuần.
Các chế độ lỗi thường gặp và cách khắc phục nhanh 🧨
-
GPU sử dụng 30% trong khi độ trễ kém
-
Bật chế độ xử lý hàng loạt động , tăng giới hạn hàng loạt một cách cẩn thận và kiểm tra lại tính đồng thời của máy chủ [2].
-
-
Thông lượng giảm xuống với các lời nhắc dài
-
Sử dụng dịch vụ hỗ trợ sự chú ý được phân trang và điều chỉnh các chuỗi đồng thời tối đa [3].
-
-
Cánh tự động điều chỉnh tỷ lệ
-
Làm mịn các số liệu với cửa sổ; mở rộng theo độ sâu hàng đợi hoặc số lượng mã thông báo tùy chỉnh trên giây thay vì CPU thuần túy [1].
-
-
Chi phí tăng vọt sau khi ra mắt
-
Thêm số liệu chi phí theo yêu cầu, cho phép lượng tử hóa ở nơi an toàn, lưu vào bộ nhớ đệm các truy vấn hàng đầu và giới hạn tốc độ các truy vấn tệ nhất.
-
Cẩm nang về khả năng mở rộng AI: danh sách kiểm tra nhanh ✅
-
SLO và ngân sách lỗi tồn tại và có thể nhìn thấy được
-
Số liệu: độ trễ, tps, bộ nhớ GPU, kích thước lô, mã thông báo/giây, truy cập bộ nhớ đệm
-
Dấu vết từ đầu vào đến mô hình đến hậu xử lý
-
Phục vụ: xử lý hàng loạt, điều chỉnh đồng thời, bộ đệm ấm
-
Mô hình: lượng tử hóa hoặc chưng cất khi nó giúp ích
-
Cơ sở hạ tầng: HPA được cấu hình với các tín hiệu phù hợp
-
Con đường truy xuất kiến thức mới
-
Kinh tế đơn vị được xem xét thường xuyên
Quá dài, không đọc hết và lời kết 🧩
Khả năng mở rộng AI không phải là một tính năng đơn lẻ hay một công tắc bí mật. Nó là một ngôn ngữ mẫu: khả năng mở rộng theo chiều ngang với các bộ tự động mở rộng, xử lý hàng loạt trên máy chủ để tối ưu hóa việc sử dụng, hiệu quả ở cấp độ mô hình, khả năng truy xuất để chuyển giao kiến thức, và khả năng quan sát khiến việc triển khai trở nên nhàm chán. Hãy thêm vào SLO (thời gian hoàn thành công việc) và quy trình vệ sinh chi phí để đảm bảo mọi người luôn đồng bộ. Bạn sẽ không thể hoàn hảo ngay lần đầu tiên - không ai làm được điều đó - nhưng với các vòng phản hồi phù hợp, hệ thống của bạn sẽ phát triển mà không còn cảm giác nóng bừng lúc 2 giờ sáng nữa 😅
Tài liệu tham khảo
[1] Tài liệu Kubernetes - Tự động điều chỉnh Pod theo chiều ngang - đọc thêm
[2] NVIDIA Triton - Bộ xử lý động - đọc thêm
[3] Tài liệu vLLM - Chú ý được phân trang - đọc thêm
[4] Hoffmann và cộng sự (2022) - Đào tạo các mô hình ngôn ngữ lớn tối ưu tính toán - đọc thêm
[5] Sổ tay Google SRE - Triển khai SLO - đọc thêm