pratical llms
1.0.0
¡Bienvenido al repositorio para ingenieros LLM (Large Language Model)! Esta colección de Jupyter Notebooks está diseñada para recopilar aspectos prácticos de nuestro trabajo. Recopilaré y agregaré jupyter y/o script para fines de aprendizaje y experimentación.
Computadora portátil | Descripción | URL |
---|---|---|
1_understanding_llms_benchmarks.ipynb | Este cuaderno proporciona una explicación de los principales puntos de referencia utilizados en la tabla de clasificación de openLLM. Su objetivo es ayudarlo a comprender las métricas y metodologías clave utilizadas en la evaluación comparativa de los LLM. | Enlace |
2_base_cuantización.ipynb | En este cuaderno, aprenderá cómo abrir un modelo Hugging Face en 8 y 4 bits usando la biblioteca BitandBytes. La cuantificación es una técnica crucial para optimizar el rendimiento del modelo y el uso de recursos, y este cuaderno le guiará a través del proceso. | Enlace |
3_cuantización_gptq.ipynb | Explore la cuantificación en formato GPTQ utilizando la biblioteca auto-gptq con este cuaderno. El formato GPTQ está ganando popularidad por su eficacia a la hora de comprimir y cuantificar modelos grandes como GPT. Aprenda cómo aprovechar este formato para sus modelos. | Enlace |
4_cuantización_exllamav2.ipynb | Cómo cuantificar un modelo de HF a exllamav2 | Enlace |
5_fragmentación_y_descarga.ipynb | Cómo fragmentar un modelo en varios fragmentos. Esto permite cargarlo en diferentes dispositivos o cargar uno a la vez administrando la memoria. Aprenda cómo descargar alguna capa a la CPU o incluso al disco | Enlace |
6_gguf_cuantización_e_inferencia.ipynb | Cuantice un modelo en GGUF usando la biblioteca llama.cpp. Inferencia en un servidor compatible con OpenAI. | Enlace |
7_gguf_split_and_load.ipynb | Divida un modelo cuantificado GGUF en varias partes, haciéndolo fácilmente compartible | Enlace |
8_hqq_cuantización.ipynb | Explore la cuantización utilizando la cuantización semicuadrática (HQQ) | Enlace |
9_inferencia_big_model_cpu_plus_gpu.ipynb | Este cuaderno muestra cómo calcular la RAM requerida por un modelo GGUF cuantificado y cómo cargarla en la memoria usando RAM y VRAM, optimizando la cantidad de capas que se pueden descargar a la GPU. La computadora portátil muestra la carga de Qwen/Qwen1.5-32B-Chat-GGUF como ejemplo en un sistema con una VRAM T4 de 15 GB y aproximadamente 32 GB de RAM. | Enlace |
a10_inferencia_llama3.ipynb | Llama3 ha sido liberado. Este cuaderno demuestra cómo ejecutar LLama3-8B-Instruct con media precisión si tiene acceso a una GPU con 24 GB de VRAM, cuantificada a 8 bits si tiene 10 GB de VRAM, y muestra cómo ejecutar la versión Q8 GGUF para lograr el máximo rendimiento si solo tienes 10 GB de VRAM. | Enlace |
a11_llm_guardrails_using_llama3_guard.ipynb | Proteja su backend y sus aplicaciones de IA generativa usando LLama3-guard-2. En este cuaderno, le muestro cómo configurar un servidor usando 10 GB de VRAM y cómo realizar inferencias a través de solicitudes HTTP POST. | Enlace |
a12_decodificación_especulativa.ipynb | El cuaderno describe y demuestra de manera práctica la técnica de 'decodificación especulativa' para aumentar los tokens/segundo generados por un modelo objetivo mediante el uso de un modelo borrador más pequeño y liviano. Ejemplo realizado en LLama-3-70B-Instruct (Target) y LLama-3-8B-Instruct (Draft). | Enlace |
a13_inferencia_vision_llm.ipynb | El cuaderno demuestra cómo realizar una inferencia simple utilizando un LLM de visión. Para el ejemplo, elegí la instrucción Phi-3-vision-128k-instruct recientemente lanzada por Microsoft. El modelo tiene licencia MIT, por lo que puede utilizarlo en sus propias aplicaciones sin restricciones. El modelo puede ejecutarse en una Nvidia L4. | Enlace |
a14_llm_as_evaluator.ipynb | El cuaderno demuestra cómo utilizar un LLM como juez usando Prometheus 2. En el cuaderno se muestra cómo evaluar una respuesta devuelta por cualquiera de nuestros LLM o proceso de solicitud. | Enlace |
a15_llm_evaluación.ipynb | El cuaderno demuestra cómo utilizar EleutherAI/lm-evaluación-arnés para evaluar los LLM en puntos de referencia comunes utilizados también en las tablas de clasificación oficiales. El proceso es el mismo que se utiliza automáticamente cuando envías un modelo a la tabla de clasificación. | Enlace |
a16_generación_de_datos_sintéticos.ipynb | En este cuaderno, creé una clase personalizada para generar un conjunto de datos de control de calidad sintético a partir de un archivo de entrada usando Llama-3-8B como LLM. El script también demuestra cómo construir y ejecutar la nueva versión de llama-server en llama-3-8b-Q_8 GGUF. | Enlace |
a17_sglan_serving_llm_multiusers.ipynb | En este cuaderno, muestro todos los pasos sobre cómo implementar eficientemente LLama3.1-8B-FP8 en un servidor personalizado usando SGLang y servir a 64 usuarios potencialmente paralelos mientras mantengo un buen rendimiento. | Enlace |
a18_jailbreak_control_using_promptguard.ipynb | Probando el nuevo PromptGuard-86M para jailbreak. Spoiler: el modelo parece roto o realmente malo en este momento | Enlace |
a19_información_documento_y_extracción_tabla.ipynb | Este cuaderno demuestra cómo utilizar un modelo alfabetizado multimodal (Kosmos 2.5) para extraer texto y tablas de forma precisa y eficiente sin utilizar servicios de nube pagos. El modelo se ejecuta en su GPU personal, manteniendo sus datos privados y seguros. | Enlace |
a20_finetuning_llm_unsloth.ipynb | Este cuaderno muestra cómo ajustar Phi-3.5-mini-instruct usando unsloth en un conjunto de datos HF de cadena de estructura de "pensamiento" | Enlace |
Para obtener más recursos y apoyo, no dude en comunicarse con la comunidad o consultar lo siguiente:
¡Feliz aprendizaje y experimentación con LLM!