AI News HubLIVE
站内改写

為什麼以及如何在Zed中運行本地模型

本地模型提供了隱私、成本節約、控制權和始終可用的優勢。儘管不如前沿模型強大,但它們正在不斷改進。本文解釋瞭如何使用LM Studio、Ollama或llama.cpp在Zed中設置本地模型,並提供有效使用技巧。

文章情報

工程師進階

要點

  • 本地模型提供隱私保護、更低成本、可控性和始終可用性。
  • 它們的能力和速度不及前沿模型,但足以應對許多任務。
  • Zed支持LM Studio、Ollama和llama.cpp來集成本地模型。

為甚麼重要

這條新聞值得關注,因為本地模型提供隱私保護、更低成本、可控性和始終可用性。

技術影響

可能影響模型選型、推理成本、產品能力和評測基準。

在很多任務中,我更喜歡使用本地模型。當我需要最好的模型時,我仍然會選擇前沿模型,但很多時候我並不需要那麼強大。我更喜歡在本地運行、將數據保留在我控制的硬件上,並且不會因為提供商更改定價或限制而消失的模型。

開放權重模型也在不斷進步。LM Studio、Ollama和llama.cpp等工具變得越來越易用,在過去10周內,Zed代理中本地模型的使用量增長了3倍。

在Zed,我們構建AI功能不是為了賺錢,我們也不致力於將開發者鎖定在單一使用AI的方式上。我們讓您可以輕鬆使用任何您偏好的提供商,無論是通過ACP的Codex、您自己的API密鑰,還是直接訂閲Zed Pro。

在這篇文章中,我想介紹本地模型的優勢、它們不足之處,以及如何在Zed中進行設置。

為什麼選擇本地模型?

本地模型相比雲端模型有許多優勢:

  • **完全隱私**:雖然大多數雲提供商提供零數據保留政策,但本地模型提供了絕對的確定性。數據永遠不會離開您的網絡,甚至您可以選擇不讓它離開機器。
  • **成本更低**:雖然前期有硬件成本,但您的開發筆記本電腦可能足以運行一個不錯的模型。您不必擔心意外的價格變動。價格一致、透明且低廉。
  • **更多控制**:您可以設置自己的系統提示、啓用或禁用功能(例如圖像支持)、更改上下文窗口等。您還可以發現針對您的用例微調的流行模型。由於您擁有完整的流程,您可以確保不會在相同名稱下被秘密提供低成本的模型。
  • **始終可用**:對於像我這樣的開發者,擔心過於依賴像SaaS平台一樣運作的提供商,一旦定價或設置變更,它們就可能變得不可行。而本地模型始終可用。

本地模型的缺點

如果本地模型完美無缺,雲提供商就不會存在(至少不會像現在這樣大規模)。

運行前沿模型所需的硬件速度對消費者來説遙不可及。您能在本地運行的模型能力不如頂級AI實驗室提供的模型。您也可能獲得較少的每秒令牌數。

不過,即使在開發筆記本電腦上也能獲得不錯的結果。只是不要期望前沿水平的結果。

如何運行本地模型

有許多免費和開源項目可以讓您在本地運行模型。LM Studio是我的首選,但Ollama和llama.cpp也很流行。Zed開箱即支持這三者。

有了運行時,您需要選擇模型。我一直在用Qwen 3.6 35B A3B。這個名稱有點長,但每個部分都有意義:

  • **Qwen 3.6**是模型系列,由阿里巴巴開發,3.6是最新版本。
  • **35B**表示模型有350億參數。運行時需要將這些參數加載到內存中。
  • **A3B**表示“激活30億”。這是一個混合專家模型(MoE),總參數350億,但每次生成令牌時僅激活約30億參數。稠密模型則所有參數都激活。MoE模型通常以少量智能換取性能的大幅提升。粗略來説,生成令牌的時間與激活參數數量成線性關係。對於像Qwen 3.6 35B A3B這樣的模型,激活參數為30億,因此運行速度比稠密35B模型快約10倍。

某些芯片(如Apple M系列或AMD Strix Halo)支持統一內存。統一內存下GPU可直接訪問系統內存,但速度比專用GPU上的內存慢。MoE模型在這些系統上尤其有優勢,因為較少的激活參數對較低的內存帶寬影響較小。

最後,考慮量化。量化通過用更少的比特存儲每個參數來減小模型大小。Qwen 3.6模型我測試的是Q4版本,即每個參數4比特。350億參數大約需要17.5GB VRAM(加上上下文等的開銷)。LM Studio有UI顯示模型是否適合您的GPU。

配置Zed

設置好提供商後,將Zed指向它。我使用LM Studio,只需添加LM Studio配置,指向http://localhost:1234/api/v0,並確保LM Studio服務器運行。

如果您使用Ollama、llama.cpp或任何兼容OpenAI的系統,可以使用內置的Ollama提供商。

之後,您應該在Zed代理的模型選擇器中看到已下載的模型。

使用非前沿模型的注意事項

使用非前沿模型時,有兩個需要特別注意的地方:

  • **它們不如前沿模型“聰明”**。
  • **它們通常有較小的上下文窗口**。

因此,有效使用它們需要更多的注意和紀律。最佳實踐變得更加必要。

例如,如果模型走錯方向或陷入循環,最好編輯之前的消息以引導它避開錯誤路徑,而不是發送新消息糾正。這可以確保上下文窗口不被無用信息填滿。

您也可能希望鼓勵它們更多地使用子代理。子代理是限制小規模更改對上下文窗口影響的有力工具。

最後,盡情實驗!測試不同提供商的不同模型。調整上下文窗口大小或温度。如果您有帶專用GPU的高性能遊戲PC,可以嘗試稠密模型。找到適合您的組合?在Discord中分享。

祝編碼愉快!