美文网首页
手把手教你在云上搭建本地大语言模型

手把手教你在云上搭建本地大语言模型

作者: 半夜菊花茶 | 来源:发表于2024-03-09 18:39 被阅读0次

    大语言模型LLM现在已经不是什么新鲜事物了,虽然线上ChatGPT、Gemini、Claude等各家大模型飞速迭代,但是收费高、区域限制、隐私难以保证等问题始终难以解决。事实上,除了在线大模型以外,离线(本地部署)大模型也是一个很好的选择。比如大家都知道谷歌前阵子发布了Gemini,但可能有人不知道其还发布了开源的大模型Gemma,初次以外还有HuggingFace上也有很多出色的开源模型可供选择,比如Llama、Mistral等等。
    本文简要介绍一下基于开源项目ollama如何在云上部署一个本地大语言模型。

    买云服务器
    GPU对于大部分LLM来说是必不可少的,仅有CPU虽然有时也能跑,但是问答速度无法忍受,如果希望长期将LLM融入工作生活中,一个带有GPU的稳定服务器比不可少。笔者以华为云的ECS为例,在选购实例的时候筛选GPU加速型即可,带上N卡模型跑起来嗖嗖快。

    image.png

    安装Ollama

    Ollama是一个用户本地LLM部署的开源平台,支持Linux\Windows等多平台部署,基于Docker安装ollama可以简化后续的配置步骤。另外,让Docker能使用GPU资源还需要一些额外的工具,使用GPU与只有CPU的场景下性能差异天壤之别。

    CPU Only

    如果你的机器没有GPU,可以采用这种方式部署

    docker run -d -v ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama
    

    Nvidia GPU
    如果你的机器有GPU,那么可以采用这种方式部署

    配置yum仓库

    curl -s -L https://nvidia.github.io/libnvidia-container/stable/rpm/nvidia-container-toolkit.repo \
        | sudo tee /etc/yum.repos.d/nvidia-container-toolkit.repo
    

    安装Nvidia容器工具包

    sudo yum install -y nvidia-container-toolkit
    sudo systemctl restart docker
    

    配置Docker使用NVIDIA驱动

    docker run -d --gpus=all -v ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama
    

    启动本地大模型,这里以llama2为例:

    docker exec -it ollama ollama run llama2
    

    模型下载完以后会开启命令行模式,可以看到在GPU加持下相应速度还是很快的


    image.png

    Ollama 还支持很多市面上其他开源大模型(大模型列表 ollama.com/library),下面是一些列子:

    Model Parameters Size Download
    Llama 2 7B 3.8GB ollama run llama2
    Mistral 7B 4.1GB ollama run mistral
    Dolphin Phi 2.7B 1.6GB ollama run dolphin-phi
    Phi-2 2.7B 1.7GB ollama run phi
    Neural Chat 7B 4.1GB ollama run neural-chat
    Starling 7B 4.1GB ollama run starling-lm
    Code Llama 7B 3.8GB ollama run codellama
    Llama 2 Uncensored 7B 3.8GB ollama run llama2-uncensored
    Llama 2 13B 13B 7.3GB ollama run llama2:13b
    Llama 2 70B 70B 39GB ollama run llama2:70b
    Orca Mini 3B 1.9GB ollama run orca-mini
    Vicuna 7B 3.8GB ollama run vicuna
    LLaVA 7B 4.5GB ollama run llava
    Gemma 2B 1.4GB ollama run gemma:2b
    Gemma 7B 4.8GB ollama run gemma:7b

    API

    Ollama平台也提供给了REST API进行问答和模型管理,不过目前这个版本API没有认证鉴权功能,如果需要的话只能自己在前端包装一个API网关实现认证,可以考虑用华为云APIG配置。
    下面是一个调用模型问答的例子,可以指定要使用的模型名字

    curl http://localhost:11434/api/chat -d '{
      "model": "mistral",
      "messages": [
        { "role": "user", "content": "why is the sky blue?" }
      ]
    }'
    

    更多详情见API文档

    Chatbot UI

    Chatbot Ollama提供了一个类似ChatGPT的简单WEB UI,可以让你的对话体验更好一些,项目支持docker部署。

    • 克隆工程到本地
    git clone https://github.com/ivanfioravanti/chatbot-ollama.git
    
    • 修改配置
      在下载的工程目录下有个Dockerfile文件,需要修改其中的ollama主机IP,可以使用主机本地的私网IP
    ENV OLLAMA_HOST="http://host.docker.internal:11434"
    
    • 本地构建
    docker build -t chatbot-ollama .
    docker run -p 3000:3000 chatbot-ollama
    

    之后就可以通过ip:3000端口访问了

    image.png

    最后Ollama Github README文档中还提到了很多现成的WEB和桌面插件,感兴趣的朋友可以一探究竟。

    相关文章

      网友评论

          本文标题:手把手教你在云上搭建本地大语言模型

          本文链接:https://www.haomeiwen.com/subject/lbiyzdtx.html