AB
AiBoss站
教程

LLaMA

教程

零代码微调 LLaMA 2 并部署聊天应用:非工程师上手指南

不需要写一行代码,也能把 LLaMA 2 这类开源大模型微调成自己的聊天机器人。本文按「建训练空间 → 跑微调任务 → 部署聊天界面」三步走,讲清每一步要填的字段、要选的硬件、要准备的密钥与数据集格式,并说明门控模型、显存匹配、训练时长等容易踩坑的地方。适合没有机器学习工程背景、但想亲手跑通一次模型微调与部署的读者。

想拥有一个属于自己的开源聊天机器人,但完全没有机器学习工程背景?借助托管平台提供的图形化工具,这件事可以拆成三个纯点击的步骤:先创建一个用于训练的工作空间,再在图形界面里提交一次微调任务,最后用训练好的模型拉起一个聊天界面。整个过程不需要写代码,也不需要自己配置服务器。本文介绍的这套流程适合没有编程经验、但希望亲手跑通一次大模型微调与部署的读者。如果你更想先了解这类工具的整体定位,可以先看看站内的 LLaMA 工具页,再回到本文按步骤操作。

需要提前说明的是,本文涉及的模型版本、硬件规格、免费额度、付费价格等信息都可能随时间变化,实际以各平台官网当前公布的信息为准。文中给出的字段名与操作路径来自公开教程的整理,界面可能已经调整,遇到不一致时以你实际看到的界面为准。

准备工作

在开始之前,需要把下面几样东西准备好。缺任何一项,后面的步骤都会卡住。

  • 一个托管平台账号:训练空间、模型仓库、聊天应用都挂在同一个账号下,所以先注册并登录。
  • 一个具有写入权限的访问令牌:在账号的「Settings → Access Tokens」页面可以创建。创建时务必把权限选成 Write,因为训练空间需要用它把训练好的模型保存回你的账号。只读令牌会导致训练完成后无法保存模型。
  • 一份格式正确的训练数据集:必须是 CSV 格式,并且包含一列纯文本的训练内容。如果文件里有多个列,稍后需要在界面上手动指定哪一列是文本列。
  • 对目标模型的访问权限:LLaMA 2 属于门控模型,需要先向模型发布方申请访问权限,获批之后才能使用。如果暂时拿不到权限,可以换成其他没有门控限制的开源模型,例如 Falcon 系列。
  • 浏览器:整套流程都在网页界面里完成,不需要本地安装任何开发环境。

关于数据集,公开的指令微调数据集可以直接下载成 CSV 使用。以常见的 Alpaca 指令数据集为例,它本身就是为指令跟随场景准备的,格式与训练界面要求的输入格式匹配,适合作为第一次微调的练手数据。如果要用自己的数据,请确保每一行是一条完整的训练样本,文本列里不要混入表头或空行。

操作步骤

第一步:创建训练用的工作空间

训练空间是一个托管好的应用实例,里面预装了训练界面。创建过程如下。

  1. 进入平台的 Spaces 页面,选择「Create new Space」。
  2. 给这个空间起一个名字。如果你打算把模型或空间公开,同时选择一个使用许可。
  3. 在模板选择区域,选择 Docker,再选择 AutoTrain 模板。这个模板会直接把训练界面部署好。
  4. 选择空间硬件。训练界面本身只是提供一个操作入口,真正的训练算力是在后面单独选择的,所以这里选最基础的免费 CPU 配置就够用。
  5. 在「Space secrets」里添加一个名为 HF_TOKEN 的密钥,值填你前面创建的写入令牌。没有这个密钥,空间就没有权限访问你的账号,也就无法训练或保存新模型。
  6. 选择空间的可见性。建议把训练空间设为私有,模型和聊天应用可以之后再单独公开分享。
  7. 点击「Create Space」。空间需要几分钟构建,构建完成后打开它就能看到训练界面。

第二步:在界面里提交一次微调任务

空间启动后,你会看到一个图形化界面。它支持多种训练类型,包括大语言模型微调、文本分类、表格数据和扩散模型。这次我们要做的是大语言模型微调,所以选择 LLM 标签页。接下来逐项填写。

模型选择:在「Model Choice」字段里选择要训练的模型。可以从列表里挑,也可以直接输入模型卡片上的名称。本文以 Meta 的 Llama 2 7B 基础模型为例。注意这是门控模型,需要先获得访问授权;如果暂时没有授权,换成其他开放模型同样可以跑通整套流程。

后端与硬件:在「Backend」里选择训练用的 CPU 或 GPU。7B 规模的模型用 A10G Large 就足够。如果你要训练更大的模型,必须确认模型能完整放进所选 GPU 的显存里,否则训练会在加载阶段失败。需要更大显存(例如 A100)时,通常要走商务渠道申请,具体方式以平台官网当前说明为准。

训练数据:上传你的 CSV 数据集。上传后如果文件包含多个列,需要在界面上指定哪一列是包含训练文本的「Text Column」。这一步很容易被忽略,选错列会导致训练出来的模型答非所问。

验证数据(可选):可以额外上传一份验证数据,用来评估训练后的模型效果。这不是必填项,第一次跑通流程时可以跳过。

高级设置:界面里提供了一些降低显存占用的选项,包括调整精度(如 FP16)、量化(如 Int4/8)以及是否启用 PEFT(参数高效微调)。建议保持默认值,因为默认配置能在训练时间和成本之间取得较好的平衡,对模型效果的损失也比较小。

训练参数:在「Parameter Choice」里可以调整训练超参数。第一次跑建议直接用默认设置,等流程跑通、确认结果符合预期之后,再回头做参数对比实验。

提交任务:配置完成后,点击「Add Job」把当前配置加入训练队列,然后点击「Start Training」开始训练。如果你想用不同超参数训练多个版本做对比,可以添加多个任务并行排队。

训练开始后,你的账号下会自动出现一个新的空间,这个空间负责实际执行训练。训练进度可以在该空间的实时日志里查看。训练完成后,新模型会出现在账号的「Models」区域下。

训练耗时取决于模型规模和训练数据量,可能从几小时到几天不等。这段时间不需要你盯着,可以先去处理别的事情。

第三步:用训练好的模型创建聊天应用

模型训练完成后,就可以把它接到聊天界面上。操作方式与第一步类似,但模板选择不同。

  1. 按照第一步的流程新建一个空间,但在模板选择时选 ChatUI,而不是 AutoTrain。
  2. 选择空间硬件。7B 规模的模型用 A10G Small 通常就够运行,具体规格取决于你的模型大小。
  3. 如果你有自己的 MongoDB,可以在 MONGODB_URL 里填入连接信息,用来保存聊天记录。没有的话留空即可,系统会自动创建一个本地数据库。
  4. 在「Space variables」里设置 MODEL_NAME,值填你训练好的模型名称。模型名称可以在账号的「Models」区域里找到,通常与你在训练阶段使用的项目名一致。
  5. 同样在「Space variables」里,可以调整推理参数,包括 temperature、top-p、最大生成 token 数等,用来改变生成结果的风格。第一次部署建议先用默认值。
  6. 点击「Create」启动空间。构建完成后打开它,就是一个可以对话的聊天界面。

到这里,一个属于你自己的开源聊天机器人就部署好了。如果希望别人也能访问,把聊天空间设为公开即可。

一个完整示例

下面把整个流程串成一个最小可运行的例子,方便对照操作。

目标:用 Alpaca 指令数据集微调 Llama 2 7B,并部署成一个可对话的聊天应用。

准备阶段

  • 登录平台账号,在设置里创建一个权限为 Write 的访问令牌。
  • 向模型发布方申请 Llama 2 的访问权限,等待获批。
  • 下载 Alpaca 指令数据集的 CSV 版本到本地。

训练阶段

  1. 新建 Space,模板选 Docker → AutoTrain,硬件选免费 CPU,密钥添加 HF_TOKEN,可见性设为私有,创建。
  2. 空间构建完成后打开,进入 LLM 标签页。
  3. 「Model Choice」填入 Llama 2 7B 基础模型。
  4. 「Backend」选择 A10G Large
  5. 上传 Alpaca 的 CSV 文件,并在「Text Column」里选中存放训练文本的那一列。
  6. 高级设置与训练参数保持默认。
  7. 点击「Add Job」,再点击「Start Training」。
  8. 在自动创建的训练空间里查看实时日志,等待训练结束。
  9. 训练完成后,在账号的「Models」区域确认新模型已经出现,记下它的名称。

部署阶段

  1. 新建 Space,模板选 Docker → ChatUI,硬件选 A10G Small
  2. MONGODB_URL 留空,使用自动创建的本地数据库。
  3. 在「Space variables」里把 MODEL_NAME 设为上一步记下的模型名称。
  4. 推理参数保持默认,点击「Create」。
  5. 空间构建完成后打开,输入一句话测试回复是否正常。

如果聊天界面能正常返回内容,说明整条链路已经打通。之后你可以回到训练阶段,换数据集或换超参数再训练一版,然后在聊天空间里把 MODEL_NAME 指向新模型,对比效果。

注意事项

门控模型的访问权限:Llama 2 需要先向发布方申请访问权限才能使用。如果申请还没批下来,训练任务无法正常加载模型。这种情况下可以先用 Falcon 等没有门控限制的开放模型把流程跑通,等权限下来再换回 Llama 2。

显存必须装得下模型:选择训练硬件时,要确保模型能完整放进所选 GPU 的显存。7B 模型用 A10G Large 足够,但更大的模型需要相应更大的显存,否则会在加载阶段直接失败。部署聊天应用时同理,7B 模型用 A10G Small 通常够用,模型越大对硬件的要求越高。

数据集格式与文本列:训练数据必须是 CSV 格式。文件里有多列时,一定要在界面上正确指定文本列,否则训练会用到错误的字段。这是新手最容易出错的地方之一。

访问令牌的权限:创建令牌时必须选择 Write 权限。只读令牌无法让训练空间把模型保存回你的账号,训练跑完也拿不到结果。

训练时长不可控:训练时间取决于模型规模和训练数据量,可能长达数小时甚至数天。提交任务后不要频繁重启空间,否则可能中断训练。

高级设置建议保持默认:精度、量化、PEFT 这些选项的默认值已经是在训练成本与模型效果之间做过权衡的配置。除非你明确知道自己在调什么,否则不要随意改动,改动可能显著增加训练时间和成本。

聊天记录的存储:不填 MONGODB_URL 时系统会自动创建本地数据库,适合个人试用。如果需要长期保存或跨实例共享聊天记录,需要自备 MongoDB 并填入连接信息。

界面与规格可能变化:本文描述的字段名、模板名称、硬件规格都来自公开教程的整理,平台界面和可用配置会随时间调整。实际操作时如果发现字段对不上,以你看到的界面和平台官网当前公布的信息为准。涉及价格、配额、地区可用性的内容,同样请以官网为准。