什么是TRIO
TRIO 让你专注于 LLM 后训练中真正重要的部分 —— 你的数据和算法 —— 而将分布式训练的复杂工作交给我们来处理。
你只需编写一个简单的脚本,在仅使用 CPU 的机器上运行,其中包括数据、环境以及损失函数。我们会负责将训练扩展到大量 GPU 上,高效地执行你指定的计算。如果你想更换使用的模型,只需在代码中修改一个字符串即可。
TRIO 让你完全掌控训练循环以及所有算法细节。它并不是一个让微调“变简单”的黑盒,而是一个干净的抽象层:在保留你控制权的同时,将分布式训练的复杂性屏蔽起来。
“糟糕的 Infra 和海量 Dirty Work 是创新研究的敌人,TRIO 希望使研究者专注于算法本身。”
功能
当前 TRIO 服务支持:
- 支持对开源权重模型进行微调(目前开放使用的是40亿参数),包括稠密模型(Dense)和专家混合(MoE)架构。
- 实现的是低秩适配(LoRA)微调,而非全量微调。不过我们认为,对于许多重要场景(尤其是强化学习),LoRA 可以达到与全量微调相同的效果。
- 支持监督微调(SFT)和强化学习(RL)两种后训练范式,内置多种常用损失函数。
- 支持异步调用,适合高并发、多步骤的训练 pipeline,显著提升吞吐量。
- 支持断点保存与续训,随时保存模型权重,随时从上次进度恢复。
- 你可以下载训练后的模型权重,在 TRIO 之外使用,例如接入你选择的推理服务。
概览
TRIO 的核心功能集中在几个关键函数中:
forward_backward:输入数据和损失函数,我们会为你计算并累积梯度optim_step:使用累积的梯度更新模型sample:从训练后的模型中生成输出- 其他函数:用于保存和加载模型权重以及优化器状态

从哪里开始
- 快速开始 — 安装、登录、完成第一次推理和训练,10 分钟上手
- 训练 — 深入了解 SFT 和 RL 训练的完整流程与参数配置
- 推理 — 使用训练后的模型进行采样,了解推理 API 的用法
- 下载权重 — 将训练好的 LoRA 权重下载到本地,对接自己的推理服务
- 损失函数 — 了解内置损失函数及如何自定义损失函数
- 异步 — 高并发、多步骤场景下的异步调用方法
- 保存权重与继续训练 — 断点保存与从指定 checkpoint 恢复训练
社区
- 建议反馈:链接
- 合作/联系我们:contact@swanlab.cn
SKILL
想用 Coding Agent 快速实现训练代码?快来试试 PyTRIO.skill。使用方法:
在 Claude Code 中发送:
Fetch the installation guide and follow it: https://raw.githubusercontent.com/SwanHubX/pytrio-skill/master/installation.md或手动:
mkdir -p .claude/skills/pytrio-skill
curl -sL https://github.com/SwanHubX/pytrio-skill/releases/latest/download/pytrio-skill.tar.gz | tar xz -C .claude/skills/pytrio-skill/内容包含:
SKILL.md(20 条陷阱清单 + PyTorch 概念映射 + API 速查)references/(6 篇 API 参考 + 调试指南)examples/(5 个可运行示例)best-practices/(SFT + GRPO 最佳实践)