
Llama.cpp is a high-performance inference platform designed for Large Language Models (LLMs) like Llama, Falcon, and Mistral. It provides a streamlined development environment compatible with both CPU and GPU systems. This article explains how to set up and run Llama.cpp in Docker using the Vultr Container Registry.
Before you begin:
Deploy an instance using Vultr's GPU Marketplace App
Access the server using SSH.
Start the Docker service.
Add the non-root user to the Docker group. For example, linuxuser.
Switch to the user:
Create a new directory to store your Llama.cpp project files.
Switch to the directory.
Clone the Llama.cpp project repository using Git.
List files and verify that a new llama.cpp directory is available.
Output:
Switch to the llama.cpp project directory.
List all hidden files and verify that a new .devops directory is available.
Output:
The .devops directory contains the following Dockerfile resources:
main.Dockerfile: Contains the build context for CPU systems.main-cuda.Dockerfile: Contains the build context for GPU systems.Use the above resources in the next sections to build a CPU or GPU system container image.
Follow the steps below to build a new Llama.cpp container image using main.Dockerfile that contains the required build context and installs all necessary dependency packages for CPU-based systems.
Copy the main.Dockerfile from the .devops directory to the main llama.cpp project directory.
Build a new container image using main.Dockerfile with all files in the project directory. Replace llama-image with your desired image name.
View all Docker images on the server and verify that a new llama-image is available.
Output:
The Llama.cpp main-cuda.Dockerfile resource contains the build context for NVIDIA GPU systems that run the latest CUDA driver packages. Follow the steps below to build a Llama container image compatible with GPU systems.
Copy main-cuda.Dockerfile to the Llama.cpp project directory.
Build a new container image llama-gpu-image using the main-cuda.Dockerfile with all files in the working project directory.
View all Docker images on the server and verify that the new llama-gpu-image is available.
Output:
To run the Llama.cpp GPU container image, verify that your target host includes the minimum or higher CUDA version referenced by the ARG CUDA_VERSION= directive within main-cuda.Dockerfile. Run the following command to verify the target CUDA version.
Output:
Open the Vultr Console.
Click Products and select Container Registry on the main navigation menu.
Click your target Vultr Container Registry to open the management panel and view the registry access credentials.
Copy the Registry URL value, Username, and API Key to use when accessing the registry.
Switch to your server terminal session and log in to your Vultr Container Registry. Replace exampleregistry, exampleuser, registry-password with your actual registry details.
Tag the Llama.cpp container image with your desired Vultr Container Registry tag. For example, sjc.vultrcr.com/exampleregistry/llama-gpu-image.
View all Docker images on the server and verify that the new tagged image is available.
Output:
Push the tagged image to your Vultr Container Registry repository.
Open your Vultr Container Registry management panel and click Repositories on the top navigation bar to verify that the new repository is available.
0 Comments
Be the first to comment and share your perspective with the community.