如何用Ollama在CPU和GPU上部署大模型llama3(小白也能懂的教程)

2024/11/18 21:03:22

本文主要是介绍如何用Ollama在CPU和GPU上部署大模型llama3(小白也能懂的教程),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

Ollama 是一个简化大型语言模型本地部署和操作的工具。它提供了一个轻量和可扩展的框架,让开发人员可以轻松地在本地机器上构建和管理 LLMs。

这个框架非常适合新手,其中包含的调用方法与OpenAI ChatGPT的标准输入输出相同,使其很容易与更高级的问答系统整合。它支持众多大规模模型,允许你只需一条指令即可下载模型文件并启动服务,使用既方便又高效。这篇文章主要介绍如何使用Docker快速部署以启动llama3大规模模型服务。

这里列出了Ollama支持的大模型:

所有模型的完整列表可以在ollama官网查看,网址为ollama官网。

GitHub 的链接:

访问GitHub上的OLLAMA仓库:

https://github.com/ollama/ollama

官方下载链接:

点击这里下载 https://ollama.com/download

通常,服务器运行在Linux操作系统上。因此,本文推荐使用Docker进行部署,以方便隔离系统环境。以下主要讲解如何使用Docker安装Ollama工具的过程并运行大规模的llama3模型。

部署前的准备工作:

  1. 安装一下 Docker。

  2. 内存或VRAM需求:
  • 7B 模型款 — 至少 8GB 的可用显存(显存)。
  • 13B 模型款 — 至少 16GB 的可用显存(显存)。

用CPU部署Ollama

  1. 拉取 Docker 图像
    docker pull ollama/ollama

拉取 ollama 仓库的 ollama 镜像

2,启动 Ollama 容器

    docker run -d -v $PWD/ollama:/root/.ollama -p 11434:11434 \  
    --name ollama ollama/ollama # 启动OLLAMA并映射端口

参数解释如下:

  • — name ollama: 这将容器名称设置为 ollama。
  • - -p 11434:11434: 这将你的服务器上的 11434 端口映射到容器内的 11434 端口。请确保你的服务器上 11434 端口未被占用。
  • - $PWD: 这表示当前目录的绝对路径。
  • - -v $PWD/ollama:/root/.ollama: 将当前服务器路径下的 ollama 目录挂载到容器内的 /root/.ollama 目录。
  • - ollama/ollama: 这指定了你的镜像名。
  1. 进入 Ollama 容器.
运行此命令以在名为ollama的Docker容器中启动bash shell:(在终端中输入此命令)
docker exec -it ollama /bin/bash

4. 启动一下 llama3 模型服务

ollama run llama3
运行 llama3 命令。

模型文件会自动下载,我们会等着下载结束。

用GPU部署Ollama

  1. 首先,安装 NVIDIA 的容器工具套件。

要如何安装呢?请参考官方链接查看详情。

  1. 用 Docker 来创建 Ollama 容器
    docker run -d --gpus=all -v $PWD/ollama:/root/.ollama \  
    -p 11434:11434 --name ollama ollama/ollama

注释:此命令用于在Docker中运行ollama容器。
-d 参数表示容器在后台运行,
--gpus=all 表示使用所有GPU资源,
-v 参数挂载宿主机的ollama目录到容器的/root/.ollama目录,
-p 参数将容器的11434端口映射到宿主机的11434端口,
--name ollama 为容器指定名称ollama,
ollama/ollama 是要运行的Docker镜像名称。

参数说明如下:

  • — gpus=all: 挂载所有GPU
  • - — name ollama: 这将容器的名字设为 ollama。
  • - -p 11434:11434: 这会把您服务器上的11434端口映射到容器里的11434端口上。请确保您的服务器上11434端口没有被占用。
  • - $PWD: 这表示当前目录的完整路径。
  • - -v $PWD/ollama:/root/.ollama: 这会将当前服务器路径下的 ollama 目录挂载到容器内的 /root/.ollama 目录。
  • - ollama/ollama: 这指定了您的镜像名称。

3. 进入 Ollama 容器.

docker exec -it ollama /bin/bash 。(进入ollama容器的bash shell)

4. 运行 llama3 模型服务(llama3 是一个特定的模型名称)

    ollama 运行 llama3

模型文件会自动下载,你只需要等着下载完成就行了。

接下来你可以通过输入命令来运行模型:

    ollama run llama3

像这样提问:你是谁呢?然后就可以从llama3模型那里得到回复,比如:

llama3–7B的模型文件大小约为4.3GB。你可以去本地文件夹里查查看。我们的情况是,目录是:“C:\Users\PC\.ollama\models\blobs”。

怎样用大模型llama3

1. 使用 curl 命令行:如下

在浏览器中访问ip:11434,你会发现Ollama服务器正在运行。

使用 curl 调用名为 llama3 的大型模型。

    curl http://127.0.0.1:11434/v1/chat/completions \  
        -H "Content-Type: application/json" \  
        -d '{  
            "model": "llama3",  
            "messages": [  
                {  
                    "role": "system",  
                    "content": “你是个乐于助人的助手。”  
                },  
                {  
                    "role": "user",  
                    "content": “嘿!你是谁呀?”  
                }  
            ]  
        }'

2. 通过Python代码调用llama3大模型(或llm):

    #!/usr/bin/env python  
    # -*- coding: UTF-8 -*-  

    import requests  

    def request_chatgpt_function():  
        url="http://ip:11434/v1/chat/completions"  # 请将 'ip' 替换为您的实际 IP 地址  
        data={  
            "model": "llama3",  
            "messages": [  
              {  
                "role": "system",  
                "content": "你是一个乐于助人的助手。"  
              },  
              {  
                "role": "user",  
                "content": "你是谁呀?"  
              }  
            ],  
            "temperature":0,  
            "stream":False  
          }  
        response=requests.post(url=url,json=data).json()  
        print(response)  
        return response  

    if __name__ == "__main__":  
        request_chatgpt_function()  # 发起请求

简单来说

Ollama 是一个专门用于快速部署和运行像 Llama 3 这样的大型语言模型的工具。用户可以通过简单的命令行界面或其他用户友好的交互方式,在个人电脑上使用这些模型。从业余爱好者到专业开发者,Ollama 都能满足不同用户的需求。通过提供简洁的命令行工具和稳定的服务器端 API,Ollama 不仅简化了大型模型的本地部署流程,还通过多样化的接口和功能扩展使用户体验更加丰富。总的来说,Ollama 是一个强大且灵活的工具,旨在让大型模型的部署和管理更加便捷高效。不妨一试。

谢谢你的阅读。



这篇关于如何用Ollama在CPU和GPU上部署大模型llama3(小白也能懂的教程)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程