无所不谈,百无禁忌,Win11本地部署无内容审查中文大语言模型CausalLM-14B

简介: 目前流行的开源大语言模型大抵都会有内容审查机制,这并非是新鲜事,因为之前chat-gpt就曾经被“玩”坏过,如果没有内容审查,恶意用户可能通过精心设计的输入(prompt)来操纵LLM执行不当行为。内容审查可以帮助识别和过滤这些潜在的攻击,确保LLM按照既定的安全策略和道德标准运行。 但我们今天讨论的是无内容审查机制的大模型,在中文领域公开的模型中,能力相对比较强的有阿里的 Qwen-14B 和清华的 ChatGLM3-6B。而今天的主角,CausalLM-14B则是在Qwen-14B基础上使用了 Qwen-14B 的部分权重,并且加入一些其他的中文数据集,最终炼制了一个无内容审核的

14b.jpg

目前流行的开源大语言模型大抵都会有内容审查机制,这并非是新鲜事,因为之前chat-gpt就曾经被“玩”坏过,如果没有内容审查,恶意用户可能通过精心设计的输入(prompt)来操纵LLM执行不当行为。内容审查可以帮助识别和过滤这些潜在的攻击,确保LLM按照既定的安全策略和道德标准运行。

但我们今天讨论的是无内容审查机制的大模型,在中文领域公开的模型中,能力相对比较强的有阿里的 Qwen-14B 和清华的 ChatGLM3-6B。

而今天的主角,CausalLM-14B则是在Qwen-14B基础上使用了 Qwen-14B 的部分权重,并且加入一些其他的中文数据集,最终炼制了一个无内容审核的大模型版本,经过量化后可以在本地运行,保证了用户的隐私。

CausalLM-14B的量化版本下载页面:

https://huggingface.co/TheBloke/CausalLM-14B-GGUF

量化版本的运行条件:

Name    Quant method    Bits    Size    Max RAM required    Use case  
causallm_14b.Q4_0.gguf    Q4_0    4    8.18 GB    10.68 GB    legacy; small, very high quality loss - prefer using Q3_K_M  
causallm_14b.Q4_1.gguf    Q4_1    4    9.01 GB    11.51 GB    legacy; small, substantial quality loss - lprefer using Q3_K_L  
causallm_14b.Q5_0.gguf    Q5_0    5    9.85 GB    12.35 GB    legacy; medium, balanced quality - prefer using Q4_K_M  
causallm_14b.Q5_1.gguf    Q5_1    5    10.69 GB    13.19 GB    legacy; medium, low quality loss - prefer using Q5_K_M  
causallm_14b.Q8_0.gguf    Q8_0    8    15.06 GB    17.56 GB    very large, extremely low quality loss - not recommended

本地环境配置

笔者的设备是神船笔记本4060的8G显卡配置。

首先确保本地安装好了Visual Studio installer开发工具,在搜索框中直接搜索Visual Studio即可:

点选后,确保安装了使用C++的桌面开发组件:

随后下载并且配置cmake:

https://cmake.org/download/

本地运行命令:

PS C:\Users\zcxey> cmake -version  
cmake version 3.29.0-rc1  

CMake suite maintained and supported by Kitware (kitware.com/cmake).  
PS C:\Users\zcxey>

代表配置成功。

接着需要下载CUDA:

https://developer.nvidia.com/cuda-downloads

这里推荐12的版本,运行命令:

PS C:\Users\zcxey> nvcc --version  
nvcc: NVIDIA (R) Cuda compiler driver  
Copyright (c) 2005-2023 NVIDIA Corporation  
Built on Wed_Nov_22_10:30:42_Pacific_Standard_Time_2023  
Cuda compilation tools, release 12.3, V12.3.107  
Build cuda_12.3.r12.3/compiler.33567101_0  
PS C:\Users\zcxey>

说明cuda配置成功。

通过llama.cpp来跑大模型

llama.cpp 是一个开源项目,它提供了一个纯 C/C++ 实现的推理工具,用于运行大型语言模型(LLaMA)。这个项目由开发者 Georgi Gerganov 开发,基于 Meta(原 Facebook)发布的 LLaMA 模型。llama.cpp 的目标是使得大型语言模型能够在各种硬件上本地运行,包括那些没有高性能 GPU 的设备。

在llama.cpp的releases下载页:

https://github.com/ggerganov/llama.cpp/releases

下载llama-b2288-bin-win-cublas-cu12.2.0-x64.zip

也就是基于CUDA12的编译好的版本。

在终端中打开llama-b2288-bin-win-cublas-cu12.2.0-x64目录,运行命令:

D:\Downloads\llama-b2288-bin-win-cublas-cu12.2.0-x64>.\main.exe -m D:\Downloads\causallm_14b.Q4_0.gguf --n-gpu-layers 30 --color -c 4096 --temp 0.7 --repeat_penalty 1.1 -n -1 -p "<|im_start|>system\n{You are a helpful assistant.}<|im_end|>\n<|im_start|>user\n{你好}<|im_end|>\n<|im_start|>assistant"

这里通过--n-gpu-layers 30参数来通过cuda加速,同时CausalLM-14B有自己的prompt模板,格式如下:

"<|im_start|>system\n{You are a helpful assistant.}<|im_end|>\n<|im_start|>user\n{你好}<|im_end|>\n<|im_start|>assistant"

随后程序返回:

<|im_start|>system\n{You are a helpful assistant.}<|im_end|>\n<|im_start|>user\n{你好}<|im_end|>\n<|im_start|>assistant:  
 你好!很高兴见到你。有什么我可以帮助你的吗?<|endoftext|> [end of text]

好吧,既然是无审查模型,那么来点刺激的:

"<|im_start|>system\n{You are a helpful assistant.}<|im_end|>\n<|im_start|>user\n{You fucking bitch! 翻译为中文}<|im_end|>\n<|im_start|>assistant"

程序返回:

<|im_start|>system\n{You are a helpful assistant.}<|im_end|>\n<|im_start|>user\n{You fucking bitch! 翻译为中文}<|im_end|>\n<|im_start|>assistant{你这个该死的婊子!}<|endoftext|> [end of text]

通过llama-cpp-python来跑大模型

llama-cpp-python 是一个 Python 库,它提供了对 llama.cpp 的 Python 绑定。

换句话说,直接通过Python来启动llama.cpp。

首先安装llama-cpp-python:

pip uninstall -y llama-cpp-python  
set CMAKE_ARGS=-DLLAMA_CUBLAS=on  
set FORCE_CMAKE=1  
pip install llama-cpp-python --force-reinstall --upgrade --no-cache-dir

如果安装好之后,不支持cuda,需要拷贝cuda动态库文件到Microsoft Visual Studio的所在目录:

Copy files from: C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.2\extras\visual_studio_integration\MSBuildExtensions  
to  
(For Enterprise version) C:\Program Files\Microsoft Visual Studio\2022\Enterprise\MSBuild\Microsoft\VC\v170\BuildCustomizations

随后编写代码:

from llama_cpp import Llama  
llm = Llama(  
      model_path="D:\Downloads\causallm_14b-dpo-alpha.Q3_K_M.gguf",  
      chat_format="llama-2"  
)  
res = llm.create_chat_completion(  
      messages = [  
          {"role": "system", "content": "You are a helpful assistant."},  
          {  
              "role": "user",  
              "content": "来一段金瓶梅风格的情感小说,100字,别太露骨了"  
          }  
      ],stream=True  
)  

for chunk in res:  
    try:  
        print(chunk['choices'][0]["delta"]['content'])  
    except Exception as e:  
        print(str(e))  
        pass

程序返回:

AS = 1 | SSE3 = 1 | SSSE3 = 0 | VSX = 0 | MATMUL_INT8 = 0 |  
Model metadata: {'general.name': '.', 'general.architecture': 'llama', 'llama.context_length': '8192', 'llama.rope.dimension_count': '128', 'llama.embedding_length': '5120', 'llama.block_count': '40', 'llama.feed_forward_length': '13696', 'llama.attention.head_count': '40', 'tokenizer.ggml.eos_token_id': '151643', 'general.file_type': '12', 'llama.attention.head_count_kv': '40', 'llama.attention.layer_norm_rms_epsilon': '0.000010', 'llama.rope.freq_base': '10000.000000', 'tokenizer.ggml.model': 'gpt2', 'general.quantization_version': '2', 'tokenizer.ggml.bos_token_id': '151643', 'tokenizer.ggml.padding_token_id': '151643'}  
'content'  
 @  
金  
瓶  
姐姐  



金  
瓶  
姐姐  
好  
,  
下面  
是一  
段  
根据  
您的  
要求  
编  
写的  
金  
瓶  
梅  
风格  
的  
小说  
:  


王  
婆  
是  
清  
河  
城  
有名的  
媒  
人  
,  
她  
生  
得  
风  
流  
多  
情  
,  
经常  
出入  
于  
大户  
人家  
和  
青  
楼  
妓  
院  
。  
这一天

内容不便全部贴出,理解万岁。

结语

最后奉上基于llama-cpp-python和gradio的无审查大模型的webui项目,支持流式输出,提高推理效率:

https://github.com/v3ucn/Causallm14b_llama_webui_adult_version

与众乡亲同飨。

相关实践学习
基于阿里云DeepGPU实例,用AI画唯美国风少女
本实验基于阿里云DeepGPU实例,使用aiacctorch加速stable-diffusion-webui,用AI画唯美国风少女,可提升性能至高至原性能的2.6倍。
相关文章
|
8天前
|
人工智能 自然语言处理 搜索推荐
只用文本,3分钟生成一个网站!首个ChatGPT版网站开发平台
【2月更文挑战第30天】Dora AI是一个创新的生成式AI网站开发平台,让用户通过文本输入快速创建各类网站,无需模板,支持动态生成和个性化定制。平台提供直观的拖拽编辑,降低使用门槛,3分钟内即可生成网页。用户输入提示词或选择“Surprise Me”可获得不同风格的页面。尽管部分高级功能需会员,但基本编辑功能对所有用户开放。Dora AI正研发更多高级功能,如文本生成动画和3D网站,以提升用户体验。
60 2
只用文本,3分钟生成一个网站!首个ChatGPT版网站开发平台
|
8天前
|
Unix 编译器 iOS开发
苹果AppleMacOs系统Sonoma本地部署无内容审查(NSFW)大语言量化模型Causallm
最近Mac系统在运行大语言模型(LLMs)方面的性能已经得到了显著提升,尤其是随着苹果M系列芯片的不断迭代,本次我们在最新的MacOs系统Sonoma中本地部署无内容审查大语言量化模型Causallm。 这里推荐使用koboldcpp项目,它是由c++编写的kobold项目,而MacOS又是典型的Unix操作系统,自带clang编译器,也就是说MacOS操作系统是可以直接编译C语言的。
苹果AppleMacOs系统Sonoma本地部署无内容审查(NSFW)大语言量化模型Causallm
|
9月前
|
搜索推荐 安全 测试技术
中文大模型测评
中文大模型测评
|
9月前
|
算法 安全 测试技术
中文竞技场大模型体验报告
本次测评的主要目标是评估中文竞技场提供的大模型在写作创作相关、知识常识和代码相关方面的表现。我们进入“中文竞技场”体验了这些模型,并在以下方面进行了测试和评估。
195 30
|
8天前
ChatGPT - 在ChatGPT中设置通用提示模板
ChatGPT - 在ChatGPT中设置通用提示模板
34 0
|
8月前
|
机器学习/深度学习 自然语言处理 测试技术
中文大模型测评-我有话说
近年来,随着深度学习技术的快速发展,中文自然语言处理领域取得了显著的进展。中文大模型如GPT-3、BERT和T5等已经成为广泛应用于各种任务的核心工具。本文对中文大模型的性能测评进行了深入研究,探讨了多个关键方面,包括任务性能、语法和语义准确性、多样性、生成速度等。我们还考察了模型的数据效应、抗攻击性、用户满意度以及对隐私和安全性的关注。最后,我们讨论了中文大模型的可维护性、领域适用性以及模型大小和资源消耗等问题,并展望了未来的研究方向。
395 0
|
8月前
|
算法 自然语言处理 机器学习/深度学习
中文竞技场大模型测评后续之双模型匿名对话
在中文竞技场大模型测评的延续中,我们将在双模型匿名对话技术场景中,通过趣味游戏方式对写作创作、代码相关、知识常识等领域进行全面测评
235 0
中文竞技场大模型测评后续之双模型匿名对话
|
8月前
|
自然语言处理 人工智能
中文竞技场大模型测评后续之模型自动对话
中文竞技场大模型测评延续中,模型自动对话场景测评
321 0
中文竞技场大模型测评后续之模型自动对话
|
9月前
|
JSON 人工智能 自然语言处理
微软开源TypeChat库,给大语言模型换种提示,一行代码安装
微软开源TypeChat库,给大语言模型换种提示,一行代码安装
|
11月前
|
机器学习/深度学习 SQL 人工智能
建议收藏,最全ChatGPT 中文调教指南:提供各个领域的角色提示词(prompts)及使用技巧,当然也有不正经指南
ChatGPT在日常的对话中,表现的非常的完美,当在其他的场景希望使用ChatGPT来解决问题的时候,通常需要给ChatGPT一些提示,或者说暗示,让其进入某种角色,这种情况下,ChatGPT的表现能够更加的游刃有余。提示词的存在让ChatGPT能够扮演特定的角色,对用户的回答更加专业对口
1234 1

热门文章

最新文章