Trí tuệ nhân tạo
Tương lai của Trình diễn Serverless cho Mô hình Ngôn ngữ Lớn

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 khả năng biế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ư trò chuyện, 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 nhu 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 nằm trong hai loại chính:
- Kỹ thuật nén mô hình
Những kỹ thuật này nhằm 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:
- Thu gọn – 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ớ.
- Truyền đạt kiến thức – 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.
- Thực thi chọn lọc
Thay vì mô hình nén, những kỹ thuật này thực thi chọn lọc chỉ các 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 hoạt động zero.
- Tính toán có điều kiện – Thực thi 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 LLM nhanh hơn, 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 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:
- Tải điểm kiểm tra tốn kém: LLM có 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.
- Tải điểm kiểm tra không hiệu quả: Thậm chí với lưu trữ SSD địa phương, 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 đổi mới đạt được trình diễn serverless thấp độ trễ cho LLM. ServerlessLLM tăng cường vị trí bằng cách khai thác khả năng và băng thông dồi dào nhưng chưa được sử dụng trong lưu trữ nhiều cấp cho triển khai LLM.
Đổi mới chính trong ServerlessLLM ServerlessLLM bao gồm nhiều thiết kế mới để giảm thời gian tải LLM trong môi trường serverless:
- 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 tải, cho phép đọ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 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 đổi bộ nhớ ghim và song song.
- Di cư trực tiếp cho trình diễn dựa trên vị trí
- Di cư dựa trên token chỉ truyền token kích hoạt thiết yếu qua mạng, tránh chuyển đổi ảnh chụp chậm.
- Di cư hai giai đoạn cho phép trình diễn không gián đoạn bằng cách tính toán lại trạng thái bộ nhớ đệm trên máy chủ đích trước khi chuyển token cuối cùng.
- Phân bổ máy chủ tối ưu hóa độ 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ủ.
- Trình lập lịch dựa trên vị trí 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 xuống 4-8 lần và thời gian khởi động từ đầu đến cuối xuống hơn 25 lần so với các hệ thống hiện có như PyTorch, TensorFlow và KServe.
Hãy cùng tìm hiểu sâu hơn về cách ServerlessLLM đạt được những lợi ích hiệu suất đáng kể này.
Tăng tốc tải điểm kiểm tra
Chướng ngại vật đầ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:
- Định dạng điểm kiểm tra được tối ưu hóa cho việc tải
Đ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 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 lặp lại.
Để tối ưu 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 thuộc tính chính:
- Đọc tuần tự theo块: Tensor được nhóm vào các tệp nhị phân trên mỗi GPU, tạo điều kiện cho các đọc tuần tự lớn.
- Địa chỉ tensor hiệu quả: Một chỉ mục ánh xạ tên tensor đến offset bộ nhớ, cho phép khôi phục trực tiếp trong bộ nhớ mà không cần deserialization.
- 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 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 GPU nhanh.
- I/O trực tiếp được sử dụng cho việc đọc SSD hiệu quả mà không có overhead 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 xảy 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 LLM lớn từ hơn một phút xuống dưới 10 giây.
Trình diễn LLM dựa trên vị trí qua Di cư trực tiếp
Với việc tải đượ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 trước cho vị trí mà không gián đoạn 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 trình diễn LLM trên máy chủ GPU. Điều này cho phép chuyển đổi thực thi một cách mượt mà sang máy chủ có điểm kiểm tra cục bộ có sẵn.
Các yếu tố then chốt cho di cư trình diễn LLM trực tiếp:
- Di cư dựa trên token
Thay vì chụp ảnh trạng thái mô hình toàn bộ, ServerlessLLM chỉ di cư các token kích hoạt tối thiểu qua mạng. Điều này chuyển ít dữ liệu hơn nhiều so với ảnh chụp.
- Di cư hai giai đoạn
Máy chủ đích tính toán trước trạng thái bộ nhớ đệm 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 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í cho các chuỗi dài. Di cư trực tiếp rất quan trọng để ngăn chặn độ trễ hàng đợi khi đạt được phân bổ dựa trên vị trí.
Lập lịch tối ưu hóa độ trễ
Để giảm thiểu độ trễ từ đầu đến cuối, ServerlessLLM tăng cường trình lập lịch để tối ưu hóa việc chọn máy chủ dựa trên vị trí. Điều này liên quan:
- Ước tính thời gian tải mịn
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.
- Dự đoán thời gian di cư chính xác
Trình lập lịch ướ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 không đồng bộ để tránh overhead.
- Phân bổ dựa trên vị trí
Đối với mỗi yêu cầu trình diễn, trình lập lịch đánh giá thời gian tải và di cư ước tính trên máy chủ. Nó chọn máy chủ tối thiểu hóa độ trễ khởi động dự kiến.
Trình lập lịch cũng duy trì hàng đợi nhiệm vụ máy chủ và tận dụng 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 thiểu overhead lập lịch trong khi tối đa hóa lợi ích của vị trí.
Đánh giá hiệu suất của ServerlessLLM
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 mô hình thực tế như OPT-175B và tải 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 lên 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ữ, thậm chí đối với NVMe RAID tiên tiến.
- Lập lịch: ServerlessLLM giảm độ trễ phân bổ xuống 4-12 lần so với lập lịch ngẫu nhiên, nhấn mạnh lợi ích của việc nhận thức vị trí. 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 mô hình lớn như OPT-30B, ServerlessLLM cải thiện độ trễ thứ 99 bằng 28-200 lần so với 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 tỏ 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 dựa trên độ 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 giảm thiểu thời gian tải và khởi động mở khóa việc triển khai có thể mở rộng của 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 đang diễn ra
Mặc dù đây là một bước nhảy vĩ đại, 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 LLM 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 cung cấp 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 để xử lý cụm lớn hơn
- Đảm bảo công bằng trong phân bổ tài nguyên trên 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 tải 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 lượng khí thải carbon và các tác hại tiềm ẩn của mô hình lớn cũng vẫn là một ưu tiên cấp bách.
ServerlessLLM chứng minh rằng vẫn còn rất nhiều không gian cho sự đổi mới trong kiến trúc serverless thế hệ tiếp theo cho các tải công việc AI. Khi 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ẽ ngày càng có tác động. Sự kết hợp của nghiên cứu hệ thống và học máy có thể giới thiệu các mô hình mới trong việc phục vụ, chia sẻ và mở rộng mô hình AI một cách an toàn và bền vững.











