通过制作llama_cpp的docker镜像在内网离线部署运行大模型

这篇具有很好参考价值的文章主要介绍了通过制作llama_cpp的docker镜像在内网离线部署运行大模型。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

对于机器在内网,无法连接互联网的服务器来说,想要部署体验开源的大模型,需要拷贝各种依赖文件进行环境搭建难度较大,本文介绍如何通过制作docker镜像的方式,通过llama.cpp实现量化大模型的快速内网部署体验。

一、llama_cpp介绍

LLaMA 全称是Large Language Model Meta AI,是由Meta AI(原FacebookAI研究实验室)研究人员发布的一个预训练语言模型。该模型最大的特点就是基于以较小的参数规模取得了优秀的性能,模型参数量从7B到65B, 与其他大型语言模型一样,LLaMA的工作原理是将一连串的单词作为输入,并预测下一个单词,以递归地生成文本。

LLaMA.cpp 项目是开发者 Georgi Gerganov 基于 Meta 的 LLaMA 模型实现的纯 C/C++ 版本,用于模型推理。 无需任何额外依赖,相比 Python 代码对 PyTorch 等库的要求,C/C++ 直接编译出可执行文件,跳过不同硬件的繁杂准备,可以在笔记本上运行,大大降低了门槛。

项目开源地址:GitHub - ggerganov/llama.cpp: Port of Facebook's LLaMA model in C/C++

二、镜像制作过程

1、下载基础镜像

在dockerhub上下载对应的镜像版本,关注需要的cuda版本和操作系统版本。

docker pull nvidia/cuda:11.2.2-devel-ubuntu20.04

运行镜像

docker run -id --gpus all -v D:\download:/app/model -p 8080:8080 nvidia/cuda:11.2.2-devel-ubuntu20.04

进入容器:

docker exec -it xxxx /bin/bash

2、配置yum

apt-get -y install git wget

修改国内源

gedit /etc/apt/sources.list

deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse

apt-get update

3、安装python3.10

下载依赖

apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev libsqlite3-dev wget libbz2-dev

下载python源码

wget https://www.python.org/ftp/python/3.10.0/Python-3.10.0.tgz

tar -zvxf Python-3.10.0.tgz

cd Python-3.10.0/

配置

./configure --enable-optimizations

编译

make

安装

make install

更新python默认指向,删除旧的链接

remove /usr/bin/python

ln -s /usr/local/bin/python3.10 /usr/bin/python

ln -s /usr/local/bin/pip3 /usr/bin/pip

4、安装make等其他库

apt-get -y install build-essential libgl-dev libglib2.0-0 gcc g++ make cmake unzip curl

5、安装llama.app

mkdir /app

cd /app

git clone GitHub - ggerganov/llama.cpp: Port of Facebook's LLaMA model in C/C++

cd llama.cpp && mkdir build && cd build && cmake .. -DLLAMA_CUBLAS=ON && cmake --build . --config Release

报错如下:

报错

CMake Error at CMakeLists.txt:252 (cmake_minimum_required):

  CMake 3.17 or higher is required.  You are running version 3.16.3

-- Configuring incomplete, errors occurred!

6.更新cmake版本(如果上一步没有报错,则跳过该步骤):

wget https://cmake.org/files/v3.23/cmake-3.23.0.tar.gz

tar -zxvf cmake-3.23.0.tar.gz

cd cmake-3.23.0

./configure

make -j8

make install

ln -s /usr/local/bin/cmake /usr/bin/cmake

重新编译安装

cmake .. -DLLAMA_CUBLAS=ON && cmake --build . --config Release

成功!

7.运行

./server --host 0.0.0.0 -m /app/model/xxxx.gguf -c 128 -ngl 10文章来源地址https://www.toymoban.com/news/detail-751591.html

到了这里,关于通过制作llama_cpp的docker镜像在内网离线部署运行大模型的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 多架构Docker镜像制作

    从https://github.com/docker/buildx/releases网站下载二进制文件到本地并重命名为docker-buildx,移动到 docker 的插件目录 ~/.docker/cli-plugins。 增加可执行权限:

    2024年02月13日
    浏览(57)
  • docker制作镜像

    docker制作镜像有两种: 1.docker  build dockerfile  2.基于容器制作镜像 语法:docker  commit   options  容器名称 参数: -a:作者 -c:修改dockfile创建的镜像 -m:提交信息 -p:在提交期间暂停容器  例子: 一台主机可以有多个dockerfile,并且dockerfile中涉及的文件需要和当前dockerfile同

    2024年02月14日
    浏览(45)
  • docker || nginx镜像制作

        1.以centos7作为基础镜像     2.安装好ip,vim,ping命令     3.编译安装nginx(编写脚本)     4.使用指定的配置文件nginx.conf       5.启动容器的时候启动nginx     6.网站的网页上传到容器里:              1.直接做到镜像里             2.使用数据卷挂载使

    2024年02月08日
    浏览(48)
  • docker 镜像的制作

    本文主要介绍镜像制作,以及周边比如镜像支持中文等问题 将本机系统里主要文件打成tar 包,然后编写dockerfile.txt 文件,最后docker build,以下以centos 7.9 为例 2.1.1 制作tar 包 2.1.2 编写dockerfile.txt 可以借鉴dockerhub 官网的的dockerfile 2.1.3 制作docker image centos79dockerfile.txt 跟systemcent

    2024年02月09日
    浏览(55)
  • Docker镜像与制作

    Docker镜像是没有内核的,镜像在启动为容器后将直接使用宿主机的内核。 Docker镜像的制作分为了手动制作和自动制作(基于DockerFile) 先准备一个目录, 编写Dockerfile文件 在该目录下编写nginx.conf文件 构建docker镜像: -f 后跟Dockerfile所在的路径 -t 后跟构建的镜像名 :v1 表示版本

    2024年02月04日
    浏览(42)
  • Docker制作SpringBoot镜像

    Dcokerfile目录 编写Dockerfile 在dockerfile中,声明了操作系统的环境变量,暴露了端口号,用CMD命令指定容器启动后的命令,这里是启动jar包。 注意: CMD 命令不要写在一个字符串中,而是要以数组的形式分开写。 镜像构建 docker build -t app:1.0 . 查看镜像 这些镜像名和标签名都是

    2024年02月14日
    浏览(49)
  • docker 制作tomcat镜像

    需要下载tomcat安装包和jdk安装包,我这边下载的jdk版本分别为(jdk和tomcat版本需要对应上) 创建一个readme.txt空文件 创建一个Dockerfile文件 构建镜像 查看镜像 创建容器并启动容器

    2024年02月14日
    浏览(40)
  • docker镜像制作

    FROM:指定构建使用的基础镜像,FROM命令必须写在其他的指令前 MAINTAINER:用于为Dockerfile署名 ADD:复制文件并解压到镜像中的指定位置 ENV:设置镜像中的环境变量 COPY:类似于ADD,将CentOS7中的文件赋值到镜像中的某个位置 RUN:普通命令,后面紧跟具体的操作指令 EXPOSE:声明

    2023年04月22日
    浏览(36)
  • 【Docker】Docker学习④ - Docker镜像与制作

    参考:【Docker】Dokcer学习① - 简介 参考:【Docker】Docker学习② - Docker安装及基础命令介绍 参考:【Docker】Docker学习③ - Docker镜像管理 docker镜像有没有内核? 从镜像大小上面来说,一个比较小的镜像只有十几MB,而内核文件需要一百多兆,因此镜像里面是没有内核的,镜像在

    2024年01月23日
    浏览(55)
  • docker (八)-dockerfile制作镜像

    dockerfile通常包含以下几个常用命令: FROM   打包使用的基础镜像 WORKDIR   相当于cd命令,进入工作目录 COPY   将宿主机的文件复制到容器内 RUN   打包时执行的命令,相当于打包过程中在容器中执行shell脚本,通常用来安装应用程序所需要的依赖、设置权限、初始化配置文件

    2024年02月21日
    浏览(54)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包