Importante
bigdl-llm ahora se ha convertido en ipex-llm (consulte la Guía de migración aquí); Puede encontrar el proyecto BigDL original aquí.
<Inglés | 中文>
IPEX-LLM es una biblioteca de aceleración LLM para Intel GPU (por ejemplo, PC local con IGPU, GPU discreta como ARC, Flex y Max) , NPU y CPU 1 .
Nota
llama.cpp , transformers , bitsandbytes , vLLM , qlora , AutoGPTQ , AutoAWQ , etc.ipex-llm (EG, LLAMA, PHI, Mistral, MixTral, Whisper, QWEN, MinicPM, QWEN-VL, MinicPM-V y más), con optimizaciones de LLM de estado de estado, aceleración XPU y apoyo bajo (FP8/FP6/FP4/FP4/INT4) ; Vea la lista completa aquí. ipex-llm en Intel GPU.ipex-llm ahora admite Axolotl para LLM Finetuning en Intel GPU; Vea el inicio rápido aquí.ipex-llm , servir y Finetuning usando las imágenes Docker .ipex-llm en Windows usando solo " un comando ".ipex-llm ; Vea el inicio rápido aquí.llama.cpp y ollama con ipex-llm ; Vea el inicio rápido aquí.ipex-llm ahora admite LLAMA 3 en Intel GPU y CPU.ipex-llm ahora proporciona la interfaz C ++, que puede usarse como un backend acelerado para ejecutar llama.cpp y ollama en Intel GPU.bigdl-llm se ha convertido en ipex-llm (ver la Guía de migración aquí); Puede encontrar el proyecto BigDL original aquí.ipex-llm ahora admite el modelo de carga directa desde ModelsCope (魔搭).ipex-llm agregó el soporte INT2 inicial (basado en el mecanismo LLAMA.CPP IQ2), lo que permite ejecutar LLM de gran tamaño (por ejemplo, MixTral-8x7b) en GPU Intel con 16 GB de VRAM.ipex-llm a través de la GUI de Generación de texto de texto.ipex-llm ahora admite la decodificación autopeculativa , que en la práctica trae ~ 30% de aceleración para la latencia de inferencia FP16 y BF16 en la GPU Intel y la CPU respectivamente.ipex-llm ahora admite una lista completa de Finetuning LLM en Intel GPU (incluidas Lora, Qlora, DPO, Qa-Lora y Relora).ipex-llm Qlora, logramos Finetune Llama2-7B en 21 minutos y LLAMA2-70B en 3.14 horas en 8 GPU Intel Max 1550 para Standford-Alpaca (ver el blog aquí).ipex-llm ahora es compatible con RETORA (ver "REMARA: entrenamiento de alto rango a través de actualizaciones de bajo rango" ).ipex-llm ahora es compatible con MixTral-8x7b en Intel GPU y CPU.ipex-llm ahora es compatible con Qa-Lora (ver "Qa-Lora: Adaptación de bajo rango de cuantificación de modelos de idiomas grandes" ).ipex-llm ahora admite inferencia FP8 y FP4 en Intel GPU .ipex-llm están disponibles.ipex-llm ahora admite un lotes continuos VLLM en Intel GPU y CPU.ipex-llm ahora es compatible con la Finetuning de Qora tanto en la GPU Intel como en la CPU.ipex-llm ahora admite FastChat Siring en CPU Intel y GPU.ipex-llm ahora admite Intel GPU (incluyendo IGPU, ARC, Flex y Max).ipex-llm . ipex-llm Vea las demostraciones de ejecutar LLMS LOCAL en Intel Core Ultra IGPU, Intel Core Ultra NPU, GPU de arco de una sola tarjeta o GPU de ARC de tarjetas múltiples utilizando ipex-llm a continuación.
| Intel Core Ultra (Serie 1) IGPU | Intel Core Ultra (Serie 2) NPU | Intel Arc DGPU | DGPUS Intel Arco de 2 cartas |
| Ollama (Mistral-7B Q4_K) | Cara de abrazo (Llama3.2-3b Sym_int4) | TextGeneration-Webui (Llama3-8b FP8) | Chaquetón (QWEN1.5-32B FP6) |
ipex-llmVea la velocidad de generación de tokens en Intel Core Ultra y Intel Arc GPU debajo de 1 (y consulte [2] [3] [4] para obtener más detalles).
Puede seguir la guía de evaluación comparativa para ejecutar el punto de referencia de rendimiento ipex-llm usted mismo.
Consulte el resultado de perplejidad a continuación (probado en el conjunto de datos Wikitext usando el script aquí).
| Perplejidad | sym_int4 | Q4_K | FP6 | FP8_E5M2 | FP8_E4M3 | FP16 |
|---|---|---|---|---|---|---|
| LLAMA-2-7B-CHAT-HF | 6.364 | 6.218 | 6.092 | 6.180 | 6.098 | 6.096 |
| Mistral-7B-Instructo-V0.2 | 5.365 | 5.320 | 5.270 | 5.273 | 5.246 | 5.244 |
| Baichuan2-7b-chat | 6.734 | 6.727 | 6.527 | 6.539 | 6.488 | 6.508 |
| Qwen1.5-7b-chat | 8.865 | 8.816 | 8.557 | 8.846 | 8.530 | 8.607 |
| Llama-3.1-8b-Instructo | 6.705 | 6.566 | 6.338 | 6.383 | 6.325 | 6.267 |
| GEMMA-2-9B-IT | 7.541 | 7.412 | 7.269 | 7.380 | 7.268 | 7.270 |
| Baichuan2-13b-chat | 6.313 | 6.160 | 6.070 | 6.145 | 6.086 | 6.031 |
| Llama-2-13B-CHAT-HF | 5.449 | 5.422 | 5.341 | 5.384 | 5.332 | 5.329 |
| Qwen1.5-14b-chat | 7.529 | 7.520 | 7.367 | 7.504 | 7.297 | 7.334 |
ipex-llm QuickStartllama.cpp , ollama , etc., con ipex-llm en Intel GPUtransformers de Huggingface, LangChain , LlamaIndex , ModelScope , etc. con ipex-llm en Intel GPUvLLM Sirviendo con ipex-llm en Intel GPUvLLM Siring con ipex-llm en Intel CPUFastChat Serving con ipex-llm en Intel GPUipex-llm en Python usando VScode en Intel GPUipex-llm en Intel NPU en Python y C ++ipex-llm ) en Intel GPUipex-llm ) en Intel GPUipex-llm ) en Intel GPU para Windows y Linuxipex-llm en VLLM en Intel GPU y CPUipex-llm en Fastchat Siring en Intel GPU y CPUipex-llm Sirviendo en múltiples GPU de Intel aprovechando DeepSpeed AutoTP y FastAPIipex-llm en oobabooga Webuiipex-llm en axolotl para la finura de LLMipex-llm en CPU Intel y GPUGraphRAG de Microsoft usando LLM local con ipex-llmRAGFlow ( un motor de trapo de código abierto ) con ipex-llmLangChain-Chatchat ( Qa de la base de conocimiento usando Rag Pipeline ) con ipex-llmContinue (codificación de copiloto en VScode) con ipex-llmOpen WebUI con ipex-llmPrivateGPT para interactuar con documentos con ipex-llmipex-llm en Dify ( plataforma de desarrollo de aplicaciones LLM lista para producción )ipex-llm en Windows con Intel GPUipex-llm en Linux con Intel GPUipex-llm bajo bits (int4/fp4/fp6/int8/fp8/fp16/etc.)ipex-llmipex-llmipex-llm Más de 70 modelos se han optimizado/verificado en ipex-llm , incluidos LLAMA/LLAMA2, Mistral, Mixtral, Gemma, Llava, Whisper, ChatGlm2/ChatGlm3, Baichuan/Baichuan2, Qwen/Qwen-1.5, Internlm y más; Vea la lista a continuación.
| Modelo | Ejemplo de CPU | Ejemplo de GPU | Ejemplo de NPU |
|---|---|---|---|
| Llama | link1, link2 | enlace | |
| Llama 2 | link1, link2 | enlace | Enlace de Python, enlace C ++ |
| Llama 3 | enlace | enlace | Enlace de Python, enlace C ++ |
| Llama 3.1 | enlace | enlace | |
| Llama 3.2 | enlace | Enlace de Python, enlace C ++ | |
| Llama 3.2 visión | enlace | ||
| Chatglm | enlace | ||
| Chatglm2 | enlace | enlace | |
| Chatglm3 | enlace | enlace | |
| GLM-4 | enlace | enlace | |
| GLM-4V | enlace | enlace | |
| Glm de borde | enlace | Python Link | |
| GLM-EDEDV | enlace | ||
| Mistral | enlace | enlace | |
| Mixtral | enlace | enlace | |
| Halcón | enlace | enlace | |
| MPT | enlace | enlace | |
| Dolly-v1 | enlace | enlace | |
| Dolly-v2 | enlace | enlace | |
| Código de replicación | enlace | enlace | |
| Redpajama | link1, link2 | ||
| Fénix | link1, link2 | ||
| Codificador de estrellas | link1, link2 | enlace | |
| Baichuan | enlace | enlace | |
| Baichuan2 | enlace | enlace | Python Link |
| Prostituta | enlace | enlace | |
| Intervl2 | enlace | ||
| Qwen | enlace | enlace | |
| Qwen1.5 | enlace | enlace | |
| Qwen2 | enlace | enlace | Enlace de Python, enlace C ++ |
| Qwen2.5 | enlace | Enlace de Python, enlace C ++ | |
| Qwen-vl | enlace | enlace | |
| Qwen2-vl | enlace | ||
| Qwen2-audio | enlace | ||
| Águila | enlace | enlace | |
| Aquila2 | enlace | enlace | |
| MUSGO | enlace | ||
| Susurro | enlace | enlace | |
| Phi-1_5 | enlace | enlace | |
| Flan-t5 | enlace | enlace | |
| Llava | enlace | enlace | |
| Codellama | enlace | enlace | |
| Trabajo de cielo | enlace | ||
| Pasador | enlace | ||
| Wizardcoder-Python | enlace | ||
| Césped | enlace | ||
| Fuyu | enlace | ||
| Awhisper | enlace | enlace | |
| Yi | enlace | enlace | |
| Holicero | enlace | enlace | |
| Tipo de serpiente venenosa | enlace | enlace | |
| SOLAR | enlace | enlace | |
| Phixtral | enlace | enlace | |
| Interlm2 | enlace | enlace | |
| RWKV4 | enlace | ||
| RWKV5 | enlace | ||
| Ladrar | enlace | enlace | |
| Discurso5 | enlace | ||
| Deepseek-moe | enlace | ||
| Ziya codificación-34b-v1.0 | enlace | ||
| Phi-2 | enlace | enlace | |
| Phi-3 | enlace | enlace | |
| Phi-3-visión | enlace | enlace | |
| Yuan2 | enlace | enlace | |
| Gema | enlace | enlace | |
| Gemma2 | enlace | ||
| Decilm-7b | enlace | enlace | |
| Veterano | enlace | enlace | |
| Stablelm | enlace | enlace | |
| Codegemma | enlace | enlace | |
| Command-R/Cohere | enlace | enlace | |
| CodeGeEx2 | enlace | enlace | |
| Minicpm | enlace | enlace | Enlace de Python, enlace C ++ |
| Minicpm3 | enlace | ||
| Minicpm-v | enlace | ||
| Minicpm-v-2 | enlace | enlace | |
| Minicpm-llama3-v-2_5 | enlace | Python Link | |
| Minicpm-v-2_6 | enlace | enlace | Python Link |
| Estabilización | enlace | ||
| BCE-incrustación-base-V1 | Python Link | ||
| Speech_paraformer-Large | Python Link |
El rendimiento varía según el uso, la configuración y otros factores. ipex-llm puede no optimizar en el mismo grado para productos que no son Intel. Obtenga más información en www.intel.com/performanceIndex. ↩ ↩ 2