Replicate LoRA 微调任务配置指南
用 Cog 声明训练入口,为每次 Replicate 微调指定已有目标模型并提交任务,再核对 input 映射、vLLM 加载方式与训练后计费边界。
Replicate LoRA 微调任务的核心,是用 Cog 的训练接口说明 声明 train(),再按 Replicate HTTP API 向指定模型版本提交训练;每个新微调都要给出请求方已有的 destination,而 input 会传入该函数。若你依赖算力租赁,还必须把训练后的模型类别与计费时段纳入验收,不能把“任务已提交”当成流程完成。
准备训练项目与发布配置
先按 cog.yaml 配置参考设置容器。GPU 项目可使用 build.gpu: true,Cog 会改用 nvidia-docker 基础镜像,并根据 Python、PyTorch 或 TensorFlow 自动选择 CUDA 和 cuDNN;需要固定版本时再使用 build.cuda。依赖应写入 build.python_requirements,不要同时设置已经弃用的 build.python_packages。
build:
gpu: true
训练入口按 Cog 训练参考声明:
train: "train.py:train"
这里存在需要核对的版本口径:Cog 训练页仍使用顶层 train,并弃用了 cog train 命令;cog.yaml 参考则只列出 build、image、run。不要直接拼接旧教程中的完整配置,应先对照所安装版本的配置规则。
LoRA 的 rank、alpha、学习率、量化方式、数据目录和权重文件名没有统一 Cog 字段。这些值取决于具体训练项目的当前文档:先检查 train() 的输入签名,再把对应名称和值放入 API 的 input,不要自行套用不存在的参数名。
项目准备好后,按 Replicate 模型推送指南登录并推送;其中的用户名和模型名必须与你在 Replicate 设置的值一致。
cog login
cog push r8.im/YOUR_USERNAME/YOUR_MODEL_NAME
提交 Replicate 训练请求
使用前述 HTTP API 创建训练时,文档给出的端点是:
POST https://api.replicate.com/v1/models/{model_owner}/{model_name}/versions/{version_id}/trainings
请求体中,destination 必须是请求用户或组织已经拥有的模型,input 则是传给 Cog 模型 train() 的输入对象。下面的骨架只展示已经确认的字段;认证信息及其他可选字段仍应从当前 API 页面读取。
{
"destination": "YOUR_DESTINATION",
"input": {
"YOUR_INPUT_NAME": "YOUR_INPUT_VALUE"
}
}
需要中止正在运行的训练时,文档使用以下端点:
POST https://api.replicate.com/v1/trainings/{training_id}/cancel
取消端点不是状态查询接口。状态轮询路径和日志字段可能更新,提交前应在当前 HTTP API 文档中确认,不要凭经验补写 GET 路径或返回字段。
用 vLLM 验证 LoRA 产物
训练输出能否交给 vLLM,首先取决于基础模型是否实现 SupportsLoRA 接口。vLLM LoRA 文档给出的静态加载示例如下;实际使用时需要替换基础模型和适配器路径。
vllm serve meta-llama/Llama-3.2-3B-Instruct \
--enable-lora \
--lora-modules sql-lora=jeeejeee/llama32-3b-text2sql-spider
服务启动时,--lora-modules name=path 注册适配器;后续请求把 model 设置为适配器名称即可选择它。常见错误是 input 键名与 train() 不一致、基础模型不支持 LoRA,以及适配器路径不可读取。
服务端的 max_loras、max_lora_rank 和 max_cpu_loras 会影响后续请求。若要动态加载或卸载适配器,需要设置 VLLM_ALLOW_RUNTIME_LORA_UPDATING=True,并分别向 /v1/load_lora_adapter 和 /v1/unload_lora_adapter 发送 POST 请求。vLLM 的安全提示是:动态 LoRA 加载存在安全风险,不应在隔离且完全可信之外的环境中作为生产功能使用。
上线前核对费用口径
如果后续部署依赖算力租赁,先在模型页的 Run time and cost 区域确认硬件,再判断计费类别。Replicate 计费说明明确区分:公开模型通常只对活动处理时间收费,setup 和 idle 时间免费;多数私有模型对 setup、idle、active 三类在线时间收费;快速启动的 fine-tune 只按活动时间计费;deployment 则按实例全部在线时间计费。
这些规则描述模型运行费用,不能直接当作 LoRA 训练任务的统一报价。训练费用仍应从具体模型、版本页面或当前报价中核对。仅在报价确认按时间计费后,才使用以下计算方法:
仅活动计费估算 = YOUR_ACTIVE_TIME × YOUR_RATE
全在线计费估算 = (YOUR_SETUP_TIME + YOUR_IDLE_TIME + YOUR_ACTIVE_TIME) × YOUR_RATE
组合模型估算 = YOUR_ROOT_MODEL_COST + YOUR_DOWNSTREAM_MODEL_COST
还要核对失败和取消规则:计费页面说明失败运行通常不收费,但官方模型的取消运行仍可能收费;按时间计费的模型运行到取消时为止,私有模型和 deployment 的失败或取消运行也可能产生 active time 费用。
以上步骤整理自正文所链接的官方文档,使用前请对照当前版本复核。