问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

本地大模型傻瓜式部署指南:Koboldcpp使用详解

创作时间:
作者:
@小白创作中心

本地大模型傻瓜式部署指南:Koboldcpp使用详解

引用
网易
1.
https://www.163.com/dy/article/J4JD5HD0051100B9.html

近年来,AI大模型在科技领域备受关注。随着用户需求的增长,AI技术不断进化,大语言模型在休闲娱乐和实际工作中得到广泛应用。然而,云端大模型也暴露出一些问题,如连接缓慢、成本高昂、数据隐私担忧等。因此,本地部署大模型逐渐成为一种新的选择。

什么是本地大模型?

现阶段比较火的大模型应用,例如ChatGPT、Midjourney、文心一言等,基本都是依赖云端服务器实现各种服务的AI应用。它们可以实时更新数据,和搜索引擎联动整合,但一旦断网,这些依赖云端的AI服务就无法使用。

相比之下,本地大模型主打在设备本地实现AI智能化。它不仅不用担心服务器崩掉带来的问题,还更有利于保护用户的隐私。大模型运行在自己的电脑上,训练数据直接存在电脑里,比上传到云端更安全。

如何部署本地大模型?

目前想要在自己的电脑上搭建本地大模型其实并不是一件容易的事情。较高的设备要求是原因之一,毕竟本地大模型需要把整个运算过程和负载全部都放在自家的电脑上,不仅会占用你的电脑机能,更会使其长时间在中高负载下运行。此外,从GitHub和Huggingface上琳琅满目的项目望去,要达成这一目标,基本都需要有编程经验的,最起码你要进行很多运行库安装后,在控制台执行一些命令行和配置才可以。

不过,Koboldcpp提供了一个相对简单的解决方案。Koboldcpp是一个基于GGML/GGUF模型的推理框架,和llama.cpp的底层相同,均采用了纯C/C++代码,无需任何额外依赖库,甚至可以直接通过CPU来推理运行。当然,那样的运行速度会非常缓慢就是了。

要使用Koboldcpp,需要前往GitHub下载自己所需的应用版本。目前Koboldcpp有三个版本:

  • koboldcpp_cuda12:目前最理想的版本,只要有张GTX 750以上的显卡就可以用,模型推理速度最快。
  • koboldcpp_rocm:适用于AMD显卡的版本,基于AMD ROCm开放式软件栈,同规格下推理耗时约为N卡版本的3倍-5倍。
  • koboldcpp_nocuda:仅用CPU进行推理的版本,功能十分精简,即便如此同规格下推理耗时仍为N卡版本的10倍以上。

打开软件后,首先可以关注一下Presets选项。软件首页的Presets里,分为旧版N卡、新版N卡、A卡、英特尔显卡等多种不同模式的选择。默认情况下,不设置任何参数启动将仅使用CPU的OpenBLAS进行快速处理和推理,运行速度肯定是很慢的。作为N卡用户,选用CuBLAS,该功能仅适用于Nvidia GPU,可以看到笔记本显卡已经被识别了出来。

另一个需要在主页调节的部分是Context Size。想要获得更好的上下文体验,最好将其调整至4096,当然Size越大,能记住的上下文就越多,但是推理的速度也会受到显著影响。

再往下,就是载入大模型的部分。目前开源大模型主要都在huggingface.co下载,没有出海能力的话,也可以在国内HF-Mirror镜像站或是modelscope魔搭社区下载。结合个人实际体验,推荐两款不错的本地大模型:

  • CausalLM-7B:这是一款在LLaMA2的基础上,基于Qwen 的模型权重训练的本地大模型,其最大的特征就是原生支持中文,显卡内存8G以下的用户建议下载CausalLM-7B,8G以上的可以下载CausalLM-14B,效果更好。
  • MythoMax-L2-13B:原生语言为英语的大模型,特征是拥有较强的文学性,可以在要求下撰写出流畅且具有阅读性的小说文本,缺点是只能通过输入英语来获得理想的输出内容,建议普通消费者使用MythoMax-L2-13B。

一般来说,接下来还得给大模型部署前端才能使用。不过Koboldcpp最大的特点,就是在llama.cpp的基础上,添加了一个多功能的Kobold API端口。这个端口,不仅提供了额外的格式支持、稳定的扩散图像生成、不错的向后兼容性,甚至还有一个具有持久故事、编辑工具、保存格式、内存、世界信息、作者注释、人物、场景自定义功能的简化前端——Kobold Lite。

大致上,界面就像这样。功能也很简单。人工智能、新会话就不用说了,点击上方的「场景」,就可以快速启动一个新的对话场景,或是加载对应角色卡。像这样,加载你拥有的AI对话情景。「保存/加载」也很一目了然,可以把你当前的对话保存下来,随时都能加载并继续。在「设置」中,你可以调节一些AI对话的选项。

其中,Temperature.代表着对话的随机性,数值越高,生成的对话也就会越不可控,甚至可能超出角色设定的范围。Repetition Penalty.可以抑制对话的重复性,让AI减少重复的发言。Amount to Gen.是生成的对话长度上限,上限越长,所需时间也会更长,重点是在实际体验中,过高的生成上限会导致AI胡言乱语,个人并不建议把这个值拉到240以上。Max Ctx. Tokens.是能给大模型反馈的关键词上限,数据越高,前后文关系越紧密,生成速度也会随之变慢。

完成设置后,就可以和todd howard来场酣畅淋漓的对话了。聊不下去了?点击左下角的聊天工具,可以让大模型根据你的前文自动生成答复来推进对话。回答错了,或是对话走向不如人意?点击右下角的聊天工具,不仅可以让你重复生成AI问答,甚至还能自己出手编辑回复以确保对话走向不跑偏。

当然,除了对话以外,Kobold Lite还有更多可能性。你可以将它和AI语音、AI绘图的端口连接在一起,这样在对话的同时,可以自动调用AI语言为生成的文本进行配音,也可以随时调用AI绘图来画出当前二人交谈的场景。在此之上,你甚至可以使用更高阶的SillyTarven前端,来实现GIF、HTML内容在对话中的植入。

总结

目前本地大模型的特征还是「可玩性强」。只要配置足够,你完全可以把大语言模型、AI语音、AI绘图和2D数字人连接在一起,搭建起属于自己的本地数字人,看着在屏幕中栩栩如生的AI角色,多少让人有种《serial experiments lain》那样的恍惚感。不过这类开源大模型,通常数据都会比较滞后,因此在专业性知识上会有比较明显的欠缺,实测大部分知识库都是到2022年中旬为止,也没有任何调用外部网络资源的办法,辅助办公、查阅资料时会遇到很大的局限性。

理想的大语言模型体验应该是端云互动的。即可以在本地,利用自己的大模型建立自己的知识库,但是需要用到时效性信息的时候,又能借助互联网的力量获取最新资讯,这样既可以保护个人资料的隐私性,也算是有效解决了开源大模型信息滞后的问题。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号