155 lines
5.2 KiB
Plaintext
155 lines
5.2 KiB
Plaintext
{
|
|
"cells": [
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"# Tutorial: Uso de Modelos LLM con vLLM\n",
|
|
"En este tutorial aprenderás:\n",
|
|
"- Qué es vLLM y sus ventajas.\n",
|
|
"- Los tipos de modelos compatibles con vLLM.\n",
|
|
"- Cómo descargar y usar modelos con vLLM para tareas como chat."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"## ¿Qué es vLLM?\n",
|
|
"**vLLM** es una biblioteca optimizada para ejecutar modelos LLM de manera eficiente, aprovechando técnicas avanzadas de gestión de memoria y paralelización. Está diseñada para manejar tareas como generación de texto en grandes modelos con un rendimiento mejorado.\n",
|
|
"\n",
|
|
"**Ventajas de vLLM:**\n",
|
|
"- Mayor eficiencia en el uso de GPU y memoria.\n",
|
|
"- Reducción en los tiempos de inferencia.\n",
|
|
"- Compatibilidad con modelos de Hugging Face y otras plataformas populares."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"## Tipos de Modelos Compatibles con vLLM\n",
|
|
"Los modelos más comunes que se pueden usar con vLLM incluyen:\n",
|
|
"- **Modelos abiertos:** Por ejemplo, GPT-NeoX, OPT, LLaMA, y Falcon.\n",
|
|
"- **Modelos comerciales:** Modelos compatibles disponibles en Hugging Face o APIs comerciales como GPT-3 o GPT-4.\n",
|
|
"- **Modelos específicos:** Diseñados para tareas específicas como chat o generación de código (por ejemplo, CodeT5, StarCoder)."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"## Instalación de vLLM\n",
|
|
"Primero, necesitamos instalar la biblioteca vLLM. Esto se puede hacer con `pip`."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"!pip install vllm"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"## Descargar Modelos para vLLM\n",
|
|
"Usaremos un modelo abierto como LLaMA 2 o GPT-NeoX desde el hub de Hugging Face. La biblioteca vLLM puede cargar modelos directamente desde Hugging Face."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"# Importar las bibliotecas necesarias\n",
|
|
"from vllm import LLM, SamplingParams\n",
|
|
"\n",
|
|
"# Nombre del modelo (puedes cambiarlo según tu preferencia)\n",
|
|
"model_name = 'meta-llama/Llama-2-7b-chat-hf'\n",
|
|
"\n",
|
|
"# Inicializar el modelo\n",
|
|
"llm = LLM(model=model_name)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"## Uso de vLLM para Chat\n",
|
|
"Podemos usar vLLM para interactuar con el modelo en aplicaciones de chat. Esto implica enviar un prompt y recibir una respuesta generada por el modelo."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"# Parámetros de entrada para la generación\n",
|
|
"prompt = \"Hola, ¿cómo puedo ayudarte hoy?\"\n",
|
|
"\n",
|
|
"# Parámetros de muestreo\n",
|
|
"sampling_params = SamplingParams(\n",
|
|
" temperature=0.7, # Controla la creatividad\n",
|
|
" max_tokens=100 # Número máximo de tokens generados\n",
|
|
")\n",
|
|
"\n",
|
|
"# Generar texto\n",
|
|
"outputs = llm.generate(prompt, sampling_params)\n",
|
|
"\n",
|
|
"# Mostrar la respuesta\n",
|
|
"print(outputs[0].text)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"## Otros Modelos Compatibles\n",
|
|
"Además de LLaMA 2, puedes usar otros modelos como:\n",
|
|
"- **Falcon:** Un modelo optimizado para tareas de NLP, disponible en tamaños como 7B y 40B.\n",
|
|
"- **OPT (Meta):** Diseñado para tareas de lenguaje natural.\n",
|
|
"- **GPT-NeoX:** Modelo de EleutherAI diseñado como una alternativa a GPT-3.\n",
|
|
"\n",
|
|
"Estos modelos se pueden cargar de manera similar cambiando el nombre del modelo en el código."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"## Conclusión\n",
|
|
"Este tutorial mostró cómo instalar y usar vLLM para ejecutar modelos LLM de manera eficiente. Los modelos como LLaMA, Falcon, y GPT-NeoX son compatibles y pueden ser utilizados para tareas como chat y generación de texto.\n",
|
|
"\n",
|
|
"Con vLLM, puedes aprovechar grandes modelos con un rendimiento optimizado, ideal para aplicaciones de inteligencia artificial."
|
|
]
|
|
}
|
|
],
|
|
"metadata": {
|
|
"kernelspec": {
|
|
"display_name": "Python 3",
|
|
"language": "python",
|
|
"name": "python3"
|
|
},
|
|
"language_info": {
|
|
"codemirror_mode": {
|
|
"name": "ipython",
|
|
"version": 3
|
|
},
|
|
"file_extension": ".py",
|
|
"mimetype": "text/x-python",
|
|
"name": "python",
|
|
"nbconvert_exporter": "python",
|
|
"pygments_lexer": "ipython3",
|
|
"version": "3.8.5"
|
|
}
|
|
},
|
|
"nbformat": 4,
|
|
"nbformat_minor": 4
|
|
}
|
|
|