Cómo ejecutar una IA similar a ChatGPT en su propia PC
Publicado: 2023-04-06Los chatbots están de moda en este momento, y todos quieren una parte de la acción. Google tiene Bard, Microsoft tiene Bing Chat y ChatGPT de OpenAI es prácticamente sinónimo de IA en este momento. Pero, ¿qué sucede si no desea confiar en un servicio en la nube para su chatbot? Tenemos una IA similar a ChatGPT que puedes descargar: una Alpaca.
¿Qué es la alpaca?
¿Cómo se compara Alpaca con ChatGPT?
¿Qué necesitas para correr Alpaca?
Cómo ejecutar Alpaca localmente en tu PC
Instalar el subsistema de Windows para Linux 2
Instalar ventana acoplable
Instalar GIT en Windows
Instalar Serge y Alpaca
Usa sarga y alpaca
¿Qué es la alpaca?
Alpaca es un modelo de lenguaje (un chatbot, básicamente), muy parecido a ChatGPT. Es capaz de responder preguntas, razonar, contar chistes y casi cualquier otra cosa que esperamos de los chatbots. Alpaca fue creada por investigadores de Stanford al perfeccionar LLaMA de Facebook.
A diferencia de ChatGPT y la mayoría de los otros chatbots disponibles en la actualidad, Alpaca se ejecuta completamente en su propia PC. Eso significa que nadie puede espiar tus conversaciones o lo que le pidas a Alpaca, y tus intercambios tampoco pueden filtrarse accidentalmente. También significa que no tiene que pagar ninguna tarifa mensual, puede entrenar más el modelo para que se adapte mejor a sus necesidades si tiene el hardware, y puede integrarlo en cualquier aplicación que desee. Solo está limitado por su hardware y sus habilidades de programación.
Sin embargo, también funciona maravillosamente como un viejo chatbot normal con el que puede hablar, y le mostraremos cómo ejecutarlo en casi cualquier PC.
¿Cómo se compara Alpaca con ChatGPT?
Simplemente lo explicaremos desde el principio: ChatGPT, particularmente ChatGPT con GPT-4, es más inteligente y rápido que Alpaca en este momento.
La velocidad de Alpaca está limitada principalmente por la computadora en la que se ejecuta: si tiene una PC para juegos ultrarrápida con una tonelada de núcleos y mucha RAM, obtendrá un buen rendimiento. Las PC más lentas con menos núcleos tardarán más en generar respuestas. Por supuesto, no es exactamente justo ni razonable compararlo con ChatGPT en este sentido: no sabemos en qué tipo de computadora se está ejecutando ChatGPT, pero ciertamente es más robusto que una PC de escritorio promedio.
Hay tres variantes principales de Alpaca actualmente, 7B, 13B y 30B. En términos generales, cuanto mayor sea el número, más inteligente será el chatbot.
Alpaca, especialmente el modelo 7B, es notablemente "más tonto" que ChatGPT. No razona tan bien y ciertamente no pasará la prueba de Turing. Sin embargo, 7B sigue siendo excelente si desea una sugerencia de receta.
Los modelos 13B y 30B son otra historia. 13B es capaz de proporcionar una conversación coherente, similar a la humana, y puede responder preguntas complejas. 30B es aún más impresionante, si tiene el hardware para ejecutarlo y está a poca distancia de ChatGPT. Se encerará filosóficamente o hará una broma sin perder el ritmo si se le solicita.
¿Qué necesitas para correr Alpaca?
Alpaca tiene requisitos de sistema bastante flexibles. Estas pautas están por encima del mínimo indispensable, pero son buenas pautas. También vamos a instalar esto en Windows. Si está instalando esto en un sistema que ejecuta Linux o macOS, simplemente omita la sección Subsistema de Windows para Linux; no es relevante para usted.
- 16 GB de RAM
- 32 GB es mejor y es necesario si desea ejecutar el modelo 30B
- 35 GB de almacenamiento en un SSD si quieres los tres modelos.
- 4 GB para el modelo 7B, 8 GB para el modelo 13B y 20 GB para el modelo 30B
- 500 MB para Ubuntu predeterminado con WSL2
- Unos GB más entre otras dependencias
- Una CPU moderna es ideal
- Cualquier CPU Ryzen
- Procesador Intel de séptima generación o más reciente
- Subsistema de Windows para Linux 2 (WSL2)
- GIT
- Estibador
- Un proyecto comunitario, Serge, que le da a Alpaca una interfaz web agradable
Advertencia: actualmente no hay razón para sospechar que este proyecto en particular tiene fallas de seguridad importantes o es malicioso. Revisamos el código y ejecutamos el software nosotros mismos y no encontramos nada preocupante. Eso no significa que sea o vaya a ser seguro. Siempre tenga cuidado con las cosas que encuentre en Internet y reevalúe la seguridad periódicamente.
Cómo ejecutar Alpaca localmente en tu PC
Es importante que siga estos pasos en el orden en que se dan. Es probable que Docker se rompa si no lo hace, lo que requerirá una reinstalación completa de WSL2 y Docker.
Instalar el subsistema de Windows para Linux 2
El subsistema de Windows de Microsoft para Linux 2 (WSL2) le permite ejecutar el software de Linux en Windows. Tiene una sobrecarga baja y es realmente útil en muchos casos. Docker para Windows se basa en WSL2, por lo que primero debemos instalar WSL2.
Nota: si ya tiene instalado WSL2, simplemente ejecute wsl –update en PowerShell para asegurarse de que todo esté actualizado.
Abra una ventana de PowerShell como administrador, luego ingrese el comando:
wsl --install
Tomará un poco descargar todos los archivos WSL2 y Ubuntu. Debe reiniciar su PC después de que se complete la instalación.
Una vez que se haya realizado el reinicio, vuelva a abrir PowerShell (no necesariamente como administrador) y ejecute:
wsl -l -v
Debería ver algo como la imagen de abajo si todo funcionó correctamente. Tampoco necesita instalar Ubuntu en particular. Puede instalar cualquier distribución que desee, Ubuntu es solo la predeterminada.
Instalar ventana acoplable
Docker es un programa que le permite ejecutar programas en un "contenedor". Los contenedores son similares a las máquinas virtuales, pero tienden a tener menos gastos generales y tienen un mayor rendimiento para muchas aplicaciones. Serge usa Docker para que la instalación sea muy cómoda.
RELACIONADO: ¿ Qué hace Docker y cuándo debería usarlo?
Primero, descargue el instalador de Docker desde el sitio web de Docker. Si va a ejecutar Docker en Linux o macOS, asegúrese de obtener el instalador adecuado.
Nota: Si está ejecutando un servidor Linux sin periféricos, deberá seguir las instrucciones correspondientes para que su distribución de Linux ejecute Docker.
Ejecute el instalador y prepárese para esperar unos minutos. Docker tomará un tiempo y configurará un montón de cosas detrás de escena. Una vez hecho esto, querrá reiniciar su PC.
Después de reiniciar, abra PowerShell y ejecute wsl -l -v
nuevamente. Esta vez también debería ver algunas entradas relacionadas con Docker.
Instalar GIT en Windows
El último requisito previo es Git, que usaremos para descargar (y actualizar) Serge automáticamente desde Github. No es estrictamente necesario ya que siempre puedes descargar el ZIP y extraerlo manualmente, pero Git es mejor.
Dirígete al sitio web de Git y descarga la versión correcta para tu sistema operativo. Los usuarios de Windows solo necesitan ejecutar el ejecutable. Asegúrese de mirar al menos las opciones de instalación en lugar de simplemente hacer clic rápidamente en todas las opciones. Uno, que se muestra en la captura de pantalla a continuación, es absolutamente crítico.
Una vez que Git haya terminado de instalar, estará listo para instalar Serge y Alpaca.
Instalar Serge y Alpaca
Primero, asegúrese de que Docker Desktop se esté ejecutando. Luego, abra PowerShell o Windows Terminal con una ventana de PowerShell abierta (no como administrador) y ejecute el siguiente comando:
git clone https://github.com/nsarrazin/serge.git && cd serge
Esto descarga los archivos de GitHub a una carpeta en su PC, luego cambia el directorio activo a la carpeta que se creó.
El siguiente comando que debe ejecutar es:
cp .env.sample .env
Esa línea crea una copia de .env.sample y nombra la copia ".env". El archivo contiene argumentos relacionados con la base de datos local que almacena sus conversaciones y el puerto que utiliza el servidor web local cuando se conecta.
Entonces corre:
docker compose up -d
Docker compose une varios contenedores diferentes en un paquete ordenado. Puede consultar el archivo docker-compose.yml en la carpeta Serge si desea ver más específicamente lo que está involucrado aquí.
El último comando iniciará una descarga, y aquí debe elegir antes de continuar. Hay tres variantes diferentes que puede descargar: 7B, 13B y 30B. El 7B es el modelo más simple y “más tonto”, mientras que el 30B es el más sofisticado e inteligente. 13B es el término medio.
Variante | Tamaño de descarga | RAM libre requerida | RAM del sistema recomendada en Windows | RAM del sistema recomendada en Linux |
7B | 4 GB | 4 GB | 16 GB | 8GB |
13B | 8GB | 8GB | 16 GB | 16 GB |
30B | 20 | 20 GB | 64 GB (probable) | 32 GB |
Las instalaciones de Linux (y probablemente macOS) podrán salirse con la suya con menos RAM del sistema que las instalaciones de Windows: Windows consume un poco de RAM. Probablemente debería comenzar primero con la variante 7B, ya que es la opción menos exigente. Siempre puede descargar 13B o 30B más tarde si lo desea.
Ejecute el siguiente comando para descargar el modelo 7B (o sustituya 13B o 30B).
docker compose exec api python3 /usr/src/app/utils/download.py tokenizer 7B
Prepárate para esperar, especialmente si optas por la variante 30B. El servidor Huggingface parece superar los 20 megabytes por segundo, por lo que, en el mejor de los casos, verás 50 segundos por gigabyte descargado.
Usa sarga y alpaca
Docker y todos los contenedores requeridos se están ejecutando actualmente si ha seguido estas instrucciones; sin embargo, deberá volver a activarlos si reinicia su computadora. Para hacer eso, simplemente abra Docker Desktop y haga clic en los pequeños botones triangulares. Los íconos a la izquierda de la columna "Nombre" se vuelven verdes cuando los contenedores se están ejecutando.
Todo está instalado y listo para funcionar en este punto. Simplemente abra su navegador e ingrese "localhost: 8008" en la barra de direcciones, tal como lo haría para visitar Facebook o cualquier otro sitio web.
Nota: si aloja Alpaca/Serge en otra computadora, deberá ingresar la dirección IP local de ese dispositivo en lugar de localhost.
La pantalla principal muestra sus conversaciones anteriores a la izquierda y la configuración para un nuevo chat en el medio.
Hay una buena cantidad de configuraciones disponibles, pero hay cinco a las que realmente querrás prestar atención:
- Temperatura : determina la libertad de respuesta de la IA. Los números más bajos dan como resultado respuestas más rígidas, mientras que los números más altos son más creativos.
- Longitud máxima de texto generado en tokens : la duración de las respuestas que escribe el bot.
- Elección de modelo : elija entre 7B, 13B, 30B y cualquier otro modelo que instale.
- n_threads : la cantidad de subprocesos que Serge/Alpaca puede usar en su CPU. Asignar más mejorará el rendimiento
- Solicitud previa para inicializar una conversación : proporciona contexto antes de que comience la conversación para sesgar la forma en que responde el chatbot.
En este caso, subimos la temperatura y los hilos, seleccionamos el modelo 13B y le dijimos al chatbot que es un pirata.
Aquí hay una muestra de cómo fue la conversación.
Puede hablar de lo que quiera con Alpaca y no tiene que preocuparse por lo que sucede con sus datos. Permanece en su dispositivo, bajo su control en todo momento.
Recuerde, ChatGPT, Alpaca y otros chatbots parecen confiables, pero no lo son en este momento. Encarnan en gran medida el sentimiento: "Si no puedes deslumbrarlos con brillantez, desconciertalos con BS". Su tendencia a inventar cosas se ha denominado "alucinación". No confíe en ellos para nada esencial, especialmente si no es algo crítico para su trabajo o su salud. Solo deben usarse con fines de entretenimiento o experimentales en este momento.
Sin embargo, la tecnología solo mejorará con el tiempo: no pasará mucho tiempo antes de que veamos a Alpaca (u otra IA ejecutada localmente) integrada en los servidores de Discord, mods de Minecraft y cualquier otra cantidad de aplicaciones creativas. Un mayor refinamiento también dará como resultado modelos más rápidos y precisos que pueden ejecutarse en hardware más débil.