本地部署

7G显存,训练你自己的DeepSeek-R1

Key Takeaway

  • Unsloth框架显著降低了微调大模型的门槛,仅需7G显存即可微调1.5B模型,消费级PC也能实现。
  • DeepSeek的GRPO强化学习算法能提升模型推理能力和可解释性。
  • 微调技术可用于打造个人AI分身和私域模型,实现本地化、无需联网的AI交互。
  • 高质量数据集和超参数调整是微调成功的关键,但需要大量实践。
  • 文章强调了本地部署小尺寸模型在移动端的潜力和价值。

Full Content

用DeepSeek的方法做微调,可以显著提升传统模型的思考能力。

这是我训练好的模型文件,已经传到Hugging Face上了,大家自取。它是基于Qwen2.5 3B,通过微调加强了数学能力,最后生成了Q4、Q5和Q8三个版本。咱们来对比一下Q4精度的效果。我问一个经典问题:

9.9和9.11这两个数字,哪个更大?

先来看原版的回答。不仅答案错了,而且给的理由也是完全混乱的——什么叫“小数部分相同,唯一的区别在于十分位”,简直胡说八道嘛。

再来看微调版本。这就正常了。整数部分一样,那就比较小数部分。很自然就得出9.9比9.11更大。

这套东西不是我搞出来的,而是Unsloth的成果。他们前些天发了一篇博客,介绍了方法,还给出了代码。简单来说,Unsloth这套东西实现了两点:

第一,微调门槛下降。像1.5B之类的小尺寸模型,只需要7G显存就可以微调。而7B、14B这种,15G显存就OK。也就是说,用消费级的PC就能微调。如果是用云端的算力,像我用Google Colab的T4 GPU,花了一个小时就顺利完成。

第二,模型能力提升。GRPO是一种强化学习算法,是DeepSeek发明并开源出来的。用这套算法和数据集,能够训练出具备更强推理能力和更好可解释性的模型。现在Unsloth把它应用到微调里边,想象空间一下就出来了。举个例子:

私域模型。

一个商业博主,有自己的方法论,也有很多交付案例。他把过往积累下来的东西整理成数据集,包含问题、答案以及解题步骤。然后用Unsloth这套东西去微调,生成3B的模型。最后,把模型文件给到他的用户,不管是免费还是收费都可以。

用户拿到之后,用我上上期介绍的方法在手机上使用。这意味着,用户可以随时随地、不需要联网地跟这位博主的AI分身交流。

对自媒体来说,以前只有在你发视频、发文章的时候,或者你在群里说话的时候,你的粉丝、用户才能接收到你的信息。现在,有了这个方法,他们可以无限制地被你这个IP影响。

之前我分享手机上跑模型的方法,一堆人喷我说没意义、没价值。说句扎心的话:眼界太浅,活该挣不着钱。

哈喽大家好,欢迎来到我的频道。谦虚地说啊,我是国内少数几个能把关于AI的Why和How讲明白的博主。我提供的东西比教程更值钱。记得点一波关注。如果想链接我,就来newtype社群。已经有800多位小伙伴付费加入啦!

回到今天的主题:用强化学习算法,微调模型。

在介绍Unsloth的工具之前,我还是得先把基本概念用一种通俗易懂的方式讲给你们听。可能不是很严谨,但是包懂。

以前搞强化学习,需要准备大量包含解题步骤的高质量数据,以及非常精确、绝对的奖励函数。然后大力出奇迹,硬生生把模型给培训出来。

后来DeepSeek发现,其实不需要那么高的成本,搞得那么费劲——可以把奖励函数弄得更灵活一些嘛。针对每一个问题,它让模型生成一组答案。然后看这一组答案里边,哪个答案相对好一些,从而给出奖励。

传统方法,比较像我们以前在学校里接受的填鸭式教学,靠着记忆力去刷题,想要蒙混过关。但是,这种搞法,知其然而不知其所以然,所以最后还是个渣渣。而DeepSeek的方法则是反复思考解题步骤,最后不仅知其然而且还知其所以然。于是,模型“顿悟”了,学霸诞生了。

如果还是不太明白,那我再打个比方。传统方法训狗,需要明确定义每个动作,并且给每个动作都设计奖励。只有当狗完全按照指令完成动作时,才能获得奖励。

而DeepSeek的方法是,一个动作让狗做三次。在三次当中,相对较好的那一次获得奖励。然后不断重复这个过程。

大家如果有养狗经历就知道,用DeepSeek的这种训练方法,主人轻松,狗子开心,效果也好。

DeepSeek很大方地分享出来之后,Unsloth就拿来用了。不过在使用之前,有一些限制需要跟大家说清楚:

你拿来微调的模型不能太小了,至少也得有1.5B,不然没法正确生成思考标记。这是我选择用3B尺寸的原因,既符合训练的要求,也能在手机上运行。另外,步数至少要300步,奖励才会真正增加。为了达到良好的效果,建议至少训练12个小时。

在官方给的示例当中,用的数据集是GSM8K。它包含了8500个高质量的小学数学文字题。每个问题需要2到8个步骤才能解决。而且,这个数据集里的解题方法是用自然语言编写,而非纯粹的数学表达式。所以,用它来训练,能够提升模型的多步骤数学推理。

类似GSM8K的数据集还有好几个,比如MATH Dataset、MathQA等等。我建议大家先别着急就导入自己的数据集,可以拿这些练练手。因为,换了数据集之后,由于格式不同、特点不同,奖励函数可能需要做相应的调整。

另外,超参数的调整也需要大量实践。比如:

学习率,用来控制模型学习的速度。设得太高,模型可能学得太快,错过最优解;设得太低,模型可能学得太慢,浪费时间。

Batch size,指的是每次喂给模型的数据量。设得太大,可能会导致内存不足;设得太小,可能导致模型学习不稳定。

微调和RAG一样,都是看起来简单,但真要获得好的效果,需要大量调试。而且这东西没法教,只能“干中学”。但是,有门槛是好事。只要跨过去了,就能甩开一大堆人。

所以,我在Google Colab上买了一些计算单元,这段时间会做各种测试。至于数据集,我突然想到,过去一年我在星球里回答了好多好多问题。这些问题都可以做转换,比如让模型帮我批量处理,然后放进数据集里。

通过微调打造AI分身、训练私域模型的想法,在我去年做Llamafile那期视频的时候就出现了。现在可能性越来越大了。等有进展了,我会在社群里说。

OK,以上就是本期内容。想了解AI,来我们newtype社群。那咱们下期见!

M4 Mac mini作为轻量级AI服务器,太香了!

Key Takeaway

  • M4 Mac mini是轻量级AI服务器的理想选择,功耗低且性能出色,能满足本地运行大模型的需求。
  • Ollama是本地运行大模型的优秀工具,支持多种模型和精度,可通过设置实现模型常驻内存,达到“随叫随到”的效果。
  • 通过修改Ollama的监听地址,可实现局域网内其他设备(如手机)访问本地大模型。
  • Enchanted是iOS上连接Ollama的简洁、流畅的APP,适合移动端使用。
  • 文章强调了本地部署开源大模型在解决云端服务不稳定、费用高昂等问题上的优势。

Full Content

我宣布,M4 Mac mini就是我个人的年度最佳数码产品。真的,太香了!

我这台24G内存加512G SSD的机子是在闲鱼上下单的。店家跑澳门帮我代购,然后顺丰寄到北京。全部加起来,7千块。我对比了一下国行官网的价格,发现居然便宜了500块。

也就是说,如果买国行,花更多钱,还买的是“阉割版”。这是什么道理?我真的不明白。

拿到Mac mini之后,我安装的第一个软件是Ollama,然后下载Qwen 2.5。因为我一直想实现这样一个场景:

一台足够给力、又足够冷静的机子作为服务器跑本地大模型,然后供给给局域网内的所有设备使用,比如手机。

之前我一直用这台PC跑大模型。但是那个功耗和噪音,我真的不敢一直开着。虽然理性告诉我,消耗不了多少,但心里就是不踏实。于是,M4版Mac mini终于实现我的设想。

现在只要我在家里,通过手机就能用上本地大模型。不知道为什么,我发现这种Self-hosting的方式有一种莫名的快感。跟用别人的服务完全不一样的体验。

在外边其实也可以连接家里的Mac mini,用我之前介绍过的ngrok就行,做个内网穿透。不过这么搞的话,速度就慢下来了,还是算了。

哈喽大家好,欢迎来到我的频道。谦虚地说,我是国内少数几个能把关于AI的Why和How讲明白的博主。我提供的东西比教程更值钱。记得点一波关注。如果想链接我,就来newtype社群。已经有600多位小伙伴付费加入啦!

回到今天的主题:在M4 Mac mini上运行大模型。

我准备在春节之前做一次升级,目标是彻底解决日常使用AI的问题。现在不管是ChatGPT还是Claude,在国内用总是不让人放心。比如封号的问题就完全不可控。一旦用不了就傻眼了。用M4 Mac mini作为轻量级的服务器跑大模型,算是我第一个尝试。

我们先来做个简单的测试,看看这台24G统一内存的机子能跑什么尺寸的大模型。标准很简单,就是每秒能吐出多少个Token。

测试工具用的是Ollama。把Verbose打开,就能看到运行的速度。

模型方面,我下了7b、14b两个尺寸,包括Q4和Q8两种精度,一共4个模型。32b就不用想了,肯定跑不了,都不用测。

在Q4精度下,7b的生成速度大概在每秒20个Token的样子,特别流畅丝滑。而14b大概是11个Token的水平。

我自己的直观感受是,11的速度基本是能接受的底线,再低肯定不行。到20的话,就算流畅。

我们再来看Q8的速度。在这个精度下,7b速度降到了大概每秒13个Token的水平。而14b就更低了。

所以,综合来看,M4芯片加24G统一内存,我个人选择是跑Q4精度、14b的模型。它的速度我能接受,而且答案的完整程度明显比7b更好。我试过让它挂着跑半小时以上,基本就是温热的程度,比较让我放心。

OK,模型选定了,但是还没完——Ollama还需要做一些设置。

在初始状态下,如果闲置五分钟的话,Ollama就会自动把模型都释放了。这意味着,如果我们突然有了需求、需要对话的话,又得等Ollama加载模型——这个就很不爽了,对吧?

所以,我们要做的第一个设置是,把OLLAMA_KEEP_ALIVE设为-1。这样一来,它就不会自动释放内存,才能达到随时响应的目的。

第二个是关于网络的设置。这个是我问Cursor学来的。

在初始状态下,Ollama只监听Localhost。要让局域网内的其他设备,比如手机也能访问Ollama,需要修改它的监听地址。

在终端里输入这一行命令:OLLAMA_HOST=“0.0.0.0:11434” ollama serve

0.0.0.0指的是让Ollama监听所有网络接口。不管活儿从哪来,都接。11434是它默认的端口,没必要改动。这么改动之后,手机、Pad这些设备都可以通过局域网IP地址接入Ollama。

那么,最后一个问题来了:在移动端用什么APP去连接Ollama?

在桌面端有太多选择了,比如经典的Open WebUI,还有Obsidian的一堆AI插件都支持。在iPhone上,我个人的选择是Enchanted,三个原因:

第一,这款APP特别简洁,就是纯对话,文字或者语音都可以。没有那些杂七杂八的功能,所以特别符合我的需求。

第二,它就是iOS原生的那种丝滑。要长期使用的话,这种体验很重要。

第三,Enchanted支持Ollama。把地址和端口填进去就可以用了,非常方便。当然,也是因为它只支持Ollama,所以我没选LM Studio。

今天的开源大模型已经足够强。量化版本就能满足平时对话的需求。搭配M4 Mac mini真的很舒服。强烈建议大家搞一套试一试。

OK,以上就是本期内容。想聊AI,就来我们newtype社群。那咱们下期见!

Mac跑大模型,首选LM Studio

Key Takeaway

  • LM Studio是Mac上运行大模型的首选工具,尤其支持为M系列芯片优化的模型文件,显著提升运行速度。
  • LM Studio新增对苹果MLX框架的支持,该框架专为M系列芯片优化,能高效部署和运行模型。
  • 文章通过对比演示,展示了优化版模型在M2芯片Macbook Air上运行速度的优势。
  • 苹果在AI领域已迎头赶上,其硬件(统一内存架构)和MLX框架为AI终端提供了强大支持。
  • LM Studio正从后端工具向前端应用发展,预示着AI应用将进入大混战阶段。

Full Content

如果你用的是M系列芯片的苹果电脑,想要在机子上跑大模型,那么我强烈推荐你用LM Studio。因为它支持专门为M系列芯片优化过的模型文件,运行速度快了不止一点。

我用手里这台M2芯片的Macbook Air做了一个简单的对比。同一款大模型,同样的需求,左边是优化版,右边是咱们之前常用的GGUF版。肉眼可见,左边的速度快多了。从每秒token生成的速度来看,优化版的模型快了一倍。

哈喽大家好,欢迎来到我的频道。谦虚地说,我是国内少数几个能把关于AI的Why和How讲明白的博主。记得点一波关注,只要有一个视频你看进去了,就赚大了。如果想链接我,就来newtype社群。已经有500多位小伙伴付费加入啦!

回到今天的主题:LM Studio。

在本地运行大模型的工具中,LM Studio和Ollama是最受欢迎的两款。在最近这一次的更新中,LM Studio新增了对MLX的支持。

这个拗口的MLX,是苹果公司开源的一个机器学习框架,专门为M系列芯片做了优化,比如采用了统一内存模型、对应统一内存架构。所以,使用这个框架就可以非常高效地部署和运行模型。

MLX去年12月才开源,还很新,但是在社区支持下发展很快,主流模型都有对应的版本。在最新版本的LM Studio中也特意做了标注和筛选,方便苹果用户下载。

如果你之前没安装过LM Studio,可以到官网下载对应的版本。安装完毕之后,打开软件,左边栏是它的主要功能页面,包括聊天模式、服务器模式、查看已有模型等等。进入发现页面,就可以搜索和下载模型了。

就像刚才说的,LM Studio把MLX版的模型专门标注出来了,大家在列表里很容易找到。它默认是推荐Staff Pick也就是官方推荐的模型,如果你想要更多,那就选择Hugging Face,会把所有模型都列出来。

不同量化版本的模型,体积不一样,大家根据配置和需求选择。如果下载不动,那大概率是网络原因,这个就只能各自想办法了。

等模型文件下载好了,咱们就可以在聊天模式里加载它。LM Studio提供了各种设置,我这边就用默认的。

为了做这个不严谨的对比,主要是为了给大家一个直观的感受,我让AI帮我写一个贪吃蛇的Python游戏。由于还开着录屏,所以对速度会有影响。不过即使在这种情况下,优化版模型跑起来还是很流畅的。你再看普通版的情况,这差得也太多了。

之前很多人抨击苹果在AI方面落后了,国内媒体也老写小作文。但是,你如果真的有在关注的话就知道,苹果现在绝对已经赶上来了。他们在硬件上的积累远超那些PC厂商。

我之前在社群专属视频里就讲过苹果的自研模型,遥遥领先隔壁安卓厂商。在桌面端,有了MLX框架,就能发挥出统一内存架构的最大优势:

CPU和GPU可以直接访问共享内存中的数据,不需要进行数据传输。小规模操作用CPU搞定。遇到计算密集型的需求再上GPU。

硬件层、系统层、应用层一体化,这才是AI终端该有的样子。这也是我选择在这个时间点做一次大升级:把我用了这么多年的mini换成iPhone 16 Pro——我准备11月托朋友代购个港版,以及M4版Macbook Pro出来后,买个16寸顶配。到时我会给大家分享一系列的使用体验。

最后,one more thing。如果大家一直在用AI软件就会发现,最近有一大波密集更新。各家都在扩张自己的势力范围。比如咱们今天聊的LM Studio,以前它只是一个偏后端的软件,帮你在本地跑跑大模型。现在,它把聊天模式往前提了,添加了RAG功能。这种主动从后端走向前端的打法会逐渐成为各家的共同选择。AI应用大混战的阶段要来了。

OK,以上就是本期内容。想进一步交流AI,来我们newtype社群。那咱们下期见!

Ollama + Hugging Face:给Ollama添加任何大模型

Key Takeaway

  • Ollama是本地运行开源大模型的最佳工具,但官方模型对中文支持有限。
  • 用户可以通过Hugging Face下载GGUF格式的开源大模型文件,并利用Modelfile和ollama create命令将其添加到Ollama中。
  • GGUF格式是一种压缩格式,能让大模型在消费级终端上运行,但会牺牲精确度。
  • 文章详细介绍了将GGUF模型添加到Ollama的步骤,包括创建Modelfile和使用ollama create命令。
  • 强调了Ollama的开放性,使其能够运行任何开源大模型,为用户提供了更多选择。

Full Content

在本地跑开源大模型,目前最好的软件肯定是Ollama。

但是,对于咱们国内的用户来说,Ollama有一个问题:

官方提供的模型,对中文的支持太少了。

目前就一个中文模型,是基于Llama2微调的。如果你在官网搜“Chinese”这个关键词的话,能找到一个它(Llama2-Chinese)。

如果我们想多一些选择,使用那些国产的开源大模型,该怎么搞呢?本期我就介绍一下方法。还是那句话:

超级简单,有手就行。

理论上,除了官方模型列表里的模型,Ollama可以运行任何开源大模型,只要你有模型的GGUF文件。

那么,第一个问题来了:去哪里下载模型文件?

世界上开源大模型最多的地方,肯定是Hugging Face了。我们可以到这个平台直接搜国产大模型,比如:baichuan gguf,或者qwen gguf。通过下拉列表,就可以找到用户上传到GGUF格式文件。

这个GGUF格式,为了方便理解,你可以先简单把它看作是一种压缩格式——虽然这么解释并不严谨,不过无所谓啦。就像JPG压缩的是图片,那GGUF压缩的是大模型。这样一来,才好在咱们这些消费级的终端上跑。

当然,压缩是有代价的,那就是精确度下降。所以列表里才会有一系列不同体积的文件。大家根据自己机器的配置,选一个合适的下载就好。

下载好之后,创建一个txt文档,名字叫Modelfile,里边只需要写上这么一行:

FROM D:\ollama

这个文档的作用就是告诉Ollama该去哪儿找模型文件。比如,在我这边就是,去D盘、ollama文件夹,找到叫这个文件名的模型文件。

最后一步,打开终端,输入这一行命令:

ollama create

我来解释一下这行命令的意思。其实大家不用紧张,觉得这是命令什么的,肯定看不懂——你就把它当成是英语的阅读理解嘛:

ollama create,很好理解,就是让ollama去创建新的模型文件。

那么,创建好的模型该叫什么名字呢?就是后边跟着的名字,随你设定。

Ollama肯定不能凭空创建出一个模型文件,这就需要使用我们之前下载好的GGUF文件。这时候,我们告诉它,去读取刚才创建的txt文档,里边有GGUF文件的地址。

这样一来,Ollama就知道该从哪里找到大模型,然后创建一个叫什么名字的模型文件了。

这行命令运行之后,稍等个两三分钟就搞定了。

我们在终端里输入:ollama list。这个命令会列出目前你已经拥有的模型。这时我们看到,刚才导入的模型已经存在了。

打开Open WebUI,在模型选择的下拉列表里,同样也能看到最新的模型。

OK,以上就是让Ollama添加任意开源大模型的方法。我刚才下载的那个模型版本,中文的效果不一定好,只是为了演示这个方法。大家可以去Hugging Face或者国内的模型社区下载各种GGUF格式的中文大模型,然后找到最适合自己的版本。

本期内容就这些。大家如果有疑问,或者想进一步交流的话,到知识星球来找我。咱们下期见!

Perplexica:部署完全属于你的问答引擎

Key Takeaway

  • Perplexica是一款开源的问答引擎,旨在提供Perplexity的本地部署替代方案,具有高度自由度。
  • Perplexica支持云端和本地模型,可通过OpenAI、Anthropic、Grok的API调用,或通过Ollama调用开源大模型。
  • 部署Perplexica需要Docker,并可通过docker compose up命令进行安装。
  • Perplexica的UI与Perplexity相似,支持Copilot功能,能根据提问生成多个搜索关键词以提升效果。
  • Perplexica还支持云端部署,用户可在RepoCloud等平台一键部署,实现个人专属的问答引擎。

Full Content

我一直想在本地部署一套问答引擎。

在我构想的AI工作系统当中,问答引擎是基础。但是,现在做得最好的Perplexity,它对网络环境挺挑的。想用的时候突然用不了,就很烦。

所以很多时候不是我不想为SaaS付费,而是这客观条件逼得我只能走本地部署这条路。

好在这类型的项目挺多的。我之前就介绍过一款,叫LLocalSearch。折腾了一圈之后,我目前最满意的是Perplexica。

从名字就能看出来,这款产品就是照着Perplexity抄的。放在一起对比,UI几乎一模一样。

我之所以对它满意,主要原因是,它的自由度很高。

在模型方面,你可以走云端,通过OpenAI、Anthropic或者Grok的API去调用相应的模型。你也可以走本地,通过Ollama去调用开源大模型。

我把之前安装的都删了,重新走一遍,大家就明白了。

先把Docker打开,咱们一会儿需要使用。接着老规矩,通过git clone把项目下载下来。然后把config这个文件前边的sample去掉。

对大模型的配置,可以在config里进行。比如填上OpenAI的API Key,或者Ollama的地址。如果你没有改端口的话,那就是默认的11434。要注意:不是填localhost:11434,而是host.docker.internal:11434,因为咱们是在docker里运行。

这边没填也没关系,等全部安装完成之后,可以在应用里边的设置页面进行配置。

最后,使用docker compose up这行命令,就会自动下载、安装需要的所有东西。等个几分钟,就可以通过localhost:3000这个本地页面使用了。

咱们来测试一下效果。先试试GPT-4o。可以看到,大概四到五秒钟能给出结果,还是很不错的。回答的来源,还有追问,都跟Perplexity一样。

如果打开Copilot选项,那么AI会根据你的提问去多生成几个,一起拿去搜,这样能提升整体效果。

接着试试开源模型的效果。语言模型用qwen2,嵌入模型用nomic。第一次启动有点慢,需要加载一下。后边明显快多了。

前边说了,我喜欢Perplexica的主要原因是它的自由度。这个自由度不仅限于模型。

在部署方面,除了本地部署,它还支持云端部署。在官方GitHub页面下方,就有一键部署的按钮。

它应该是跟RepoCloud有合作。你在上边注册之后,会给3美金的免费额度。这时只需要搜索项目名称,找到Perplexica;然后填写OpenAI API Key,以及用户名和密码;最后等上大概5分钟,项目就在云端部署好了。

可以看到,RepoCloud给了一个链接,我们可以在桌面端、移动端随意使用。比如我在iPad上打开,用刚才设置的用户名和密码登陆,就会看到同样的界面。运行起来,速度还OK。RepoCloud会根据你的使用量auto-scaling。

我发现,这种个人专属的感觉特别棒。强烈建议大家试试。不管你是自己使用还是团队共用,都可以。

OK,以上就是本期内容。接下来我准备详细研究一下Perplexica和它所使用的搜索引擎SearXNG。有新发现的话,我会分享到newtype社群。还没加入的小伙伴抓紧加入吧。那咱们下期见!

像用GPT一样使用开源大模型

Key Takeaway

  • LM Studio等工具能让用户像使用GPT一样,通过Python脚本和框架(如LangChain、Llama Index)增强和限制开源大模型。
  • 本地运行开源大模型可以实现知识库、搜索引擎等增强功能,并能根据工作流程限制模型发挥。
  • LM Studio提供本地服务器功能,模拟OpenAI API接口,使得基于GPT开发的应用可以无缝迁移到开源大模型。
  • 这种本地化解决方案不依赖云端算力,无需支付token费用,为用户提供了开发定制化AI应用的自由。
  • 文章强调了本地部署开源大模型在成本和灵活性方面的优势。

Full Content

在本地跑开源大模型,如果只是用来简单对话,那就没什么意思了。我们肯定是希望像用GPT一样,通过Python脚本,借助LangChain、Llama Index等框架、工具,对大模型进行增强和限制,比如:

  • 增强:通过搭载知识库、搜索引擎,提升大模型信息的及时性,补充某个领域的知识。
  • 限制:根据给定的工作流程、思考路径来处理任务,而非随意发挥。

OpenAI提供API接口,让这一切变得简单许多。其实通过LM Studio这类软件,也可以在开源大模型的使用上,达到同样的效果。

在上期视频中,我介绍了LM Studio的基本用法。

你可以把它简单理解为:就像国内的游戏模拟器平台,把模拟器、游戏库全都打包好了。不需要做复杂的调试,下载好了直接可以玩。

在此基础上,LM Studio还提供了进阶用法:

作为本地服务器,提供类似于OpenAI的API接口服务。

方法很简单:

  1. 加载量化版的大模型。
  2. 启动本地服务器。
  3. 获取本地服务器的端点,设置成config_list中的base_url

如果之前有基于GPT开发应用的话,看到这个代码应该会很亲切。

它基本上就是把调用OpenAI API的部分做个替换:

  • api_key不需要填真实的,可以用“not-needed”来替代。
  • model部分,原本选择gpt-3.5或者gpt-4,现在填“local-model”

脚本其它部分都不需要变动。这意味着,之前的Python脚本都可以平移过来,给到开源大模型使用。

比如,使用微软的AutoGen配置Agent,对config_list做一些改动就行,照样导入llm_config。

不依赖云端算力,不用支付token费用,基于LM Studio和开源大模型,完全可以开发一套适合自己需求的本地解决方案,这是最吸引我的地方。

再见,GPTs

Key Takeaway

  • OpenGPTs是LangChain推出的开源项目,旨在替代OpenAI的GPTs,提供更彻底的自定义能力。
  • OpenGPTs支持更多模型(开源、闭源、云端、本地),可完全本地化运行,数据更安全,隐私性更强,费用更低。
  • OpenGPTs高度定制化,代码开放,可随意修改,并能生成公开链接供团队共用。
  • OpenGPTs功能模块包括Chatbot(模型选择、指令设置)、RAG(检索增强生成,支持文档检索)和Application(Chatbot+RAG+工具)。
  • OpenGPTs提供了多种工具,如通用搜索和垂直搜索工具,弥补了ChatGPT工具的不足。
  • OpenGPTs的真正潜力在于自定义和二次开发,为用户提供了极高的自由度。

Full Content

看完这期视频,你就不再需要ChatGPT了。因为你完全可以用OpenGPTs替代,而且能做得更好。

OpenGPTs是LangChain前段时间推出的开源项目。看起来跟OpenAI的GPTs一样,支持一定程度的自定义,比如可以上传文档作为知识库,可以添加文生图、联机搜索等工具。不过说实话,要让AI成为真正的智能助理,这种程度还远远不够。

OpenGPTs在自定义方面做得更彻底:

  • 支持更多模型,不只是OpenAI的。开源的、闭源的,云端的、本地的,都可以。
  • 可以完全本地化运行。不只是大模型跑在本地,知识库中的文档也是放在本地,所以数据更安全、隐私性更强,费用也更低。
  • 高度定制化。代码完全开放,可以随意修改。可玩性非常高。我去年之所以做newtype项目,就是对ChatGPT不满意,想要更高的自由度。
  • 全部改装完了,还可以生成公开链接。比如给到团队共用,这一点非常棒!

OpenGPTs的安装有点麻烦。想先体验再做决定的话,官方有现成的demo,我拿这个跟大家具体介绍一下。

OpenGPTs的功能模块就三个:Chatbot、Rag,以及Application。你别看只有三个,但它们仨涵盖了所有类型的GPT应用。

Chatbot很简单,就两个设定:

第一、选择大模型。

官方在demo里把当前主流的大模型都列上了:三巨头GPT、Claude、Gemini,以及来自欧洲的Mixtral。

如果你想用别的大模型,比如通过Ollama跑开源大模型,找到backend文件夹里的app文件夹,对llms.py做一点点修改就行。

第二、下达指令,也就是大家很熟悉的Prompt。通过这个设置,AI就会按照你要求的角色、人格和做事方式去运行。

比如,我们可以创建一个专门翻译科技文章的bot。

首先定义角色和任务:

你是一位精通简体中文的专业翻译,尤其擅长将专业学术论文翻译成浅显易懂的科普文章。我希望你能帮我将以下英文论文段落翻译成中文,风格与科普杂志的中文版相似。

然后定义规则:

  • 翻译时要准确传达原文的事实和背景。
  • 即使上意译也要保留原始段落格式,以及保留术语,例如 FLAC,JPEG 等。保留公司缩写,例如 Microsoft, Amazon 等。
  • 同时要保留引用的论文,例如 [20] 这样的引用。
  • 对于 Figure 和 Table,翻译的同时保留原有格式,例如:“Figure 1: ”翻译为“图 1: ”,“Table 1: ”翻译为:“表 1: ”。
  • 全角括号换成半角括号,并在左括号前面加半角空格,右括号后面加半角空格。
  • 输入格式为 Markdown 格式,输出格式也必须保留原始 Markdown 格式
  • 以下是常见的 AI 相关术语词汇对应表:
    • Transformer -> Transformer
    • Token -> Token
    • LLM/Large Language Model -> 大语言模型
    • Generative AI -> 生成式 AI

最后定义策略:

当浏览器与大模型打通:Brave浏览器 + Ollama

Key Takeaway

  • Brave浏览器通过与本地大模型(如Ollama)打通,实现了浏览器内置AI功能,提升了用户上网冲浪时的效率和便捷性。
  • Brave的AI功能支持直接对话、选中文字总结以及将当前网页内容作为大模型参考。
  • 文章强调了浏览器与AI打通的必要性,并认为Brave在大方向上是正确的,但未来大厂(如Chrome与Gemini)的跟进将带来竞争。
  • 尽管Brave的AI功能仍处于测试阶段,但其本地化部署和与开源大模型的结合,为用户提供了更多选择和自由度。

Full Content

所有软件都应该跟AI打通。比如我们最常用的浏览器。

当你上网冲浪,突然想问些什么或者想生成点什么,这时还要特意打开个网页(比如ChatGPT),或者切换到别的APP(比如Obsidian),这就特别麻烦、有点不爽。

于是,Brave浏览器就来了。这款产品存在应该有好几年了。免广告之类的常规功能就不说了,它最吸引我的点在于,可以跟本地大模型打通,比如在自己的电脑上运行千问之类的,然后去实现我刚才说的那些场景功能。

大家想尝试的话,记得下载Nightly版本。这是测试版本,每晚更新。下载好了一路安装。搞定之后,来到设置页面,点击这个Leo——这是他们给自己的AI Assistant起的名字。然后在添加模型的设置里,跟Ollama关联上。

Ollama是目前特别主流的在本地跑开源大模型的工具。你可以去他们官网下载软件,然后在终端里通过一行命令就可以下载你想要的大模型,比如我用得最多的qwen2。

当软件和模型都准备完成后,打开Ollama,你会看到,它会驻留在状态栏里。每当要调用大模型的时候,它才会启动。好处是可以一直挂着,坏处是第一次启动的时候可能得稍等个差不多10秒,需要把大模型加载一下。一旦启动起来就特别快了,真的比云端的爽多了。

要把Brave跟Ollama关联上很简单。如果你像我一样没有对Ollama做一些设置调整的话,那就按照提示,把地址填进去,把要跑的模型名称填进去。只要名称对得上,那基本不会有问题。

回到前端的交互页面,从侧边栏可以打开Leo AI。官方有提供大模型,不过咱们这边是要用本地的,所以选择刚才设置好的千问。直接对话交流完全没问题。要结合正在浏览的网页的话,有两个方式:

第一,可以在网页当中选中一部分文字,右键就能看到官方预设好的AI功能,比如总结之类的。

第二,把输入框上边这个按钮勾选上之后,就会自动把当前浏览的网页给到大模型作为回答参考。

不过我发现,这不是我们平时用RAG的那种处理方法。因为我试过,如果是一篇长文章的网页,它会提示只阅读了一部分,这说明它的方法很简单粗暴,就是把所有内容都作为上下文给过去。当超出上下文窗口的限制了,才会提示没有读完。

但话又说回来,如果真用RAG那套东西的话,还要搞Embedding什么的,就会变得特别重,不适合浏览网页这个场景。因为用户会不断打开新网页,并且来回切换的。

目前Brave浏览器的AI功能还属于测试阶段。就像前边说的,我觉得浏览器和AI打通特别有必要。Brave这个大方向是OK的。不过,大厂肯定会跟进,比如Chrome,绝对会通过Gemini实现同样的功能。对于Brave这种产品来说,活下来的一个方法是,给到用户更多自由。我特别希望它后续能加上更多自定义功能,至少把模型提示词先放出来,肯定能提升日常使用频率。

OK,以上就是本期内容。大家想找我的话,来newtype社群,我都在。那咱们下期见!

手机也能本地部署DeepSeek R1

Key Takeaway

  • DeepSeek R1模型可以在手机等本地设备上部署运行,PocketPal AI等免费APP支持。
  • 本地部署AI模型具有运行稳定、速度快、免费、模型选择丰富、使用自由和数据隐私安全等优势,是AI普及的趋势。
  • DeepSeek R1的发布对AI行业是重大利好,推动了AI普及,促进了模型厂商的竞争,并引发了对算力使用和开源模型价值的反思。
  • 在桌面端,Ollama是本地部署大模型的最佳工具,支持多种开源模型,并可与Open WebUI等前端工具结合。
  • 移动端本地部署主要选择1.5B等小尺寸模型,未来随着技术发展,移动端AI能力将更强。

Full Content

使用DeepSeek R1,不一定非要通过官方的APP。在本地运行也可以。甚至,在手机上。

我手里这台是iPhone 12 mini,已经老得不能再老了,我一直没舍得换。结果它居然也能跑R1,这让我非常惊讶。

我用的是PocketPal AI这款免费APP,之前在社群里推荐过。下载的是1.5B、Q4精度的模型文件,生成挺流畅的。你看,跟官方APP里的表现一样,也是先给出思考过程,然后再给出结果。在Benchmark页面进行测试,可以看到详细的数值:每秒有大概20个Token;峰值内存占用大概是33%。

如果是新一点的iPhone,那么可以下载更高的精度,获得更好的效果。比如我用我老婆这台iPhone 14做了测试。它最高可以跑Q8精度,每秒输出16个Token。再高就没反应了,比如FP16。

说实话,比起DeepSeek R1 1.5B,我个人更喜欢Qwen2.5 1.5B。R1的思考过程太啰嗦,而且最终的结果不见得有质的提升。Anyway,大家根据自己的情况和偏好选择就好。今天还不存在某一个模型会显著超过其它模型。而且我觉得好的模型,对你不一定适用。

另外,我知道这个视频发出去之后,肯定又会有人质疑本地部署的必要性。每次我发这类视频都会被喷。所以在这边我统一回复一下。

老网友应该有印象,在很多年前,谷歌推出Chromebook,一个上网本。它的办公软件都是网页版的应用,谷歌全家桶。按照那些人的逻辑,这就够了啊?为什么还要本地版的Office全家桶呢?结果市场给出了选择。

AI在端侧的落地也一样。如果都依赖云端算力,AI绝对不可能普及。比如,需要网络接入;用的人多了可能要排队;还有莫名其妙的降智和懒惰情况。这些都会限制我们使用AI。此外还有隐私和数据安全的问题。

所以,依靠端侧算力,在移动端运行1.5B或者3B的模型,在桌面端运行7B或者14B的模型,一定是未来一两年的发展趋势。

对超级个人来说,拥有更多算力,就能跑更强大的模型。知道每种设备使用AI的方法,就能更自由地接入AI。这些组合在一起,就能让你在那些普通人面前获得Unfair Advantage。

哈喽大家好,欢迎来到我的频道。谦虚地说啊,我是国内少数几个能把关于AI的Why和How讲明白的博主。我提供的东西比教程更值钱。记得点一波关注。如果想链接我,就来newtype社群。已经有800多位小伙伴付费加入啦!

回到今天的主题:在端侧部署DeepSeek R1。

过年这段时间特别热闹。年前先是川普发币。看起来很不合理,但仔细想想也没啥毛病。人家要干碎一切,发个币算什么?

这一波过去没多久,DeepSeek来了,闹了一整个假期。我的观点很简单:这对所有人来说,都是重大利好。

第一,一款免费且开源、支持深度思考和联网搜索、具备最强中文能力的模型,能让更多的普通用户用上AI。

我在朋友圈里看到,好多之前基本不用AI的小伙伴,这次都用DeepSeek了。前几天跟亲戚聚餐,一位阿姨居然也主动聊起DeepSeek,还向我安利他们的APP,非要我下载体验一下。

能普及AI,就是功德无量的事儿。

第二,R1推出之后,业内都在各种反思。比如,之前对算力的使用是不是过于粗放了,等等。同时也给那些闭源厂商更多紧迫感,比如OpenAI,抓紧推出新的模型和产品。你看,O3 mini不就来了?

我相信经过这一波,各家模型厂商都能有所得。这就是开源、开放权重的意义。之前某些人说“开源就是智商税”、“开源模型只会越来越落后”,现在看是不是特别可笑?

第三,对于投资者来说,这一波既是卖出英伟达的机会,也是买入英伟达的机会。在大跌的那一天,我就开始买入了。逻辑很简单,我在社群里也发了:

DeepSeek的方法如果是可Scalable的,那么买卡还得继续。

他们并不是从零到一发现了一条新的、不同于Scaling Law的道路。其实还是原先的大方向。而且也不存在什么不需要CUDA、不需要高算力、不需要GPU改用ASIC的情况。这全都是外行不懂装懂、为了流量哄你们玩呢。各家公司还是会想方设法买卡,比如从新加坡。

所以,这一波下跌只是一时的恐慌,以及之前涨了那么多,市场普遍预期要回调,等待新的故事。所以大家都不约而同演了这么一出:

普罗大众开心了,扬眉吐气了。资本落袋为安了,开始观望了。美国政府也有理由要求严加管控了。每个人都各取所需。我们都有美好的未来。

我还是坚定认为,在AI这件事儿上,不存在弯道超车。

中国人特别擅长做从1到100的事儿。这一点在互联网和移动互联网时代特别明显。因为,从零到一的基础研发,人家都完成了,也分享出来了。然后我们跟上去做应用落地。你再看中国的VC,有哪家敢真的去投从零到一的项目?他们拿出来吹的投资成绩单,全都是对现成红利的收割。

但是AI这一波不一样——基础研发和落地应用齐头并进。所以不去开拓、只等着摘果子是行不通的。人家也不想当冤大头啊。

DeepSeek和国内的AI公司有很大不同,不管是钱还是人都不太一样。这也许就是他们能成的原因。

好了,这个话题不能再多说了。回头我在社群里发个视频细说。咱们还是回来聊端侧部署DeepSeek R1吧。

大家日常使用的话,如果是在桌面端,最简单的方法肯定是通过我们的老朋友——Ollama。

来到Ollama官网的DeepSeek R1页面,就会看到原始模型,以及蒸馏出来的六个小尺寸模型,从1.5B、7B到70B都有。我拿3060显卡的PC和M4的Mac mini都测了一下。

3060跑7B,每秒Token有46,非常丝滑顺畅。跑8B,每秒Token有44,差不多。跑14B,速度降到26,也完全能接受。

注意:这是在我开着OBS录屏情况下的数据。没开的话,每秒Token数量会多四五个。

再来看M4 Mac mini的情况。24G统一内存,跑7B,每秒Token有19。跑8B,每秒Token有17。跑14B,每秒Token只剩10。

最适合普通人的知识库

Key Takeaway

  • QAnything是一款适合普通用户的知识库产品,支持创建多个知识库,并能处理文档和网页内容。
  • QAnything的机器人功能可将知识库以链接形式发布,用于团队协作或AI客服。
  • QAnything在RAG技术上有所创新,采用了Rerank技术(二阶段检索)提升检索精确度。
  • 文章强调了国内厂商在AI应用方面的优势,以及知识库作为用户数据资产的重要性。
  • 知识库的未来发展方向包括根据语义进行文本切割,以及支持多模态内容。

Full Content

今天给大家介绍一款普通用户也能马上上手的知识库。

我有一个感觉:国内厂商要开始卷知识库类产品了。现在大体上有两个阵营在蠢蠢欲动。

一个是模型厂商阵营,像月之暗面、Minimax。在研发大模型的同时,他们一定会围绕知识库去打造面向C端的产品。我打个比方你就理解了:

如果AI是【水】的话,那么今天每家都有的Chatbot就是【瓶装水】。这些【瓶装水】已经满大街都在卖,价值肯定越来越低。即使是头部的ChatGPT也会面临用户流失的压力。

所以,围绕AI这个【水】去开发新品类,一定是各家模型厂商必须要做的事儿。而知识库已经是公认的刚需,C端有需求,B端也有市场,而且在Chatbot上做加法,逻辑上是通的,所以大家一定会往这个方向走。

另一个阵营是传统互联网厂商。原因也很简单。

知识库里装的是什么?用户数据资产。而且是用户最重视的数据资产。这些数据资产落在哪个平台,用户就会留存或者迁移去哪边。所以,谁能利用好大模型技术,先打造出性能最好、最容易上手的知识库产品,谁在这一轮AI竞赛中就能守住地盘,甚至去挖别家的墙角。

传统互联网厂商阵营中,我看到走得比较快的,是网易。这家公司一直都很有做产品的基因。本期要给大家推荐的产品叫【QAnything】,我前两天在知识星球里推荐过。

我之前介绍了很多知识库的项目,实话实说,都需要一定的动手能力才能跑起来,其实不太适合普通用户。

我觉得对大家来说,在这个AI时代,先上手,先用起来,比什么都重要。

QAnything就是特别适合普通用户的产品。产品很直观,而且比很多老外的产品都做得更好。

就拿知识库的创建和选择来说吧。

很多同类型产品,要么是只有一个大知识库,要么虽然可以创建多个知识库,但只能选定一个知识库,只能针对一个知识库内的文档进行对话。

QAnything支持创建多个知识库。所以,你可以像使用文件夹一样来管理资料。比如我就创建了三个知识库:

  • 一个放大模型相关的论文,都是PDF文档;
  • 一个放我newtype公众号的文章,其实也就是我视频的脚本;
  • 一个放平时看到的、想保存的各种文章。

如果要选择不同的知识库,非常简单,就点几下就好了,看一眼就明白什么意思。

在做应用方面,你永远可以相信国内厂商。

我特别喜欢QAnything的Slogan:万物皆可问。这个就是技术趋势。

目前可以提问的对象是文档和网页。等之后大模型多模态速度提升、费用下降之后,视频肯定也会支持。

上传文档的功能我就不多说了。大家可以多试试【添加网址】功能。我把平时看到不错的公众号文章都传了一份进去。因为我发现,经常会想不起来在哪篇文章里看到的一个观点。那现在有了知识库,我直接问AI就好了,相当于模糊查询,还挺实用的。

在知识库的基础上,有道团队还加了机器人功能。你可以给机器人设定一些Prompt,然后关联上知识库,最后以链接的形式发布出去。

在我看来,机器人功能有两个作用。

第一,把链接分享给同事。比如,你可以安排一个实习生小朋友定期把团队文档上传到知识库里,然后以机器人的形态对内发布。这对团队来说肯定有帮助。

第二,把链接分享给客户。比如,可以把链接挂到公众号菜单栏里,当作AI客服来用。

之所以会有这个想法,是因为我看到,在知识库里,除了上传文档集,还可以上传问答集,也就是大家最熟悉的QA。比如公司介绍、产品介绍等等。这些信息,每个公司肯定有有现成的,传上去就能直接用起来了。一个简单的AI客服就搞定了。

我这几天使用下来发现,QAnything的精确度还不错。有道团队对RAG技术还是有关注的,他们使用了Rerank技术,也就是官方所说的【二阶段检索】。

Rerank并不是什么特别高深的技术。大概半年前,我看油管就有大佬在介绍,并且分享了代码。它的原理很简单:

根据用户的提问,我们从向量数据库里筛选出50个相关的文本块。但是,肯定不能把这50个全都输入给大模型,一方面是上下文长度有限制,另一方面是这50个文本块中肯定有些相关性还差一些。这时就进入Rerank阶段,对这50个文本块进行相关性排序,比如,我们设定了把相关性最高的3个或者5个给到大模型。

这么一套操作下来,由于添加了Rerank步骤,那检索的精确度肯定会提升。不过代价也是有的,那就是速度下降。

RAG技术里有很多门道。刚才说的是检索阶段的Rerank。在前边的文本切割阶段也有很大提升的空间。

传统的做法,不管你怎么设定文本块的大小,其实都不是最合适的。最理想的做法,是根据语义做切割,这样才不会把上下文意思给硬生生切断了。那谁来做这个判断呢?当然是大模型啦。

像这些新发现、新技术,国外一直在出。希望咱们国内厂商也能保持高度关注。我发现,国内对技术的了解落后非常多。这种信息差比技术差还大。

OK,以上就是本期内容。接下来,我会多介绍一些门槛不那么高的产品,让更多人都能快速用起来。大家如果有问题的话,可以来知识星球找我。咱们下期见!