1 pontos por GN⁺ 2024-04-05 | 1 comentários | Compartilhar no WhatsApp

💫 IPEX-LLM

  • IPEX-LLM é uma biblioteca PyTorch para executar LLMs em CPUs e GPUs da Intel com latência muito baixa.
  • É construída sobre excelentes trabalhos como a extensão Intel para PyTorch (IPEX), llama.cpp, bitsandbytes, vLLM, qlora, AutoGPTQ e AutoAWQ.
  • Oferece integração perfeita com llama.cpp, Text-Generation-WebUI, HuggingFace transformers e outros.
  • mais de 50 modelos otimizados/validados no ipex-llm, e a lista completa pode ser vista aqui.

Atualizações mais recentes 🔥

  • bigdl-llm foi renomeado para ipex-llm, e o projeto original BigDL pode ser encontrado aqui.
  • O ipex-llm agora pode carregar modelos diretamente do ModelScope(魔搭).
  • O ipex-llm adicionou suporte a INT2, permitindo executar LLMs grandes (por exemplo, Mixtral-8x7B) com 16GB de VRAM em GPUs da Intel.
  • Os usuários agora podem usar o ipex-llm pela interface GUI do Text-Generation-WebUI.
  • O ipex-llm agora oferece suporte a Self-Speculative Decoding, acelerando a latência de inferência em FP16 e BF16 em cerca de 30% em GPUs e CPUs da Intel, respectivamente.
  • O ipex-llm agora oferece suporte a uma lista abrangente de fine-tuning de LLMs em GPUs da Intel.

Demo do ipex-llm

  • É possível conferir abaixo o desempenho otimizado dos modelos chatglm2-6b e llama-2-13b-chat em CPUs Intel Core de 12ª geração e GPUs Intel Arc.

Início rápido com ipex-llm

Instalação do ipex-llm

  • Windows GPU: instalar o ipex-llm no Windows com GPU Intel
  • Linux GPU: instalar o ipex-llm no Linux com GPU Intel
  • Docker: usar o Docker do ipex-llm em CPUs e GPUs da Intel
  • Para mais detalhes, consulte o guia de instalação

Executando o ipex-llm

  • llama.cpp: executar o ipex-llm para llama.cpp em GPUs da Intel
  • vLLM: executar o ipex-llm no vLLM em GPUs e CPUs da Intel
  • FastChat: executar o ipex-llm no serving do FastChat em GPUs e CPUs da Intel
  • LangChain-Chatchat RAG: executar o ipex-llm no LangChain-Chatchat
  • Text-Generation-WebUI: executar o ipex-llm no WebUI do oobabooga
  • Benchmarking: executar benchmarks do ipex-llm em CPUs e GPUs da Intel

Exemplos de código

  • Inferência em baixa precisão
    • Inferência INT4: inferência de LLM em INT4 em GPUs e CPUs da Intel
    • Inferência FP8/FP4: inferência de LLM em FP8 e FP4 em GPUs da Intel
    • Inferência INT8: inferência de LLM em INT8 em GPUs e CPUs da Intel
    • Inferência INT2: inferência de LLM em INT2 em GPUs da Intel
  • Inferência FP16/BF16
    • Inferência de LLM em FP16: com otimização opcional de self-speculative decoding em GPUs da Intel
    • Inferência de LLM em BF16: com otimização opcional de self-speculative decoding em CPUs da Intel
  • Salvar e carregar
    • Modelos de baixa precisão: salvar e carregar modelos de baixa precisão do ipex-llm
    • GGUF: carregar modelos GGUF diretamente no ipex-llm
    • AWQ: carregar modelos AWQ diretamente no ipex-llm
    • GPTQ: carregar modelos GPTQ diretamente no ipex-llm
  • Fine-tuning
    • Fine-tuning de LLMs em GPUs da Intel, incluindo LoRA, QLoRA, DPO, QA-LoRA e ReLoRA
    • Fine-tuning QLoRA em CPUs da Intel
  • Integração com bibliotecas da comunidade
    • HuggingFace transformers
    • modelos PyTorch padrão
    • DeepSpeed-AutoTP
    • HuggingFace PEFT
    • HuggingFace TRL
    • LangChain
    • LlamaIndex
    • AutoGen
    • ModeScope
  • Tutoriais
    • Para mais detalhes, consulte o site de documentação do ipex-llm

Modelos validados

  • Os mais de 50 modelos otimizados/validados no ipex-llm incluem LLaMA/LLaMA2, Mistral, Mixtral, Gemma, LLaVA, Whisper e outros, e a lista pode ser vista abaixo.

Opinião do GN⁺

  • O IPEX-LLM é uma ferramenta poderosa para executar modelos de linguagem de grande porte otimizados em hardware da Intel, podendo ser de grande ajuda para pesquisa e desenvolvimento em inteligência artificial.
  • Como essa biblioteca se integra a diversos modelos, ela tem a vantagem de ser facilmente acessível e utilizável pelos usuários.
  • No entanto, por ser especializada em hardware da Intel, pode não garantir desempenho ideal em hardware de outros fabricantes.
  • Ao adotar essa tecnologia, é necessário ter entendimento suficiente sobre compatibilidade de hardware e ajuste de desempenho.
  • Como permite acelerar inferência e fine-tuning de modelos de linguagem de grande porte, pode ajudar a economizar tempo e recursos.

1 comentários

 
GN⁺ 2024-04-05
Comentários do Hacker News
  • Expectativa por uma revolução na VRAM das GPUs

    Uma empresa tem a chance de sair do "4 núcleos para sempre" e quebrar a antiga limitação de AMD e Nvidia de "8-16GB de VRAM para sempre" com o próximo lançamento de GPU para consumidor. Seria poético oferecer 32-48GB de VRAM por um preço razoável.

  • Avaliação positiva do suporte de software da Intel

    A Intel está indo na direção certa em termos de suporte de software. Gostaria de ver dados de benchmark, e a velocidade nos exemplos apresentados parece bastante boa.

  • Pedido de recomendação de GPU Intel

    Preciso de recomendações de GPUs Intel com bastante VRAM. Pergunto se existe algum produto compatível com isso.

  • Interesse em benchmarks de desempenho

    Há interesse em comparar o desempenho com llamafile ou outros benchmarks. Foi fornecido um link para esse benchmark.

  • Sugestão sobre a praticidade de usar GPUs na nuvem

    Seria bom disponibilizar um script para executar os exemplos em uma GPU compatível de um provedor de nuvem. Pergunta-se se há interesse nisso, pois está considerando montar essa configuração por conta própria.

  • Ausência de GPUs Intel nos provedores de nuvem

    Os principais provedores de nuvem não oferecem GPUs Intel.

  • Expectativa por análises do produto

    Está ansioso por análises e tem interesse em avaliações de futuros produtos.