{"adoption": {"forks": 135, "observed_at": "2026-08-28T04:04:18.958251+00:00", "stars": 1307}, "canonical_url": "https://ross.abutalabs.com/products/rl2", "card": {"archived": false, "artifact_type": "library", "description": null, "domain": ["large-language-models", "machine-learning", "deep-learning", "reinforcement-learning"], "enriched": true, "function": ["llm-training", "machine-learning", "gpu-computing", "benchmarking"], "health_score": 70, "homepage": null, "language": "Python", "license": "Apache-2.0", "license_family": "permissive", "maturity": "active", "member_repos": ["ChenmienTan/RL2"], "name": "ChenmienTan/RL2", "platform": ["python"], "pushed_at": "2026-05-20T08:28:37+00:00", "repo": "ChenmienTan/RL2", "stars": 1307, "tags": ["reinforcement-learning", "post-training", "sft", "dpo", "rlhf", "fsdp", "megatron", "sglang", "distributed-training", "agentic-environments", "gpu", "docker", "linux"], "topics": [], "urls": [], "use_cases": ["train an LLM with reinforcement learning post-training", "run SFT fine-tuning on custom datasets", "train reward models or run DPO alignment", "quickly prototype a new RL algorithm for LLMs", "scale RL training across multiple GPUs with parallelism", "run multi-turn agentic rollouts with SGLang"], "what_it_is": "RL2 (Ray Less Reinforcement Learning) is a concise Python library for post-training large language models with reinforcement learning, SFT, RM, and DPO. It offers a clear, low-abstraction implementation while scaling via FSDP and Megatron 3D/5D parallelism and multi-turn rollout with SGLang.", "when_to_avoid": ["you need a fully turnkey enterprise training platform with extensive abstractions", "you require LoRA/PEFT support, which is not yet implemented", "your workflow depends on Ray-based orchestration"], "when_to_choose": ["you want a readable, low-abstraction RLHF/RL training codebase to learn from or modify", "you need quick experiments on RL post-training algorithms", "you need scalable training with FSDP or Megatron parallelism", "you want agentic environment rollouts via GEM and SGLang"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/rl2", "repo": "ChenmienTan/RL2", "role": "main", "score": 57}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:18.958251+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T04:50:07.217114+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2cfc01d5788cfac3d5647a5506c0f838feed476060a9a95992a07dd3577bad75", "fetched_at": "2026-08-28T04:04:18.958251+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ChenmienTan/RL2"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:18.958251+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T04:50:07.217114+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2cfc01d5788cfac3d5647a5506c0f838feed476060a9a95992a07dd3577bad75", "fetched_at": "2026-08-28T04:04:18.958251+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ChenmienTan/RL2"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T04:50:07.217114+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2cfc01d5788cfac3d5647a5506c0f838feed476060a9a95992a07dd3577bad75", "fetched_at": "2026-08-28T04:04:18.958251+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ChenmienTan/RL2"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:04:18.958251+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:18.958251+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:18.958251+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T04:50:07.217114+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2cfc01d5788cfac3d5647a5506c0f838feed476060a9a95992a07dd3577bad75", "fetched_at": "2026-08-28T04:04:18.958251+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ChenmienTan/RL2"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:18.958251+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:18.958251+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T04:50:07.217114+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2cfc01d5788cfac3d5647a5506c0f838feed476060a9a95992a07dd3577bad75", "fetched_at": "2026-08-28T04:04:18.958251+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ChenmienTan/RL2"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:18.958251+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:18.958251+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:18.958251+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T04:50:07.217114+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2cfc01d5788cfac3d5647a5506c0f838feed476060a9a95992a07dd3577bad75", "fetched_at": "2026-08-28T04:04:18.958251+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ChenmienTan/RL2"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:18.958251+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:18.958251+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T04:50:07.217114+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2cfc01d5788cfac3d5647a5506c0f838feed476060a9a95992a07dd3577bad75", "fetched_at": "2026-08-28T04:04:18.958251+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ChenmienTan/RL2"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T04:50:07.217114+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2cfc01d5788cfac3d5647a5506c0f838feed476060a9a95992a07dd3577bad75", "fetched_at": "2026-08-28T04:04:18.958251+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ChenmienTan/RL2"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T04:50:07.217114+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2cfc01d5788cfac3d5647a5506c0f838feed476060a9a95992a07dd3577bad75", "fetched_at": "2026-08-28T04:04:18.958251+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ChenmienTan/RL2"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T04:50:07.217114+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2cfc01d5788cfac3d5647a5506c0f838feed476060a9a95992a07dd3577bad75", "fetched_at": "2026-08-28T04:04:18.958251+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ChenmienTan/RL2"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 83, "longevity": 36, "rhythm": 35}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["no_releases"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 516, "days_push": 105, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 57, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}