- GPU hiện đã được hỗ trợ chính thức (GA) trên Cloud Run, giúp việc chạy workload AI trở nên dễ dàng hơn
- GPU nay cũng có thể được sử dụng trong Cloud Run jobs, mở ra những khả năng mới cho xử lý theo lô và các tác vụ bất đồng bộ
- Môi trường được tối ưu cho các tác vụ theo lô quy mô lớn như xử lý hình ảnh, phân tích ngôn ngữ tự nhiên và chuyển đổi media
Cloud Run GPU được cung cấp chính thức và những thay đổi chính
Bắt đầu hỗ trợ NVIDIA GPU trên Cloud Run jobs
- Tính năng GPU của Cloud Run trước đây được dùng chủ yếu trong các dịch vụ dựa trên yêu cầu như suy luận thời gian thực
- Giờ đây, hỗ trợ GPU trên Cloud Run jobs đã được chính thức hóa, cho phép nhiều trường hợp sử dụng mới
- Tinh chỉnh mô hình: có thể dễ dàng huấn luyện lại mô hình đã được huấn luyện trước để phù hợp với một tập dữ liệu cụ thể
- Suy luận AI theo lô: phù hợp với các tác vụ quy mô lớn như phân tích hình ảnh, xử lý ngôn ngữ tự nhiên hoặc tạo gợi ý
- Xử lý media số lượng lớn: có thể xử lý hiệu quả việc chuyển mã video, tạo thumbnail, chuyển đổi hình ảnh... bằng GPU
- Cloud Run job gắn GPU sẽ tự động giảm tài nguyên sau khi hoàn thành công việc, giúp giảm tối đa gánh nặng quản lý
Trải nghiệm thực tế từ các doanh nghiệp triển khai sớm
- vivo: Cloud Run giúp tăng tốc độ lặp lại trong phát triển ứng dụng AI và tiết kiệm đáng kể chi phí vận hành và bảo trì. Tính năng tự động mở rộng của GPU đã thúc đẩy mạnh hiệu quả áp dụng AI tại các thị trường nước ngoài
- Wayfair: GPU L4 vừa mang lại hiệu năng mạnh mẽ vừa có mức giá hợp lý; khi kết hợp với khả năng autoscaling nhanh của Cloud Run, họ đã giảm được khoảng 85% chi phí
- Midjourney: Cloud Run GPU rất hữu ích cho xử lý hình ảnh quy mô lớn, và nhờ môi trường phát triển đơn giản, rõ ràng, họ có thể tập trung vào đổi mới mà không phải gánh nặng quản lý hạ tầng. Khả năng mở rộng GPU giúp việc phân tích và xử lý hàng triệu hình ảnh trở nên dễ dàng
Hướng dẫn bắt đầu và tài nguyên
Kết luận
- Việc hỗ trợ chính thức GPU trên Cloud Run mang lại khả năng mở rộng đột phá cho nhiều workload chuyên biệt như AI, xử lý theo lô quy mô lớn và chuyển đổi media
- Các doanh nghiệp thực tế đã chứng minh nhiều lợi ích về chi phí, hiệu quả vận hành và khả năng mở rộng
- Với cấu hình đơn giản và nhiều tài liệu học tập, bất kỳ ai cũng có thể dễ dàng bắt đầu workload GPU trên đám mây
1 bình luận
Ý kiến trên Hacker News
Tôi thật sự rất thích Google Cloud Run và thuộc nhóm tích cực khuyến nghị đây là lựa chọn tốt nhất. Tuy vậy, tôi khó có thể khuyên dùng Cloud Run GPU. Mô hình tính phí theo instance kém hiệu quả, và các tùy chọn GPU cũng hạn chế. Khi nạp/gỡ mô hình khỏi bộ nhớ GPU sẽ bị giảm hiệu năng, nên trong môi trường serverless có giới hạn là khá chậm. Nếu so chi phí thực tế, chỉ cần mức sử dụng khoảng 30% mỗi ngày thì tổ hợp VM+GPU đã kinh tế hơn. (liên kết blog liên quan)
Phó chủ tịch Google đây. Cảm ơn phản hồi. Tôi nhìn chung đồng ý rằng với trường hợp cần dung lượng dịch vụ gần như cố định theo thời gian, việc provision trước VM sẽ hiệu quả chi phí hơn trong cấu trúc giá hiện tại. Ngược lại, tôi cho rằng Cloud Run GPU được tối ưu cho các môi trường như sản phẩm mới hoặc ứng dụng AI có nhu cầu tăng vọt đột ngột, nơi cần chi phí nhàn rỗi tối thiểu, khởi động rất nhanh và lưu lượng truy cập thưa, không đều
Cloud Run tạo ấn tượng là một dịch vụ thật sự xuất sắc. Theo trải nghiệm của tôi, nó dễ xử lý hơn AWS ECS/Fargate rất nhiều
Vấn đề lớn nhất là không thể yên tâm dùng VM trên GCP. Tất cả các cloud lớn đều có vấn đề này. Trên AWS thì không thể kiếm được GPU 80GB nếu không đặt trước dài hạn, mà giá thì vô lý. GCP cũng đắt và khả dụng thấp tương tự. Các công ty lớn nói rằng họ thân thiện với startup, nhưng trải nghiệm thực tế không như vậy. Những neocloud như runpod, nebius, lambda lại cung cấp dịch vụ tốt hơn nhiều. Tôi nghĩ các cloud lớn đang mắc sai lầm có thể gây tổn hại lớn đến tăng trưởng dài hạn vì họ tự mãn với nhu cầu cố định và không quan tâm tới startup
Tôi có trải nghiệm trái ngược với Cloud Run. Do hiện tượng scale-out/restart không rõ nguyên nhân, cuối cùng tôi còn phải mua gói hỗ trợ trả phí để hỏi, nhưng vẫn không tìm ra câu trả lời. Sau đó tôi chuyển sang tự quản lý VM. Không rõ từ đó đến nay đã cải thiện chưa
Về ý kiến cho rằng Cloud Run là tốt nhất, tôi muốn tự mình kiểm tra các con số. Nó phù hợp cho dự án đồ chơi, nhưng trong thực tế lại là hố đốt tiền. Trong các dự án của tôi, vấn đề autoscale liên tục xảy ra; "scale to zero" nghe thì hay trên lý thuyết nhưng thực tế trong quá trình warm-up thường có nhiều container được dựng lên cho một request rồi giữ rất lâu. Ngay cả các container không có CPU hay network usage rõ ràng vẫn tiếp tục bị tính phí. Các dự án Java hoặc Python có tốc độ cold start cực kỳ chậm; còn với Go/C++/Rust thì tôi chưa có trải nghiệm nên không rõ
Ngoài sự phức tạp của các cloud lớn, còn có nỗi lo bị tính phí YOLO vô hạn, tới mức qua một đêm thẻ tín dụng có thể bị quét sạch. Kết luận là tôi sẽ tiếp tục ở lại với Modal và vast.ai
Với người dùng cá nhân/dự án nhỏ, việc không cung cấp trần chi phí (CAP) là điểm yếu lớn của GCP. Trong trường hợp Cloud Run, có thể phần nào chặn chi phí gián tiếp bằng giới hạn concurrency và giới hạn số lượng instance. Dù vậy vẫn không thể xem là CAP hoàn chỉnh
Tôi từng quên tắt instance trên AWS và bị tính phí cao, nên scale to zero và tính phí theo giây của Cloud Run là ưu điểm rất lớn. Nếu tốc độ khởi động thực sự nhanh thì tôi tin nó sẽ hoàn hảo cho workload của mình
Trên Cloud Run có thể giới hạn chi phí tối đa một cách gián tiếp bằng cách đặt số lượng instance tối đa. "Hard cap" thời App Engine thực tế lại gây tác dụng phụ là dịch vụ dừng hẳn đúng lúc nó bắt đầu nổi lên (ví dụ khi lên HN). Cá nhân tôi thấy quản lý ngân sách dựa trên cảnh báo là lựa chọn tốt hơn
Đây cũng chính là lý do tôi đã bỏ Datadog trong production. Tôi nghi ngờ việc các nền tảng chấp nhận ấn tượng tiêu cực do người dùng vô tình bị tính phí vượt mức có thật sự đáng giá hay không
Tôi không rõ Modal hay vast.ai ngăn việc tính phí YOLO như thế nào. Không biết họ dùng mô hình trả trước hay có cung cấp CAP trực tiếp hay không
Sau khi tự so sánh giá, tôi có ấn tượng là lợi thế không thật sự rõ ràng. Tôi đã tổng hợp cụ thể giá theo giờ của Google, runpod.io và vast.ai vào bảng:
Giá của Google có cảm giác được tính theo kiểu chạy 24/7 cả tháng, trong khi runpod.io và vast.ai tính phí theo giây. Tôi không tìm được giá spot cho GPU của Google
Có thể xem ngay giá spot ở mục "Tạo compute instance". Ví dụ trên GCP, 1xH100 spot là $2.55/giờ, và càng dùng dài hạn càng có thêm giảm giá. Khách hàng doanh nghiệp thực tế còn có thể thương lượng giảm thêm. Chỉ người dùng phổ thông mới phải trả mức giá niêm yết này
Tôi muốn biết nguồn của mức giá vast.ai. Theo trang chủ thì tùy chọn 8xH200 phần lớn có vẻ từ $21.65/giờ trở lên
Tôi muốn biết cơ sở nào để nói rằng giá của Google được đặt theo giả định 24/7. Nếu xem trang giá chính thức của Cloud Run, họ giải thích chỉ tính phí theo mức sử dụng thực tế, đơn vị 100 mili giây, và autoscaling cũng tự động thu hẹp sau 15 phút chờ với instance nhàn rỗi (PM của Cloud Run)
Tôi thắc mắc liệu trên Cloud Run GPU có phải chỉ chọn được 1xL4 hay không
Nếu giá của Google cũng tính theo giây, thì với mức sử dụng dưới 20 phút có thể ngược lại Google lại có lợi hơn
Tôi là fan nhiệt thành của Modal và đã dùng serverless scale-to-zero GPU từ lâu. Khi cần thì rất dễ scale up lên quy mô lớn, đồng thời gánh nặng phát triển cũng ít hơn đáng kể. Thật thú vị khi thấy các nhà cung cấp lớn bước vào thị trường này. Một phần lý do tôi chuyển sang Modal là vì trước đây các cloud lớn không cung cấp tính năng như vậy (AWS Lambda chẳng hạn không hỗ trợ GPU). Tôi tự hỏi liệu giờ đây tất cả các cloud lớn có đang đi theo hướng dịch vụ này hay không
Modal thực sự rất tuyệt. Cả phần kỹ thuật chuyên sâu về LP solver mà họ tự công bố cũng rất ấn tượng. Nếu là Python developer thì tôi cũng khuyên dùng Coiled. Nó không nhanh bằng Modal nhưng cho phép spin up GPU VM dễ dàng, và mọi thứ đều chạy trong tài khoản cloud của chính bạn. Nó còn cung cấp quản lý package tiện lợi như đồng bộ CUDA driver/thư viện Python. (Lưu ý: tôi làm ở Coiled, nhưng vẫn thật lòng khuyên dùng)
Việc còn hỗ trợ cả workload tuân thủ HIPAA cũng là một ưu điểm ngoài mong đợi
Modal có tốc độ cold start nhanh nhất đối với các mô hình trên 10GB
Tài liệu của Modal cũng được tổ chức rất tốt, điều này khá ấn tượng
Lý do lớn nhất khiến Cloud Run tốt hơn các dịch vụ khác là autoscale, scale-to-zero. Khi thực sự không có sử dụng thì chi phí gần như bằng 0, và cũng có thể kiểm soát ổn định chi phí tối đa bằng cách chỉ định số lượng instance tối đa. Tuy nhiên điều này là theo góc nhìn chỉ dùng phiên bản CPU, và nó rất đáng tin cậy, dễ sử dụng
Nhà cung cấp GPU cloud nhỏ ở châu Âu là DataCrunch (không liên quan) cung cấp GPU VM Nvidia rẻ hơn RunPod và các bên tương tự
1x A100 80GB 1.37 euro/giờ
1x H100 80GB 2.19 euro/giờ
Trên lambda.ai, 1x H100 80GB VM được cung cấp với giá $2.49/giờ. Quy đổi tỷ giá thì đúng bằng 2.19 euro. Tôi tò mò không biết đây là ngẫu nhiên hay trong ngành có một mức trần vô hình nào đó
Trên Vast.ai có thể dùng 2x A100 theo kiểu P2P với giá $0.8/giờ (tức là $0.4/giờ cho mỗi A100). Tôi chỉ là người dùng hài lòng bình thường thôi. Cần chú ý tốc độ mạng. Một số host dùng chung băng thông nên tốc độ thực tế có thể khác quảng cáo. Nếu di chuyển dữ liệu lớn thì cần cẩn thận
VP/GM phụ trách Cloud Run/GKE đây. Tôi sẵn sàng nhận câu hỏi liên quan. Cảm ơn mọi người đã quan tâm nhiều
Tôi thích Cloud Run và thấy tính năng mới này cũng khá thú vị. Tuy nhiên điều đáng tiếc là tôi từng muốn chạy self hosted GitHub runners nhưng không được hỗ trợ do vấn đề quyền root. Ngoài ra, tính năng worker pool mới đưa vào thực chiến cũng phải tự viết scaler nên không phải là tính năng tích hợp sẵn thực sự
Sau khi từng bị tính phí $1000 vì để quên một mô hình chạy trên vertex.ai cho mục đích thử nghiệm, lần này Cloud Run có vẻ sẽ trở thành dịch vụ go-to của tôi. Tôi đã vận hành microservice production và dự án sở thích trên Cloud Run nhiều năm, và hài lòng cả về sự đơn giản lẫn hiệu quả chi phí
Nếu tôi hiểu đúng, có thể tạo API chạy các mô hình tùy ý như trên Hugging Face, và dù không có mô hình tính phí theo token thì nếu tải sử dụng thấp vẫn có thể vận hành khá rẻ. Nếu đúng vậy thì đây là bước đột phá lớn. Đa số nhà cung cấp hiện nay yêu cầu phí thuê bao hàng tháng nếu muốn vận hành mô hình tùy biến
Về cơ bản là đúng. Tuy nhiên cần lưu ý tốc độ cold start có thể rất chậm (30~60 giây). Đây là nhược điểm của scale to zero. Ngoài ra cũng có một vài khoản phí tháng nhỏ như lưu trữ container
Cũng có nhiều lựa chọn thay thế hỗ trợ suy luận serverless GPU như Runpod, vast, coreweave, replicate v.v.