懶人通道
官網提供了懶人包,使用的時候不需要關注整個打包流程,,下面是官方的cuda示例,當然官方提供可選項很多,Available: cublas, openblas, clblas, metal,hipblas, sycl_f16, sycl_f32
docker中gpu使用方法https://localai.io/features/gpu-acceleration/
,如果你需要使用其他加速設備,就需要手動編譯這個項目了,官方提供了各種系統的編譯方法https://localai.io/basics/build/#Acceleration
Ps:對於只需要部分功能的人來說,懶人包占用60G的空間,讓我們有點寒暄
介紹
下面在介紹編譯之前,我們先了解下LocalAi的架構
LocalAI這個項目架構集成了各種語言(C++,Golang,Python等)通過編寫一套GRPC實現不同模型加速服務接入。 LocalAI 的所有組件可在 模型兼容性表查看
Oh, and let’s not forget the real MVP here—llama.cpp. Without this extraordinary piece of software, LocalAI wouldn’t even exist. So, a big shoutout to the community for making this magic happen!
Ps: 好奇怪的畫風^(^
GPU設備
LocalAi官方提供可選項很多,比如: cublas, openblas, clblas, metal,hipblas, sycl_f16, sycl_f32,這些設備的支持方法你可以在這個頁面找到https://localai.io/basics/build/#Acceleration
環境配置
LocalAI由於提供了Dockerfile,一些環境配置可以參考DockerFile,需要注意的是,如果你在本地安裝,C++編譯器的版本請自行確認,不同系統有所不同
如果你選用了docker環境編譯,那麼你需要注意,本地的gpu設備載入配置,同樣不同的gpu設備載入方式也不太相同,這裏選用nvidia設備
1、提前安裝好docker-nvidia橋接依賴,一些錯誤的解決方法https://github.com/NVIDIA/nvidia-docker/issues/1243
2、配置docker-compose文件
version: '3.6'
services:
localai_cuda:
image: quay.io/go-skynet/local-ai:master-cublas-cuda12
build:
context: .
dockerfile: Dockerfile
ports:
- 8080:8080
deploy:
resources:
reservations:
devices:
- driver: nvidia
count: 1
capabilities: [gpu]
environment:
- BUILD_TYPE=cublas
- DEBUG=true
- MODELS_PATH=/models
- 'NVIDIA_VISIBLE_DEVICES=all'
- 'CUDA_VISIBLE_DEVICES=all'
- 'CUDA_DEVICE_POOL_GPU_OVERRIDE=1'
env_file:
- .env
volumes:
- ./models:/models:cached
- ./images/:/tmp/generated/images/
command: ["/usr/bin/local-ai" ]
3、在運行前,docker啓動容器報錯 Unknown runtime specified nvidia.這個錯誤出現,說明你沒有配置runtime,參考https://www.cnblogs.com/luckforefforts/p/13642682.html
4、修改國內的ubuntu源,在Dockerfile合適的位置增加下面兩行
RUN sed -i 's/http:\/\/archive.ubuntu.com/http:\/\/mirrors.tuna.tsinghua.edu.cn\/ubuntu/g' /etc/apt/sources.list
RUN apt-get clean
5、修改.env變量BUILD_TYPE值爲cublas,說明見https://localai.io/basics/build/#Acceleration
6、執行編譯 docker-compose up --build