Skip to content

Adriel007/AirQuant

Repository files navigation

AirQuant: Framework de Inferência para Modelos de Linguagem de Larga Escala em Hardware de Borda

Caution

STATUS DO PROJETO: INCOMPLETO / SUSPENSO

Devido a limitações críticas de recursos (VRAM, armazenamento e instabilidade de dependências em ambientes de nuvem gratuita), o desenvolvimento deste framework foi interrompido. O código atual serve como prova de conceito e base arquitetural, mas não está em estado final de produção ou validação total.

Visão Geral

Este repositório apresenta uma infraestrutura arquitetural e metodológica otimizada para a inferência de Modelos de Linguagem de Larga Escala (LLMs) de grande dimensão, incluindo modelos com capacidade superior a 70 bilhões de parâmetros, em ambientes computacionais com restrições agudas de memória de vídeo (VRAM). O projeto foi concebido e testado objetivando hardware de entrada-intermediária, nomeadamente a NVIDIA Tesla T4 (15 GB GDDR6), comum em plataformas como o Google Colab.

O objetivo do framework é solucionar simultaneamente dois gargalos de performance primordiais da implantação periférica: o armazenamento estrutural dos pesos densos e a progressão insustentável do KV Cache em alocações de contexto extensas, preservando margens de integridade rigorosas para métricas preditivas.

Fundamentação Teórica e Arquitetura

Para que a transposição preditiva seja viável nas limitações supramencionadas, a infraestrutura central ancora-se na integração sinérgica de três avanços modulares no campo dos decodificadores Transformers:

  1. Layer-wise Streaming (AirLLM): Uma abordagem substituta para o particionamento tradicional. Adota premissas de descarregamento dinâmico fracionado: camadas sequenciais do codificador/decodificador fluem da memória principal primária/secundária (RAM/SSD) para a GPU somente sob demanda de fase lógica, minimizando o peak mem allocation.
  2. Quantização Compressiva de Pesos Estáticos (BitsAndBytes): Mitigação de alocações fixas das sinapses valendo-se da adoção progressiva da distribuição NormalFloat4 (NF4) com block-wise precision, contraindo o tráfego do barramento PCIe expressivamente e viabilizando o armazenamento de shards volumosos reduzidos a 25% do footprint FP16 inerente.
  3. Quantização Vetorial Dinâmica do KV Cache (TurboQuant): Trata especificamente a degradação temporal exigida para suportar janelas de contexto robustas. Executa otimização preditiva separando atenções por Keys (4-bits) e Values (2-bits), respaldada sobre rotações ortogonais pseudo-aleatórias (esquema MSE-only de correção) sem degradar tokens residuais críticos em vizinhanças imediatas.

Organização do Framework

Devido a conflitos insolúveis de dependência entre as bibliotecas avançadas de aceleração (como turboquant, triton e as dependências puras do bitsandbytes), a estrutura do projeto foi modularizada. O notebook monolítico precisou ser desmembrado em etapas isoladas para que cada motor de execução rode de forma independente sem comprometer o runtime. O uso do Google Drive como armazenamento persistente garante que artefatos pesados gerados inicialmente alimentem perfeitamente os estágios posteriores.

O projeto consolida-se nos seguintes roteiros interativos sob padrão Jupyter Environment:

  • Inference_Engine_01_Setup_and_Download.ipynb Focado unicamente em rodar o AirLLM para realizar a partição primária da rede e baixar os pesos sharded. Grava tudo explicitamente na nuvem (/content/drive/MyDrive/airllm_shards) garantindo persistência absoluta.

  • Inference_Engine_02_Inference_Baseline_and_4bit.ipynb Componente executivo da infraestrutura restrito a FP16 e quantização 4-bit normal. O isolamento de módulo garante que bibliotecas incompatíveis do TurboQuant não quebrem o carregamento limpo baseado em SSD das camadas subjacentes.

  • Inference_Engine_03_Stack_Completa_TurboQuant.ipynb Ambiente restrito projetado perfeitamente para suportar as configurações finas exclusivas do KV Cache, selando a injeção de tensores do TurboQuant para permitir janelas de inferência super-extensas no limite teórico da T4.

  • Validation_Suite.ipynb Módulo acadêmico laboratorial responsável pela comprovação métrica do estado da arte. Compreende sub-blocos iterativos encarregados de estabelecer linhas de base e testar regressões metodológicas perante a versão intocada FP16:

    • PPL (Perplexidade): Medições em janela transladante (sliding-window) sobre recortes textuais estáticos do WikiText-2.
    • Quality Stress Tests: Validações empíricas contendo o Needle-in-a-Haystack e aferições semânticas no ROUGE-L no agrupamento CNN-DailyMail.
    • Latência Limite e Desempenho: Instrumentações de rastreio fino contendo Múltiplos Throughputs (TTFT e Tokens por Segundo) atestando que incrementos compressivos também entregam aceleração iterativa por sharding.

Ambientação e Implementação

As exigências para reprodutibilidade estão limitadas ao empacotamento das vertentes modernas de Machine Learning e gerenciamento de tensores no Python. São listadas como mandatórias:

  • Sistemas dotados de hardware compatível à arquitetura CUDA;
  • torch >= 2.3.0
  • transformers >= 4.40.0
  • airllm >= 2.11.0
  • bitsandbytes >= 0.43.0
  • turboquant >= 0.3.0

Recomenda-se firmemente aos pesquisadores e instâncias de validação que possuam arranjo persistente anexável (via SSD ou provisionamento Cloud) para tolerar a gravação física particionada extraída na fase inicial do processo.

Quadro de Avaliação de Desempenho (Benchmarks)

O framework consolida a sua eficácia através de aferições sistemáticas na suíte de validação proposta. A tabela subsequente dispõe as métricas balizadoras da arquitetura, comparando o referencial metodológico nativo (FP16) com os retornos aferidos em cenários de quantização múltipla.

Métrica Referencial Base (Literatura FP16) Limiar Tolerável de Degradação (4-bit) Resultado Empírico Aferido
PPL WikiText-2 (70B) ~3,5–5,5 Δ ≤ 0,5 [A preencher]
Throughput (T4) ~0,5–0,9 tok/s Superar taxa nativa em FP16 [A preencher]
ROUGE-L (Sumarização) ~0,35–0,45 Margem de perda máxima Δ ≤ 0,03 [A preencher]
NiAH Recall (8K Context) 0,90–1,00 Regência e recuperação mínima de 80% [A preencher]
VRAM Peak Allocation Demandas massivas >100 GB Manutenção estrita sob a marca de 8 GB [A preencher]

Nota Metodológica: O preenchimento da métrica de Perplexidade (PPL) assume protocolos restritamente baseados na técnica de Janela Transladante (Sliding-Window), rejeitando chunks disjuntos.

Fontes e Referências Acadêmicas

A construção analítica das rotinas de inferência propostas escora-se na literatura internacional consolidada de mitigação tensorial e pesquisas com otimizações em Inteligência Artificial, a saber:

  • Zandieh et al. (2025). TurboQuant: Online Vector Quantization with Near-optimal Distortion Rate. Produzido via Google Research, documentação metodológica no uso vetorial (ICLR 2026), arXiv:2504.19874.
  • Dettmers et al. (2023). QLoRA: Efficient Finetuning of Quantized LLMs. Base formal para alocação estatística BitsAndBytes da abstração em modelo contínuo variante (NF4).
  • Li, G. (2024). Unbelievable! Run 70B LLM Inference on a Single 4GB GPU. Documentação do projeto provedor do particionamento lógico AirLLM.
  • Argonne LCNF (2024) / ELIB Framework (2025). Diretrizes de avaliações extraídas de publicações atinentes ao LLM-Inference-Bench (arXiv:2411.00136 e arXiv:2508.11269), definindo premissas de MBU (Model Bandwidth Utilization) e letência restrita.
  • MLCommons Foundation (2025). Padrões rígidos e limites de avaliação de roteiro open-orca dissecados sob regras do grupo MLPerf Inference v5.0.

As documentações deste repositório possuem cunho explicitamente referencial, voltado para otimizações técnicas de LLMs, benchmarks em arquiteturas restritivas e estudos independentes em Edge AI associados às métricas operacionais.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors