本文地址:https://www.ebpf.top/post/mac_gemma_quick_start

Google Gemma 是什么?

Gemma 相比自家的 Gemini 更加轻量级,模型权重也一并开源。不仅可以在笔记本电脑上运行,而且还免费可商用,支持中文,相比其他开源在各个方面都占了上风,目前 Gemma 提供 2b 和 7b 参数的模型。

gemma-vs-llama-mistral

只需要简单的一行命令,我们可以快速在本地运行 Google Gemma 大模型,还犹豫什么,快速体验一下吧。

步骤 1:安装 Docker

Docker 官方网站下载对应平台进行安装,安装完成后,打开 Docker Desktop 以确保其正常运行。注意需要根据 Mac 芯片类型选择对应的版本,新款电脑一般都选择 Apple 芯片,早期的一般选择 Intel 芯片。

从 Mac 应用程序中选择 Docker 图标启动。

get_docker_destop

步骤 2:一行命令运行 Gemma

一行命令搭建好本地环境(Ollama 和 open-webui ),就可以登录界面体验本地快速大模型了:

1
2
3
4
$ curl -o docker-compose.yaml https://raw.githubusercontent.com/open-webui/open-webui/main/docker-compose.yaml && docker compose up -d
...
 ✔ Container ollama                  Started 
 ✔ Container open-webui              Started

如果地址不能访问 raw.githubusercontent.com,可在本地使用以下文本内容创建 docker-compose.yaml 文件,然后运行 docker compose up -d,这里我已经将部分镜像地址进行了替换,尽管如此,仍然建议整个过程要科学上网(我并未在特定网络下进行充分测试):

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
version: '3.8'

services:
  ollama:
    volumes:
      - ollama:/root/.ollama
    container_name: ollama
    pull_policy: always
    tty: true
    restart: unless-stopped
    image: ollama/ollama:latest

  open-webui:
    build:
      context: .
      args:
        OLLAMA_BASE_URL: '/ollama'
      dockerfile: Dockerfile
    image: ghcr.io/open-webui/open-webui:main
    container_name: open-webui
    volumes:
      - open-webui:/app/backend/data
    depends_on:
      - ollama
    ports:
      - ${OPEN_WEBUI_PORT-3000}:8080
    environment:
      - 'OLLAMA_BASE_URL=http://ollama:11434'
      - 'WEBUI_SECRET_KEY='
    extra_hosts:
      - host.docker.internal:host-gateway
    restart: unless-stopped

volumes:
  ollama: {}
  open-webui: {}

考虑下载速度已经将 docker-compose.yaml 文件镜像 ghcr.io/open-webui/open-webui:main 替换为 dwh0403/open-webui:main

打开浏览器输入 http://127.0.0.1:3000 页面,首次打开没有账号,需要注册一个账号作为管理员。注册后使用账号登录 Web 页面开始下载模型,下载完成后,就可开始我们本地大模型之旅了。

open_webui_login

使用注册后的账号登录进入到整体主页面,这里的主页面和 ChatGPT 的使用页面类似,当前我们还未下载模型,需要通过设置下载支持的模型,支持 Llama 2、Mistral 等多种开源模型。本文中我们以 gemma 为例。

welcome_web

如果机器内存 < 8G,建议 gemma:2b,如果内存 > 16G 可以直接体验一下 gemma:7b,速度上可能略有些慢。

模型 参数 大小
Gemma 2B 1.4 GB
Gemma 7B 4.8 GB

google-gemma-openwebui-setting

模型下载成功后,在主页面选择模型,可将选择模型设置为默认模型使用。

choose_model_and_test_gemma

我的电脑配置为 8G16G,在 gemma:7b 运行过程中的负载情况如下:

running_gemma-7b-cpu-load

running_gemma-7b-mem-load

如果完成测试,想要销毁环境,直接执行一下命令即可。

1
$ docker compose down

补充资料

Ollama 是什么?

本地安装运行模型我们使用 Ollama 项目。Ollama是一个发布在 GitHub 上的项目,专为运行、创建和分享大型语言模型而设计。它为开发者和研究者提供了一个集成的平台,可以方便的搭建、训练并分享他们的语言模型。这些模型可以应用于各种语言处理任务,如机器翻译、文本生成、情感分析等。Ollama 的目标是推动大型语言模型的发展,提升模型的性能,同时也为开发者提供了一个分享和学习的社区。在这个社区中,开发者可以分享他们的模型,学习他人的经验,共同推动大型语言模型的发展。

Open-webui 是什么?

open-webui 是一个开源项目,是 LLMs 的用户友好型 WebUI,支持的 LLM 运行程序包括 Ollama 和 OpenAI 兼容的 API。