language:
CodeLlama 34B 指导版 - GGUF
描述
此仓库包含Meta的CodeLlama 34B 指导版的GGUF格式模型文件。
关于GGUF
GGUF是由llama.cpp团队于2023年8月21日引入的新格式。它是GGML的替代品,后者不再受llama.cpp支持。GGUF相比GGML具有诸多优势,如更好的分词、支持特殊标记。它还支持元数据,并设计为可扩展的。
以下是已知支持GGUF的客户端和库的不完整列表:
可用仓库
提示模板:CodeLlama
[INST] 编写代码解决以下编程问题,确保遵守约束条件并通过示例测试用例。请用```包裹你的代码答案:
{prompt}
[/INST]
兼容性
这些量化的GGUFv2文件与2023年8月27日及之后的llama.cpp兼容,提交号为d0cee0d36d5be95a0d9088b674dbb27354107221
它们也与许多第三方UI和库兼容 - 请参阅本README顶部的列表。
量化方法说明
点击查看详情
可用的新方法包括:
- GGML_TYPE_Q2_K - "type-1" 2位量化,超级块包含16个块,每个块有16个权重。块比例和最小值用4位量化。最终有效使用每权重2.5625位(bpw)
- GGML_TYPE_Q3_K - "type-0" 3位量化,超级块包含16个块,每个块有16个权重。比例用6位量化。最终使用每权重3.4375位。
- GGML_TYPE_Q4_K - "type-1" 4位量化,超级块包含8个块,每个块有32个权重。比例和最小值用6位量化。最终使用每权重4.5位。
- GGML_TYPE_Q5_K - "type-1" 5位量化。与GGML_TYPE_Q4_K相同的超级块结构,最终使用每权重5.5位
- GGML_TYPE_Q6_K - "type-0" 6位量化。超级块包含16个块,每个块有16个权重。比例用8位量化。最终使用每权重6.5625位
请参阅下面的“提供文件”表,了解哪些文件使用哪些方法及其方式。
提供文件
注意:上述RAM数据假设没有GPU卸载。如果将层卸载到GPU,这将减少RAM使用并使用VRAM代替。
如何下载GGUF文件
手动下载者注意:你几乎不需要克隆整个仓库!提供了多种不同的量化格式,大多数用户只需选择并下载单个文件。
以下客户端/库将自动为你下载模型,提供可供选择的模型列表:
- LM Studio
- LoLLMS Web UI
- Faraday.dev
在text-generation-webui
中
在下载模型下,你可以输入模型仓库:TheBloke/CodeLlama-34B-Instruct-GGUF,并在下面输入要下载的特定文件名,例如:codellama-34b-instruct.q4_K_M.gguf。
然后点击下载。
在命令行中,包括同时下载多个文件
我推荐使用huggingface-hub
Python库:
pip3 install huggingface-hub>=0.17.1
然后你可以将任何单个模型文件下载到当前目录,高速下载,使用如下命令:
huggingface-cli download TheBloke/CodeLlama-34B-Instruct-GGUF codellama-34b-instruct.q4_K_M.gguf --local-dir . --local-dir-use-symlinks False
更多高级huggingface-cli下载用法
你也可以使用模式一次下载多个文件:
huggingface-cli download TheBloke/CodeLlama-34B-Instruct-GGUF --local-dir . --local-dir-use-symlinks False --include='*Q4_K*gguf'
有关使用huggingface-cli
下载的更多文档,请参阅:HF -> Hub Python Library -> Download files -> Download from the CLI。
要在快速连接(1Gbit/s或更高)上加速下载,安装hf_transfer
:
pip3 install hf_transfer
并设置环境变量HF_HUB_ENABLE_HF_TRANSFER
为1
:
HUGGINGFACE_HUB_ENABLE_HF_TRANSFER=1 huggingface-cli download TheBloke/CodeLlama-34B-Instruct-GGUF codellama-34b-instruct.q4_K_M.gguf --local-dir . --local-dir-use-symlinks False
Windows CLI用户:在运行下载命令前使用set HUGGINGFACE_HUB_ENABLE_HF_TRANSFER=1
。
示例llama.cpp
命令
确保你使用的是提交号为d0cee0d36d5be95a0d9088b674dbb27354107221或之后的llama.cpp
。
./main -ngl 32 -m codellama-34b-instruct.q4_K_M.gguf --color -c 4096 --temp 0.7 --repeat_penalty 1.1 -n -1 -p "[INST] 编写代码解决以下编程问题,确保遵守约束条件并通过示例测试用例。请用```包裹你的代码答案:\n{prompt}\n[/INST]"
将-ngl 32
更改为要卸载到GPU的层数。如果没有GPU加速,请移除它。
将-c 4096
更改为所需的序列长度。对于扩展序列模型 - 例如8K、16K、32K - 必要的RoPE缩放参数从GGUF文件中读取并由llama.cpp自动设置。
如果你想进行聊天式对话,将-p <PROMPT>
参数替换为-i -ins
有关其他参数及其使用方法,请参阅llama.cpp文档
如何在text-generation-webui
中运行
更多说明在此:text-generation-webui/docs/llama.cpp.md。
如何从Python代码运行
你可以使用llama-cpp-python或ctransformers库从Python中使用GGUF模型。
如何使用ctransformers从Python加载此模型
首先安装包
pip install ctransformers>=0.2.24
pip install ctransformers[cuda]>=0.2.24
CT_HIPBLAS=1 pip install ctransformers>=0.2.24 --no-binary ctransformers
CT_METAL=1 pip install ctransformers>=0.2.24 --no-binary ctransformers
加载这些GGUF模型之一的简单示例代码
from ctransformers import AutoModelForCausalLM