模型简介
模型特点
模型能力
使用案例
language:
-
代码 license: llama2 tags:
-
llama-2 model_name: CodeLlama 34B 指导版 base_model: codellama/CodeLlama-34b-instruct-hf inference: false model_creator: Meta model_type: llama pipeline_tag: 文本生成 prompt_template: '[INST] 编写代码解决以下编程问题,需遵守约束条件并通过示例测试用例。请用```包裹你的代码答案:
{prompt}
[/INST]
' quantized_by: TheBloke

TheBloke的LLM工作得到了安德森·霍洛维茨(a16z)的慷慨资助
CodeLlama 34B 指导版 - GPTQ
- 模型创建者: Meta
- 原始模型: CodeLlama 34B 指导版
描述
此仓库包含Meta的CodeLlama 34B 指导版的GPTQ模型文件。
提供了多种GPTQ参数组合;详情请参阅下面的“提供文件”部分,了解提供的选项、参数及创建它们所使用的软件。
可用仓库
- 用于GPU推理的AWQ模型
- 用于GPU推理的GPTQ模型,提供多种量化参数选项
- 用于CPU+GPU推理的2、3、4、5、6和8位GGUF模型
- Meta原始未量化的fp16模型,PyTorch格式,用于GPU推理及进一步转换
提示模板: CodeLlama
[INST] 编写代码解决以下编程问题,需遵守约束条件并通过示例测试用例。请用```包裹你的代码答案:
{prompt}
[/INST]
提供的文件和GPTQ参数
提供了多种量化参数,以便根据硬件和需求选择最适合的选项。
每个独立的量化文件位于不同的分支。从不同分支获取的说明见下文。
所有最近的GPTQ文件均使用AutoGPTQ创建,非主分支的所有文件也使用AutoGPTQ创建。主分支中2023年8月之前上传的文件使用GPTQ-for-LLaMa创建。
GPTQ参数说明
- 位数: 量化模型的位大小。
- GS: GPTQ分组大小。数值越高,VRAM使用越少,但量化精度越低。"None"为最低可能值。
- 激活顺序: 真或假。也称为
desc_act
。真值能提供更好的量化精度。某些GPTQ客户端在使用激活顺序加分组大小时曾遇到问题,但通常现已解决。 - 阻尼%: 影响量化样本处理的GPTQ参数。默认为0.01,但0.1能略微提高精度。
- GPTQ数据集: 用于量化的数据集。使用更符合模型训练的数据集可提升量化精度。注意GPTQ数据集不同于训练模型所用的数据集——详情请参阅原始模型仓库的训练数据集信息。
- 序列长度: 用于量化的数据集序列长度。理想情况下应与模型序列长度相同。对于某些超长序列模型(16+K),可能需要使用较短的序列长度。注意较短的序列长度不会限制量化模型的序列长度,仅影响较长推理序列的量化精度。
- ExLlama兼容性: 此文件是否可用ExLlama加载,目前仅支持4位的Llama模型。
分支 | 位数 | GS | 激活顺序 | 阻尼% | GPTQ数据集 | 序列长度 | 大小 | ExLlama | 描述 |
---|---|---|---|---|---|---|---|---|---|
main | 4 | 128 | 否 | 0.1 | Evol Instruct Code | 4096 | 18.33 GB | 是 | 4位,无激活顺序,分组大小128g。 |
gptq-4bit-32g-actorder_True | 4 | 32 | 是 | 0.1 | Evol Instruct Code | 4096 | 20.28 GB | 是 | 4位,带激活顺序和分组大小32g。提供最高推理质量,VRAM使用最大。 |
gptq-4bit-64g-actorder_True | 4 | 64 | 是 | 0.1 | Evol Instruct Code | 4096 | 18.98 GB | 是 | 4位,带激活顺序和分组大小64g。VRAM使用少于32g,但精度略低。 |
gptq-4bit-128g-actorder_True | 4 | 128 | 是 | 0.1 | Evol Instruct Code | 4096 | 18.33 GB | 是 | 4位,带激活顺序和分组大小128g。VRAM使用更少,但精度略低。 |
gptq-8bit--1g-actorder_True | 8 | 无 | 是 | 0.1 | Evol Instruct Code | 4096 | 34.30 GB | 否 | 8位,带激活顺序。无分组大小,降低VRAM需求。 |
gptq-8bit-128g-actorder_True | 8 | 128 | 是 | 0.1 | Evol Instruct Code | 4096 | 35.07 GB | 否 | 8位,分组大小128g以提高推理质量,带激活顺序进一步提高精度。 |
如何从分支下载
- 在text-generation-webui中,可在下载名称后添加
:branch
,例如TheBloke/CodeLlama-34B-Instruct-GPTQ:main
- 使用Git,可克隆特定分支:
git clone --single-branch --branch main https://huggingface.co/TheBloke/CodeLlama-34B-Instruct-GPTQ
- 在Python Transformers代码中,分支为
revision
参数;见下文。
如何在text-generation-webui中轻松下载并使用此模型。
请确保使用最新版本的text-generation-webui。
除非确定如何进行手动安装,强烈建议使用text-generation-webui的一键安装器。
- 点击模型标签页。
- 在下载自定义模型或LoRA下,输入
TheBloke/CodeLlama-34B-Instruct-GPTQ
。
- 要从特定分支下载,例如输入
TheBloke/CodeLlama-34B-Instruct-GPTQ:main
- 各选项的分支列表见上文“提供文件”部分。
- 点击下载。
- 模型将开始下载。完成后会显示“完成”。
- 左上角点击刷新图标旁的模型。
- 在模型下拉菜单中,选择刚下载的模型:
CodeLlama-34B-Instruct-GPTQ
- 模型将自动加载,准备就绪!
- 如需自定义设置,设置后点击保存此模型的设置,然后右上角点击重新加载模型。
- 注意:无需也不应再手动设置GPTQ参数。这些参数已从文件
quantize_config.json
自动设置。
- 准备就绪后,点击文本生成标签页并输入提示开始使用!
如何从Python代码使用此GPTQ模型
安装必要包
需要:Transformers 4.32.0或更高版本,Optimum 1.12.0或更高版本,以及AutoGPTQ 0.4.2或更高版本。
pip3 install transformers>=4.32.0 optimum>=1.12.0
pip3 install auto-gptq --extra-index-url https://huggingface.github.io/autogptq-index/whl/cu118/ # 如使用CUDA 11.7,替换为cu117
如使用预构建轮子安装AutoGPTQ遇到问题,可从源码安装:
pip3 uninstall -y auto-gptq
git clone https://github.com/PanQiWei/AutoGPTQ
cd AutoGPTQ
pip3 install .
仅CodeLlama模型:必须使用Transformers 4.33.0或更高版本。
如阅读此时4.33.0尚未发布,需从源码安装Transformers:
pip3 uninstall -y transformers
pip3 install git+https://github.com/huggingface/transformers.git
然后可使用以下代码
from transformers import AutoModelForCausalLM, AutoTokenizer, pipeline
model_name_or_path = "TheBloke/CodeLlama-34B-Instruct-GPTQ"
# 使用不同分支,更改revision
# 例如:revision="main"
model = AutoModelForCausalLM.from_pretrained(model_name_or_path,
device_map="auto",
trust_remote_code=False,
revision="main")
tokenizer = AutoTokenizer.from_pretrained(model_name_or_path, use_fast=True)
prompt = "告诉我关于AI"
prompt_template=f'''[INST] 编写代码解决以下编程问题,需遵守约束条件并通过示例测试用例。请用```包裹你的代码答案:
{prompt}
[/INST]
'''
print("\n\n*** 生成:")
input_ids = tokenizer(prompt_template, return_tensors='pt').input_ids.cuda()
output = model.generate(inputs=input_ids, temperature=0.7, do_sample=True, top_p=0.95, top_k=40, max_new_tokens=512)
print(tokenizer.decode(output[0]))
# 也可使用transformers的pipeline进行推理
print("*** Pipeline:")
pipe = pipeline(
"text-generation",
model=model,
tokenizer=tokenizer,
max_new_tokens=512,
do_sample=True,
temperature=0.7,
top_p=0.95,
top_k=40,
repetition_penalty=1.1
)
print(pipe(prompt_template)[0]['generated_text'])
兼容性
提供的文件经测试可与AutoGPTQ(通过Transformers及直接使用)兼容。也应与Occ4m的GPTQ-for-LLaMa分支兼容。
ExLlama兼容4位的Llama模型。各文件兼容性见上文“提供文件”表格。
Huggingface文本生成推理(TGI)兼容所有GPTQ模型。
Discord
如需进一步支持及讨论这些模型和AI相关话题,欢迎加入:
感谢及如何贡献
感谢chirper.ai团队!
感谢Clay来自gpus.llm-utils.org!
许多人询问如何贡献。我很高兴提供模型并帮助他人,并希望能投入更多时间于此,以及开展如微调/训练等新项目。
如能贡献,将不胜感激,并帮助我持续提供更多模型,以及启动新的AI项目。
贡献者将获得任何及所有AI/LLM/模型问题的优先支持,访问私人Discord房间,及其他福利。
- Patreon: https://patreon.com/TheBlokeAI
- Ko-Fi: https://ko-fi.com/TheBlokeAI
特别感谢: Aemon Algiz.
Patreon特别提及: Alicia Loh, Stephen Murray, K, Ajan Kanaga, RoA, Magnesian, Deo Leter, Olakabola, Eugene Pentland, zynix, Deep Realms, Raymond Fosdick, Elijah Stavena, Iucharbius, Erik Bjäreholt, Luis Javier Navarrete Lozano, Nicholas, theTransient, John Detwiler, alfie_i, knownsqashed, Mano Prime, Willem Michiel, Enrico Ros, LangChain4j, OG, Michael Dempsey, Pierre Kircher, Pedro Madruga, James Bentley, Thomas Belote, Luke @flexchar, Leonard Tan, Johann-Peter Hartmann, Illia Dulskyi, Fen Risland, Chadd, S_X, Jeff Scroggin, Ken Nordquist, Sean Connelly, Artur Olbinski, Swaroop Kallakuri, Jack West, Ai Maven, David Ziegler, Russ Johnson, transmissions 11, John Villwock, Alps Aficionado, Clay Pascal, Viktor Bowallius, Subspace Studios, Rainer Wilmers, Trenton Dambrowitz, vamX, Michael Levine, 준교 김, Brandon Frisco, Kalila, Trailburnt, Randy H, Talal Aujan, Nathan Dryer, Vadim, 阿明, ReadyPlayerEmma, Tiffany J. Kim, George Stoitzev, Spencer Kim, Jerry Meng, Gabriel Tamborski, Cory Kujawski, Jeffrey Morgan, Spiking Neurons AB, Edmond Seymore, Alexandros Triantafyllidis, Lone Striker, Cap'n Zoog, Nikolai Manek, danny, ya boyyy, Derek Yates, usrbinkat, Mandus, TL, Nathan LeClaire, subjectnull, Imad Khwaja, webtim, Raven Klaugh, Asp the Wyvern, Gabriel Puliatti, Caitlyn Gatomon, Joseph William Delisle, Jonathan Leane, Luke Pendergrass, SuperWojo, Sebastain Graf, Will Dee, Fred von Graf, Andrey, Dan Guido, Daniel P. Andersen, Nitin Borwankar, Elle, Vitor Caleffi, biorpg, jjj, NimbleBox.ai, Pieter, Matthew Berman, terasurfer, Michael Davis, Alex, Stanislav Ovsiannikov
感谢所有慷慨的赞助者和贡献者!
再次感谢a16z的慷慨资助。
原始模型卡片:Meta的CodeLlama 34B 指导版
Code Llama
Code Llama是一系列预训练和微调的生成文本模型,规模从70亿到340亿参数不等。此仓库为Hugging Face Transformers格式的340亿参数指导


