使用Ollama和LM Studio部署Qwen\deepseek等开源大模型的流程

VFX大学 VFX Pipeline | 数字创意工作流 使用Ollama和LM Studio部署Qwen\deepseek等开源大模型的流程

标签: , ,

正在查看 5 条回复
  • 作者
    帖子
    • #128107

      追光
      参与者

      在本地部署Deepseek R1等开源模型是今年的热点话题,当然本人使用chatgpt进行代码写作、硬件配置查询已经有俩年多的历史,随着国产Ai的进一步发展,Deepseek已经成为热点话题,当然开源的LLM不只有Deepseek,还有Meta的Llama3,微软的Phi,阿里巴巴的Qwen,Google的Gemma,IBM Research的Granite3,Mistral等开源模型,这些模型都可以本地化部署,私有化使用,并可以构建自己的知识库。

      Screenshot

      AI模型相当于素材,也相当于弹药,软件即枪械:这些开源大模型如同数字军火库中的新型武器,但要真正发挥威力,需要将模型装载到合适的平台。就像摄影师需要Lightroom处理RAW格式,剪辑师需要Premiere编辑视频素材,大模型应用同样需要专业的”装载器”。

      要加载这些模型需要一个能够加载模型、配置AI模型的软件,目前比较流行的运行模型的软件有俩种:

      1、ollama:开源轻量化,使用Terminal命令行下载、运行模型,提供网络api接口(默认端口:11434),可以在任何兼容ollama的客户端界面上调用,适合具有一定命令行操作能力的用户。

      2、lm studio:LM Studio 提供了一个简洁的界面来管理和部署本地 LLM 模型,适用于用户不希望过多涉及命令行操作的场景,支持通过局域网进行高效的数据交互(默认端口:1234)


      AI模型格式
      LM Studio支持的模型类型:GGUF/GGML,PyTorch格式,MLX格式
      ollama支持的模型类型:Ollama Modelfile,GGUF

      格式优势对比

      特性                       MLX格式           GGUF格式              PyTorch格式
      苹果芯片优化 ✅ 原生Metal加速       ⚠️ 需转译层            ⚠️CPU模式为主
      内存效率       ✅ 统一内存零拷贝      ✅分页内存管理      ❌ 显存瓶颈明显
      量化灵活性    ✅动态混合精度          ✅静态预量化         ❌ 依赖外部工具
      跨设备兼容    ✅Mac/iOS无缝衔接   ⚠️需适配不同后端    ❌ 平台绑定
      功耗控制       ✅能效比提升5倍       ⚠️依赖散热系统       ❌ 高功耗

      MLX格式:MLX是Apple专为Apple Silicon芯片(M1/M2/M3系列)打造的全新机器学习框架,其配套的MLX格式正在重塑MacOS生态的AI部署格局。包括对Apple Silicon的优化、内存效率、统一内存架构更适合苹果环境。能自动选择最优量化策略,70亿参数模型可压缩至<4GB,突破传统CPU-GPU数据传输瓶颈,实现CPU/GPU/神经网络引擎共享内存空间。

      本人实测显示:在m1pro中部署deepseek r1 14b,使用gguf能最大能达到13.5tokens,mlx能达到19.6tokens(用于分析同一个pdf)


      跨设备调用
      ollama和lm studio都可以在客户端Anything llm客户端上调用,并嵌入自己的知识库。

      部署模型其实是一件非常简单的事情,会安装软件的用户应该都可以操作。下面我们分三个部分:
      1、使用 Ollama 部署模型
      2、使用 LM Studio 部署模型的详细步骤
      3、使用 Anything LLM 进行局域网调用模型,并按照知识库回复

      另外个人在部署和大量使用api集成到网站应用,跨区域共享计算资源时候也发现更多问题,仅为个人非严谨测试,仅供探索Ai应用的朋友们参考:

      在Mac M1pro上使用lm studio和ollama的感受和各个厂商大模型的感受

      另外对各种产商的大模型部署并在工作中投入生产使用的大模型选择方面,也会陆续分享使用经验和看法(随着使用的深入,会持续更新):

      各种产商的大模型部署并在工作中投入生产使用的大模型选择

    • #128109

      追光
      参与者

      方法一:使用 Ollama 部署模型

      Ollama 是一个支持本地部署的 LLM 系统,它可以方便地部署多种开源模型。

      1 安装 Ollama(适用于macOS、Linux和Windows)
      通过官方渠道(例如官方网站或 Homebrew)安装 Ollama。进入官网下载ollama
      也可以通过terminal输入命令安装:

      brew install ollama

      下载玩ollama后,双击图标启动后,需要权限(输入密码)即可。ollama是个服务端,没有界面,只需要启动即可。

      2 启动后ollama后需要下载Ai模型。

      启动ollama后,在Terminal输入:(根据内存大小选择其中一个命令行执行,电脑上内存大小要大于模型)

      ollama run deepseek-r1:1.5b
      ollama run deepseek-r1:14b
      ollama run deepseek-r1:7b
      ollama run deepseek-r1:8b
      ollama run deepseek-r1:14b
      ollama run deepseek-r1:32b
      ollama run deepseek-r1:70b

      3 下载完模型后,就进入运行状态了,可以在terminal中直接进行对话。

      要退出对话,需按下Command+D,重新在Terminal中进入对话:

      ollama run deepseek-r1:版本号

      4、安装一个嵌入模型:用于嵌入我们自己的文档知识库。

      在Terminal中输入

      ollama pull bge-m3

      5、在terminal中对话也可以用,但没有个操作界面,也不方便保存对话记录,所以我们可以使用 Ollama 进行局域网调用,通过客户端配置模型接口,通过局域网进行调用,可以使用任何支持 HTTP 请求的客户端进行通信。这里我们使用Anything llm这个软件,在下文我们再来说。


      备注:删除模型和删除ollama配置的方法
      停止ollama服务:

      ollama serve stop

      # 移除服务文件(可能需要管理员权限)

      sudo rm -rf /usr/local/bin/ollama
      sudo rm -rf ~/.ollama
    • #128113

      追光
      参与者

      方法二、使用 LM Studio 部署模型的详细步骤

      LM Studio 提供了一个图形化界面,使得部署和管理本地 LLM 模型变得更加简单。以下是详细的步骤:

      1. 安装 LM Studio

      首先,确保你的 macOS 上已经安装了 LM Studio。如果没有安装,可以按照以下步骤进行安装:
      1.访问 LM Studio 官方网站(或 GitHub 页)下载适用于 macOS 的版本。
      2.下载完成后,打开 .dmg 文件并将 LM Studio 拖动到 Applications 文件夹。
      3.打开 LM Studio,如果 macOS 提示安全警告,点击 打开 继续。


      3. 下载并导入模型到 LM Studio

      Screenshot

      如果是 DeepSeek 等基于 Hugging Face 的模型,你可以从lm studio的搜索图标选择模型,并在右下角点击下载,即可下载模型到指定目录,之后在 LM Studio顶部选择模型加载即可。导入时,LM Studio 会自动检测模型的结构和配置。如果是常见的开源模型,它都能够自动识别。

      Hugging Face需要外网环境才能下载,在中国区域可以使用hf-mirror.com进行下载,如果没有外网环境,我们可以使用atom或者其他代码编辑工具批量替换lm studio中的文件:

      huggingface.co
      替换为
      hf-mirror.com

      3. 配置 LM Studio 环境

      打开 LM Studio 后,你需要进行一些基本的配置来确保模型能够正确加载和运行:
      1.设置内存和线程数:
      •LM Studio 默认会根据系统配置自动调整内存和线程数,但你可以根据需要调整设置。
      •点击 Preferences(偏好设置)进行内存分配和 CPU 线程的调整,以确保模型能够高效运行。

      配置模型参数
      1.在开发者栏选择推理引擎:根据你导入的模型类型,选择合适的推理引擎。有些模型可能需要 CUDA 支持(如果使用 GPU),而其他模型可能仅支持 CPU。
      2.设置输入和输出格式:根据你的任务需求设置输入和输出格式。例如,对于语言模型,输入可能是文本,输出是生成的文本。
      3.内存和并行设置:如果你的模型非常大,可以在此处设置更多的内存分配或者并行化处理。调整设置以确保高效运行。

      如果你只想使用本地人工智能进行一些翻译、写作、代码分析这些,那么到这步就可以直接在lm studio的对话窗口中使用了。如果还想在局域网中使用,那我们还需要继续配置


      将模型设置为局域网服务

      Screenshot

      1.配置网络端口:
      如果希望其他设备在局域网中调用此模型,确保在 LM Studio 中设置正确的端口号。
      可以在lm studio左侧的开发者页面的顶部找到相关的网络设置选项,例如 “Network Settings” 或 “API Settings”,然后配置模型监听的 IP 地址和端口。

      2.开启服务器模式:当lm studio软件关闭时,仍在后台提供网络运行模型的服务(相当于ollama的作用)

      在 LM Studio 中点击底部的设置 勾选:Local LLM Service (headless)

      默认情况下,关闭软件就会同步关闭模型服务,而启动这一项后使用LM Studio的大型语言模型(LLM)服务器而不必一直保持LM Studio应用程序打开的问题

      3.防火墙设置:
      确保 macOS 的防火墙允许外部设备访问模型服务。在 “System Preferences” → “Security & Privacy” → “Firewall” 中检查防火墙设置,并允许 LM Studio 使用指定端口。


      使用 LM Studio 部署 DeepSeek 等开源模型非常方便,特别适合不想手动操作命令行的用户。LM Studio 提供了简洁的图形界面、灵活的配置选项和推理测试功能,帮助我们快速部署和调试模型。一旦模型启动并配置好,局域网内的其他用户也可以进行远程调用,实现在其他设备上进行交互。

    • #128116

      追光
      参与者

      三、使用 Anything LLM 进行局域网调用模型,并按照知识库回复

      Anything LLM 是一个可视化的用于模型调用的工具,支持通过局域网进行高效的数据交互,并提供简洁的和模型对话的窗口,还可以上传自己的文档作为知识库,并可以选择对话方式:与Ai模型交流、仅仅使用ai模型中嵌入的知识库作为回复(适合定向领域回复)。

      1、安装 Anything LLM
      安装 Anything LLM 工具,安装好软件后打开软件,跳过界面引导,点击左下角的设置按钮进入设置。

      2、配置 Anything LLM调用模型

      安装完 Anything LLM 后,需要配置它与本地部署的模型进行连接。使用 Ollama 或 LM Studio 部署了模型后, Anything LLM 可以让用户通过配置文件来设置本地服务器地址、端口、模型信息等,就可与 Ollama 或 LM Studio 部署的模型进行交互。

      anything-llm-model-choose

      进入设置界面—llm人工智能服务商—-llm首选项–点击即可选择服务端,如使用 Ollama 或 LM Studio 部署了模型,则选择 Ollama 或 LM Studio,然后在下方的base url中检查链接是否正确:

      LM Studio Base URL(默认地址端口):http://127.0.0.1:1234/v1 或者http://服务器ip:端口号/v1

      Ollama Base URL(默认地址端口):http://127.0.0.1:11434

      3、配置嵌入模型:

      anything-llm-choose-embed-model

      进入设置界面—llm人工智能服务商—嵌入首选项:选择Ollama 或 LM Studio。

      bge-m3 或者 embed-text-v1.5,选择在ollama或者lm studio中安装的嵌入模型。

      保存配置后,在左上角新建工作区,就可以进行对话了。

      4、上传自建知识库

      点击工作区上方的上传按钮,在弹出的界面上即可上传文件 docs、pdf、以及php等文件,然后将上传的文件添加到工作区、保存即可。

      5、设置仅使用上传的文件作为回复

      点击工作区旁边的设置按钮—聊天设置—选择查询(默认是聊天),然后在下方update work area即可。这样在对话界面中,仅让Ai智能通过我们上传的资料作为数据库回复。

    • #128139

      追光
      参与者

      在Mac M1pro上使用lm studio和ollama的感受

      1、效率与速度
      LM Studio使用GGUF模型比Ollama反应速度更快20%,如果在LM Studio中使用苹果M芯片框架的MLX比GGUF还要快30%,在效率和配置效率方面LM Studio更高效。

      拿DeepSeek R1:14B执行相同的任务来说
      在Ollama上达到,9.34 tokens/s,在LM Studio使用GGUF:13.4 tokens/s,而MLX可以达到18.43 tokens/秒。

      此外,LM Studio的内存占用也比Ollama低,尤其是在处理大规模数据时,LM Studio的内存占用会更少,这使得它在处理大规模数据时更加高效。

      2、配置与api远程调用扩展方面

      Ollama的生态非常成熟,比如通过FRPS内网映射到外网在WordPress等网站、应用中调用,Ollama配套的组件丰富,很容易就可以实现对接。

      如果想要将部署好的模型从内网发布到公网,可以参照我以前写过的文章,也都是我自己部署的记录

      Linux上部署Frps与Mac上Frpc的配置方案详细记录

      LM Studio的API接口和Open AI的完全一样,也可以直接修改API.openai.com/v1等接口为自己的IP/域名实现远程API对接,需要自己动手。我将LM Studio对接到Ai Engine这个组件上,几乎是重写了整个接口才得以实现。而Ollama有已经开发过的组建,(当然需要付费)。

      此外,LM Studio也支持多种API接口的扩展,包括但不限于Open AI、Google Cloud AI Platform等,这使得它可以与更多的第三方服务集成。

      3、大小模型混合并行计算输出

      LM Studio提供了草稿模型(Speculative Decoding)选择,包括但不限于GGUF、MLX等,这使得用户可以根据自己的需求选择合适的小模型。同时进行并行计算输出,大幅度提高运行效率。

      将大模型与小模型配对。草案模型应该比主模型小得多,并且来自同一个家族。例如,您可以使用Llama 3.2 1B作为Llama 3.1 8B的草稿模型。

      运行原理:草案模型会首先运行,快速预测接下来的几个tokens是“草稿”。紧接着,草稿模型生成的令牌要么被主模型确认,要么被拒绝,然后和主模型共同解决问题。

      大小模型运行监测:还可以打开已处理的草稿生成的Tokens和主模型的显示,这样能显示当前的回复中哪些是从草稿模型生成,哪些是从主模型生成的。绿色越多越好。

      大小模型局域网调用支持:还可以通过LM Studio的本地服务器使用Speculative Decoding,可以得到丰富的生成统计数据。


      总而言之,LM StudioOllama都有其优点和缺点。需要根据自己的需求选择合适的工具,当然如果硬件是M芯片的,首选MLX,要让计算速度快一点,硬件投入是巨大的。

    • #128141

      追光
      参与者

      各产商的大模型部署并在工作中投入生产使用的大模型选择

      这里的测试方面的数据为硬件平台直接输出,而感受与总结方面尽可能做到客观,但难免会有主观之处:

      1、除了deepseek开源,还有其他开源大模型么

      deepseek是公开发布并可以下载的模型,开源对我们来说是非常有益的事情,同时我们也应关注更多的开源产商LLaMA、Qwen、Mistral,google的开源模型群,微软的、ibm等,每个产商的模型都是成千上万技术人员的劳动成果,通过各种算法集合了人类的智慧,也就决定了不同的大模型具备的核心能力也有所区别,作用用户我们要打开视野,多使用不同的模型,从计算成本、计算效率、结果的可靠性三个方面来选择最适合我们工作流的模型。

      未完待进一步补充~~

      经过若干测试,对工作非常有用且效率非常高的模型,M1 pro 16GB即可流畅运行:

      1、claude-3-5-sonnet-20241022-GGUF:Claude 3.5 Sonnet 在自然语言理解(NLU)和生成(NLG)方面表现出色,能够处理复杂问题、生成高质量文本,并支持多语言。当然众所周知,Claude在代码编写方面的巨大潜力,使用它来进行代码写作是非常好的选择。在M芯片上有着出色的性能表现。

      16.43 tok/sec•990 tokens•14.87s to first token•Stop reason: User Stopped


      2、Qwen2.5-14B-Instruct-4bit:支持苹果的MLX框架,专为 Apple Silicon优化。 是阿里巴巴通义千问系列中的一个优化版本,专为高效推理和低资源消耗设计。它基于 Qwen2.5-14B 模型,经过量化处理(4-bit 量化),在保持高性能的同时显著降低了硬件需求,适合在资源受限的环境中部署。

      17.27 tok/sec • 488 tokens•29.33s to first token•Stop reason: EOS Token Found


      3、Mistral-Nemo-Instruct-2407-4bit:支持苹果的MLX框架,专为 Apple Silicon优化。是由 Mistral AI 开发的一系列先进语言模型中的一个优化版本,专注于高效推理和低资源消耗。该模型基于 Mistral 的基础架构,并通过量化技术(4-bit 量化)进行了优化,使其能够在资源受限的环境中运行,同时保持高性能。

      24.77 tok/sec•231 tokens•1.27s to first token•Stop reason: EOS Token Found


      4、Meta-Llama-3.1-8B-Instruct-4bit:支持苹果的MLX框架,专为 Apple Silicon优化。是由 Meta 开发的 Llama 系列语言模型中的一个优化版本,专注于高效推理和低资源消耗。该模型基于 Llama 3.1 架构,经过指令微调(Instruct-tuning)优化,并通过 4-bit 量化技术进一步压缩,使其能够在资源受限的环境中运行,同时保持较高的性能。

      36.08 tok/sec•949 tokens•0.51s to first token•Stop reason: User Stopped


      5、Llama-3.2-11B-Vision-Instruct-4bit:支持苹果的MLX框架,专为 Apple Silicon优化。是由 Meta 开发的多模态语言模型,基于 Llama 系列的最新版本(Llama 3.2),专注于高效推理和低资源消耗。该模型结合了文本理解和视觉处理能力,能够处理图像和文本的多模态任务。通过 4-bit 量化技术优化,它能够在资源受限的环境中运行,同时保持较高的性能。在M1pro芯片上运行效率很慢,但是对图片的理解能力很强,适合分析图片,虽然速度慢,但也能满足一般需求。


      6、Phi-4:是由 Microsoft Research 开发的一系列小型语言模型(Small Language Models, SLMs)中的最新版本。Phi 系列模型专注于在较小的参数规模下实现高性能,特别适合资源受限的环境和特定任务优化。Phi-4 在继承前代模型优势的基础上,进一步提升了性能、效率和适用性。


      7、Gemma-2-9B-IT-4bit:支持苹果的MLX框架,专为 Apple Silicon优化。是由 Google 开发的一系列紧凑型语言模型中的优化版本,专注于高效推理和低资源消耗。该模型基于 Gemma 2 架构,经过指令微调(Instruction Tuning, IT)优化,并通过 4-bit 量化技术进一步压缩,使其能够在资源受限的环境中运行,同时保持较高的性能。

      28.55 tok/sec•88 tokens•1.09s to first token•Stop reason: EOS Token Found

正在查看 5 条回复
  • 在下方一键注册,登录后就可以回复啦。