¿Que es Alpaca?
Alpaca es un modelo de lenguaje tuneado basado en LLama de Facebook , creado por la universidad de Standford como proyecto open-source, entrenado con GPT-3.5 (text-davinci-003) .
Alpaca es un modelo de lenguaje(LLMs) open-source de 52,000 instrucciones, generado a un muy bajo coste, con este movimiento la universidad de Standford apuesta por un modelo de lenguaje abierto para IA como OpenChatKit, Open Assistant, o Carper AI.
El modelo de lenguaje de Alpaca está enfocado para uso académico no comercial, y ha sido reproducido por menos de 500 $, un logro impresionante comparado con los 5,000,000 $ que costo GTP-3
Requerimientos
Instalar un modelo funcional de Alpaca o Llama en nuestro sistema es posible gracias a varios proyectos comunitarios como https://github.com/antimatter15/alpaca.cpp y https://github.com/cocktailpeanut/dalai
Eso si tenemos que tener en cuenta que estos modelos requieren de una gran capacidad de cálculo y ejecutarlo en un equipo doméstico con unas prestaciones, básicas incluso en una Raspberry Pi no es su entorno más adecuado, puesto que es muy……. lento. Pero es un buen experimento.
- Necesitamos tener instalado python 3.10 o 3.9, en teoría funciona con versiones anteriores, pero se recomiendan esas versiones
- Necesitamos Node 18
Instalamos dependencias
apt install wget build-essential libncursesw5-dev libssl-dev libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-dev libffi-dev zlib1g-dev
Instalamos python 3.10
wget https://www.python.org/ftp/python/3.10.8/Python-3.10.8.tgz
tar xzf Python-3.10.8.tgz
cd Python-3.10.8
./configure --enable-optimizations
make altinstall
(como root)
update-alternatives --install /usr/bin/python python /usr/local/bin/python3.10 1
(como root) con este seteamos python 3.10 por defecto.
Instalamos Node 18
curl -fsSL https://deb.nodesource.com/setup_18.x | bash -
apt-get install -y nodejs
npm install -g npm@9.6.2
Descargamos el repositorio de dali
git clone https://github.com/cocktailpeanut/dalai
Entramos en el directorio clonado e instalamos las dependencias de node
Nos aseguramos de tener la ultimas versión del paquete dalai.
npx dalai@0.3.0 setup
Descargamos todas las dependencias de node
npm install
Si todo ha ido bien tendremos una carpeta llamada node_modules
Descargamos el modelo
Descargamos el modelo elegido, en mi caso el modelo de alpaca de 7B de unos 4GB, pero en el github de dalai hay varios modelos y tamaños para elegir tanto de alpaca como de llama.
npx dalai llama install 7B
El modelo se almacena por defecto en —> /home/username/dalai/alpaca(llama)/models
Iniciamos el servidor
npx dalai serve
Una vez arrancado el servidor accedemos a http://localhost:3000
Nos aparecerá una interfaz como esta:
Donde podréis introducir el PROMPT, a mi me va lento de narices, pero también es cierto que tengo una patata de equipo. Pero como experimento es interesante ;)