Um Guia de Codificação Completa do NVIDIA KVPress para Inferência de LLM de Contexto Longo, Compressão de KV Cache e Geração com Uso Eficiente de Memória

Um Guia de Codificação Completa do NVIDIA KVPress para Inferência de LLM de Contexto Longo, Compressão de KV Cache e Geração com Uso Eficiente de Memória

Neste tutorial, abordamos de forma detalhada e prática o NVIDIA KVPress e entendemos como ele pode tornar a inferência de modelos de linguagem de contexto longo mais eficiente. Começamos configurando o ambiente completo, instalando as bibliotecas necessárias, carregando um modelo Instruct compacto e preparando um fluxo de trabalho simples que é executado no Colab, enquanto demonstra o […] A postagem Um Guia Completo

Neste tutorial, adotamos uma abordagem detalhada e prática para explorar o KVPress da NVIDIA e entender como ele pode tornar a inferência de modelos de linguagem de contexto longo mais eficiente. Começamos configurando o ambiente completo, instalando as bibliotecas necessárias, carregando um modelo Instruct compacto e preparando um fluxo de trabalho simples que é executado no Colab, enquanto ainda demonstra o valor real da compressão do KV cache. À medida que avançamos na implementação, criamos um corpus sintético de contexto longo, definimos perguntas de extração direcionadas e executamos vários experimentos de inferência para comparar diretamente a geração padrão com diferentes estratégias KVPress. Ao final do tutorial, teremos construído uma intuição mais forte sobre como a otimização de contexto longo funciona na prática, como diferentes métodos de compressão afetam o desempenho e como esse tipo de fluxo de trabalho pode ser adaptado para recuperação no mundo real, análise de documentos e aplicações de LLM sensíveis à memória. Copy Code Copied Use um navegador diferente import os, sys, subprocess, textwrap, time, gc, json, math, random, warnings, inspect warnings.filterwarnings("ignore") def run(cmd): print("
[RUN]", " ".join(cmd)) subprocess.check_call(cmd) run([sys.executable, "-m", "pip", "install", "-q", "--upgrade", "pip"]) run([sys.executable, "-m", "pip", "install", "-q", "torch", "transformers", "accelerate", "bitsandbytes", "sentencepiece", "kvpress==0.4.0"]) try: from google.colab import userdata hf_token = userdata.get("HF_TOKEN") except Exception: hf_token = os.environ.get("HF_TOKEN", "") if not hf_token: try: import getpass hf_token = getpass.getpass("Digite seu token do Hugging Face (deixe vazio se o modelo for público e acessível): ").strip() except Exception: hf_token = "" if hf_token: os.environ["HF_TOKEN"] = hf_token os.environ["HUGGINGFACEHUB_API_TOKEN"] = hf_token import torch import transformers import kvpress from transformers import pipeline, BitsAndBytesConfig from kvpress import ExpectedAttentionPress, KnormPress print("Python:", sys.version.split()[0]) print("Torch:", torch.version) print("Transformers:", transformers.version) print("CUDA disponível:", torch.cuda.is_available()) if torch.cuda.is_available(): print("GPU:", torch.cuda.get_device_name(0)) MODEL_ID = "Qwen/Qwen2.5-1.5B-Instruct" MAX_NEW_TOKENS = 96 SEED = 42 random.seed(SEED) torch.manual_seed(SEED) Configuramos o ambiente Colab e instalamos todas as bibliotecas necessárias para executar o fluxo de trabalho do KVPress com sucesso. Nós set

Otimização de InferênciaLLMs de Longo ContextoNVIDIA KVPress