Cách Veriff giảm 80% thời gian triển khai bằng cách sử dụng điểm cuối đa mô hình Amazon SageMaker | Dịch vụ web của Amazon

Cách Veriff giảm 80% thời gian triển khai bằng cách sử dụng điểm cuối đa mô hình Amazon SageMaker | Dịch vụ web của Amazon

Thẩm phán là đối tác nền tảng xác minh danh tính cho các tổ chức thúc đẩy tăng trưởng đổi mới, bao gồm các tổ chức tiên phong trong dịch vụ tài chính, FinTech, tiền điện tử, trò chơi, di động và thị trường trực tuyến. Họ cung cấp công nghệ tiên tiến kết hợp tự động hóa do AI cung cấp với phản hồi của con người, hiểu biết sâu sắc và kiến ​​thức chuyên môn.

Cách Veriff giảm 80% thời gian triển khai bằng cách sử dụng điểm cuối đa mô hình Amazon SageMaker | Dịch vụ web của Amazon PlatoThông minh dữ liệu Blockchain. Tìm kiếm dọc. Ái.

Veriff cung cấp cơ sở hạ tầng đã được chứng minh cho phép khách hàng tin tưởng vào danh tính và đặc điểm cá nhân của người dùng trong tất cả các thời điểm có liên quan trong hành trình khách hàng của họ. Veriff được các khách hàng như Bolt, Deel, Monese, Starship, Super Awesome, Trustpilot và Wise tin cậy.

Là một giải pháp hỗ trợ AI, Veriff cần tạo và chạy hàng chục mô hình học máy (ML) theo cách tiết kiệm chi phí. Các mô hình này bao gồm từ mô hình dựa trên cây nhẹ đến mô hình thị giác máy tính học sâu, cần chạy trên GPU để đạt được độ trễ thấp và cải thiện trải nghiệm người dùng. Veriff hiện cũng đang bổ sung thêm nhiều sản phẩm hơn vào sản phẩm của mình, hướng tới giải pháp siêu cá nhân hóa cho khách hàng của mình. Việc phục vụ các mô hình khác nhau cho các khách hàng khác nhau làm tăng thêm nhu cầu về giải pháp phục vụ mô hình có thể mở rộng.

Trong bài đăng này, chúng tôi chỉ cho bạn cách Veriff chuẩn hóa quy trình triển khai mô hình của họ bằng cách sử dụng Amazon SageMaker, giảm chi phí và thời gian phát triển.

Những thách thức về cơ sở hạ tầng và phát triển

Kiến trúc phụ trợ của Veriff dựa trên mẫu vi dịch vụ, với các dịch vụ chạy trên các cụm Kubernetes khác nhau được lưu trữ trên cơ sở hạ tầng AWS. Cách tiếp cận này ban đầu được sử dụng cho tất cả các dịch vụ của công ty, bao gồm cả các dịch vụ vi mô chạy các mô hình ML thị giác máy tính đắt tiền.

Một số mô hình này yêu cầu triển khai trên các phiên bản GPU. Nhận thức được chi phí tương đối cao hơn của các loại phiên bản hỗ trợ GPU, Veriff đã phát triển một giải pháp tùy chỉnh trên Kubernetes để chia sẻ tài nguyên của GPU nhất định giữa các bản sao dịch vụ khác nhau. Một GPU thường có đủ VRAM để chứa nhiều mô hình thị giác máy tính của Veriff trong bộ nhớ.

Mặc dù giải pháp này đã giảm bớt chi phí GPU nhưng nó cũng đi kèm với hạn chế là các nhà khoa học dữ liệu cần phải chỉ ra trước lượng bộ nhớ GPU mà mô hình của họ sẽ yêu cầu. Hơn nữa, DevOps còn phải gánh nặng việc cung cấp phiên bản GPU theo cách thủ công để đáp ứng các mẫu nhu cầu. Điều này gây ra chi phí vận hành và cung cấp quá mức các phiên bản, dẫn đến hồ sơ chi phí dưới mức tối ưu.

Ngoài việc cung cấp GPU, thiết lập này còn yêu cầu các nhà khoa học dữ liệu xây dựng trình bao bọc API REST cho từng mô hình, cần thiết để cung cấp giao diện chung cho các dịch vụ khác của công ty sử dụng và đóng gói tiền xử lý và hậu xử lý dữ liệu mô hình. Các API này yêu cầu mã cấp sản xuất, điều này gây khó khăn cho các nhà khoa học dữ liệu trong việc sản xuất mô hình.

Nhóm nền tảng khoa học dữ liệu của Veriff đã tìm kiếm những cách khác cho phương pháp này. Mục tiêu chính là hỗ trợ các nhà khoa học dữ liệu của công ty chuyển đổi tốt hơn từ nghiên cứu sang sản xuất bằng cách cung cấp các quy trình triển khai đơn giản hơn. Mục tiêu thứ yếu là giảm chi phí vận hành khi cung cấp phiên bản GPU.

Tổng quan về giải pháp

Veriff yêu cầu một giải pháp mới giải quyết được hai vấn đề:

  • Cho phép xây dựng trình bao bọc API REST xung quanh các mô hình ML một cách dễ dàng
  • Cho phép quản lý dung lượng phiên bản GPU được cung cấp một cách tối ưu và tự động nếu có thể

Cuối cùng, nhóm nền tảng ML đã thống nhất quyết định sử dụng Điểm cuối đa mô hình của Sagemaker (MME). Quyết định này được thúc đẩy bởi sự hỗ trợ của MME dành cho NVIDIA Máy chủ suy luận Triton (một máy chủ tập trung vào ML giúp dễ dàng bao bọc các mô hình dưới dạng API REST; Veriff cũng đã thử nghiệm với Triton), cũng như khả năng quản lý nguyên bản việc tự động mở rộng quy mô của các phiên bản GPU thông qua các chính sách tự động mở rộng quy mô đơn giản.

Hai MME đã được tạo tại Veriff, một dành cho dàn dựng và một dành cho sản xuất. Cách tiếp cận này cho phép họ chạy các bước thử nghiệm trong môi trường dàn dựng mà không ảnh hưởng đến mô hình sản xuất.

SageMaker MME

SageMaker là một dịch vụ được quản lý hoàn toàn, cung cấp cho các nhà phát triển và nhà khoa học dữ liệu khả năng xây dựng, đào tạo và triển khai các mô hình ML một cách nhanh chóng. SageMaker MME cung cấp giải pháp có thể mở rộng và tiết kiệm chi phí để triển khai một số lượng lớn mô hình cho suy luận thời gian thực. MME sử dụng vùng chứa phân phối dùng chung và nhóm tài nguyên có thể sử dụng các phiên bản được tăng tốc như GPU để lưu trữ tất cả các mô hình của bạn. Điều này làm giảm chi phí lưu trữ bằng cách tối đa hóa việc sử dụng điểm cuối so với việc sử dụng các điểm cuối mô hình đơn lẻ. Nó cũng giảm chi phí triển khai vì SageMaker quản lý tải và dỡ các mô hình trong bộ nhớ và mở rộng chúng dựa trên các mẫu lưu lượng truy cập của điểm cuối. Ngoài ra, tất cả các điểm cuối thời gian thực của SageMaker đều được hưởng lợi từ các khả năng tích hợp sẵn để quản lý và giám sát các mô hình, chẳng hạn như bao gồm biến thể bóng tối, tự động mở rộngvà tích hợp riêng với amazoncloudwatch (để biết thêm thông tin, tham khảo Số liệu CloudWatch cho việc triển khai điểm cuối nhiều mô hình).

Các mẫu xe Triton tùy chỉnh

Có một số lý do khiến Veriff quyết định sử dụng Triton Inference Server, những lý do chính là:

  • Nó cho phép các nhà khoa học dữ liệu xây dựng API REST từ các mô hình bằng cách sắp xếp các tệp tạo tác mô hình theo định dạng thư mục tiêu chuẩn (không có giải pháp mã)
  • Nó tương thích với tất cả các khung AI chính (PyTorch, Tensorflow, XGBoost, v.v.)
  • Nó cung cấp các tối ưu hóa máy chủ và cấp độ thấp dành riêng cho ML như lô động yêu cầu

Việc sử dụng Triton cho phép các nhà khoa học dữ liệu triển khai các mô hình một cách dễ dàng vì họ chỉ cần xây dựng các kho mô hình được định dạng thay vì viết mã để xây dựng các API REST (Triton cũng hỗ trợ Mô hình Python nếu logic suy luận tùy chỉnh là bắt buộc). Điều này làm giảm thời gian triển khai mô hình và giúp các nhà khoa học dữ liệu có nhiều thời gian hơn để tập trung vào việc xây dựng mô hình thay vì triển khai chúng.

Một tính năng quan trọng khác của Triton là nó cho phép bạn xây dựng nhóm người mẫu, là các nhóm mô hình được liên kết với nhau. Những tổ hợp này có thể được vận hành như thể chúng là một mẫu Triton duy nhất. Veriff hiện sử dụng tính năng này để triển khai logic tiền xử lý và hậu xử lý với từng mô hình ML bằng mô hình Python (như đã đề cập trước đó), đảm bảo rằng không có sự không khớp trong dữ liệu đầu vào hoặc đầu ra của mô hình khi sử dụng mô hình trong sản xuất.

Sau đây là hình ảnh kho lưu trữ mô hình Triton điển hình cho khối lượng công việc này:

Cách Veriff giảm 80% thời gian triển khai bằng cách sử dụng điểm cuối đa mô hình Amazon SageMaker | Dịch vụ web của Amazon PlatoThông minh dữ liệu Blockchain. Tìm kiếm dọc. Ái.

Sản phẩm model.py tập tin chứa mã tiền xử lý và hậu xử lý. Trọng số của mô hình được đào tạo nằm trong screen_detection_inferencer thư mục, theo phiên bản mô hình 1 (mô hình ở định dạng ONNX trong ví dụ này, nhưng cũng có thể là định dạng TensorFlow, PyTorch hoặc các định dạng khác). Định nghĩa mô hình tập hợp nằm trong screen_detection_pipeline thư mục, nơi đầu vào và đầu ra giữa các bước được ánh xạ trong tệp cấu hình.

Các phần phụ thuộc bổ sung cần thiết để chạy các mô hình Python được trình bày chi tiết trong requirements.txt tệp và cần được đóng gói conda để xây dựng môi trường Conda (python_env.tar.gz). Để biết thêm thông tin, hãy tham khảo Quản lý thư viện và thời gian chạy Python. Ngoài ra, các tệp cấu hình cho các bước Python cần trỏ đến python_env.tar.gz bằng cách sử dụng THỰC HIỆN_ENV_PATH Chỉ thị.

Thư mục mô hình sau đó cần được nén TAR và đổi tên bằng cách sử dụng model_version.txt. Cuối cùng, kết quả <model_name>_<model_version>.tar.gz tập tin được sao chép vào Dịch vụ lưu trữ đơn giản của Amazon (Amazon S3) được kết nối với MME, cho phép SageMaker phát hiện và phục vụ mô hình.

Phiên bản mô hình và triển khai liên tục

Như phần trước đã trình bày rõ ràng, việc xây dựng kho lưu trữ mô hình Triton rất đơn giản. Tuy nhiên, việc chạy tất cả các bước cần thiết để triển khai rất tẻ nhạt và dễ xảy ra lỗi nếu chạy thủ công. Để khắc phục điều này, Veriff đã xây dựng một monorepo chứa tất cả các mô hình sẽ được triển khai cho MME, nơi các nhà khoa học dữ liệu cộng tác theo cách tiếp cận giống như Gitflow. Monorepo này có các tính năng sau:

  • Nó được quản lý bằng cách sử dụng Quần.
  • Các công cụ chất lượng mã như Black và MyPy được áp dụng bằng Pants.
  • Các thử nghiệm đơn vị được xác định cho từng mô hình để kiểm tra xem đầu ra của mô hình có phải là đầu ra dự kiến ​​cho đầu vào mô hình nhất định hay không.
  • Trọng lượng mô hình được lưu trữ cùng với kho mô hình. Các trọng số này có thể là các tệp nhị phân lớn, vì vậy mở rộng DVC được sử dụng để đồng bộ hóa chúng với Git theo cách được phiên bản.

Monorepo này được tích hợp với công cụ tích hợp liên tục (CI). Đối với mỗi lần đẩy mới vào repo hoặc mô hình mới, các bước sau sẽ được thực hiện:

  1. Vượt qua kiểm tra chất lượng mã.
  2. Tải về trọng lượng mô hình.
  3. Xây dựng môi trường Conda.
  4. Khởi động máy chủ Triton bằng môi trường Conda và sử dụng nó để xử lý các yêu cầu được xác định trong các bài kiểm tra đơn vị.
  5. Xây dựng tệp TAR mô hình cuối cùng (<model_name>_<model_version>.tar.gz).

Các bước này đảm bảo rằng các mô hình có chất lượng cần thiết để triển khai, do đó, với mỗi lần đẩy tới nhánh repo, tệp TAR thu được sẽ được sao chép (trong một bước CI khác) vào vùng lưu trữ S3. Khi việc đẩy được thực hiện trong nhánh chính, tệp mô hình sẽ được sao chép vào vùng lưu trữ S3 sản xuất. Sơ đồ sau đây mô tả hệ thống CI/CD này.

Cách Veriff giảm 80% thời gian triển khai bằng cách sử dụng điểm cuối đa mô hình Amazon SageMaker | Dịch vụ web của Amazon PlatoThông minh dữ liệu Blockchain. Tìm kiếm dọc. Ái.

Lợi ích về chi phí và tốc độ triển khai

Việc sử dụng MME cho phép Veriff sử dụng phương pháp tiếp cận monorepo để triển khai các mô hình vào sản xuất. Tóm lại, quy trình triển khai mô hình mới của Veriff bao gồm các bước sau:

  1. Tạo một nhánh trong monorepo với mô hình hoặc phiên bản mô hình mới.
  2. Xác định và chạy thử nghiệm đơn vị trong máy phát triển.
  3. Đẩy nhánh khi mô hình đã sẵn sàng để thử nghiệm trong môi trường chạy thử.
  4. Hợp nhất nhánh thành chính khi mô hình đã sẵn sàng để sử dụng trong sản xuất.

Với giải pháp mới này, việc triển khai mô hình tại Veriff là một phần đơn giản của quá trình phát triển. Thời gian phát triển mô hình mới đã giảm từ 10 ngày xuống còn trung bình là 2 ngày.

Các tính năng tự động mở rộng quy mô và cung cấp cơ sở hạ tầng được quản lý của SageMaker đã mang lại cho Veriff những lợi ích bổ sung. Họ đã sử dụng Yêu cầuPerInstance Số liệu CloudWatch để mở rộng quy mô theo mô hình lưu lượng truy cập, tiết kiệm chi phí mà không làm giảm độ tin cậy. Để xác định giá trị ngưỡng cho chỉ số, họ đã thực hiện kiểm tra tải trên điểm cuối của giai đoạn để tìm ra sự cân bằng tốt nhất giữa độ trễ và chi phí.

Sau khi triển khai bảy mô hình sản xuất cho MME và phân tích chi tiêu, Veriff đã báo cáo rằng chi phí phân phát mô hình GPU đã giảm 75% so với giải pháp dựa trên Kubernetes ban đầu. Chi phí vận hành cũng giảm do gánh nặng cung cấp phiên bản thủ công đã được dỡ bỏ khỏi các kỹ sư DevOps của công ty.

Kết luận

Trong bài đăng này, chúng tôi đã xem xét lý do Veriff chọn MME của Sagemaker thay vì triển khai mô hình tự quản lý trên Kubernetes. SageMaker đảm nhận những công việc nặng nhọc không phân biệt, cho phép Veriff giảm thời gian phát triển mô hình, tăng hiệu quả kỹ thuật và giảm đáng kể chi phí suy luận theo thời gian thực trong khi vẫn duy trì hiệu suất cần thiết cho các hoạt động quan trọng trong kinh doanh của họ. Cuối cùng, chúng tôi đã giới thiệu cơ chế lập phiên bản mô hình và quy trình CI/CD triển khai mô hình đơn giản nhưng hiệu quả của Veriff, có thể được sử dụng làm triển khai tham chiếu trong việc kết hợp các phương pháp hay nhất về phát triển phần mềm và SageMaker MME. Bạn có thể tìm thấy các mẫu mã khi lưu trữ nhiều mô hình bằng MME SageMaker trên GitHub.


Về các tác giả

Cách Veriff giảm 80% thời gian triển khai bằng cách sử dụng điểm cuối đa mô hình Amazon SageMaker | Dịch vụ web của Amazon PlatoThông minh dữ liệu Blockchain. Tìm kiếm dọc. Ái.Ricard Borras là Chuyên gia Machine Learning cấp cao tại Veriff, nơi anh ấy đang lãnh đạo các nỗ lực MLOps trong công ty. Anh giúp các nhà khoa học dữ liệu xây dựng các sản phẩm AI/ML nhanh hơn và tốt hơn bằng cách xây dựng Nền tảng khoa học dữ liệu tại công ty và kết hợp một số giải pháp nguồn mở với các dịch vụ AWS.

Cách Veriff giảm 80% thời gian triển khai bằng cách sử dụng điểm cuối đa mô hình Amazon SageMaker | Dịch vụ web của Amazon PlatoThông minh dữ liệu Blockchain. Tìm kiếm dọc. Ái.João Moura là Kiến trúc sư giải pháp chuyên gia AI/ML tại AWS, có trụ sở tại Tây Ban Nha. Anh giúp khách hàng đào tạo và tối ưu hóa suy luận quy mô lớn theo mô hình deep learning, đồng thời xây dựng rộng hơn các nền tảng ML quy mô lớn trên AWS.

Cách Veriff giảm 80% thời gian triển khai bằng cách sử dụng điểm cuối đa mô hình Amazon SageMaker | Dịch vụ web của Amazon PlatoThông minh dữ liệu Blockchain. Tìm kiếm dọc. Ái.Miguel Ferreira làm việc với tư cách là Kiến trúc sư giải pháp cấp cao tại AWS có trụ sở tại Helsinki, Phần Lan. AI/ML là mối quan tâm lâu dài và anh đã giúp nhiều khách hàng tích hợp Amazon SageMaker vào quy trình công việc ML của họ.

Dấu thời gian:

Thêm từ Học máy AWS