FlexGen, một công cụ để chạy các bot AI trên một GPU

FlexGen

FlexGen là một công cụ được xây dựng với mục đích giảm yêu cầu tài nguyên suy luận của các mô hình ngôn ngữ lớn thành một GPU duy nhất.

Tin tức được phát hành gần đây rằng một nhóm các nhà nghiên cứu từ Đại học Stanford, Đại học California tại Berkeley, ETH Zurich, Trường Cao học Kinh tế, Đại học Carnegie Mellon, cũng như Yandex và Meta, đã xuất bản mã nguồn của un công cụ để chạy các mô hình ngôn ngữ lớn trong các hệ thống có nguồn lực hạn chế.

với tên mã «FlexGen», là một dự án nhằm giảm đáng kể yêu cầu tài nguyên cho các hoạt động suy luận LLM. Được đăng trên GitHub, FlexGen chỉ yêu cầu Python và PyTorch nhưng hầu hết có thể được sử dụng với một GPU duy nhất như NVIDIA Tesla T4 hoặc GeForce RTX 3090.

Ví dụ: công cụ cung cấp khả năng tạo chức năng gợi nhớ đến ChatGPT và Copilot chạy mô hình OPT-175B được đào tạo trước bao gồm 175 tỷ tham số trên một máy tính thông thường có card đồ họa chơi game NVIDIA RTX3090 được trang bị bộ nhớ video 24 GB.

Người ta đề cập rằng các mô hình (LLM) hỗ trợ hoạt động của các công cụ như ChatGPT và Copilot. Đây là những mô hình lớn sử dụng hàng tỷ tham số và được đào tạo trên lượng dữ liệu khổng lồ.

Các yêu cầu về bộ nhớ và tính toán cao đối với các tác vụ suy luận LLM thường yêu cầu sử dụng các máy gia tốc cao cấp.

Chúng tôi rất vui vì công chúng thực sự hào hứng với FlexGen. Tuy nhiên, công việc của chúng tôi vẫn đang trong quá trình chuẩn bị và chưa sẵn sàng để phát hành/thông báo ra công chúng. Từ phản hồi ban đầu về dự án này, chúng tôi nhận ra rằng các phiên bản đầu tiên của README này và tài liệu của chúng tôi không rõ ràng về mục đích của FlexGen. Đây là một nỗ lực sơ bộ để giảm các yêu cầu về tài nguyên của LLM, nhưng nó cũng có nhiều hạn chế và không nhằm mục đích thay thế các trường hợp sử dụng khi có đủ tài nguyên.

Suy luận LLM là một quá trình trong đó mô hình ngôn ngữ được sử dụng để tạo dự đoán về văn bản đầu vào: nó liên quan đến việc sử dụng mô hình ngôn ngữ, chẳng hạn như mô hình tổng quát, chẳng hạn như GPT (Generative Pretraining Transformer), để đưa ra dự đoán về những gì có thể xảy ra nhất xảy ra. được cung cấp dưới dạng phản hồi sau một văn bản được chụp đầu vào cụ thể.

Giới thiệu về FlexGen

Gói này bao gồm một tập lệnh mẫu để tạo bot. cho phép người dùng tải xuống một trong các mô hình ngôn ngữ có sẵn công khai và bắt đầu trò chuyện ngay lập tức.

Để làm cơ sở, đề xuất sử dụng mô hình ngôn ngữ lớn do Facebook xuất bản, được đào tạo trên các bộ sưu tập BookCorpus (10 nghìn cuốn sách), CC-Stories, Pile (OpenSubtitles, Wikipedia, DM Mathematics, HackerNews, v.v.), Pushshift.io (dựa trên dữ liệu Reddit)) và CCNewsV2 (kho lưu trữ tin tức).

Mô hình bao gồm khoảng 180 tỷ mã thông báo (800 GB dữ liệu). Phải mất 33 ngày chạy cụm với 992 GPU NVIDIA A100 80 GB để huấn luyện mô hình.

Chạy OPT-175B trên hệ thống có một GPU NVIDIA T4 (16 GB), công cụ FlexGen đã thể hiện hiệu suất nhanh hơn tới 100 lần so với các giải pháp được cung cấp trước đó, giúp việc sử dụng mô hình ngôn ngữ lớn trở nên hợp lý hơn và cho phép chúng chạy trên các hệ thống không cần máy gia tốc chuyên dụng.

Đồng thời, FlexGen có thể mở rộng quy mô để tính toán song song với sự có mặt của nhiều GPU. Để giảm kích thước của mô hình, một sơ đồ nén tham số bổ sung và cơ chế lưu trữ mô hình được sử dụng.

Hiện nay, FlexGen chỉ hỗ trợ các mô hình ngôn ngữ OPT, nhưng trong tương lai, các nhà phát triển cũng hứa hẹn sẽ bổ sung hỗ trợ cho BLOOM (176 tỷ tham số, hỗ trợ 46 ngôn ngữ và 13 ngôn ngữ lập trình), CodeGen (có thể tạo mã bằng 22 ngôn ngữ lập trình) và GLM.

Cuối cùng, điều đáng nói là mã được viết bằng Python, sử dụng khung PyTorch và được phân phối theo giấy phép Apache 2.0.

Quan tâm đến việc tìm hiểu thêm về nó, bạn có thể kiểm tra các chi tiết Trong liên kết sau đây.


Để lại bình luận của bạn

địa chỉ email của bạn sẽ không được công bố. Các trường bắt buộc được đánh dấu bằng *

*

*

  1. Chịu trách nhiệm về dữ liệu: Miguel Ángel Gatón
  2. Mục đích của dữ liệu: Kiểm soát SPAM, quản lý bình luận.
  3. Hợp pháp: Sự đồng ý của bạn
  4. Truyền thông dữ liệu: Dữ liệu sẽ không được thông báo cho các bên thứ ba trừ khi có nghĩa vụ pháp lý.
  5. Lưu trữ dữ liệu: Cơ sở dữ liệu do Occentus Networks (EU) lưu trữ
  6. Quyền: Bất cứ lúc nào bạn có thể giới hạn, khôi phục và xóa thông tin của mình.