Mô hình và nền tảng AI

Tương lai của Trình diễn Serverless cho Mô hình Ngôn ngữ Lớn

mm
Thêm Unite.AI vào các nguồn ưu tiên của bạn trên Google

Những tiến bộ gần đây trong mô hình ngôn ngữ lớn (LLM) như GPT-4, PaLM đã dẫn đến các khả năng chuyển đổi trong các nhiệm vụ ngôn ngữ tự nhiên. LLM đang được tích hợp vào các ứng dụng như chatbot, công cụ tìm kiếm và trợ lý lập trình. Tuy nhiên, việc cung cấp LLM với quy mô lớn vẫn còn thách thức do yêu cầu GPU và bộ nhớ đáng kể của chúng.

Các phương pháp để vượt qua thách thức này thường rơi vào hai loại chính:

  1. Kỹ thuật Nén Mô hình

Những kỹ thuật này nhằm mục đích giảm kích thước của mô hình trong khi vẫn duy trì độ chính xác. Các phương pháp phổ biến bao gồm:

  • Pruning – Loại bỏ các tham số dư thừa hoặc ít quan trọng khỏi mô hình. Điều này tạo ra một mô hình thưa thớt với ít tham số hơn.
  • Quantization – Sử dụng số có độ chính xác thấp hơn như int8 hoặc bfloat16 để đại diện cho trọng số thay vì fp32 hoặc fp16. Điều này giảm bộ nhớ.
  • Knowledge distillation – Huấn luyện một mô hình “học sinh” nhỏ hơn để bắt chước một mô hình “giáo viên” lớn. Mô hình nhỏ hơn sau đó được sử dụng cho trình diễn.
  1. Thi hành Chọn lọc

Thay vì mô hình nén, những kỹ thuật này chọn lọc thực hiện chỉ một phần của mô hình cho mỗi trình diễn:

  • Hoạt động thưa thớt – Bỏ qua tính toán trên các hoạt động zero.
  • Tính toán có điều kiện – Thực hiện chỉ các lớp nhất định dựa trên đầu vào.

Về phía kiến trúc phần mềm; để cho phép triển khai nhanh hơn của LLM, các nhà nghiên cứu đã đề xuất hệ thống trình diễn serverless. Trong kiến trúc serverless, LLM được lưu trữ trên các cụm GPU chia sẻ và được phân bổ động dựa trên nhu cầu. Điều này cho phép sử dụng hiệu quả GPU và giảm chi phí cho các nhà phát triển. Các triển khai nổi bật bao gồm Amazon (AMZN ) SageMaker, Microsoft Azure ML và các lựa chọn mã nguồn mở như KServe.

Mặc dù hệ thống LLM serverless có nhiều hứa hẹn, nhưng các hệ thống hiện có vẫn còn độ trễ cao làm giảm trải nghiệm người dùng trong các ứng dụng tương tác:

  1. Tải điểm kiểm tra tốn kém: LLM có dấu chân bộ nhớ lớn, thường là gigabyte đến terabyte. Tải điểm kiểm tra từ bộ nhớ từ xa là tốn thời gian, mất hơn 20 giây thậm chí với mạng được tối ưu hóa.
  2. Tải điểm kiểm tra không hiệu quả: Thậm chí với lưu trữ SSD cục bộ, việc tải điểm kiểm tra vào bộ nhớ GPU mất vài chục giây do các yếu tố như deserialization tensor và phân bổ. Điều này thêm độ trễ đáng kể ngoài thời gian khởi động container.

Để giải quyết những vấn đề này, các nhà nghiên cứu tại MIT CSAIL đã đề xuất ServerlessLLM, một hệ thống sáng tạo đạt được trình diễn serverless thấp độ trễ cho LLM. ServerlessLLM tăng cường tính địa phương bằng cách khai thác khả năng và băng thông dồi dào nhưng chưa được tận dụng trong lưu trữ nhiều cấp cho triển khai LLM.

Tổng quan về hệ thống trình diễn serverless LLM

Tổng quan về hệ thống trình diễn serverless LLM

Các Đổi mới Chính trong ServerlessLLM ServerlessLLM bao gồm một số thiết kế mới để cắt giảm thời gian tải LLM trong môi trường serverless:

  1. Tải điểm kiểm tra nhanh
  • Định dạng điểm kiểm tra được tối ưu hóa cho việc đọc tuần tự nhanh và địa chỉ tensor trong bộ nhớ hiệu quả.
  • Dòng tải điểm kiểm tra nhiều cấp tối đa hóa việc sử dụng băng thông trên mạng, SSD, DRAM và bộ nhớ GPU thông qua các kỹ thuật như I/O trực tiếp, chuyển giao bộ nhớ ghim và song song.
  1. Di cư trực tiếp cho trình diễn địa phương
  • Di cư dựa trên token chỉ truyền token kích hoạt thiết yếu qua mạng, tránh việc truyền snapshot chậm.
  • Di cư hai giai đoạn cho phép trình diễn không bị gián đoạn bằng cách tính toán lại trạng thái cache trên máy chủ đích trước khi chuyển token cuối cùng.
  1. Phân bổ máy chủ tối ưu độ trễ
  • Mô hình chính xác để ước tính thời gian tải điểm kiểm tra từ mỗi cấp và thời gian di cư cho một máy chủ.
  • Lập lịch trình nhận thức địa phương chọn máy chủ tối thiểu hóa độ trễ khởi động dự kiến bằng cách sử dụng các mô hình trên.

Những tối ưu hóa này cho phép ServerlessLLM giảm thời gian tải LLM từ 4-8 lần và thời gian khởi động từ đầu đến cuối hơn 25 lần so với các hệ thống hiện có như PyTorch, TensorFlow và KServe.

Tăng tốc Tải điểm kiểm tra

Chướng ngại vật chính đầu tiên được ServerlessLLM giải quyết là độ trễ cao khi tải điểm kiểm tra LLM từ lưu trữ vào bộ nhớ GPU.

Để cho phép tải điểm kiểm tra nhanh, ServerlessLLM giới thiệu:

  1. Định dạng điểm kiểm tra được tối ưu hóa

Điểm kiểm tra tiêu chuẩn được sử dụng bởi các khung như PyTorch được thiết kế cho việc huấn luyện mô hình và gỡ lỗi. Nhưng đối với trình diễn serverless, điểm kiểm tra chỉ được đọc và truy cập nhiều lần.

Để tối ưu hóa cho việc sử dụng đọc nhiều như vậy, ServerlessLLM chuyển đổi điểm kiểm tra thành định dạng có hai tính chất chính:

  • Đọc tuần tự theo块: Tensor được nhóm thành các tệp nhị phân trên mỗi GPU, tạo điều kiện cho việc đọc tuần tự lớn.
  • Địa chỉ tensor trong bộ nhớ hiệu quả: Một chỉ mục ánh xạ tên tensor đến các bù đắp bộ nhớ, cho phép phục hồi trực tiếp trong bộ nhớ mà không cần deserialization.
  1. Dòng tải điểm kiểm tra nhiều cấp

ServerlessLLM tận dụng kiến trúc nhiều cấp của máy chủ GPU, với phương tiện lưu trữ như SSD và mạng kết nối với GPU qua PCIe, NVMe, v.v.

Hệ thống bao gồm một đường ống nhiều giai đoạn để tối đa hóa việc sử dụng băng thông trên tất cả các cấp:

  • Các mảnh dữ liệu trong bộ nhớ được phân bổ bằng bộ nhớ ghim cho việc chuyển giao GPU nhanh.
  • I/O trực tiếp được sử dụng cho việc đọc SSD hiệu quả mà không có độ trễ của bộ nhớ đệm.
  • Nhiều luồng đọc các mảnh lưu trữ khác nhau song song.
  • Tổ chức giữa các giai đoạn diễn ra thông qua hàng đợi nhiệm vụ không đồng bộ.

Cùng nhau, điều này cho phép bão hòa khả năng băng thông của thậm chí các cấp nhanh nhất như NVMe RAID. Các thí nghiệm cho thấy ServerlessLLM đạt được tốc độ tải nhanh hơn 6-8 lần so với PyTorch/TensorFlow, giảm thời gian khởi động cho các LLM lớn từ hơn một phút xuống dưới 10 giây.

Trình diễn LLM Địa phương qua Di cư Trực tiếp

Với việc tải điểm kiểm tra được tăng tốc, ServerlessLLM đối mặt với một thách thức mới – làm thế nào để tận dụng điểm kiểm tra đã tải cho địa phương mà không gián đoạn các trình diễn đang diễn ra trên máy chủ bận rộn?

ServerlessLLM giới thiệu một kỹ thuật mới – di cư trực tiếp của trình diễn LLM trên máy chủ GPU. Điều này cho phép chuyển thực hiện một cách liền mạch sang máy chủ có điểm kiểm tra địa phương có sẵn.

Các yếu tố chính cho phép di cư LLM trực tiếp:

  1. Di cư dựa trên token

Thay vì chụp nhanh toàn bộ trạng thái mô hình, ServerlessLLM chỉ di cư các token kích hoạt tối thiểu qua mạng. Điều này truyền ít dữ liệu hơn nhiều so với chụp nhanh.

  1. Di cư hai giai đoạn

Máy chủ đích tính toán trước các trạng thái cache từ token kích hoạt. Khi sẵn sàng, máy chủ nguồn chuyển token cuối cùng trước khi giải phóng tài nguyên. Điều này ngăn chặn sự gián đoạn trình diễn.

Các thí nghiệm cho thấy di cư dựa trên token cắt giảm thời gian di cư từ vài chục giây xuống dưới một giây, thậm chí đối với các chuỗi dài. Di cư trực tiếp là rất quan trọng để ngăn chặn độ trễ hàng đợi khi đạt được phân bổ địa phương.

Lập lịch trình Mô hình Tối ưu Độ trễ

Để giảm thiểu độ trễ từ đầu đến cuối, ServerlessLLM tăng cường lập lịch trình để tối ưu hóa việc chọn máy chủ dựa trên tính địa phương. Điều này liên quan đến:

  1. Ước tính thời gian tải mịn

Các mô hình dự đoán thời gian tải từ mạng, bộ nhớ đệm SSD, và bộ nhớ cho mỗi máy chủ bằng cách sử dụng các chỉ số như độ trễ hàng đợi, kích thước mô hình và băng thông đo được.

  1. Dự đoán thời gian di cư chính xác

Lập lịch trình ước tính thời gian di cư cho máy chủ bằng cách sử dụng số lượng token kích hoạt và đầu ra. Nó theo dõi tiến trình trình diễn một cách không đồng bộ để tránh độ trễ.

  1. Phân bổ nhận thức địa phương

Đối với mỗi yêu cầu trình diễn, lập lịch trình đánh giá thời gian tải và di cư ước tính trên máy chủ. Nó chọn máy chủ giảm thiểu độ trễ khởi động dự kiến.

Lập lịch trình cũng duy trì hàng đợi nhiệm vụ máy chủ và tận dụng một cửa hàng nhất quán mạnh mẽ cho khả năng chịu lỗi. Cùng nhau, những đổi mới này giảm độ trễ lập lịch trình trong khi tối đa hóa lợi ích của tính địa phương.

Đánh giá Hiệu suất ServerlessLLM

Các thí nghiệm toàn diện đánh giá hiệu quả từ đầu đến cuối của ServerlessLLM so với các hệ thống hiện có bằng cách sử dụng các mô hình thực tế như OPT-175B và các khối lượng công việc được mô hình hóa theo dấu vết Azure.

Kết quả chính:

  • Thử nghiệm vi mô: ServerlessLLM tăng tốc tải điểm kiểm tra từ 3,6-8,2 lần so với PyTorch/TensorFlow. Nó hoàn toàn bão hòa băng thông lưu trữ, ngay cả đối với NVMe RAID tiên tiến.
  • Lập lịch trình: ServerlessLLM giảm độ trễ phân bổ từ 4-12 lần so với lập lịch trình ngẫu nhiên, nhấn mạnh lợi ích của nhận thức địa phương. Di cư trực tiếp ngăn chặn độ trễ hàng đợi.
  • Trình diễn từ đầu đến cuối: Đối với các mô hình lớn như OPT-30B, ServerlessLLM cải thiện độ trễ 99 phân vị từ 28-200 lần so với các hệ thống như KServe và Ray Serve. Nó cũng tăng cường hiệu quả tài nguyên.

Những lợi ích đáng kể này chứng minh khả năng của ServerlessLLM trong việc vượt qua các nút thắt trong các triển khai serverless hiện có và mở khóa sức mạnh của LLM cho các dịch vụ tương tác.

Các tối ưu hóa được giới thiệu trong ServerlessLLM, như tải nhiều cấp, di cư trực tiếp và lập lịch trình tối ưu độ trễ, có thể giúp thông báo thiết kế của các kiến trúc serverless trong tương lai. Khả năng của hệ thống trong việc cắt giảm thời gian tải và khởi động cho phép triển khai có thể mở rộng của các mô hình ngôn ngữ lớn cho các ứng dụng thực tế.

Nhìn về Tương lai: Thách thức Tiếp theo

Mặc dù đây là một bước tiến đáng kể, ServerlessLLM chỉ đại diện cho bước đầu tiên trong việc tối ưu hóa trình diễn serverless cho mô hình ngôn ngữ lớn. Một số vấn đề mở vẫn còn, bao gồm:

  • Dự đoán nhu cầu mô hình thời gian thực để hướng dẫn phân bổ và tải trước
  • Đặt điểm kiểm tra thông minh trên máy chủ để tối đa hóa hit bộ nhớ đệm
  • Tăng quy mô hiệu quả các thuật toán lập lịch trình để xử lý các cụm lớn hơn
  • Đảm bảo công bằng trong phân bổ tài nguyên trên các mô hình và nhà phát triển
  • Tổng quát hóa các đổi mới như di cư trực tiếp sang các khối lượng công việc serverless khác

Giải quyết những lĩnh vực này có thể giúp xây dựng trên lời hứa của LLM serverless và làm cho khả năng của chúng trở nên dễ tiếp cận hơn. Ngoài các tối ưu hóa cấp hệ thống, giảm thiểu dấu chân carbon đáng kể và các tác hại tiềm ẩn của các mô hình lớn cũng vẫn là một ưu tiên cấp thiết.

ServerlessLLM chứng minh rằng vẫn còn rất nhiều không gian cho sự đổi mới trong các kiến trúc serverless thế hệ tiếp theo cho các khối lượng công việc AI. Khi các LLM tiếp tục tăng về kích thước và phổ biến, các giải pháp như ServerlessLLM giúp mở khóa khả năng mở rộng của chúng sẽ trở nên quan trọng hơn. Sự kết hợp của nghiên cứu hệ thống và máy học có thể giới thiệu các mô hình mới trong việc cung cấp, chia sẻ và mở rộng các mô hình AI một cách an toàn và bền vững.

Tôi đã dành 5 năm qua để đắm mình trong thế giới hấp dẫn của Máy học và Học sâu. Đam mê và chuyên môn của tôi đã dẫn tôi đến việc đóng góp vào hơn 50 dự án kỹ thuật phần mềm đa dạng, với sự tập trung đặc biệt vào AI/ML. Sự tò mò liên tục của tôi cũng đã thu hút tôi đến với Xử lý Ngôn ngữ Tự nhiên, một lĩnh vực tôi渴望 khám phá thêm.