FlexGen é un motor para executar bots de IA similares a ChatGPT en sistemas de GPU única

Un equipo de investigadores da Universidade de Stanford, a Universidade de California en Berkeley, a ETH Zurich, a Graduate School of Economics, a Universidade Carnegie Mellon, así como Yandex e Meta, publicaron o código fonte dun motor para executar grandes modelos lingüísticos sobre recursos. -Sistemas restrinxidos. Por exemplo, o motor ofrece a posibilidade de crear unha funcionalidade que lembra a ChatGPT e Copilot executando un modelo OPT-175B adestrado previamente, que abarca 175 mil millóns de parámetros, nun ordenador normal cunha tarxeta gráfica de xogos NVIDIA RTX3090 equipada con 24 GB de memoria de vídeo. O código está escrito en Python, usa o framework PyTorch e distribúese baixo a licenza Apache 2.0.

Inclúe un script de exemplo para crear bots que che permite descargar un dos modelos de idiomas dispoñibles publicamente e comezar a comunicarse inmediatamente (por exemplo, executando o comando “python apps/chatbot.py —model facebook/opt-30b — -percent 0 100 100 0 100 0”). Como base, proponse utilizar un gran modelo lingüístico publicado por Facebook, formado nas coleccións de BookCorpus (10 mil libros), CC-Stories, Pile (OpenSubtitles, Wikipedia, DM Mathematics, HackerNews, etc.), Pushshift. io (baseado en datos de Reddit) e CCNewsV2 (arquivo de noticias). O modelo abrangue aproximadamente 180 mil millóns de tokens (800 GB de datos). Gastáronse 33 días de funcionamento do clúster con 992 GPU NVIDIA A100 de 80 GB en adestrar o modelo.

Ao executar o modelo OPT-175B nun sistema cunha única GPU NVIDIA T4 (16 GB), o motor FlexGen demostrou un rendemento ata 100 veces máis rápido que as solucións ofrecidas anteriormente, facendo que o uso de modelos de idiomas grandes sexa máis accesible e permitíndolles funcionar sistemas sen aceleradores dedicados. Ao mesmo tempo, FlexGen pode escalar para paralelizar os cálculos con varias GPU. Para reducir o tamaño do modelo, utilízase adicionalmente un esquema de compresión de parámetros propietario e un mecanismo de caché de modelos.

Actualmente, FlexGen só admite modelos de linguaxe OPT, pero no futuro os desenvolvedores tamén prometen engadir soporte para BLOOM (176 mil millóns de parámetros, admite 46 linguaxes e 13 linguaxes de programación), CodeGen (pode xerar código en 22 linguaxes de programación) e Modelos GLM. Un exemplo de diálogo cun bot baseado en FlexGen e no modelo OPT-30B:

Humano: como se chama a montaña máis alta do mundo?

Asistente: Everest.

Humano: Estou planeando unha viaxe para o noso aniversario. Que cousas podemos facer?

Asistente: Ben, hai varias cousas que podes facer para o teu aniversario. En primeiro lugar, podes xogar ás cartas. En segundo lugar, podes ir de camiña. En terceiro lugar, podes ir a un museo.

Fonte: opennet.ru

Engadir un comentario