
Booster , selon le dictionnaire Merriam-Webster:
Le grand modèle de modèle vise à être un accélérateur d'inférence LLM simple et puissant à la fois pour ceux qui ont besoin d'étendre les GPT dans l'environnement de production ou simplement d'expérimenter les modèles seuls.
Au cours du premier mois de Llama.go Development, j'ai été littéralement choqué de la façon dont le projet GGML.CPP original a été très clair - il n'y a aucune limite pour les personnes talentueuses pour apporter des caractéristiques époustouflantes et passer à l'avenir de l'IA.
J'ai donc décidé de démarrer un nouveau projet où le meilleur noyau C ++ / CUDA de Cuda sera intégré à un serveur Golang puissant prêt pour une inférence robuste et performante à grande échelle dans des environnements de production réels.
Booster a été (et toujours) développé sur Mac avec le processeur Apple Silicon M1, donc c'est vraiment facile PEASY:
make macSuivez l'étape 1 et l'étape 2, puis faites-le!
Ubuntu Étape 1: Installez les compilateurs C ++ et Golang, ainsi que certaines bibliothèques de développeurs
sudo apt update -y && sudo apt upgrade -y &&
apt install -y git git-lfs make build-essential &&
wget https://golang.org/dl/go1.21.5.linux-amd64.tar.gz &&
tar -xf go1.21.5.linux-amd64.tar.gz -C /usr/local &&
rm go1.21.5.linux-amd64.tar.gz &&
echo 'export PATH="${PATH}:/usr/local/go/bin"' >> ~/.bashrc && source ~/.bashrc
Ubuntu Étape 2: Installez les pilotes Nvidia et la boîte à outils CUDA 12.2 avec NVCC
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-ubuntu2204.pin &&
sudo mv cuda-ubuntu2204.pin /etc/apt/preferences.d/cuda-repository-pin-600 &&
sudo apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/3bf863cc.pub &&
sudo add-apt-repository "deb http://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/ /" &&
sudo apt update -y &&
sudo apt install -y cuda-toolkit-12-2
Maintenant, vous êtes prêt à basculer!
make cudaVous parcourez les étapes ci-dessous:
make clean && make macwget https://huggingface.co/NousResearch/Hermes-2-Pro-Llama-3-8B-GGUF/resolve/main/Hermes-2-Pro-Llama-3-8B-Q4_K_M.ggufid: mac
host: localhost
port: 8080
log: booster.log
deadline: 180
pods:
gpu:
model: hermes
prompt: chat
sampling: janus
threads: 1
gpus: [ 100 ]
batch: 512
models:
hermes:
name: Hermes2 Pro 8B
path: ~ /models/Hermes-2-Pro-Llama-3-8B-Q4_K_M.gguf
context: 8K
predict: 1K
prompts:
chat:
locale: en_US
prompt: " Today is {DATE}. You are virtual assistant. Please answer the question. "
system: " <|im_start|>systemn{PROMPT}<|im_end|> "
user: " n<|im_start|>usern{USER}<|im_end|> "
assistant: " n<|im_start|>assistantn{ASSISTANT}<|im_end|> "
samplings:
janus:
janus: 1
depth: 200
scale: 0.97
hi: 0.99
lo: 0.96Lancez le booster en mode interactif pour simplement discuter avec le modèle:
./boosterLancez Booster en tant que serveur pour gérer tous les points de terminaison de l'API et afficher les informations de débogage:
./booster --server --debughttp://localhost:8080/jobs {
" id " : " 5fb8ebd0-e0c9-4759-8f7d-35590f6c9fc6 " ,
" prompt " : " Who are you? "
}http://localhost:8080/jobs/5fb8ebd0-e0c9-4759-8f7d-35590f6c9fc6 {
{
" id " : " 5fb8ebd0-e0c9-4759-8f7d-35590f6c9f77 " ,
" output " : " I'm a virtual assistant. " ,
" prompt " : " Who are you? " ,
" status " : " finished "
}
}booster.service sur la façon de créer un service Daemond à partir de ce serveur API.