30 秒看懂
2023 年 9 月,Matthew Berman 演示如何使用 text-generation-webui,在 RunPod GPU 上运行 TheBloke 的 GPTQ 量化版 WizardCoder-Python-13B-V1.0。他选择模板、下载模型、调整加载器和生成参数,并测试一条简单的 Python 提示词,之后停止并终止 pod。 视频标题提到 34B,但实际演示的模型是 13B。他提供的 RunPod 链接是联盟推广链接;价格、界面名称和可用模型在录制之后可能已经变化。
- 1模型与基准Berman 介绍 Code Llama 和 WizardCoder。视频标题写的是 34B,实际演示的却是 13B GPTQ 版本。
- 2云端 GPU 配置他选择一块 48 GB 显存的 RTX A6000 和 TheBloke 的一键文本生成模板;所报每小时 0.79 美元是历史价格。
- 3下载并加载他将模型仓库名称复制到网页界面,下载并选择模型,再使用 ExLlama_HF 加载器加载。
- 4测试提示词Berman 设置生成参数,请模型编写输出 1 到 100 的 Python 代码。
- 5停止与终止他提醒,停止计算后仍可能产生存储费,并展示了使用后的终止操作。
要点建议
- 示例加载的是 WizardCoder-Python-13B-V1.0-GPTQ,尽管视频标题提及 34B 模型。
- 画面中 RTX A6000 每小时 0.79 美元的价格是 2023 年报价,并非当前费率。
- WizardCoder 34B 的 HumanEval 结果与演示中的 13B 模型不同,单项基准也不能证明其总体能力等同于 GPT-4。
- 源自 Code Llama 的权重受 Meta 的 Llama 2 社区条款和适用使用政策约束,并非无条件的开源许可。
- 停止 pod 后可能仍有存储费用;终止操作可能删除 pod 数据,因此要核对当前计费规则并保存所需文件。
按章节阅读整理后的全文
模型与演示的实际内容
Berman 介绍 Code Llama 和 WizardCoder 微调模型。画面中的演示使用 13B 量化版本。
我想演示如何在云端 GPU 上运行基于 Code Llama 的编程助手。我提到 WizardCoder 在 HumanEval 上与 GPT-4 的比较,但这需要背景:模型卡报告 WizardCoder-Python-34B 的 pass@1 为 73.2%,而较早报告的 GPT-4 结果是 67.0%;同一模型卡还列出了后来的 GPT-4 API 结果 82.0%。这些结果取决于模型版本和评估设置,不能证明两者总体能力相当。
尽管标题提到 34B,我实际选择的是 TheBloke/WizardCoder-Python-13B-V1.0-GPTQ,也就是量化的 13B 版本。我建议尝试更大的模型,并提到 70B,但 2023 年最初发布的 Code Llama 列出了 7B、13B 和 34B;视频没有演示 70B 部署。内存需求取决于模型大小、精度、上下文和运行环境。这些权重受 Llama 2 社区许可及可接受使用条件约束,并非无条件的开源许可。
部署 GPU 和模板
他选择 RunPod GPU 和一键文本生成界面,并披露注册链接是联盟推广链接。
创建 RunPod 账户并选择 GPU。我在简介中提供的 RunPod 链接是联盟推广链接。在 2023 年 9 月的例子中,我选择了一块有 48 GB 显存的 RTX A6000,画面显示每小时 0.79 美元。这是当时的价格;供应情况和费率可能变化,云计算和存储也并非免费。

我部署 TheBloke Local LLMs One-Click UI 模板,它会设置 text-generation-webui。pod 启动后,我连接其 HTTP 服务的 7860 端口。界面和模板都是当时的版本,因此在对外开放服务前,应核对当前选项和访问控制。
下载、配置与测试
他通过网页界面下载模型,用指定后端加载,并运行一个简单的编程提示。
在网页界面的 Model 标签中,我从 TheBloke 的页面复制模型仓库名称,粘贴到下载栏并等待权重下载。刷新模型列表后,我选择 13B GPTQ 检查点。接着,演示将加载器从 AutoGPTQ 切换为 ExLlama_HF,并加载模型。


我提到原版 Code Llama 模型的训练上下文为 16,000 个 token,以及更长上下文的实验。Meta 报告称在最长 100,000 个 token 的输入上观察到改进,但这并不意味着这里特定的微调模型、加载器和 GPU 能可靠地支持这一长度。我将最大新生成 token 数设为 2,048,温度设为 0.01;较低温度会减少采样随机性,但不能保证代码正确。
在 Default 标签中,我使用一个包含指令和回复的提示词模板,要求模型编写输出 1 到 100 的 Python 代码,然后生成回答。模型给出了两个示例。Markdown 标签可以渲染结果,方便复制,但生成的代码仍应经过审查和测试。

停止或终止 pod
Berman 解释停止后可能保留计费存储,并展示终止步骤。读者应核对当前计费与数据保留条款。
完成后,我停止 pod:机器暂停,下载的数据保留,但存储仍可能产生费用。接着我演示终止 pod。终止可能删除 pod 及其附带的 pod 卷,因此应先保存所需文件,并根据 RunPod 当前条款检查单独管理的存储是否仍会收费。
同频道的其他文章
34:21EN → 简体中文
0:26EN → 简体中文
0:36EN → 简体中文
0:21EN → 简体中文
25:50EN → 简体中文
32:20EN → 简体中文